@@ -435,8 +435,6 @@ PivotView.prototype.recalculateSizes = function (container) {
435435 addExtraLeftHeaderCell = lTableHead . offsetHeight > containerHeight - headerH ,
436436 cell , cellWidths = [ ] , i ;
437437
438- console . log ( lTableHead . offsetHeight , leftHeader . offsetHeight ) ;
439-
440438 headerContainer . style . width = headerW + "px" ;
441439 for ( i in topTableTr . childNodes ) {
442440 if ( tableTr . childNodes [ i ] . tagName !== "TD" ) continue ;
@@ -457,11 +455,11 @@ PivotView.prototype.recalculateSizes = function (container) {
457455 cell . style . paddingLeft = headerW + "px" ; // lucky random
458456 }
459457
460- console . log ( addExtraLeftHeaderCell ) ;
461458 if ( addExtraLeftHeaderCell ) {
462459 lTableHead . appendChild (
463460 document . createElement ( "tr" ) . appendChild ( cell = document . createElement ( "th" ) )
464461 ) ;
462+ leftHeader . className = "lpt-leftHeader bordered" ;
465463 cell . colSpan = lTableHead . childNodes . length ;
466464 cell . style . paddingTop = headerH + "px" ; // lucky random
467465 }
@@ -497,7 +495,8 @@ PivotView.prototype.renderRawData = function (data) {
497495
498496 this . removeMessage ( ) ;
499497
500- var CLICK_EVENT = this . controller . CONFIG [ "triggerEvent" ] || "click" ,
498+ var _ = this ,
499+ CLICK_EVENT = this . controller . CONFIG [ "triggerEvent" ] || "click" ,
501500 renderedGroups = { } , // keys of rendered groups; key = group, value = { x, y, element }
502501 rawData = data [ "rawData" ] ,
503502 info = data [ "info" ] ,
@@ -518,7 +517,7 @@ PivotView.prototype.renderRawData = function (data) {
518517 x , y , tr = null , th , td ;
519518
520519 var renderHeader = function ( xFrom , xTo , yFrom , yTo , targetElement ) {
521- var vertical = targetElement === LHTable ;
520+ var vertical = targetElement === LHTHead ;
522521 for ( y = yFrom ; y < yTo ; y ++ ) {
523522 for ( x = xFrom ; x < xTo ; x ++ ) {
524523 if ( renderedGroups . hasOwnProperty ( rawData [ y ] [ x ] . group ) ) { // recalculate c/r 'span
@@ -530,6 +529,13 @@ PivotView.prototype.renderRawData = function (data) {
530529 if ( ! tr ) tr = document . createElement ( "tr" ) ;
531530 tr . appendChild ( th = document . createElement ( "th" ) ) ;
532531 th . textContent = rawData [ y ] [ x ] . value ;
532+ if ( vertical && x === xTo - 1 ) {
533+ th . addEventListener ( CLICK_EVENT , ( function ( index , data ) {
534+ return function ( ) {
535+ _ . _rowClickHandler . call ( _ , index , data ) ;
536+ } ;
537+ } ) ( y , rawData [ y ] [ x ] ) ) ;
538+ }
533539 if ( rawData [ y ] [ x ] . group ) renderedGroups [ rawData [ y ] [ x ] . group ] = {
534540 x : x ,
535541 y : y ,
@@ -546,6 +552,12 @@ PivotView.prototype.renderRawData = function (data) {
546552
547553 // fill header
548554 header . textContent = rawData [ 0 ] [ 0 ] . value ;
555+ if ( this . tablesStack . length > 1 && ! this . controller . CONFIG [ "hideButtons" ] ) {
556+ header . className += "back " ;
557+ header . addEventListener ( CLICK_EVENT , function ( e ) {
558+ _ . _backClickHandler . call ( _ , e ) ;
559+ } ) ;
560+ }
549561
550562 // render topHeader
551563 renderHeader (
@@ -571,6 +583,7 @@ PivotView.prototype.renderRawData = function (data) {
571583 for ( x = info . leftHeaderColumnsNumber ; x < rawData [ 0 ] . length ; x ++ ) {
572584 tr . appendChild ( td = document . createElement ( "td" ) ) ;
573585 td . textContent = rawData [ y ] [ x ] . value || "" ;
586+ if ( rawData [ y ] [ x ] . style ) td . setAttribute ( "style" , rawData [ y ] [ x ] . style ) ;
574587 }
575588 mainTBody . appendChild ( tr ) ;
576589 }
@@ -586,7 +599,7 @@ PivotView.prototype.renderRawData = function (data) {
586599 pivotHeader . className = "lpt-header" ;
587600 pivotTopSection . className = "lpt-topSection" ;
588601 pivotBottomSection . className = "lpt-bottomSection" ;
589- header . className = "lpt-headerValue" ;
602+ header . className + = "lpt-headerValue" ;
590603 mainTable . appendChild ( mainTBody ) ;
591604 tableBlock . appendChild ( mainTable ) ;
592605 LHTable . appendChild ( LHTHead ) ;
@@ -790,4 +803,4 @@ PivotView.prototype.renderRawData = function (data) {
790803// this.elements.tableContainer.appendChild(table);
791804// this.fixHeaders(table);
792805//
793- //};
806+ //};
0 commit comments