Uploaded image for project: 'ZK Pivottable'
  1. ZK Pivottable
  2. ZKPVT-95

Pivottable onSize with frozenColumnHeaders shrinks content when resized down, but doesn't restore it when sizing up

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Normal Normal
    • 2.5.3
    • 2.5.2
    • None
    • None

      Steps to Reproduce

      run attached sample

      resize the window so that the window is smaller than the pivot table

      release the mouse

      resize the window so that the window is taller than the pivot table

      Current Result

      The content node ($n("inner")) is not resized up to the original size

      Expected Result

      The content node ($n("inner")) is resized up to the original size 

      Debug Information

      from Pivottable widget onSize function

       

       if (this._frozenColumnHeaders) {
      ...
                                  var m = u < E; //E is "pivottable content height" and u is "pivot table display rects height"), if content is bigger than display, the if statement is performed, but there is no case to restore the height limit in the other case
                                  if (!m) {
      //set the height limit

       

       

      Workaround

      <script><![CDATA[ 
      	zk.afterLoad('pivot', function () {
      	    var xPivottable = {};
      	
      	    zk.override(pivot.Pivottable.prototype, xPivottable, {
      	        onSize: function(){
                              var A = this.$n(), J = this.$n("cell"), C = J.parentNode, K = C.parentNode, l = this.$n("scroll"), n = this.paging.$n(), D = l.firstChild, o = this.$n("colTitle"), F = this.$n("colTitleFaker"), w = this.$n("dataTitle"), I = jq(A).hasClass(this.getZclass() + "-vscroll"), q;
                              q = Math.max((I ? A.clientWidth + 2 : A.offsetWidth) - w.offsetWidth, 0);
                              if (this._frozenColumnHeaders) {
                                  var v = this.$n("wrapper");
                                  var G = this.$n("inner");
                                  var H = this.$n("dataTitle");
                                  var r = this.$n("vscrollbar");
                                  var E = G.parentElement.offsetHeight;
                                  var B = v.clientHeight;
                                  var u = B - H.offsetHeight - this.$n("scroll").offsetHeight;
                                  var m = u < E;
                                  if (!m) {
                                      jq(G).height("auto").width("auto");
                                      jq(r.firstChild).height("auto");
                                      if (l.style.display === "none") {
                                          r.style.bottom = "auto";
                                          l.style.width = "auto";
                                      } else {
                                          r.style.bottom = "auto";
                                          l.style.width = "auto";
                                      }
                                  }
                              }
      	            /* calling original method here*/
      	            xPivottable.onSize.apply(this, arguments);
      	        }
      	    });
      	});
      	]]></script>
      

            jumperchen jumperchen
            MDuchemin MDuchemin
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: