ids-enterprise-wc 1.15.9-patch.16 → 1.15.9-patch.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/chunks/{ids-chunk-ZSEJSVUD-full.js → ids-chunk-A3SIMVC4-full.js} +3 -3
- package/chunks/{ids-chunk-ZSEJSVUD-full.js.map → ids-chunk-A3SIMVC4-full.js.map} +2 -2
- package/chunks/{ids-chunk-A7EAZCL6-full.js → ids-chunk-WCEYHKG2-full.js} +18 -6
- package/chunks/ids-chunk-WCEYHKG2-full.js.map +7 -0
- package/components/ids-button/ids-button.css +43 -392
- package/components/ids-card/ids-card.css +344 -4
- package/components/ids-checkbox/ids-checkbox.css +7 -580
- package/components/ids-data-grid/ids-data-grid-header.js +1 -1
- package/components/ids-data-grid/ids-data-grid.js +2 -2
- package/components/ids-date-picker/ids-date-picker.css +31 -389
- package/components/ids-layout-grid/ids-layout-grid.css +10 -21300
- package/components/ids-modal/ids-modal.css +23 -94
- package/components/ids-module-nav/ids-module-nav.css +211 -411
- package/components/ids-tabs/ids-tabs.css +11 -542
- package/components/ids-toolbar/ids-toolbar.css +122 -12
- package/custom-elements.json +2972 -2972
- package/enterprise-wc.all.iife.js +18 -6
- package/enterprise-wc.all.iife.js.map +2 -2
- package/enterprise-wc.js +2 -2
- package/package.json +1 -1
- package/vscode.html-custom-data.json +1 -1
- package/chunks/ids-chunk-A7EAZCL6-full.js.map +0 -7
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/components/ids-data-grid/ids-data-grid-header.ts"],
|
|
4
|
-
"sourcesContent": ["import { customElement } from '../../core/ids-decorators';\nimport IdsElement from '../../core/ids-element';\nimport IdsEventsMixin from '../../mixins/ids-events-mixin/ids-events-mixin';\nimport { attributes } from '../../core/ids-attributes';\nimport { escapeHTML } from '../../utils/ids-xss-utils/ids-xss-utils';\n\nimport type IdsDataGrid from './ids-data-grid';\nimport type IdsIcon from '../ids-icon/ids-icon';\nimport { IdsDataGridColumn, IdsDataGridColumnGroup } from './ids-data-grid-column';\nimport IdsMenuButton from '../ids-menu-button/ids-menu-button';\n\n@customElement('ids-data-grid-header')\nexport default class IdsDataGridHeader extends IdsEventsMixin(IdsElement) {\n rootNode?: any;\n\n headerCheckbox?: HTMLElement;\n\n columnCheckbox?: NodeListOf<HTMLInputElement>;\n\n /**\n * Tracks the state of the header expander\n */\n isHeaderExpanderCollapsed = false;\n\n #activeColumn: number = -1;\n\n constructor() {\n super({ noShadowRoot: true });\n this.state = {\n headerMenuData: null\n };\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n this.#attachEventHandlers();\n }\n\n /**\n * Reference to the data grid parent\n * @returns {IdsDataGrid} the data grid parent\n */\n get dataGrid() {\n if (!this.rootNode) this.rootNode = (this.getRootNode() as any).host;\n return (this.rootNode) as IdsDataGrid;\n }\n\n /* Returns all the ids-icon.header-expander elements in an array */\n get expanderIcons(): IdsIcon[] {\n return [...this.querySelectorAll<IdsIcon>('ids-icon.header-expander')];\n }\n\n /**\n * Get the index of the active column.\n * @returns {number} the index of the active column. Returns -1 if there are none.\n */\n get activeColumn(): number {\n return this.#activeColumn;\n }\n\n /** @see IdsDataGridHeader.columns */\n #columns?: HTMLElement[];\n\n /* Returns all the columns in the header */\n get columns(): HTMLElement[] {\n if (!this.#columns?.length) {\n this.#columns = [...this.querySelectorAll<HTMLElement>('.ids-data-grid-header-cell')];\n }\n return this.#columns;\n }\n\n /**\n * Returns all the columns in the header\n * @see IdsDataGridCell.isOnScreen()\n * @returns {HTMLElement[]} array of onscreen header columns\n */\n get columnsOnscreen(): HTMLElement[] {\n return [...this.querySelectorAll<HTMLElement>('.ids-data-grid-header-cell[column-onscreen]')];\n }\n\n /**\n * Handle all header related events\n * @private\n */\n #attachEventHandlers() {\n this.#attachSelectionHandler();\n this.#attachSortHandler();\n this.#attachResizeHandlers();\n this.#attachReorderHandlers();\n this.#attachFilterBtnHandler();\n this.#attachFocusHandlers();\n }\n\n /**\n * Attach handlers to sort via clicking the headers\n * @private\n */\n #attachSortHandler() {\n this.offEvent('click.sort', this);\n this.onEvent('click.sort', this, (e: any) => {\n // Dont sort on resize\n if (this.dataGrid?.isResizing) {\n this.dataGrid.isResizing = false;\n return;\n }\n\n if (this.dataGrid?.isSelecting) {\n this.dataGrid.isSelecting = false;\n return;\n }\n\n // Expander collapse/expand all expandable or tree rows\n if (e.target?.classList?.contains('header-expander')) {\n const isColumnHeaderExpander = e.target?.closest('.column-header-expander');\n if (!isColumnHeaderExpander && !this.dataGrid?.showHeaderExpander) return;\n\n const wasHeaderExpanderCollapsed = this.isHeaderExpanderCollapsed;\n this.isHeaderExpanderCollapsed = !wasHeaderExpanderCollapsed;\n\n if (wasHeaderExpanderCollapsed) {\n this.dataGrid.expandAll();\n } else {\n this.dataGrid.collapseAll();\n }\n return;\n }\n\n const sortableHeaderCell = e.target.closest('.is-sortable')?.closest('.ids-data-grid-header-cell');\n if (!sortableHeaderCell) return;\n const id = sortableHeaderCell.getAttribute('column-id');\n const state = sortableHeaderCell.getAttribute('aria-sort') !== 'ascending';\n\n if (!this.dataGrid.disableClientSort) {\n this.dataGrid?.setSortColumn(id, state);\n } else {\n this.dataGrid?.setSortState(id, state, true);\n }\n\n this.dataGrid?.updateSelectionBorder(true);\n this.dataGrid?.updateSelectedCells();\n });\n }\n\n /**\n * Attach handlers to sort via clicking the headers\n * @private\n */\n #attachSelectionHandler() {\n // Select all/deselect all\n this.headerCheckbox = <HTMLElement> this.querySelector('ids-data-grid-header .ids-data-grid-checkbox-container .ids-data-grid-checkbox');\n this.offEvent('click.select', this.headerCheckbox);\n this.onEvent('click.select', this.headerCheckbox, (e: any) => {\n if (e.target.classList.contains('checked') || e.target.classList.contains('indeterminate')) {\n this.dataGrid?.deSelectAllRows();\n } else {\n this.dataGrid?.selectAllRows();\n }\n });\n\n // Select column\n this.columnCheckbox = this.querySelectorAll<HTMLInputElement>('ids-data-grid-header .ids-data-grid-header-text .ids-checkbox input');\n for (let i = 0; i < this.columnCheckbox.length; i++) {\n this.offEvent('click', this.columnCheckbox[i]);\n this.onEvent('click', this.columnCheckbox[i], () => {\n const isSelect = this.columnCheckbox![i].checked;\n this.dataGrid.isSelecting = true;\n\n if (isSelect) {\n this.dataGrid?.selectColumn(i);\n } else {\n this.dataGrid?.deSelectColumn(i);\n }\n });\n }\n }\n\n /**\n * Establish Drag handlers for resize\n * Based on https://htmldom.dev/resize-columns-of-a-table/\n * @private\n */\n #attachResizeHandlers() {\n // Track the current position of mouse\n let x = 0;\n let w = 0;\n let columnId = '';\n let columnElem: HTMLElement;\n\n const mouseMoveHandler = (e: MouseEvent) => {\n e.preventDefault();\n // Determine how far the mouse has been moved\n const dx = e.clientX - x;\n\n // Check if this is the last column\n const isLastColumn = this.dataGrid?.columns[this.dataGrid.columns.length - 1]?.id === columnId;\n\n if (isLastColumn) {\n const headerElement = this.closest('.ids-data-grid-header');\n const parentElement = headerElement?.parentElement;\n\n if (headerElement && parentElement) {\n const newWidth = w + (!this.dataGrid?.localeAPI.isRTL() ? dx : -dx);\n\n // Only allow resize if the total width won't become smaller than the col general min width\n if (newWidth >= 92) {\n this.dataGrid?.setColumnWidth(columnId, newWidth);\n }\n }\n } else {\n // Not the last column, proceed with normal resize\n this.dataGrid?.setColumnWidth(columnId, w + (!this.dataGrid?.localeAPI.isRTL() ? dx : -dx));\n }\n\n this.dataGrid?.updateSelectionBorder();\n };\n\n // When user releases the mouse, remove the existing event listeners\n const mouseUpHandler = () => {\n document.removeEventListener('mousemove', mouseMoveHandler);\n document.removeEventListener('mouseup', mouseUpHandler);\n\n this?.style.setProperty('cursor', '');\n requestAnimationFrame(() => {\n this.dataGrid.isResizing = false;\n columnElem?.parentElement?.querySelectorAll(`[${attributes.DRAGGABLE}]`).forEach((el: Element) => el.setAttribute(attributes.DRAGGABLE, 'true'));\n });\n };\n\n // Add a resize Handler\n this.offEvent('mousedown.resize', this);\n this.onEvent('mousedown.resize', this, (e: MouseEvent) => {\n const target = (e.target as any);\n if (!target.classList.contains('resizer')) {\n return;\n }\n\n // Get the current mouse position\n x = e.clientX;\n\n // Calculate the current width of column\n columnElem = target.closest('.ids-data-grid-header-cell') as HTMLElement;\n columnElem.parentElement?.querySelectorAll(`[${attributes.DRAGGABLE}]`).forEach((el) => el.setAttribute(attributes.DRAGGABLE, 'false'));\n\n const colStyles = window.getComputedStyle(columnElem);\n columnId = columnElem.getAttribute('column-id') || '';\n w = parseInt(colStyles.width, 10);\n\n // Attach listeners for document's events\n document.addEventListener('mousemove', mouseMoveHandler);\n document.addEventListener('mouseup', mouseUpHandler);\n\n // Import the cursor behavior\n this?.style.setProperty('cursor', 'col-resize');\n\n // Prevent a click causing a sort\n this.dataGrid.isResizing = true;\n });\n }\n\n /**\n * Establish Reorder handlers for moving columns\n * @private\n */\n #attachReorderHandlers() {\n const dragArrows = this.dataGrid?.wrapper?.querySelector<HTMLElement>('.ids-data-grid-sort-arrows');\n let dragger: HTMLElement;\n let startIndex = 0;\n let dragInitiated = false;\n let dragParent: HTMLElement | null;\n\n this.offEvent('focusin.reorder', this);\n this.onEvent('focusin.reorder', this, (e: FocusEvent) => {\n const target = e.target as HTMLElement;\n if (target?.nodeName === 'IDS-INPUT') {\n const wrapper = target.parentElement;\n dragParent = wrapper?.parentElement as HTMLElement | null;\n dragParent?.setAttribute(attributes.DRAGGABLE, 'false');\n }\n });\n\n this.offEvent('focusout.reorder', this);\n this.onEvent('focusout.reorder', this, (e: FocusEvent) => {\n const target = e.target as HTMLElement;\n if (target?.nodeName === 'IDS-INPUT') {\n dragParent?.setAttribute(attributes.DRAGGABLE, 'true');\n dragParent = null;\n }\n });\n\n this.offEvent('mouseover.reorder', this);\n this.onEvent('mouseover.reorder', this, (e: MouseEvent) => {\n const target = e.target as HTMLElement;\n if (target?.closest('.reorderer') && dragParent) {\n dragParent.setAttribute(attributes.DRAGGABLE, 'true');\n dragParent = null;\n }\n });\n\n // Style the Dragger\n this.offEvent('dragstart.reorder', this);\n this.onEvent('dragstart.reorder', this, (e: DragEvent) => {\n const target = (e.target as any);\n const nodeName = (e.target as HTMLElement).nodeName;\n if (this.dataGrid.isResizing || !target || nodeName === 'IDS-INPUT') return;\n\n const selection = window.getSelection();\n if (selection && selection.toString().length > 0) {\n if (selection.anchorNode && target.contains(selection.anchorNode)) {\n return;\n }\n selection.removeAllRanges();\n }\n\n // Check for Firefox since getSelection.toString() is not available\n if (target.tagName.includes('TRIGGER-FIELD')) {\n const selectedText = target.input.value.substring(target.input.selectionStart, target.input.selectionEnd);\n if (selectedText.toString().length > 0) {\n return;\n }\n }\n\n dragInitiated = true;\n target.classList.add('active-drag-column');\n dragger = target.cloneNode(true);\n dragger.classList.add('dragging');\n\n if (this.dataGrid?.localeAPI.isRTL()) {\n dragger.style.insetInlineStart = `${this.offsetLeft}px`;\n dragger.style.zIndex = '-5';\n }\n\n this?.appendChild(dragger);\n // Based on width of 110\n e?.dataTransfer?.setDragImage(dragger, this.dataGrid?.localeAPI.isRTL() ? 100 : 10, 18);\n startIndex = target.getAttribute('aria-colindex');\n });\n\n // Show the arrows\n this.offEvent('dragenter.reorder', this);\n this.onEvent('dragenter.reorder', this, (e: DragEvent) => {\n if (!dragInitiated) {\n // Accept Dropped Text\n if ((e.target as HTMLElement)?.getAttribute('color-variant') === 'alternate-formatter') {\n (e.target as any).style.backgroundColor = 'var(--ids-data-grid-filter-input-drop-background-color)';\n }\n return;\n }\n const cell = (e.target as any).closest('.ids-data-grid-header-cell');\n if (!cell) return;\n if (cell.classList.contains('active-drag-column')) {\n dragArrows?.style.setProperty('display', 'none');\n return;\n }\n\n const rect = cell.getBoundingClientRect();\n const curIndex = parseInt(cell.getAttribute('aria-colindex') || '0', 10);\n const startIdx = parseInt(startIndex.toString() ?? '0', 10);\n\n let cellLeft = rect.left + (startIdx < curIndex ? rect.width + 1 : 1);\n const cellRight = rect.left + (startIdx < curIndex ? 1 : rect.width + 1);\n let offsetLeft = 0;\n if (this.offsetParent) {\n offsetLeft = this.offsetParent.getBoundingClientRect().left\n - (this.offsetParent as HTMLElement).offsetLeft;\n }\n cellLeft = cellLeft < 3 ? 0 : cellLeft;\n dragArrows?.style.setProperty('display', '');\n dragArrows?.style.setProperty('inset-inline-start', `${this.dataGrid?.localeAPI.isRTL() ? offsetLeft - cellRight : cellLeft - offsetLeft}px`);\n dragArrows?.style.setProperty('height', `${rect.height - 2}px`);\n dragArrows?.style.setProperty('display', 'block');\n\n e.preventDefault();\n });\n\n // Use a normal cursor (not drag and drop)\n this.offEvent('dragover.reorder', this);\n this.onEvent('dragover.reorder', this, (e: DragEvent) => {\n if (!dragInitiated) return;\n e.dataTransfer!.dropEffect = 'move';\n e.preventDefault();\n });\n\n this.offEvent('dragleave.reorder', this);\n this.onEvent('dragleave.reorder', this, (e: DragEvent) => {\n if (!dragInitiated && (e.target as HTMLElement)?.getAttribute('color-variant') === 'alternate-formatter') {\n (e.target as any).style.backgroundColor = '';\n }\n });\n\n const removeDragger = (e: DragEvent) => {\n this.querySelector('.active-drag-column')?.classList.remove('active-drag-column');\n dragger?.remove();\n dragArrows?.style.setProperty('display', 'none');\n e.preventDefault();\n };\n\n // Set everything temp element back to normal\n this.offEvent('dragend.reorder', this);\n this.onEvent('dragend.reorder', this, (e: DragEvent) => {\n if (dragParent) {\n dragParent.setAttribute(attributes.DRAGGABLE, 'true');\n dragParent = null;\n }\n\n if (!dragInitiated) {\n if ((e.target as HTMLElement)?.getAttribute('color-variant') === 'alternate-formatter') {\n (e.target as any).style.backgroundColor = '';\n }\n return;\n }\n dragInitiated = false;\n removeDragger(e);\n });\n\n this.offEvent('drop.reorder', this);\n this.onEvent('drop.reorder', this, (e: DragEvent) => {\n if (dragParent) {\n dragParent.setAttribute(attributes.DRAGGABLE, 'true');\n dragParent = null;\n }\n\n if (!dragInitiated) {\n if ((e.target as HTMLElement)?.getAttribute('color-variant') === 'alternate-formatter') {\n (e.target as any).style.backgroundColor = '';\n }\n return;\n }\n dragInitiated = false;\n const cell = (e.target as any).closest('.ids-data-grid-header-cell');\n if (!cell) return;\n this.dataGrid?.moveColumn(startIndex - 1, cell.getAttribute('aria-colindex') - 1);\n removeDragger(e);\n });\n }\n\n /**\n * Attaches the event handler for the filter button click event.\n */\n #attachFilterBtnHandler() {\n this.offEvent('click.filterbtn', this);\n this.onEvent('click.filterbtn', this, (evt: CustomEvent) => {\n const menuButton = evt.target;\n if (menuButton instanceof IdsMenuButton && menuButton.nextElementSibling?.nodeName !== 'IDS-POPUP-MENU') {\n const columnId = menuButton.getAttribute('column-id');\n const column = this.dataGrid.columns.find((col) => col.id === columnId);\n const btnId = menuButton.getAttribute('ref-id') ?? '';\n\n if (column?.filterType) {\n const popupTemplate = this.dataGrid.filters.filterButtonPopupTemplate(btnId, column.filterType.name, column);\n const gridWrapper = this.closest('.ids-data-grid-wrapper');\n if (gridWrapper) {\n const menuExists = gridWrapper.querySelector(`[target='#btn-${btnId}']`);\n if (!menuExists) gridWrapper.insertAdjacentHTML('beforeend', popupTemplate);\n }\n\n menuButton.configureMenu();\n menuButton.menuEl?.show();\n }\n }\n });\n }\n\n /**\n * Attach focus handlers to manage keyboard-only focus outlines\n * @private\n */\n #attachFocusHandlers() {\n this.offEvent('focusout', this);\n this.onEvent('focusout', this, (e: FocusEvent) => {\n const relatedTarget = (e.relatedTarget as HTMLElement);\n if (!relatedTarget || relatedTarget?.nodeName === 'IDS-DATA-GRID-CELL') this.#activeColumn = -1;\n });\n\n this.offEvent('mousedown.focusin', this);\n this.onEvent('mousedown.focusin', this, (e: MouseEvent) => {\n const headerCell = (e.target as HTMLElement).closest('.ids-data-grid-header-cell');\n this.#activeColumn = parseFloat(headerCell?.getAttribute('aria-colindex') || '');\n });\n }\n\n /**\n * Set header expander state\n */\n setIsHeaderExpanderCollapsed() {\n const all = this.dataGrid?.rows?.filter((r: any) => r?.hasAttribute('aria-expanded')) || [];\n const collapsedRows = all.filter((r: any) => r?.getAttribute('aria-expanded') === 'false');\n if (all.length && all.length === collapsedRows.length) this.isHeaderExpanderCollapsed = true;\n }\n\n /**\n * Sets the state of the ids-icon.header-expander elements to open/expanded.\n */\n openExpanderIcons() {\n this.isHeaderExpanderCollapsed = false;\n this.expanderIcons?.forEach((iconElement: IdsIcon) => {\n iconElement.icon = `plusminus-folder-open`;\n });\n }\n\n /**\n * Sets the state of the ids-icon.header-expander elements to closed/collapsed.\n */\n closeExpanderIcons() {\n this.isHeaderExpanderCollapsed = true;\n this.expanderIcons?.forEach((iconElement: IdsIcon) => {\n iconElement.icon = `plusminus-folder-closed`;\n });\n }\n\n /**\n * Set the header checkbox state\n * @private\n */\n setHeaderCheckbox() {\n if (!this.dataGrid?.rowSelection || this.dataGrid?.rowSelection === 'single' || !this.headerCheckbox) {\n return;\n }\n\n const selectedCount = this.dataGrid?.selectedRows.length;\n const dataCount = this.dataGrid?.data.length;\n\n if (selectedCount === 0) {\n this.headerCheckbox.classList.remove('indeterminate');\n this.headerCheckbox.classList.remove('checked');\n this.headerCheckbox.setAttribute('aria-checked', 'false');\n return;\n }\n\n if (selectedCount === dataCount) {\n this.headerCheckbox.classList.remove('indeterminate');\n this.headerCheckbox.classList.add('checked');\n this.headerCheckbox.setAttribute('aria-checked', 'true');\n return;\n }\n\n if (selectedCount !== dataCount) {\n this.headerCheckbox.classList.add('indeterminate');\n this.headerCheckbox.setAttribute('aria-checked', 'mixed');\n }\n }\n\n /**\n * Set the checked status on the column header checkbox\n * @param {number} index Column index\n * @param {boolean} value True for checked, false for unchecked\n */\n setColumnCheckbox(index: number, value: boolean) {\n if (this.columnCheckbox && this.columnCheckbox[index]) {\n const checkbox = this.columnCheckbox[index] as HTMLInputElement;\n checkbox.checked = value;\n }\n }\n\n /**\n * Sets the disabled attribute of header checkbox\n * @param {boolean} value attribute value to set\n */\n disableHeaderCheckbox(value: boolean) {\n if (!this.headerCheckbox) {\n return;\n }\n\n this.headerCheckbox.setAttribute('disabled', String(value));\n this.headerCheckbox.parentElement?.setAttribute('disabled', String(value));\n }\n\n /**\n * Sets the disabled attribute of header checkbox\n * @param {boolean} value attribute value to set\n */\n hideHeaderCheckbox(value: boolean) {\n if (!this.headerCheckbox) {\n return;\n }\n\n if (value) {\n this.headerCheckbox.setAttribute('hidden', String(value));\n } else {\n this.headerCheckbox.removeAttribute('hidden');\n }\n }\n\n /**\n * Set the sort column and sort direction on the UI only\n * @param {string} id The column id (or field) to set\n * @param {boolean} ascending Sort ascending (lowest first) or descending (lowest last)\n */\n setSortState(id: string, ascending: boolean) {\n const sortedHeaders = [...this!.querySelectorAll('.is-sortable')]\n .map((sorted) => sorted.closest('.ids-data-grid-header-cell'));\n sortedHeaders.forEach((header) => header?.removeAttribute('aria-sort'));\n\n const header = this.querySelector(`[column-id=\"${id}\"]`);\n if (header && sortedHeaders.includes(header)) {\n header.setAttribute('aria-sort', ascending ? 'ascending' : 'descending');\n }\n }\n\n /**\n * Resets sort header sort states\n */\n resetSortStates() {\n this.querySelectorAll('.ids-data-grid-header-cell').forEach((elem) => elem.removeAttribute('aria-sort'));\n }\n\n /**\n * Set filter row to be shown or hidden\n * @private\n * @returns {object} This API object for chaining\n */\n setFilterRow() {\n const nodes = this?.querySelectorAll('.ids-data-grid-header-cell-filter-wrapper');\n nodes?.forEach((n) => n?.classList?.[this.dataGrid?.filterable ? 'remove' : 'add']('hidden'));\n this.dataGrid?.triggerEvent(this.dataGrid?.filterable ? 'filterrowopened' : 'filterrowclosed', this.dataGrid, {\n detail: { elem: this, filterable: this.dataGrid?.filterable }\n });\n return this;\n }\n\n /**\n * Return the Template for the header contents\n * @param {IdsDataGrid} datagrid visible columns in the data grid\n * @returns {string} The template\n */\n static template(datagrid: IdsDataGrid): string {\n const html = `<ids-data-grid-header class=\"ids-data-grid-header${datagrid.hasFrozenColumns ? ' is-frozen' : ''}\" role=\"rowgroup\" part=\"header\">\n <ids-data-grid-row class=\"ids-data-grid-row${datagrid.colSelection ? ' has-col-selection' : ''}\" role=\"row\">\n ${datagrid.visibleColumns.map((columnData: any, index: number) => `${this.headerCellTemplate(datagrid, columnData, index)}`).join('')}\n </ids-data-grid-row>\n </ids-data-grid-header>`;\n return this.columnGroupsTemplate(datagrid) + html;\n }\n\n /**\n * Returns the markup for a header cell.\n * @param {IdsDataGrid} dataGrid visible columns in the data grid\n * @param {IdsDataGridColumn} column The column info\n * @param {number} index The column index\n * @returns {string} The resuling header cell template\n */\n static headerCellTemplate(dataGrid: IdsDataGrid, column: IdsDataGridColumn, index: number) {\n const selectionCheckBoxTemplate = `\n <span class=\"ids-data-grid-checkbox-container\" disabled=\"${dataGrid.disableHeaderCheckbox}\">\n <span\n role=\"checkbox\"\n ${dataGrid.hideHeaderCheckbox ? 'hidden' : ''}\n disabled=\"${dataGrid.disableHeaderCheckbox}\"\n aria-checked=\"false\"\n aria-label=\"${column.name}\"\n class=\"ids-data-grid-checkbox\"\n >\n </span>\n </span>\n `;\n\n const sortIconSize = dataGrid.rowHeight === 'xxs' ? 'size=\"small\"' : '';\n const sortIndicatorTemplate = `\n <span class=\"sort-indicator\">\n <ids-icon icon=\"dropdown\" ${sortIconSize}></ids-icon>\n <ids-icon icon=\"dropdown\" ${sortIconSize}></ids-icon>\n </span>\n `;\n\n const expanderTemplate = `<ids-icon class=\"header-expander\" icon=\"plusminus-folder-closed\"></ids-icon>`;\n const resizerTemplate = `<span class=\"resizer\"></span>`;\n const reorderTemplate = `<div class=\"reorderer\"><ids-icon icon=\"drag\" size=\"medium\"></ids-icon></div>`;\n const showFormatterExpander = ['expander', 'tree'].includes(column.formatter?.name ?? '');\n const showHeaderExpander = column?.showHeaderExpander || showFormatterExpander;\n const expander = showHeaderExpander ? expanderTemplate : '';\n\n const selectionCheckbox = column.id !== 'selectionRadio' && column.id === 'selectionCheckbox';\n let colName = '';\n if (Array.isArray(column.name)) {\n colName = `\n ${escapeHTML(column.name[0].text)}\n <br>\n ${column.name[1].emphasis === 'subtle' ? '<small>' : ''}\n ${escapeHTML(column.name[1].text)}\n ${column.name[1].emphasis === 'subtle' ? '</small>' : ''}\n `;\n } else { colName = escapeHTML(column.name); }\n\n const headerName = column.id !== 'selectionRadio' && column.id !== 'selectionCheckbox' && colName ? colName : '';\n const headerLabel = `${dataGrid?.colSelection && column.id !== 'selectionRadio' && column.id !== 'selectionCheckbox'\n ? `<div class=\"ids-checkbox\">\n <label>\n <input type=\"checkbox\"/>\n <span class=\"checkmark\"></span>\n <span class=\"ids-text label-text header-text-content\">${headerName}</span>\n </label>\n </div>` : `<span class=\"header-text-content\">${headerName}</span>`}`;\n\n const headerContentTemplate = `\n ${selectionCheckbox ? selectionCheckBoxTemplate : ''}\n ${headerLabel}\n `.trim();\n\n let cssClasses = 'ids-data-grid-header-cell-content';\n cssClasses += column.sortable ? ' is-sortable' : '';\n cssClasses += selectionCheckbox ? ' has-selectioncheckbox vertical-align-center' : '';\n cssClasses += column.headerIcon ? ' has-headericon' : '';\n cssClasses += column.reorderable ? ' is-reorderable' : '';\n cssClasses += column?.showHeaderExpander ? ' column-header-expander' : '';\n\n // Content row cell template\n const headerContentWrapperTemplate = `<span class=\"${cssClasses}\">\n ${expander}\n ${column.sortable && (column.headerAlign === 'right' || (!column.headerAlign && column.align === 'right')) ? sortIndicatorTemplate : ''}\n <span class=\"ids-data-grid-header-text\">\n ${headerContentTemplate}\n </span>\n ${this.headerIconTemplate(column)}\n ${column.sortable && (column.headerAlign !== 'right' && (!column.headerAlign ? column.align !== 'right' : true)) ? sortIndicatorTemplate : ''}\n </span>${column.resizable ? resizerTemplate : ''}${column.reorderable ? reorderTemplate : ''}`;\n\n // Filter row cell template\n const headerFilterWrapperTemplate = dataGrid?.filters?.filterTemplate(column) || '';\n let align = column.align ? ` align-${column.align}` : '';\n if (column.headerAlign) {\n align = ` align-${column.headerAlign}`;\n }\n\n // Frozen Classes\n const lastFrozen = dataGrid?.leftFrozenColumns.length;\n let frozen = column?.frozen ? ` frozen frozen-${column?.frozen}${index + 1 === lastFrozen ? ' frozen-last' : ''}` : '';\n\n // Check for far left frozen cells just in case\n const lastFrozenData = dataGrid.visibleColumns.filter((obj) => obj.frozen === 'left').at(-1);\n const lastFrozenIndex = dataGrid.visibleColumns.findIndex((obj) => obj.id === lastFrozenData?.id);\n if (frozen === '' && index < lastFrozenIndex) {\n frozen = ` frozen frozen-${lastFrozenData?.frozen}`;\n column.frozen = lastFrozenData?.frozen;\n }\n\n if (index === lastFrozenIndex && frozen !== '' && frozen.indexOf('last') < 0) frozen += ` frozen-last`;\n\n const isUppercase = (): boolean => {\n if (typeof column?.uppercase === 'function') return column.uppercase('header-cell', column, index);\n return (column?.uppercase === 'true' || column?.uppercase === true);\n };\n\n let headerCssClasses = isUppercase() ? ' is-uppercase' : '';\n headerCssClasses += (column?.showHeaderExpander || column.sortable || column.reorderable) ? ' is-actionable' : '';\n headerCssClasses += column.required ? ' is-required' : '';\n\n // Header cell template\n const html = `\n <span\n class=\"ids-data-grid-header-cell${headerCssClasses}${align}${frozen}\"\n ${column.reorderable ? 'draggable=\"true\"' : ''}\n part=\"header-cell\"\n aria-colindex=\"${index + 1}\"\n column-id=\"${column.id}\"\n role=\"columnheader\">\n ${headerContentWrapperTemplate}\n ${headerFilterWrapperTemplate}\n </span>\n `;\n\n return html;\n }\n\n /**\n * Returns the markup for a header icon.\n * @param {IdsDataGridColumn | IdsDataGridColumnGroup} column The column info\n * @returns {string} The resuling header icon template\n */\n static headerIconTemplate(column: IdsDataGridColumn | IdsDataGridColumnGroup): string {\n const headerIcon = typeof column?.headerIcon === 'string' ? column.headerIcon : '';\n if (headerIcon === '') return '';\n\n const headerIconTooltip = column.headerIconTooltip || headerIcon;\n return `\n <span class=\"ids-data-grid-header-icon\" data-headericontooltip=\"${headerIconTooltip}\">\n <ids-icon icon=\"${headerIcon}\" size=\"medium\"></ids-icon>\n </span>`;\n }\n\n /**\n * Returns the markup for the grouped header cells.\n * @param {IdsDataGrid} dataGrid The datagrid reference\n * @returns {string} The resuling header cell template\n */\n static columnGroupsTemplate(dataGrid: IdsDataGrid) : string {\n if (!dataGrid?.columnGroups) {\n return '';\n }\n let columnGroupHtml = `<ids-data-grid-header class=\"ids-data-grid-header column-groups\" part=\"header\" role=\"rowgroup\">\n <div role=\"row\" class=\"ids-data-grid-row ids-data-grid-column-groups\">`;\n\n dataGrid?.columnGroups.forEach((columnGroup: IdsDataGridColumnGroup) => {\n const align = columnGroup.align ? ` align-${columnGroup.align}` : '';\n\n // Header cell template\n let cssClasses = 'ids-data-grid-header-cell-content';\n cssClasses += columnGroup.headerIcon ? ' has-headericon' : '';\n\n const html = `<span class=\"ids-data-grid-header-cell${align}\" part=\"header-cell\" column-group-id=\"${columnGroup.id || 'id'}\" role=\"columnheader\">\n <span class=\"${cssClasses}\">\n <span class=\"ids-data-grid-header-text\">\n ${columnGroup.name || ''}\n </span>\n ${this.headerIconTemplate(columnGroup)}\n </span>\n </span>`;\n columnGroupHtml += html;\n });\n\n columnGroupHtml += '</div></ids-data-grid-header>';\n\n return columnGroupHtml;\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["header"]
|
|
7
|
-
}
|