* Updates header cell content. * * @private * @param {HTMLElement} element Element to update. * @param {number} index Row index or column index. * @param {Function} content Function which should be returns content for this cell. * @param {number} [headerLevel=0] The index of header
(
element: HTMLElement, index: number, content: (index: number, headerLevel?: number) => unknown, headerLevel = 0
)
| 1595 | * values counting from 0 to N). |
| 1596 | */ |
| 1597 | updateCellHeader( |
| 1598 | element: HTMLElement, index: number, content: (index: number, headerLevel?: number) => unknown, headerLevel = 0 |
| 1599 | ) { |
| 1600 | let renderedIndex = index; |
| 1601 | const parentOverlay = this._wt.wtOverlays.getParentOverlay(element) || this._wt; |
| 1602 | |
| 1603 | // prevent wrong calculations from SampleGenerator |
| 1604 | if (element.parentNode) { |
| 1605 | if (hasClass(element, 'colHeader')) { |
| 1606 | renderedIndex = parentOverlay.wtTable.columnFilter!.sourceToRendered(index); |
| 1607 | |
| 1608 | } else if (hasClass(element, 'rowHeader')) { |
| 1609 | renderedIndex = parentOverlay.wtTable.rowFilter!.sourceToRendered(index); |
| 1610 | } |
| 1611 | } |
| 1612 | |
| 1613 | if (renderedIndex > -1) { |
| 1614 | fastInnerHTML(element, String(content(index, headerLevel)), this.hot.getSettings().sanitizer ?? true, |
| 1615 | 'header', this.hot.rootGridElement ?? undefined); |
| 1616 | |
| 1617 | } else { |
| 1618 | // workaround for https://github.com/handsontable/handsontable/issues/1946 |
| 1619 | fastInnerText(element, String.fromCharCode(160)); |
| 1620 | addClass(element, 'cornerHeader'); |
| 1621 | } |
| 1622 | } |
| 1623 | |
| 1624 | /** |
| 1625 | * Given a element's left (or right in RTL mode) position relative to the viewport, returns maximum |
no test coverage detected