setScrollableItemsWidthOnExpandResize()

in sample/frontend/src/app/shared/fix/fix-table-primeng.directive.ts [96:127]


  setScrollableItemsWidthOnExpandResize(column, newColumnWidth, delta) {
    const scrollableView = column ? this.table.findParentScrollableView(column) : this.table.containerViewChild.nativeElement;
    const scrollableBody = DomHandler.findSingle(scrollableView, '.ui-table-scrollable-body');
    const scrollableHeader = DomHandler.findSingle(scrollableView, '.ui-table-scrollable-header');
    const scrollableFooter = DomHandler.findSingle(scrollableView, '.ui-table-scrollable-footer');
    const scrollableBodyTable = DomHandler.findSingle(scrollableBody, '.ui-table-scrollable-body table');
    const scrollableHeaderTable = DomHandler.findSingle(scrollableHeader, 'table.ui-table-scrollable-header-table');
    const scrollableFooterTable = DomHandler.findSingle(scrollableFooter, 'table.ui-table-scrollable-footer-table');

    const scrollableBodyTableWidth = column ? scrollableBodyTable.offsetWidth + delta : newColumnWidth;
    const scrollableHeaderTableWidth = column ? scrollableHeaderTable.offsetWidth + delta : newColumnWidth;
    const isContainerInViewport = this.table.containerViewChild.nativeElement.offsetWidth >= scrollableBodyTableWidth;

    const setWidth = (container, table, width, isContainerInViewport) => {
      if (container && table) {
        container.style.width = isContainerInViewport ? width + DomHandler.calculateScrollbarWidth(scrollableBody) + 'px' : 'auto';
        table.style.width = width + 'px';
      }
    };

    // setWidth(scrollableBody, scrollableBodyTable, scrollableBodyTableWidth, isContainerInViewport);
    // setWidth(scrollableHeader, scrollableHeaderTable, scrollableHeaderTableWidth, isContainerInViewport);
    // setWidth(scrollableFooter, scrollableFooterTable, scrollableHeaderTableWidth, isContainerInViewport);

    if (column) {
      const resizeColumnIndex = this.indexColumn(column);

      this.resizeColGroup(scrollableHeaderTable, resizeColumnIndex, newColumnWidth, delta, 'expand');
      this.resizeColGroup(scrollableBodyTable, resizeColumnIndex, newColumnWidth, delta, 'expand');
      this.resizeColGroup(scrollableFooterTable, resizeColumnIndex, newColumnWidth, delta, 'expand');
    }
  }