in sample/frontend/src/app/shared/fix/fix-table-primeng.directive.ts [129:159]
indexColumn(element: any) {
const table = [];
const rows = element.closest('thead').rows;
for (let rIndex = 0; rIndex < rows.length; rIndex++) {
const cells = rows[rIndex].cells;
// tslint:disable-next-line:prefer-for-of
for (let cIndex = 0; cIndex < cells.length; cIndex++) {
const cell = cells[cIndex];
const colSpan = cell.colSpan || 1;
const rowSpan = cell.rowSpan || 1;
let colIndexSkip = -1;
table[rIndex] = table[rIndex] || [];
for (let mColIndex = 0; mColIndex <= table[rIndex].length && colIndexSkip === -1; mColIndex++) {
if (!table[rIndex][mColIndex] && table[rIndex][mColIndex] !== 0) {
colIndexSkip = mColIndex;
}
}
for (let mRowIndex = rIndex; mRowIndex < rIndex + rowSpan; mRowIndex++) {
table[mRowIndex] = table[mRowIndex] || [];
let colIndex;
for (let mColIndex = colIndexSkip; mColIndex < colIndexSkip + colSpan; mColIndex++) {
table[mRowIndex][mColIndex] = mColIndex;
colIndex = mColIndex;
}
if (cell === element) {
return colIndex;
}
}
}
}
}