@@ -707,6 +707,7 @@ PivotView.prototype.renderRawData = function (data) {
707
707
COLUMN_RESIZE_ON = ! ! this . controller . CONFIG . columnResizing ,
708
708
LISTING = info . leftHeaderColumnsNumber === 0 ,
709
709
SEARCH_ENABLED = LISTING && this . controller . CONFIG [ "enableSearch" ] ,
710
+ RESIZE_ANIMATION = ! ! this . controller . CONFIG [ "columnResizeAnimation" ] ,
710
711
711
712
container = this . elements . tableContainer ,
712
713
pivotTopSection = document . createElement ( "div" ) ,
@@ -746,8 +747,6 @@ PivotView.prototype.renderRawData = function (data) {
746
747
return arr ;
747
748
} ) ( ) : null ,
748
749
749
- _RESIZING = false , _RESIZING_ELEMENT = null , _RESIZING_COLUMN_INDEX = 0 ,
750
- _RESIZING_ELEMENT_BASE_WIDTH , _RESIZING_ELEMENT_BASE_X ,
751
750
renderedGroups = { } , // keys of rendered groups; key = group, value = { x, y, element }
752
751
i , x , y , tr = null , th , td , primaryColumns = [ ] , primaryRows = [ ] , ratio , cellStyle ,
753
752
tempI , tempJ , div ;
@@ -788,67 +787,43 @@ PivotView.prototype.renderRawData = function (data) {
788
787
}
789
788
} ;
790
789
791
- //var getMouseXY = function (e) {
792
- // var element = e.target || e.srcElement, offsetX = 0, offsetY = 0;
793
- // if (element.offsetParent) {
794
- // do {
795
- // offsetX += element.offsetLeft;
796
- // offsetY += element.offsetTop;
797
- // } while ((element = element.offsetParent));
798
- // }
799
- // return { x: e.pageX - offsetX, y: e.pageY - offsetY };
800
- //};
801
-
802
790
var bindResize = function ( element , column ) {
803
791
804
- var el = element ,
805
- colIndex = column ;
792
+ var baseWidth = 0 ,
793
+ baseX = 0 ;
806
794
807
795
var moveListener = function ( e ) {
808
- if ( ! _RESIZING ) return ;
809
796
e . cancelBubble = true ;
810
797
e . preventDefault ( ) ;
811
- _RESIZING_ELEMENT . style . width = _RESIZING_ELEMENT . style . minWidth =
812
- _RESIZING_ELEMENT_BASE_WIDTH - _RESIZING_ELEMENT_BASE_X + e . pageX + "px" ;
798
+ element . style . width = element . style . minWidth =
799
+ baseWidth - baseX + e . pageX + "px" ;
800
+ if ( RESIZE_ANIMATION ) {
801
+ _ . saveScrollPosition ( ) ;
802
+ _ . recalculateSizes ( container ) ;
803
+ _ . restoreScrollPosition ( ) ;
804
+ }
813
805
} ;
814
806
815
- if ( ! el . _HAS_MOUSE_MOVE_LISTENER ) {
816
- el . parentNode . addEventListener ( "mousemove" , moveListener ) ;
817
- el . _HAS_MOUSE_MOVE_LISTENER = true ;
818
- }
819
-
820
- el . addEventListener ( "mousedown" , function ( e ) {
821
- //var cursorX = getMouseXY(e).x;
822
- //if (cursorX < el.offsetWidth - 5 && cursorX > 5) {
823
- // return;
824
- //}
825
- if ( ( e . target || e . srcElement ) !== el ) return ;
826
- e . cancelBubble = true ;
827
- e . preventDefault ( ) ;
828
- _RESIZING = true ;
829
- _RESIZING_ELEMENT = el ;
830
- _RESIZING_ELEMENT_BASE_WIDTH = el . offsetWidth ;
831
- _RESIZING_ELEMENT_BASE_X = e . pageX ;
832
- _RESIZING_COLUMN_INDEX = colIndex ;
833
- //el._CANCEL_CLICK_EVENT = true;
834
- } ) ;
835
-
836
- el . addEventListener ( "mouseup" , function ( e ) {
837
- if ( ! _RESIZING ) return ;
807
+ var upListener = function ( e ) {
838
808
e . cancelBubble = true ;
839
809
e . preventDefault ( ) ;
840
- _RESIZING = false ;
841
- _RESIZING_ELEMENT . style . width = _RESIZING_ELEMENT . style . minWidth =
842
- ( _ . FIXED_COLUMN_SIZES [ _RESIZING_COLUMN_INDEX ] =
843
- _RESIZING_ELEMENT_BASE_WIDTH - _RESIZING_ELEMENT_BASE_X + e . pageX
844
- ) + "px" ;
810
+ element . style . width = element . style . minWidth =
811
+ ( _ . FIXED_COLUMN_SIZES [ column ] = baseWidth - baseX + e . pageX ) + "px" ;
845
812
_ . saveScrollPosition ( ) ;
846
813
_ . recalculateSizes ( container ) ;
847
814
_ . restoreScrollPosition ( ) ;
848
- setTimeout ( function ( ) {
849
- //_RESIZING_ELEMENT._CANCEL_CLICK_EVENT = false;
850
- _RESIZING_ELEMENT = null ;
851
- } , 1 ) ;
815
+ document . removeEventListener ( "mousemove" , moveListener ) ;
816
+ document . removeEventListener ( "mouseup" , upListener ) ;
817
+ } ;
818
+
819
+ element . addEventListener ( "mousedown" , function ( e ) {
820
+ if ( ( e . target || e . srcElement ) !== element ) return ;
821
+ e . cancelBubble = true ;
822
+ e . preventDefault ( ) ;
823
+ baseWidth = element . offsetWidth ;
824
+ baseX = e . pageX ;
825
+ document . addEventListener ( "mousemove" , moveListener ) ;
826
+ document . addEventListener ( "mouseup" , upListener ) ;
852
827
} ) ;
853
828
854
829
} ;
@@ -888,11 +863,9 @@ PivotView.prototype.renderRawData = function (data) {
888
863
th = document . createElement ( rawData [ y ] [ x ] . isCaption ? "th" : "td" )
889
864
) ;
890
865
div = document . createElement ( "div" ) ;
891
- //div2 = document.createElement("div");
892
866
if ( rawData [ y ] [ x ] . value ) {
893
867
div . textContent = rawData [ y ] [ x ] . value ;
894
868
} else div . innerHTML = " " ;
895
- //div2.appendChild(div);
896
869
th . appendChild ( div ) ;
897
870
if ( rawData [ y ] [ x ] . style ) th . setAttribute ( "style" , rawData [ y ] [ x ] . style ) ;
898
871
if ( info . leftHeaderColumnsNumber === 0
0 commit comments