@@ -367,32 +367,30 @@ class PivotTableUI extends React.PureComponent {
367
367
) ;
368
368
}
369
369
370
- render ( ) {
370
+ rendererCell = ( ) => (
371
+ < td className = "pvtRenderers" >
372
+ < Dropdown
373
+ current = { this . props . rendererName in this . props . renderers
374
+ ? this . props . rendererName
375
+ : Object . keys ( this . props . renderers ) [ 0 ]
376
+ }
377
+ values = { Object . keys ( this . props . renderers ) }
378
+ open = { this . isOpen ( 'renderer' ) }
379
+ zIndex = { this . isOpen ( 'renderer' ) ? this . state . maxZIndex + 1 : 1 }
380
+ toggle = { ( ) =>
381
+ this . setState ( {
382
+ openDropdown : this . isOpen ( 'renderer' ) ? false : 'renderer' ,
383
+ } )
384
+ }
385
+ setValue = { this . propUpdater ( 'rendererName' ) }
386
+ />
387
+ </ td >
388
+ ) ;
389
+
390
+ aggregatorCell = ( ) => {
371
391
const numValsAllowed =
372
392
this . props . aggregators [ this . props . aggregatorName ] ( [ ] ) ( ) . numInputs || 0 ;
373
393
374
- const rendererName =
375
- this . props . rendererName in this . props . renderers
376
- ? this . props . rendererName
377
- : Object . keys ( this . props . renderers ) [ 0 ] ;
378
-
379
- const rendererCell = (
380
- < td className = "pvtRenderers" >
381
- < Dropdown
382
- current = { rendererName }
383
- values = { Object . keys ( this . props . renderers ) }
384
- open = { this . isOpen ( 'renderer' ) }
385
- zIndex = { this . isOpen ( 'renderer' ) ? this . state . maxZIndex + 1 : 1 }
386
- toggle = { ( ) =>
387
- this . setState ( {
388
- openDropdown : this . isOpen ( 'renderer' ) ? false : 'renderer' ,
389
- } )
390
- }
391
- setValue = { this . propUpdater ( 'rendererName' ) }
392
- />
393
- </ td >
394
- ) ;
395
-
396
394
const sortIcons = {
397
395
key_a_to_z : {
398
396
rowSymbol : '↕' ,
@@ -407,7 +405,7 @@ class PivotTableUI extends React.PureComponent {
407
405
value_z_to_a : { rowSymbol : '↑' , colSymbol : '←' , next : 'key_a_to_z' } ,
408
406
} ;
409
407
410
- const aggregatorCell = (
408
+ return (
411
409
< td className = "pvtVals" >
412
410
< Dropdown
413
411
current = { this . props . aggregatorName }
@@ -466,7 +464,9 @@ class PivotTableUI extends React.PureComponent {
466
464
] ) }
467
465
</ td >
468
466
) ;
469
-
467
+ }
468
+
469
+ render ( ) {
470
470
const unusedAttrs = Object . keys ( this . attrValues )
471
471
. filter (
472
472
e =>
@@ -520,40 +520,21 @@ class PivotTableUI extends React.PureComponent {
520
520
</ td >
521
521
) ;
522
522
523
- if ( horizUnused ) {
524
- return (
525
- < table className = "pvtUi" >
526
- < tbody onClick = { ( ) => this . setState ( { openDropdown : false } ) } >
527
- < tr >
528
- { rendererCell }
529
- { unusedAttrsCell }
530
- </ tr >
531
- < tr >
532
- { aggregatorCell }
533
- { colAttrsCell }
534
- </ tr >
535
- < tr >
536
- { rowAttrsCell }
537
- { outputCell }
538
- </ tr >
539
- </ tbody >
540
- </ table >
541
- ) ;
542
- }
543
-
523
+ const outputRows = horizUnused
524
+ ? [
525
+ ( < tr key = "R" > { this . rendererCell ( ) } { unusedAttrsCell } </ tr > ) ,
526
+ ( < tr key = "A" > { this . aggregatorCell ( ) } { colAttrsCell } </ tr > ) ,
527
+ ( < tr key = "O" > { rowAttrsCell } { outputCell } </ tr > ) ,
528
+ ]
529
+ : [
530
+ ( < tr key = "RA" > { this . rendererCell ( ) } { this . aggregatorCell ( ) } { colAttrsCell } </ tr > ) ,
531
+ ( < tr key = "O" > { unusedAttrsCell } { rowAttrsCell } { outputCell } </ tr > ) ,
532
+ ] ;
533
+
544
534
return (
545
535
< table className = "pvtUi" >
546
536
< tbody onClick = { ( ) => this . setState ( { openDropdown : false } ) } >
547
- < tr >
548
- { rendererCell }
549
- { aggregatorCell }
550
- { colAttrsCell }
551
- </ tr >
552
- < tr >
553
- { unusedAttrsCell }
554
- { rowAttrsCell }
555
- { outputCell }
556
- </ tr >
537
+ { outputRows }
557
538
</ tbody >
558
539
</ table >
559
540
) ;
0 commit comments