src/basis/ui/scrolltable.js
function(){
      var headerElement = this.header.element;
      var footerElement = this.footer ? this.footer.element : null;

      //
      // Sync header html
      //
      var headerOuterHTML = domUtils.outerHTML(headerElement);
      if (this.shadowHeaderHTML_ != headerOuterHTML)
      {
        this.shadowHeaderHTML_ = headerOuterHTML;
        replaceTemplateNode(this, 'shadowHeader', headerElement.cloneNode(true));
      }

      //
      // Sync footer html
      //
      if (footerElement)
      {
        var footerOuterHTML = domUtils.outerHTML(footerElement);
        if (this.shadowFooterHtml_ != footerOuterHTML)
        {
          this.shadowFooterHtml_ = footerOuterHTML;
          replaceTemplateNode(this, 'shadowFooter', footerElement.cloneNode(true));
        }
      }

      //
      // Sync column width
      //
      for (var i = 0, column, columnWidth; column = this.columnWidthSync_[i]; i++)
      {
        columnWidth = column.measure.offsetWidth + 'px';
        cssom.setStyleProperty(column.header.firstChild, 'width', columnWidth);
        if (footerElement)
          cssom.setStyleProperty(column.footer.firstChild, 'width', columnWidth);
      }

      //
      // Calc metrics boxes
      //
      var tableWidth = this.tmpl.boundElement.offsetWidth || 0;
      var headerHeight = headerElement.offsetHeight || 0;
      var footerHeight = (footerElement && footerElement.offsetHeight) || 0;

      //
      // Update style properties
      //
      this.tmpl.headerExpandCell.style.left = tableWidth + 'px';
      this.tmpl.footerExpandCell.style.left = tableWidth + 'px';
      this.tmpl.tableElement.style.margin = '-' + headerHeight + 'px 0 -' + footerHeight + 'px';

      if (this.fitToContainer)
        this.element.style.paddingBottom = (headerHeight + footerHeight) + 'px';

      // reset timer
      // it should be at the end of relayout to prevent relayout call while relayout
      this.timer_ = basis.clearImmediate(this.timer_);
    }
function(){
      var headerElement = this.header.element;
      var footerElement = this.footer ? this.footer.element : null;

      //
      // Sync header html
      //
      var headerOuterHTML = domUtils.outerHTML(headerElement);
      if (this.shadowHeaderHTML_ != headerOuterHTML)
      {
        this.shadowHeaderHTML_ = headerOuterHTML;
        replaceTemplateNode(this, 'shadowHeader', headerElement.cloneNode(true));
      }

      //
      // Sync footer html
      //
      if (footerElement)
      {
        var footerOuterHTML = domUtils.outerHTML(footerElement);
        if (this.shadowFooterHtml_ != footerOuterHTML)
        {
          this.shadowFooterHtml_ = footerOuterHTML;
          replaceTemplateNode(this, 'shadowFooter', footerElement.cloneNode(true));
        }
      }

      //
      // Sync column width
      //
      for (var i = 0, column, columnWidth; column = this.columnWidthSync_[i]; i++)
      {
        columnWidth = column.measure.offsetWidth + 'px';
        cssom.setStyleProperty(column.header.firstChild, 'width', columnWidth);
        if (footerElement)
          cssom.setStyleProperty(column.footer.firstChild, 'width', columnWidth);
      }

      //
      // Calc metrics boxes
      //
      var tableWidth = this.tmpl.boundElement.offsetWidth || 0;
      var headerHeight = headerElement.offsetHeight || 0;
      var footerHeight = (footerElement && footerElement.offsetHeight) || 0;

      //
      // Update style properties
      //
      this.tmpl.headerExpandCell.style.left = tableWidth + 'px';
      this.tmpl.footerExpandCell.style.left = tableWidth + 'px';
      this.tmpl.tableElement.style.margin = '-' + headerHeight + 'px 0 -' + footerHeight + 'px';

      if (this.fitToContainer)
        this.element.style.paddingBottom = (headerHeight + footerHeight) + 'px';

      // reset timer
      // it should be at the end of relayout to prevent relayout call while relayout
      this.timer_ = basis.clearImmediate(this.timer_);
    }
function ( ) { var headerElement = this . header . element ; var footerElement = this . footer ? this . footer . element : null ; // // Sync header html // var headerOuterHTML = domUtils . outerHTML ( headerElement ) ; if ( this . shadowHeaderHTML_ != headerOuterHTML ) { this . shadowHeaderHTML_ = headerOuterHTML ; replaceTemplateNode ( this , 'shadowHeader' , headerElement . cloneNode ( true ) ) ; } // // Sync footer html // if ( footerElement ) { var footerOuterHTML = domUtils . outerHTML ( footerElement ) ; if ( this . shadowFooterHtml_ != footerOuterHTML ) { this . shadowFooterHtml_ = footerOuterHTML ; replaceTemplateNode ( this , 'shadowFooter' , footerElement . cloneNode ( true ) ) ; } } // // Sync column width // for ( var i = 0 , column , columnWidth ; column = this . columnWidthSync_ [ i ] ; i ++ ) { columnWidth = column . measure . offsetWidth + 'px' ; cssom . setStyleProperty ( column . header . firstChild , 'width' , columnWidth ) ; if ( footerElement ) cssom . setStyleProperty ( column . footer . firstChild , 'width' , columnWidth ) ; } // // Calc metrics boxes // var tableWidth = this . tmpl . boundElement . offsetWidth || 0 ; var headerHeight = headerElement . offsetHeight || 0 ; var footerHeight = ( footerElement && footerElement . offsetHeight ) || 0 ; // // Update style properties // this . tmpl . headerExpandCell . style . left = tableWidth + 'px' ; this . tmpl . footerExpandCell . style . left = tableWidth + 'px' ; this . tmpl . tableElement . style . margin = '-' + headerHeight + 'px 0 -' + footerHeight + 'px' ; if ( this . fitToContainer ) this . element . style . paddingBottom = ( headerHeight + footerHeight ) + 'px' ; // reset timer // it should be at the end of relayout to prevent relayout call while relayout this . timer_ = basis . clearImmediate ( this . timer_ ) ; }
Make relayout of table. Should never be used in common cases. Call requestRelayout instead.
Make relayout of table . Should never be used in common cases . Call requestRelayout instead .