diff --git a/src/app/components/table/table.ts b/src/app/components/table/table.ts index 62bfdd57796..081e9256859 100644 --- a/src/app/components/table/table.ts +++ b/src/app/components/table/table.ts @@ -1158,7 +1158,7 @@ export class Table implements OnInit, AfterViewInit, AfterContentInit, Blockable overlaySubscription: Subscription | undefined; - resizeColumnElement: any; + resizeColumnElement: HTMLElement; columnResizing: boolean = false; @@ -2511,7 +2511,7 @@ export class Table implements OnInit, AfterViewInit, AfterContentInit, Blockable onColumnResizeBegin(event: any) { let containerLeft = DomHandler.getOffset(this.containerViewChild?.nativeElement).left; - this.resizeColumnElement = event.target.parentElement; + this.resizeColumnElement = event.target.closest('th'); this.columnResizing = true; if (event.type == 'touchstart') { this.lastResizerHelperX = event.changedTouches[0].clientX - containerLeft + this.containerViewChild?.nativeElement.scrollLeft; @@ -2536,22 +2536,23 @@ export class Table implements OnInit, AfterViewInit, AfterContentInit, Blockable } onColumnResizeEnd() { - let delta = this.resizeHelperViewChild?.nativeElement.offsetLeft - this.lastResizerHelperX; - let columnWidth = this.resizeColumnElement.offsetWidth; - let newColumnWidth = columnWidth + delta; - let minWidth = this.resizeColumnElement.style.minWidth.replace(/[^\d.]/g, '') || 15; + const delta = this.resizeHelperViewChild?.nativeElement.offsetLeft - this.lastResizerHelperX; + const columnWidth = this.resizeColumnElement.offsetWidth; + const newColumnWidth = columnWidth + delta; + const elementMinWidth = this.resizeColumnElement.style.minWidth.replace(/[^\d.]/g, ''); + const minWidth = elementMinWidth ? parseFloat(elementMinWidth) : 15; if (newColumnWidth >= minWidth) { if (this.columnResizeMode === 'fit') { - let nextColumn = this.resizeColumnElement.nextElementSibling; - let nextColumnWidth = nextColumn.offsetWidth - delta; + const nextColumn = this.resizeColumnElement.nextElementSibling as HTMLElement; + const nextColumnWidth = nextColumn.offsetWidth - delta; if (newColumnWidth > 15 && nextColumnWidth > 15) { this.resizeTableCells(newColumnWidth, nextColumnWidth); } } else if (this.columnResizeMode === 'expand') { this._initialColWidths = this._totalTableWidth(); - let tableWidth = this.tableViewChild?.nativeElement.offsetWidth + delta; + const tableWidth = this.tableViewChild?.nativeElement.offsetWidth + delta; this.setResizeTableWidth(tableWidth + 'px'); this.resizeTableCells(newColumnWidth, null);