@infineon/infineon-design-system-stencil 39.4.4--canary.2134.84be7b9e85db8400d052b6d3b5addde807790384.0 → 39.4.4--canary.2134.bb609f61311d4fde41e8336aa402a4fd507e0769.0

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.
Files changed (144) hide show
  1. package/dist/cjs/_commonjsHelpers-CFO10eej.js +10 -0
  2. package/dist/cjs/_commonjsHelpers-CFO10eej.js.map +1 -0
  3. package/dist/cjs/ifx-action-list-item.cjs.entry.js +2 -1
  4. package/dist/cjs/ifx-action-list-item.cjs.entry.js.map +1 -1
  5. package/dist/cjs/ifx-action-list-item.entry.cjs.js.map +1 -1
  6. package/dist/cjs/ifx-basic-table.cjs.entry.js +2 -1
  7. package/dist/cjs/ifx-basic-table.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ifx-basic-table.entry.cjs.js.map +1 -1
  9. package/dist/cjs/ifx-button.cjs.entry.js +146 -0
  10. package/dist/cjs/ifx-button.cjs.entry.js.map +1 -0
  11. package/dist/cjs/ifx-button.entry.cjs.js.map +1 -0
  12. package/dist/cjs/ifx-checkbox.cjs.entry.js +125 -0
  13. package/dist/cjs/ifx-checkbox.cjs.entry.js.map +1 -0
  14. package/dist/cjs/ifx-checkbox.entry.cjs.js.map +1 -0
  15. package/dist/cjs/ifx-chip.ifx-chip-item.ifx-pagination.entry.cjs.js.map +1 -0
  16. package/dist/cjs/ifx-chip_3.cjs.entry.js +615 -0
  17. package/dist/cjs/ifx-chip_3.cjs.entry.js.map +1 -0
  18. package/dist/cjs/ifx-icon-button.cjs.entry.js +76 -0
  19. package/dist/cjs/ifx-icon-button.cjs.entry.js.map +1 -0
  20. package/dist/cjs/ifx-icon-button.entry.cjs.js.map +1 -0
  21. package/dist/cjs/ifx-icon.cjs.entry.js +127 -0
  22. package/dist/cjs/ifx-icon.cjs.entry.js.map +1 -0
  23. package/dist/cjs/ifx-icon.entry.cjs.js.map +1 -0
  24. package/dist/cjs/ifx-indicator.cjs.entry.js +42 -0
  25. package/dist/cjs/ifx-indicator.cjs.entry.js.map +1 -0
  26. package/dist/cjs/ifx-indicator.entry.cjs.js.map +1 -0
  27. package/dist/cjs/ifx-link.cjs.entry.js +2 -1
  28. package/dist/cjs/ifx-link.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ifx-link.entry.cjs.js.map +1 -1
  30. package/dist/cjs/ifx-search-field.cjs.entry.js +2 -1
  31. package/dist/cjs/ifx-search-field.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ifx-search-field.entry.cjs.js.map +1 -1
  33. package/dist/cjs/ifx-select.cjs.entry.js +7323 -0
  34. package/dist/cjs/ifx-select.cjs.entry.js.map +1 -0
  35. package/dist/cjs/ifx-select.entry.cjs.js.map +1 -0
  36. package/dist/cjs/ifx-spinner.ifx-text-field.entry.cjs.js.map +1 -1
  37. package/dist/cjs/ifx-spinner_2.cjs.entry.js +2 -1
  38. package/dist/cjs/ifx-spinner_2.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ifx-table.cjs.entry.js +1207 -0
  40. package/dist/cjs/ifx-table.cjs.entry.js.map +1 -0
  41. package/dist/cjs/ifx-table.entry.cjs.js.map +1 -0
  42. package/dist/cjs/{index-DihxupoM.js → index-CVw4GUo6.js} +4 -7
  43. package/dist/{esm/index-Beav1bNT.js.map → cjs/index-CVw4GUo6.js.map} +1 -1
  44. package/dist/cjs/index-Dc5gCGlQ.js +30 -2
  45. package/dist/cjs/infineon-design-system-stencil.cjs.js +1 -1
  46. package/dist/cjs/loader.cjs.js +1 -1
  47. package/dist/collection/components/table-advanced-version/table.js +3 -12
  48. package/dist/collection/components/table-advanced-version/table.js.map +1 -1
  49. package/dist/components/ifx-table.js +3 -12
  50. package/dist/components/ifx-table.js.map +1 -1
  51. package/dist/esm/_commonjsHelpers-B85MJLTf.js +8 -0
  52. package/dist/esm/_commonjsHelpers-B85MJLTf.js.map +1 -0
  53. package/dist/esm/ifx-action-list-item.entry.js +2 -1
  54. package/dist/esm/ifx-action-list-item.entry.js.map +1 -1
  55. package/dist/esm/ifx-basic-table.entry.js +2 -1
  56. package/dist/esm/ifx-basic-table.entry.js.map +1 -1
  57. package/dist/esm/ifx-button.entry.js +144 -0
  58. package/dist/esm/ifx-button.entry.js.map +1 -0
  59. package/dist/esm/ifx-checkbox.entry.js +123 -0
  60. package/dist/esm/ifx-checkbox.entry.js.map +1 -0
  61. package/dist/esm/ifx-chip.ifx-chip-item.ifx-pagination.entry.js.map +1 -0
  62. package/dist/esm/ifx-chip_3.entry.js +611 -0
  63. package/dist/esm/ifx-chip_3.entry.js.map +1 -0
  64. package/dist/esm/ifx-icon-button.entry.js +74 -0
  65. package/dist/esm/ifx-icon-button.entry.js.map +1 -0
  66. package/dist/esm/ifx-icon.entry.js +125 -0
  67. package/dist/esm/ifx-icon.entry.js.map +1 -0
  68. package/dist/esm/ifx-indicator.entry.js +40 -0
  69. package/dist/esm/ifx-indicator.entry.js.map +1 -0
  70. package/dist/esm/ifx-link.entry.js +2 -1
  71. package/dist/esm/ifx-link.entry.js.map +1 -1
  72. package/dist/esm/ifx-search-field.entry.js +2 -1
  73. package/dist/esm/ifx-search-field.entry.js.map +1 -1
  74. package/dist/esm/ifx-select.entry.js +7321 -0
  75. package/dist/esm/ifx-select.entry.js.map +1 -0
  76. package/dist/esm/ifx-spinner.ifx-text-field.entry.js.map +1 -1
  77. package/dist/esm/ifx-spinner_2.entry.js +2 -1
  78. package/dist/esm/ifx-spinner_2.entry.js.map +1 -1
  79. package/dist/esm/ifx-table.entry.js +1205 -0
  80. package/dist/esm/ifx-table.entry.js.map +1 -0
  81. package/dist/esm/{index-Beav1bNT.js → index-Bt32KzDW.js} +4 -6
  82. package/dist/{cjs/index-DihxupoM.js.map → esm/index-Bt32KzDW.js.map} +1 -1
  83. package/dist/esm/index-PqnYwNKt.js +30 -2
  84. package/dist/esm/infineon-design-system-stencil.js +1 -1
  85. package/dist/esm/loader.js +1 -1
  86. package/dist/infineon-design-system-stencil/ifx-action-list-item.entry.esm.js.map +1 -1
  87. package/dist/infineon-design-system-stencil/ifx-basic-table.entry.esm.js.map +1 -1
  88. package/dist/infineon-design-system-stencil/ifx-button.entry.esm.js.map +1 -0
  89. package/dist/infineon-design-system-stencil/ifx-checkbox.entry.esm.js.map +1 -0
  90. package/dist/infineon-design-system-stencil/ifx-chip.ifx-chip-item.ifx-pagination.entry.esm.js.map +1 -0
  91. package/dist/infineon-design-system-stencil/ifx-icon-button.entry.esm.js.map +1 -0
  92. package/dist/infineon-design-system-stencil/ifx-icon.entry.esm.js.map +1 -0
  93. package/dist/infineon-design-system-stencil/ifx-indicator.entry.esm.js.map +1 -0
  94. package/dist/infineon-design-system-stencil/ifx-link.entry.esm.js.map +1 -1
  95. package/dist/infineon-design-system-stencil/ifx-search-field.entry.esm.js.map +1 -1
  96. package/dist/infineon-design-system-stencil/ifx-select.entry.esm.js.map +1 -0
  97. package/dist/infineon-design-system-stencil/ifx-spinner.ifx-text-field.entry.esm.js.map +1 -1
  98. package/dist/infineon-design-system-stencil/ifx-table.entry.esm.js.map +1 -0
  99. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js +1 -1
  100. package/dist/infineon-design-system-stencil/p-169f26ae.entry.js +2 -0
  101. package/dist/infineon-design-system-stencil/{p-6fd710a6.entry.js.map → p-169f26ae.entry.js.map} +1 -1
  102. package/dist/infineon-design-system-stencil/p-2d5290c7.entry.js +2 -0
  103. package/dist/infineon-design-system-stencil/p-2d5290c7.entry.js.map +1 -0
  104. package/dist/infineon-design-system-stencil/p-39561a49.entry.js +2 -0
  105. package/dist/infineon-design-system-stencil/p-39561a49.entry.js.map +1 -0
  106. package/dist/infineon-design-system-stencil/p-3d77ef02.entry.js +2 -0
  107. package/dist/infineon-design-system-stencil/{p-81f0d6ad.entry.js.map → p-3d77ef02.entry.js.map} +1 -1
  108. package/dist/infineon-design-system-stencil/p-4da5a2a5.entry.js +2 -0
  109. package/dist/infineon-design-system-stencil/p-4da5a2a5.entry.js.map +1 -0
  110. package/dist/infineon-design-system-stencil/p-4fba0543.entry.js +2 -0
  111. package/dist/infineon-design-system-stencil/{p-7b705420.entry.js.map → p-4fba0543.entry.js.map} +1 -1
  112. package/dist/infineon-design-system-stencil/p-5e3d0ff0.entry.js +2 -0
  113. package/dist/infineon-design-system-stencil/p-5e3d0ff0.entry.js.map +1 -0
  114. package/dist/infineon-design-system-stencil/p-5fb3eb8b.entry.js +2 -0
  115. package/dist/infineon-design-system-stencil/p-5fb3eb8b.entry.js.map +1 -0
  116. package/dist/infineon-design-system-stencil/p-6e115707.entry.js +2 -0
  117. package/dist/infineon-design-system-stencil/{p-1b5dce92.entry.js.map → p-6e115707.entry.js.map} +1 -1
  118. package/dist/infineon-design-system-stencil/p-8a58c2be.entry.js +2 -0
  119. package/dist/infineon-design-system-stencil/p-8a58c2be.entry.js.map +1 -0
  120. package/dist/infineon-design-system-stencil/p-B85MJLTf.js +2 -0
  121. package/dist/infineon-design-system-stencil/p-B85MJLTf.js.map +1 -0
  122. package/dist/infineon-design-system-stencil/{p-Beav1bNT.js → p-DMLRPGid.js} +3 -3
  123. package/dist/infineon-design-system-stencil/{p-Beav1bNT.js.map → p-DMLRPGid.js.map} +1 -1
  124. package/dist/infineon-design-system-stencil/p-a85754a5.entry.js +3 -0
  125. package/dist/infineon-design-system-stencil/p-a85754a5.entry.js.map +1 -0
  126. package/dist/infineon-design-system-stencil/p-fcae5dc1.entry.js +2 -0
  127. package/dist/infineon-design-system-stencil/{p-646620f9.entry.js.map → p-fcae5dc1.entry.js.map} +1 -1
  128. package/dist/infineon-design-system-stencil/p-ff4cc197.entry.js +2 -0
  129. package/dist/infineon-design-system-stencil/p-ff4cc197.entry.js.map +1 -0
  130. package/package.json +1 -1
  131. package/dist/cjs/ifx-button.ifx-checkbox.ifx-chip.ifx-chip-item.ifx-icon.ifx-icon-button.ifx-indicator.ifx-pagination.ifx-select.ifx-table.entry.cjs.js.map +0 -1
  132. package/dist/cjs/ifx-button_10.cjs.entry.js +0 -9601
  133. package/dist/cjs/ifx-button_10.cjs.entry.js.map +0 -1
  134. package/dist/esm/ifx-button.ifx-checkbox.ifx-chip.ifx-chip-item.ifx-icon.ifx-icon-button.ifx-indicator.ifx-pagination.ifx-select.ifx-table.entry.js.map +0 -1
  135. package/dist/esm/ifx-button_10.entry.js +0 -9590
  136. package/dist/esm/ifx-button_10.entry.js.map +0 -1
  137. package/dist/infineon-design-system-stencil/ifx-button.ifx-checkbox.ifx-chip.ifx-chip-item.ifx-icon.ifx-icon-button.ifx-indicator.ifx-pagination.ifx-select.ifx-table.entry.esm.js.map +0 -1
  138. package/dist/infineon-design-system-stencil/p-1b5dce92.entry.js +0 -2
  139. package/dist/infineon-design-system-stencil/p-330f97aa.entry.js +0 -3
  140. package/dist/infineon-design-system-stencil/p-330f97aa.entry.js.map +0 -1
  141. package/dist/infineon-design-system-stencil/p-646620f9.entry.js +0 -2
  142. package/dist/infineon-design-system-stencil/p-6fd710a6.entry.js +0 -2
  143. package/dist/infineon-design-system-stencil/p-7b705420.entry.js +0 -2
  144. package/dist/infineon-design-system-stencil/p-81f0d6ad.entry.js +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/components/table-advanced-version/table.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Host, Method, Element, Prop, State, Listen, Watch } from '@stencil/core';\nimport classNames from 'classnames';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\nimport { CellPosition, createGrid, FirstDataRenderedEvent, GridApi, GridOptions } from 'ag-grid-community';\nimport { ButtonCellRenderer } from './buttonCellRenderer';\nimport { CheckboxCellRenderer } from './checkboxCellRenderer';\nimport { CheckboxHeaderRenderer } from './checkboxHeaderRenderer';\nimport { IconButtonCellRenderer } from './iconButtonCellRenderer';\nimport { LinkCellRenderer } from './linkCellRenderer';\nimport { StatusCellRenderer } from './statusCellRenderer';\nimport { CustomNoRowsOverlay } from './customNoRowsOverlay';\nimport { CustomLoadingOverlay } from './customLoadingOverlay';\n\n@Component({\n tag: 'ifx-table',\n styleUrl: 'table.scss',\n shadow: true,\n})\nexport class Table {\n gridOptions: GridOptions;\n gridApi: GridApi;\n @State() currentPage: number = 1;\n @Prop() cols: any;\n @Prop() rows: any;\n @Prop() buttonRendererOptions?: { onButtonClick?: (params: any, event: Event) => void };\n @Prop() iconButtonRendererOptions?: { onIconButtonClick?: (params: any, event: Event) => void };\n @Prop() checkboxRendererOptions?: { onCheckboxClick?: (params: any, event: Event) => void };\n @State() rowData: any[] = [];\n @State() colData: any[] = [];\n @State() filterOptions: { [key: string]: string[] } = {};\n @State() currentFilters = {};\n @State() uniqueKey: string;\n allRowData: any[] = [];\n @Prop() rowHeight: string = 'default';\n @Prop() tableHeight: string = 'auto';\n @Prop() pagination: boolean = true;\n @Prop() paginationItemsPerPage: string;\n @State() paginationPageSize: number = 10;\n @Prop() filterOrientation: string = 'sidebar';\n @Prop() headline: string = '';\n @State() showSidebarFilters: boolean = true;\n @State() matchingResultsCount: number = 0;\n @Prop() variant: string = 'default';\n @Prop() serverSidePagination: boolean = false;\n @Prop() serverPageChangeHandler?: (params: { page: number; pageSize: number }) => Promise<{ rows: any[]; total: number }>;\n @Prop() enableSelection: boolean = false;\n @State() selectedRows: Set<string> = new Set();\n @State() selectAll: boolean = false;\n @State() selectedRowsData: Map<string, any> = new Map();\n @Prop() showLoading: boolean = false;\n private container: HTMLDivElement;\n @Element() host: HTMLElement;\n originalRowData: any[] = [];\n\n private internalItemsPerPage = JSON.stringify([\n { value: 10, label: '10', selected: true },\n { value: 20, label: '20', selected: false },\n { value: 30, label: '30', selected: false },\n ]);\n\n @Watch('rows')\n rowsChanged(_newVal: any) {\n const parsed = this.parseArrayInput<any>(this.rows);\n\n parsed.forEach((row, index) => {\n if (!row.__rowId) {\n row.__rowId = `row_${index}_${Date.now()}_${Math.random()}`;\n }\n });\n\n if (this.enableSelection) {\n parsed.forEach(row => {\n row.__checkbox = {\n disabled: false,\n checked: this.selectedRows?.has(row.__rowId) || false,\n size: 's',\n indeterminate: false,\n error: false,\n };\n });\n }\n this.currentFilters = {};\n this.currentPage = 1;\n this.originalRowData = [...parsed];\n this.allRowData = [...parsed];\n this.matchingResultsCount = this.allRowData.length;\n this.updateTableView();\n this.updateFilterOptions();\n }\n\n @Watch('cols')\n colsChanged(_newVal: any) {\n this.colData = this.getColData();\n\n if (this.gridApi) {\n this.gridApi.setGridOption('columnDefs', this.colData);\n this.gridApi.sizeColumnsToFit({\n defaultMinWidth: 100,\n });\n }\n\n this.updateFilterOptions();\n }\n\n @Listen('ifxItemsPerPageChange')\n handleResultsPerPageChange(e: CustomEvent<string>) {\n this.paginationPageSize = Number(e.detail);\n this.currentPage = 1;\n this.updateTableView();\n }\n\n @Listen('ifxChange')\n handleChipChange(event: CustomEvent<{ previousSelection: Array<any>; currentSelection: Array<any>; name: string }>) {\n const { name, currentSelection, previousSelection } = event.detail;\n if (currentSelection && previousSelection) {\n // Clone the current filters state\n const updatedFilters = { ...this.currentFilters };\n\n if (currentSelection.length === 0) {\n // If there are no selections for this filter, delete the filter\n delete updatedFilters[name];\n\n // Emit event with specific filter name\n const customEvent = new CustomEvent('ifxUpdateSidebarFilter', { detail: { filterName: name }, bubbles: true, composed: true });\n this.host.dispatchEvent(customEvent);\n } else {\n // Otherwise, update the filter values with the current selection\n updatedFilters[name].filterValues = currentSelection.map(selection => selection.value);\n }\n\n // Update the component's filters\n this.currentFilters = updatedFilters;\n // Ensure table data is updated\n this.allRowData = this.applyAllFilters(this.originalRowData, this.currentFilters);\n this.updateTableView();\n }\n }\n\n @Watch('buttonRendererOptions')\n onButtonRendererOptionsChanged() {\n this.colData = this.getColData();\n if (this.gridApi) {\n this.gridApi.setColumnDefs(this.colData);\n }\n }\n\n @Watch('iconButtonRendererOptions')\n onIconButtonRendererOptionsChanged() {\n this.colData = this.getColData();\n if (this.gridApi) {\n this.gridApi.setColumnDefs(this.colData);\n }\n }\n\n @Watch('checkboxRendererOptions')\n onCheckboxRendererOptionsChanged() {\n this.colData = this.getColData();\n if (this.gridApi) {\n this.gridApi.setColumnDefs(this.colData);\n }\n }\n\n private parseArrayInput<T>(input: any): T[] {\n if (typeof input === 'string') {\n try {\n const parsed = JSON.parse(input);\n return Array.isArray(parsed) ? parsed : [];\n } catch {\n console.error('Failed to parse input:', input);\n return [];\n }\n }\n if (Array.isArray(input)) return input;\n if (typeof input === 'object' && input !== null) return [input as T];\n return [];\n }\n\n toggleSidebarFilters() {\n this.showSidebarFilters = !this.showSidebarFilters;\n }\n\n updateFilterOptions() {\n const options = {};\n for (let col of this.colData) {\n options[col.field] = [...new Set(this.rowData.map(row => row[col.field]))];\n }\n this.filterOptions = options;\n }\n\n private updateHeaderCheckboxState() {\n if (this.gridApi && this.enableSelection) {\n setTimeout(() => {\n const headerCheckbox = this.container?.querySelector('.ag-header-cell[col-id=\"__checkbox\"] ifx-checkbox') as any;\n if (headerCheckbox) {\n if (this.serverSidePagination) {\n // For server-side: only reflect current page selection\n const currentPageSelectedCount = this.rowData.filter(row => this.selectedRows?.has(row.__rowId)).length;\n const allOnPageSelected = currentPageSelectedCount === this.rowData.length && this.rowData.length > 0;\n const someOnPageSelected = currentPageSelectedCount > 0 && currentPageSelectedCount < this.rowData.length;\n\n headerCheckbox.checked = allOnPageSelected;\n headerCheckbox.indeterminate = someOnPageSelected;\n } else {\n // For client-side: reflect entire dataset selection\n const allSelected = this.selectedRows.size === this.allRowData.length && this.allRowData.length > 0;\n const someSelected = this.selectedRows.size > 0 && this.selectedRows.size < this.allRowData.length;\n\n headerCheckbox.checked = allSelected;\n headerCheckbox.indeterminate = someSelected;\n }\n }\n }, 0);\n }\n }\n\n handleSidebarFilterChange(event: CustomEvent) {\n const filterGroups = event.detail;\n const updatedFilters = {};\n\n filterGroups.forEach(filterGroup => {\n const filterName = filterGroup.filterGroupName;\n let filterValues;\n let type;\n\n if (filterGroup.selectedItems && filterGroup.selectedItems.length > 0) {\n filterValues = filterGroup.selectedItems.map(item => item.label);\n type = 'multi-select';\n } else if (filterGroup.value) {\n filterValues = [filterGroup.value];\n type = 'text';\n } else {\n filterValues = [];\n }\n\n if (!(filterValues.length === 0 || (filterValues.length === 1 && type === 'text' && filterValues[0] === ''))) {\n updatedFilters[filterName] = { filterValues, type };\n }\n });\n\n this.allRowData = this.applyAllFilters(this.originalRowData, updatedFilters);\n this.updateTableView();\n this.currentFilters = updatedFilters;\n }\n\n handleTopbarFilterChange(event: CustomEvent) {\n const filters = event.detail;\n\n // Start by resetting the filter conditions to a blank object\n this.currentFilters = {};\n\n // Loop through each filter group provided in the event detail\n filters.forEach(filter => {\n const filterName = filter.filterName;\n let filterValues;\n\n let type = filter.type;\n\n if (type === 'text') {\n // Search/Text filter\n filterValues = filter.filterValues;\n } else {\n // Multi-select/Single-Select\n filterValues = filter.filterValues.map(item => item.label);\n }\n\n // If there are no filter values, or the filter is a text filter with an empty value, remove the filter\n if (!(filterValues.length === 0 || (filterValues.length === 1 && type === 'text' && filterValues[0] === ''))) {\n // Add or update the filter in the currentFilters object\n this.currentFilters[filterName] = { filterValues, type };\n }\n });\n\n // Now that the currentFilters object has been updated, apply all filters to the data\n this.allRowData = this.applyAllFilters(this.originalRowData, this.currentFilters);\n\n // After filtering, update the table view with the new filtered data\n this.updateTableView();\n }\n\n applyAllFilters(data, filters) {\n return data.filter(row => {\n for (const filterName in filters) {\n const filterInfo = filters[filterName];\n let selectedValues = (filterInfo.filterValues || []).map(value => {\n if (typeof value === 'string') {\n return value.toLowerCase();\n } else if (typeof value === 'number' || typeof value === 'boolean') {\n return value.toString();\n }\n return '';\n });\n\n // For text filters, check if row values start with any of the selectedValues\n if (filterInfo.type === 'text') {\n let textFilterMatched = false;\n for (let property in row) {\n if (row.hasOwnProperty(property)) {\n let rowValue = row[property] != null ? String(row[property]).toLowerCase() : '';\n if (selectedValues.some(filterValue => rowValue.startsWith(filterValue))) {\n textFilterMatched = true;\n break;\n }\n }\n }\n if (!textFilterMatched) return false;\n }\n // For multi-select filters, this remains unchanged\n else if (filterInfo.type === 'multi-select') {\n let rowValue = row[filterName] != null ? String(row[filterName]).toLowerCase() : '';\n // Check if 'undefined' is a selected value and include rows with empty values in that case\n let includesUndefined = selectedValues.includes('undefined');\n if (!selectedValues.includes(rowValue) && !(includesUndefined && rowValue === '')) {\n return false;\n }\n }\n }\n return true;\n });\n }\n\n async updateTableView() {\n // Reset select-all when loading new data in server-side mode\n if (this.serverSidePagination) {\n this.selectAll = false;\n }\n\n if (this.serverSidePagination && this.serverPageChangeHandler) {\n const { rows, total } = await this.serverPageChangeHandler({\n page: this.currentPage,\n pageSize: this.paginationPageSize,\n });\n\n rows.forEach((row, index) => {\n const rowId = row.sampleNumber || `row_${(this.currentPage - 1) * this.paginationPageSize + index}`;\n row.__rowId = rowId;\n row.__checkbox = {\n disabled: false,\n checked: this.selectedRows?.has(rowId) || false,\n size: 's',\n indeterminate: false,\n error: false,\n };\n });\n\n this.rowData = rows;\n this.matchingResultsCount = total;\n\n if (this.gridApi) {\n this.gridApi.setGridOption('rowData', rows);\n // Update header checkbox state\n this.updateHeaderCheckboxState();\n }\n\n const paginationElement = this.host.shadowRoot.querySelector('ifx-pagination');\n if (paginationElement) {\n paginationElement.setAttribute('total', total.toString());\n }\n } else {\n const startIndex = (this.currentPage - 1) * this.paginationPageSize;\n const endIndex = startIndex + this.paginationPageSize;\n const visibleRowData = this.allRowData.slice(startIndex, endIndex);\n\n if (this.enableSelection) {\n visibleRowData.forEach(row => {\n if (!row.__checkbox) {\n row.__checkbox = {\n disabled: false,\n checked: this.selectedRows?.has(row.__rowId) || false,\n size: 's',\n indeterminate: false,\n error: false,\n };\n } else {\n row.__checkbox.checked = this.selectedRows?.has(row.__rowId) || false;\n }\n });\n }\n\n this.rowData = visibleRowData;\n this.matchingResultsCount = this.allRowData.length;\n\n if (this.gridApi) {\n this.gridApi.setGridOption('rowData', this.rowData);\n }\n // Update header checkbox state for client-side\n this.updateHeaderCheckboxState();\n }\n }\n\n clearAllFilters() {\n this.currentFilters = {};\n this.allRowData = [...this.originalRowData];\n }\n\n @Method()\n async onBtShowLoading() {\n this.gridApi.showLoadingOverlay();\n }\n\n setPaginationItemsPerPage() {\n const newItemsPerPage = this.paginationItemsPerPage;\n if (newItemsPerPage) {\n this.internalItemsPerPage = this.paginationItemsPerPage;\n const itemsPerPageArray = JSON.parse(this.internalItemsPerPage);\n\n const selectedOption = itemsPerPageArray.find(option => option.selected);\n if (selectedOption) {\n this.paginationPageSize = Number(selectedOption.value);\n } else if (itemsPerPageArray.length > 0) {\n this.paginationPageSize = Number(itemsPerPageArray[0].value);\n }\n }\n }\n\n componentWillLoad() {\n this.setPaginationItemsPerPage();\n\n this.uniqueKey = `unique-${Math.floor(Math.random() * 1000000)}`;\n this.rowData = this.getRowData();\n this.colData = this.getColData();\n this.updateFilterOptions();\n\n this.gridOptions = {\n suppressCellFocus: true,\n rowHeight: this.rowHeight === 'default' ? 40 : 32,\n headerHeight: 40,\n components: {\n checkboxCellRenderer: CheckboxCellRenderer,\n checkboxHeaderRenderer: CheckboxHeaderRenderer,\n customLoadingOverlay: CustomLoadingOverlay,\n customNoRowsOverlay: CustomNoRowsOverlay,\n },\n defaultColDef: {\n resizable: true,\n autoHeight: true,\n },\n suppressDragLeaveHidesColumns: true,\n enableCellTextSelection: true,\n onFirstDataRendered: this.onFirstDataRendered.bind(this),\n columnDefs: this.colData,\n rowData: this.rowData,\n loadingOverlayComponent: CustomLoadingOverlay,\n noRowsOverlayComponent: CustomNoRowsOverlay,\n noRowsOverlayComponentParams: {\n noRowsMessageFunc: () => 'No rows found', //at: ' + new Date().toLocaleTimeString(),\n },\n icons: {\n sortAscending: '<ifx-icon icon=\"arrow-triangle-up-16\"></ifx-icon>',\n sortDescending: '<ifx-icon icon=\"arrow-triangle-down-16\"></ifx-icon>',\n sortUnSort: '<a class=\"unsort-icon-custom-color\"><ifx-icon icon=\"arrow-triangle-vertikal-16\"></ifx-icon></a>',\n },\n rowDragManaged: this.colData.some(col => col.dndSource === true) ? true : false,\n animateRows: this.colData.some(col => col.dndSource === true) ? true : false,\n navigateToNextCell: params => {\n return this.focusCellIfContainingButton(params.api, params.nextCellPosition);\n },\n tabToNextCell: params => {\n // Returning null is deprecated so we return false if the result is null (browser handles tab behavior).\n return this.focusCellIfContainingButton(params.api, params.nextCellPosition) ?? false;\n },\n };\n }\n\n focusCellIfContainingButton<T>(api: GridApi<T>, cellPosition: CellPosition): CellPosition | null {\n if (!cellPosition) {\n return null;\n }\n\n if (cellPosition.column.getColDef().field === 'button') {\n const rowNode = api.getDisplayedRowAtIndex(cellPosition.rowIndex);\n\n if (!rowNode) {\n // Row not yet rendered due to virtualization.\n return null;\n }\n\n const cellRenderers = api.getCellRendererInstances({\n rowNodes: [rowNode],\n columns: [cellPosition.column],\n });\n\n if (cellRenderers.length > 0) {\n const renderedContent = (cellRenderers[0] as ButtonCellRenderer)?.getGui();\n\n if (renderedContent) {\n const button = renderedContent.querySelector('ifx-button');\n\n if (button) {\n setTimeout(() => {\n // Just calling button.focus() will not work because the focus of <ifx-button> will not be\n // forwared to its child <a>-element (containing the tabindex attribute) due to shadow root.\n // We must therefore grab the <a>-element manually first and then call focus() on it.\n const focusableChild = button.shadowRoot?.querySelector<HTMLElement>('a[tabindex]');\n focusableChild?.focus();\n }, 0);\n }\n }\n }\n }\n\n return cellPosition;\n }\n\n async componentDidLoad() {\n if (this.container) {\n if (!isNestedInIfxComponent(this.host)) {\n const framework = detectFramework();\n trackComponent('ifx-table', await framework);\n }\n this.gridApi = createGrid(this.container, this.gridOptions);\n if (this.gridApi) {\n this.gridApi.sizeColumnsToFit({\n defaultMinWidth: 100,\n });\n this.gridApi.setGridOption('columnDefs', this.colData);\n this.gridApi.setGridOption('rowData', this.rowData);\n\n if (this.pagination) {\n const paginationElement = this.host.shadowRoot.querySelector('ifx-pagination');\n if (paginationElement) {\n paginationElement.addEventListener('ifxPageChange', this.handlePageChange.bind(this));\n }\n }\n const sidebarFilterElements = this.host.querySelectorAll('ifx-filter-type-group');\n // Add an event listener to each SetFilter component\n sidebarFilterElements.forEach(sidebarFilterElement => {\n sidebarFilterElement.addEventListener('ifxSidebarFilterChange', this.handleSidebarFilterChange.bind(this));\n });\n const topbarFilterElements = this.host.querySelectorAll('ifx-filter-bar');\n // Add an event listener to each SetFilter component\n topbarFilterElements.forEach(topbarFilterElement => {\n topbarFilterElement.addEventListener('ifxTopbarFilterChange', this.handleTopbarFilterChange.bind(this));\n });\n }\n }\n this.updateTableView();\n }\n\n componentWillUnmount() {\n if (this.pagination) {\n const paginationElement = this.host.shadowRoot.querySelector('ifx-pagination');\n if (paginationElement) {\n paginationElement.removeEventListener('ifxPageChange', this.handlePageChange.bind(this));\n }\n }\n const sidebarFilters = this.host.shadowRoot.querySelectorAll('ifx-filter-type-group');\n // Remove the event listener from each SetFilter component\n sidebarFilters.forEach(sidebarFilter => {\n sidebarFilter.removeEventListener('ifxSidebarFilterChange', this.handleSidebarFilterChange.bind(this));\n });\n const topbarFilters = this.host.shadowRoot.querySelectorAll('ifx-filter-type-group');\n // Remove the event listener from each SetFilter component\n topbarFilters.forEach(topbarFilter => {\n topbarFilter.removeEventListener('ifxTopbarFilterChange', this.handleTopbarFilterChange.bind(this));\n });\n }\n\n async handlePageChange(event) {\n this.currentPage = event.detail.currentPage;\n\n // Reset the select-all checkbox state when changing pages in server-side mode\n if (this.serverSidePagination) {\n this.selectAll = false;\n }\n\n if (this.serverSidePagination && this.serverPageChangeHandler) {\n const { rows, total } = await this.serverPageChangeHandler({\n page: this.currentPage,\n pageSize: this.paginationPageSize,\n });\n\n // Add checkbox properties to rows\n rows.forEach((row, index) => {\n const rowId = row.sampleNumber || `row_${(this.currentPage - 1) * this.paginationPageSize + index}`;\n row.__rowId = rowId;\n row.__checkbox = {\n disabled: false,\n checked: this.selectedRows?.has(rowId) || false,\n size: 's',\n indeterminate: false,\n error: false,\n };\n });\n\n this.rowData = rows;\n this.matchingResultsCount = total;\n\n if (this.gridApi) {\n this.gridApi.setGridOption('rowData', this.rowData);\n // Update header checkbox state\n this.updateHeaderCheckboxState();\n }\n\n const paginationElement = this.host.shadowRoot.querySelector('ifx-pagination');\n if (paginationElement) {\n paginationElement.setAttribute('total', total.toString());\n }\n } else {\n const startIndex = (this.currentPage - 1) * this.paginationPageSize;\n const endIndex = startIndex + this.paginationPageSize;\n const visibleRowData = this.allRowData.slice(startIndex, endIndex);\n\n // Update checkbox state for visible rows\n if (this.enableSelection) {\n visibleRowData.forEach(row => {\n if (!row.__checkbox) {\n row.__checkbox = {\n disabled: false,\n checked: this.selectedRows?.has(row.__rowId) || false,\n size: 's',\n indeterminate: false,\n error: false,\n };\n } else {\n row.__checkbox.checked = this.selectedRows?.has(row.__rowId) || false;\n }\n });\n }\n\n this.rowData = visibleRowData;\n\n if (this.gridApi) {\n this.gridApi.setGridOption('rowData', visibleRowData);\n // Update header checkbox state for client-side too\n this.updateHeaderCheckboxState();\n }\n }\n }\n\n isJSONParseable(str) {\n try {\n JSON.parse(str);\n return true;\n } catch (e) {\n return false;\n }\n }\n\n handleSelectAll = (checked: boolean) => {\n this.selectAll = checked;\n\n const newSelectedRows = new Set(this.selectedRows);\n const newSelectedRowsData = new Map(this.selectedRowsData);\n\n if (checked) {\n if (this.serverSidePagination) {\n // Server-side: select only current page rows\n this.rowData.forEach(row => {\n const rowId = row.__rowId;\n newSelectedRows.add(rowId);\n const { __checkbox, __rowId, ...cleanRow } = row;\n newSelectedRowsData.set(rowId, cleanRow);\n });\n } else {\n // Client-side: select ALL rows across ALL pages\n this.allRowData.forEach(row => {\n const rowId = row.__rowId;\n newSelectedRows.add(rowId);\n const { __checkbox, __rowId, ...cleanRow } = row;\n newSelectedRowsData.set(rowId, cleanRow);\n });\n }\n } else {\n if (this.serverSidePagination) {\n // Server-side: remove only current page rows\n this.rowData.forEach(row => {\n const rowId = row.__rowId;\n newSelectedRows.delete(rowId);\n newSelectedRowsData.delete(rowId);\n });\n } else {\n // Client-side: remove ALL rows (clear entire selection)\n newSelectedRows.clear();\n newSelectedRowsData.clear();\n }\n }\n\n this.selectedRows = newSelectedRows;\n this.selectedRowsData = newSelectedRowsData;\n\n this.updateCheckboxStates();\n this.updateHeaderCheckboxState();\n this.emitSelectionChange();\n };\n\n getRowData() {\n let rows: any[] = [];\n if (this.rows === undefined || this.rows === null) {\n return rows;\n }\n if (this.isJSONParseable(this.rows)) {\n rows = [...JSON.parse(this.rows)];\n } else if (Array.isArray(this.rows) || typeof this.rows === 'object') {\n rows = [...this.rows];\n } else {\n console.error('Unexpected value for rows: ', this.rows);\n }\n\n rows.forEach((row, index) => {\n if (!row.__rowId) {\n row.__rowId = `row_${index}_${Date.now()}_${Math.random()}`;\n }\n });\n\n if (this.enableSelection) {\n rows.forEach(row => {\n row.__checkbox = {\n disabled: false,\n checked: this.selectedRows?.has(row.__rowId) || false,\n size: 's',\n indeterminate: false,\n error: false,\n };\n });\n }\n this.allRowData = rows;\n this.originalRowData = [...rows];\n this.matchingResultsCount = this.allRowData.length;\n return rows.slice(0, this.paginationPageSize);\n }\n\n handleRowCheckboxClick = (params: any) => {\n const clickedRowData = params.data;\n const rowId = clickedRowData.__rowId;\n const newSelectedRows = new Set(this.selectedRows);\n const newSelectedRowsData = new Map(this.selectedRowsData);\n\n if (newSelectedRows.has(rowId)) {\n newSelectedRows.delete(rowId);\n newSelectedRowsData.delete(rowId);\n } else {\n newSelectedRows.add(rowId);\n const { __checkbox, __rowId, ...cleanRow } = clickedRowData;\n newSelectedRowsData.set(rowId, cleanRow);\n }\n\n this.selectedRows = newSelectedRows;\n this.selectedRowsData = newSelectedRowsData;\n this.selectAll = newSelectedRows.size === this.rowData.length && this.rowData.length > 0;\n\n this.updateCheckboxStates();\n this.updateHeaderCheckboxState();\n this.emitSelectionChange();\n };\n\n private updateCheckboxStates() {\n // Update checkboxes in the current view\n const dataToUpdate = this.rowData; // Always update current page\n\n dataToUpdate.forEach(row => {\n if (row.__checkbox) {\n row.__checkbox.checked = this.selectedRows.has(row.__rowId);\n }\n });\n\n if (this.gridApi) {\n this.gridApi.refreshCells({\n columns: ['__checkbox'],\n force: true,\n });\n }\n }\n\n private emitSelectionChange() {\n const selectedRowsArray = Array.from(this.selectedRowsData.values());\n\n let isSelectAll;\n if (this.serverSidePagination) {\n // Server-side: select-all only applies to current page\n isSelectAll = this.selectedRows.size === this.rowData.length && this.rowData.length > 0;\n } else {\n // Client-side: select-all applies to ALL data across all pages\n isSelectAll = this.selectedRows.size === this.allRowData.length && this.allRowData.length > 0;\n }\n\n this.host.dispatchEvent(\n new CustomEvent('ifxSelectionChange', {\n detail: {\n selectedRows: selectedRowsArray,\n selectedCount: selectedRowsArray.length,\n isSelectAll: isSelectAll,\n },\n bubbles: true,\n }),\n );\n }\n\n getColData() {\n let cols: any[] = [];\n if (this.cols === undefined || this.cols === null) return cols;\n if (this.isJSONParseable(this.cols)) {\n cols = [...JSON.parse(this.cols)];\n } else if (Array.isArray(this.cols) || typeof this.cols === 'object') {\n cols = [...this.cols];\n } else {\n console.error('Unexpected value for cols: ', this.cols);\n }\n\n if (this.enableSelection) {\n const checkboxColumn = {\n headerName: '',\n field: '__checkbox',\n width: 50,\n pinned: 'left',\n cellRenderer: 'checkboxCellRenderer',\n cellRendererParams: {\n onCheckboxClick: this.handleRowCheckboxClick?.bind(this),\n },\n headerComponent: 'checkboxHeaderRenderer',\n headerComponentParams: {\n onSelectAll: this.handleSelectAll?.bind(this),\n },\n sortable: false,\n filter: false,\n resizable: false,\n valueFormatter: undefined,\n cellDataType: false,\n };\n cols.unshift(checkboxColumn);\n }\n\n cols.forEach(column => {\n const field = column.field?.toLowerCase() || '';\n // --- Button columns ---\n if (field.startsWith('button')) {\n column.cellRenderer = ButtonCellRenderer;\n column.valueFormatter = undefined;\n column.cellDataType = false;\n if (this.buttonRendererOptions?.onButtonClick) {\n column.cellRendererParams = {\n onButtonClick: this.buttonRendererOptions.onButtonClick,\n };\n }\n }\n // --- Checkbox columns ---\n else if (field.startsWith('checkbox')) {\n column.cellRenderer = CheckboxCellRenderer;\n column.valueFormatter = undefined;\n column.cellDataType = false;\n if (this.checkboxRendererOptions?.onCheckboxClick) {\n column.cellRendererParams = {\n onCheckboxClick: this.checkboxRendererOptions.onCheckboxClick,\n };\n }\n }\n // --- Icon Button columns ---\n else if (field.startsWith('iconbutton') || field === 'iconButton') {\n column.cellRenderer = IconButtonCellRenderer;\n column.valueFormatter = undefined;\n column.cellDataType = false;\n if (this.iconButtonRendererOptions?.onIconButtonClick) {\n column.cellRendererParams = {\n onIconButtonClick: this.iconButtonRendererOptions.onIconButtonClick,\n };\n }\n }\n // --- Status columns ---\n else if (field.startsWith('status')) {\n column.cellRenderer = StatusCellRenderer;\n column.valueFormatter = undefined;\n column.cellDataType = false;\n }\n // --- Link columns ---\n else if (field.startsWith('link')) {\n column.cellRenderer = LinkCellRenderer;\n column.valueFormatter = undefined;\n column.cellDataType = false;\n }\n });\n return cols;\n }\n\n onFirstDataRendered(params: FirstDataRenderedEvent) {\n params.api.sizeColumnsToFit();\n }\n\n handleResetButtonClick() {\n const resetEvent = new CustomEvent('ifxResetFiltersEvent', { bubbles: true, composed: true });\n window.dispatchEvent(resetEvent);\n\n this.clearAllFilters();\n this.updateTableView();\n }\n\n disconnectedCallback() {\n if (this.pagination) {\n const paginationElement = this.host.shadowRoot.querySelector('ifx-pagination');\n if (paginationElement) {\n paginationElement.removeEventListener('ifxPageChange', this.handlePageChange);\n }\n }\n\n const resetButton = this.host.shadowRoot.querySelector('#reset-filters-button');\n if (resetButton) {\n resetButton.removeEventListener('click', this.handleResetButtonClick.bind(this));\n }\n }\n\n getTableClassNames() {\n return classNames(this.tableHeight === 'auto' && 'table-wrapper ag-root-wrapper-body', 'table-wrapper');\n }\n\n render() {\n let style = {};\n if (this.tableHeight !== 'auto') {\n style = {\n height: this.tableHeight,\n };\n }\n\n const filterClass = this.filterOrientation === 'topbar' ? 'topbar-layout' : this.filterOrientation === 'none' ? '' : 'sidebar-layout';\n\n return (\n <Host>\n <div class=\"table-container\">\n {this.filterOrientation === 'sidebar' && (\n <div class=\"sidebar-btn\">\n <ifx-button\n type=\"button\"\n disabled={false}\n variant=\"secondary\"\n size=\"m\"\n target=\"_blank\"\n theme=\"default\"\n full-width=\"false\"\n onClick={() => this.toggleSidebarFilters()}\n >\n <ifx-icon icon=\"cross-16\"></ifx-icon>\n {this.showSidebarFilters ? 'Hide Filters' : 'Show Filters'}\n </ifx-button>\n </div>\n )}\n\n <div class={filterClass}>\n {this.filterOrientation === 'sidebar' && this.showSidebarFilters && (\n <div class=\"sidebar-container\">\n <div class=\"filters-title-container\">\n <span class=\"filters-title\">Filters</span>\n </div>\n <div class=\"set-filter-wrapper-sidebar\">{(this.filterOrientation !== 'sidebar' || this.showSidebarFilters) && <slot name=\"sidebar-filter\"></slot>}</div>\n </div>\n )}\n\n {this.filterOrientation !== 'none' && this.filterOrientation !== 'sidebar' && (\n <div class=\"set-filter-wrapper-topbar\">{(this.filterOrientation !== 'sidebar' || this.showSidebarFilters) && <slot name=\"topbar-filter\"></slot>}</div>\n )}\n\n <div class=\"table-pagination-wrapper\">\n {this.filterOrientation !== 'none' && this.filterOrientation !== 'topbar' && this.showSidebarFilters && (\n <div class=\"filter-chips\">\n {Object.keys(this.currentFilters).map(name => {\n const filter = this.currentFilters[name];\n const filterValues = filter.filterValues;\n const isMultiSelect = filter.type !== 'text';\n\n return filterValues.length > 0 ? (\n <ifx-chip placeholder={name} size=\"large\" variant={isMultiSelect ? 'multi' : 'single'} readOnly={true} value={filterValues} key={name}>\n {filterValues.map(filterValue => (\n <ifx-chip-item value={filterValue} selected={true} key={filterValue}>\n {filterValue}\n </ifx-chip-item>\n ))}\n </ifx-chip>\n ) : null;\n })}\n </div>\n )}\n\n <div class=\"headline-wrapper\">\n {this.filterOrientation !== 'none' && this.headline && (\n <div class=\"matching-results-container\">\n <span class=\"matching-results-count\">({this.matchingResultsCount})</span>\n <span class=\"matching-results-text\">{this.headline}</span>\n </div>\n )}\n\n <div class=\"inner-buttons-wrapper\">\n <slot name=\"inner-button\" />\n </div>\n </div>\n\n <div id=\"table-wrapper\" class={this.getTableClassNames()}>\n <div id={`ifxTable-${this.uniqueKey}`} class={`ifx-ag-grid ${this.variant === 'zebra' ? 'zebra' : ''}`} style={style} ref={el => (this.container = el)}></div>\n </div>\n <div class=\"pagination-wrapper\">\n {this.pagination ? (\n <ifx-pagination\n total={this.serverSidePagination ? this.matchingResultsCount : this.allRowData.length}\n current-page={this.currentPage}\n items-per-page={this.internalItemsPerPage}\n ></ifx-pagination>\n ) : null}\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n\n hasButtonCol(): boolean {\n return this.getColData().some(column => column.field === 'button');\n }\n\n onDragOver(event) {\n var dragSupported = event.dataTransfer.length;\n\n if (dragSupported) {\n event.dataTransfer.dropEffect = 'move';\n }\n\n event.preventDefault();\n }\n\n onDrop(event) {\n var jsonData = event.dataTransfer.getData('application/json');\n\n var eJsonRow = document.createElement('div');\n eJsonRow.classList.add('json-row');\n eJsonRow.innerText = jsonData;\n\n var eJsonDisplay = document.querySelector('#eJsonDisplay');\n\n eJsonDisplay.appendChild(eJsonRow);\n event.preventDefault();\n }\n}\n"]}
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/components/table-advanced-version/table.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Host, Method, Element, Prop, State, Listen, Watch } from '@stencil/core';\nimport classNames from 'classnames';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\nimport { CellPosition, createGrid, FirstDataRenderedEvent, GridApi, GridOptions } from 'ag-grid-community';\nimport { ButtonCellRenderer } from './buttonCellRenderer';\nimport { CheckboxCellRenderer } from './checkboxCellRenderer';\nimport { CheckboxHeaderRenderer } from './checkboxHeaderRenderer';\nimport { IconButtonCellRenderer } from './iconButtonCellRenderer';\nimport { LinkCellRenderer } from './linkCellRenderer';\nimport { StatusCellRenderer } from './statusCellRenderer';\nimport { CustomNoRowsOverlay } from './customNoRowsOverlay';\nimport { CustomLoadingOverlay } from './customLoadingOverlay';\n\n@Component({\n tag: 'ifx-table',\n styleUrl: 'table.scss',\n shadow: true,\n})\nexport class Table {\n gridOptions: GridOptions;\n gridApi: GridApi;\n @State() currentPage: number = 1;\n @Prop() cols: any;\n @Prop() rows: any;\n @Prop() buttonRendererOptions?: { onButtonClick?: (params: any, event: Event) => void };\n @Prop() iconButtonRendererOptions?: { onIconButtonClick?: (params: any, event: Event) => void };\n @Prop() checkboxRendererOptions?: { onCheckboxClick?: (params: any, event: Event) => void };\n @State() rowData: any[] = [];\n @State() colData: any[] = [];\n @State() filterOptions: { [key: string]: string[] } = {};\n @State() currentFilters = {};\n @State() uniqueKey: string;\n allRowData: any[] = [];\n @Prop() rowHeight: string = 'default';\n @Prop() tableHeight: string = 'auto';\n @Prop() pagination: boolean = true;\n @Prop() paginationItemsPerPage: string;\n @State() paginationPageSize: number = 10;\n @Prop() filterOrientation: string = 'sidebar';\n @Prop() headline: string = '';\n @State() showSidebarFilters: boolean = true;\n @State() matchingResultsCount: number = 0;\n @Prop() variant: string = 'default';\n @Prop() serverSidePagination: boolean = false;\n @Prop() serverPageChangeHandler?: (params: { page: number; pageSize: number }) => Promise<{ rows: any[]; total: number }>;\n @Prop() enableSelection: boolean = false;\n @State() selectedRows: Set<string> = new Set();\n @State() selectAll: boolean = false;\n @State() selectedRowsData: Map<string, any> = new Map();\n @Prop() showLoading: boolean = false;\n private container: HTMLDivElement;\n @Element() host: HTMLElement;\n originalRowData: any[] = [];\n\n private internalItemsPerPage = JSON.stringify([\n { value: 10, label: '10', selected: true },\n { value: 20, label: '20', selected: false },\n { value: 30, label: '30', selected: false },\n ]);\n\n @Watch('rows')\n rowsChanged(_newVal: any) {\n const parsed = this.parseArrayInput<any>(this.rows);\n\n parsed.forEach((row, index) => {\n if (!row.__rowId) {\n row.__rowId = `row_${index}_${Date.now()}_${Math.random()}`;\n }\n });\n\n if (this.enableSelection) {\n parsed.forEach(row => {\n row.__checkbox = {\n disabled: false,\n checked: this.selectedRows?.has(row.__rowId) || false,\n size: 's',\n indeterminate: false,\n error: false,\n };\n });\n }\n this.currentFilters = {};\n this.currentPage = 1;\n this.originalRowData = [...parsed];\n this.allRowData = [...parsed];\n this.matchingResultsCount = this.allRowData.length;\n this.updateTableView();\n this.updateFilterOptions();\n }\n\n @Watch('cols')\n colsChanged(_newVal: any) {\n this.colData = this.getColData();\n\n if (this.gridApi) {\n this.gridApi.setGridOption('columnDefs', this.colData);\n this.gridApi.sizeColumnsToFit({\n defaultMinWidth: 100,\n });\n }\n\n this.updateFilterOptions();\n }\n\n @Listen('ifxItemsPerPageChange')\n handleResultsPerPageChange(e: CustomEvent<string>) {\n this.paginationPageSize = Number(e.detail);\n this.currentPage = 1;\n this.updateTableView();\n }\n\n @Listen('ifxChange')\n handleChipChange(event: CustomEvent<{ previousSelection: Array<any>; currentSelection: Array<any>; name: string }>) {\n const { name, currentSelection, previousSelection } = event.detail;\n if (currentSelection && previousSelection) {\n // Clone the current filters state\n const updatedFilters = { ...this.currentFilters };\n\n if (currentSelection.length === 0) {\n // If there are no selections for this filter, delete the filter\n delete updatedFilters[name];\n\n // Emit event with specific filter name\n const customEvent = new CustomEvent('ifxUpdateSidebarFilter', { detail: { filterName: name }, bubbles: true, composed: true });\n this.host.dispatchEvent(customEvent);\n } else {\n // Otherwise, update the filter values with the current selection\n updatedFilters[name].filterValues = currentSelection.map(selection => selection.value);\n }\n\n // Update the component's filters\n this.currentFilters = updatedFilters;\n // Ensure table data is updated\n this.allRowData = this.applyAllFilters(this.originalRowData, this.currentFilters);\n this.updateTableView();\n }\n }\n\n @Watch('buttonRendererOptions')\n onButtonRendererOptionsChanged() {\n this.colData = this.getColData();\n if (this.gridApi) {\n this.gridApi.setColumnDefs(this.colData);\n }\n }\n\n @Watch('iconButtonRendererOptions')\n onIconButtonRendererOptionsChanged() {\n this.colData = this.getColData();\n if (this.gridApi) {\n this.gridApi.setColumnDefs(this.colData);\n }\n }\n\n @Watch('checkboxRendererOptions')\n onCheckboxRendererOptionsChanged() {\n this.colData = this.getColData();\n if (this.gridApi) {\n this.gridApi.setColumnDefs(this.colData);\n }\n }\n\n private parseArrayInput<T>(input: any): T[] {\n if (typeof input === 'string') {\n try {\n const parsed = JSON.parse(input);\n return Array.isArray(parsed) ? parsed : [];\n } catch {\n console.error('Failed to parse input:', input);\n return [];\n }\n }\n if (Array.isArray(input)) return input;\n if (typeof input === 'object' && input !== null) return [input as T];\n return [];\n }\n\n toggleSidebarFilters() {\n this.showSidebarFilters = !this.showSidebarFilters;\n }\n\n updateFilterOptions() {\n const options = {};\n for (let col of this.colData) {\n options[col.field] = [...new Set(this.rowData.map(row => row[col.field]))];\n }\n this.filterOptions = options;\n }\n\n private updateHeaderCheckboxState() {\n if (this.gridApi && this.enableSelection) {\n setTimeout(() => {\n const headerCheckbox = this.container?.querySelector('.ag-header-cell[col-id=\"__checkbox\"] ifx-checkbox') as any;\n if (headerCheckbox) {\n if (this.serverSidePagination) {\n \n const currentPageSelectedCount = this.rowData.filter(row => this.selectedRows?.has(row.__rowId)).length;\n const allOnPageSelected = currentPageSelectedCount === this.rowData.length && this.rowData.length > 0;\n const someOnPageSelected = currentPageSelectedCount > 0 && currentPageSelectedCount < this.rowData.length;\n\n headerCheckbox.checked = allOnPageSelected;\n headerCheckbox.indeterminate = someOnPageSelected;\n } else {\n \n const allSelected = this.selectedRows.size === this.allRowData.length && this.allRowData.length > 0;\n const someSelected = this.selectedRows.size > 0 && this.selectedRows.size < this.allRowData.length;\n\n headerCheckbox.checked = allSelected;\n headerCheckbox.indeterminate = someSelected;\n }\n }\n }, 0);\n }\n }\n\n handleSidebarFilterChange(event: CustomEvent) {\n const filterGroups = event.detail;\n const updatedFilters = {};\n\n filterGroups.forEach(filterGroup => {\n const filterName = filterGroup.filterGroupName;\n let filterValues;\n let type;\n\n if (filterGroup.selectedItems && filterGroup.selectedItems.length > 0) {\n filterValues = filterGroup.selectedItems.map(item => item.label);\n type = 'multi-select';\n } else if (filterGroup.value) {\n filterValues = [filterGroup.value];\n type = 'text';\n } else {\n filterValues = [];\n }\n\n if (!(filterValues.length === 0 || (filterValues.length === 1 && type === 'text' && filterValues[0] === ''))) {\n updatedFilters[filterName] = { filterValues, type };\n }\n });\n\n this.allRowData = this.applyAllFilters(this.originalRowData, updatedFilters);\n this.updateTableView();\n this.currentFilters = updatedFilters;\n }\n\n handleTopbarFilterChange(event: CustomEvent) {\n const filters = event.detail;\n\n // Start by resetting the filter conditions to a blank object\n this.currentFilters = {};\n\n // Loop through each filter group provided in the event detail\n filters.forEach(filter => {\n const filterName = filter.filterName;\n let filterValues;\n\n let type = filter.type;\n\n if (type === 'text') {\n // Search/Text filter\n filterValues = filter.filterValues;\n } else {\n // Multi-select/Single-Select\n filterValues = filter.filterValues.map(item => item.label);\n }\n\n // If there are no filter values, or the filter is a text filter with an empty value, remove the filter\n if (!(filterValues.length === 0 || (filterValues.length === 1 && type === 'text' && filterValues[0] === ''))) {\n // Add or update the filter in the currentFilters object\n this.currentFilters[filterName] = { filterValues, type };\n }\n });\n\n // Now that the currentFilters object has been updated, apply all filters to the data\n this.allRowData = this.applyAllFilters(this.originalRowData, this.currentFilters);\n\n // After filtering, update the table view with the new filtered data\n this.updateTableView();\n }\n\n applyAllFilters(data, filters) {\n return data.filter(row => {\n for (const filterName in filters) {\n const filterInfo = filters[filterName];\n let selectedValues = (filterInfo.filterValues || []).map(value => {\n if (typeof value === 'string') {\n return value.toLowerCase();\n } else if (typeof value === 'number' || typeof value === 'boolean') {\n return value.toString();\n }\n return '';\n });\n\n // For text filters, check if row values start with any of the selectedValues\n if (filterInfo.type === 'text') {\n let textFilterMatched = false;\n for (let property in row) {\n if (row.hasOwnProperty(property)) {\n let rowValue = row[property] != null ? String(row[property]).toLowerCase() : '';\n if (selectedValues.some(filterValue => rowValue.startsWith(filterValue))) {\n textFilterMatched = true;\n break;\n }\n }\n }\n if (!textFilterMatched) return false;\n }\n // For multi-select filters, this remains unchanged\n else if (filterInfo.type === 'multi-select') {\n let rowValue = row[filterName] != null ? String(row[filterName]).toLowerCase() : '';\n // Check if 'undefined' is a selected value and include rows with empty values in that case\n let includesUndefined = selectedValues.includes('undefined');\n if (!selectedValues.includes(rowValue) && !(includesUndefined && rowValue === '')) {\n return false;\n }\n }\n }\n return true;\n });\n }\n\n async updateTableView() {\n if (this.serverSidePagination) {\n this.selectAll = false;\n }\n\n if (this.serverSidePagination && this.serverPageChangeHandler) {\n const { rows, total } = await this.serverPageChangeHandler({\n page: this.currentPage,\n pageSize: this.paginationPageSize,\n });\n\n rows.forEach((row, index) => {\n const rowId = row.sampleNumber || `row_${(this.currentPage - 1) * this.paginationPageSize + index}`;\n row.__rowId = rowId;\n row.__checkbox = {\n disabled: false,\n checked: this.selectedRows?.has(rowId) || false,\n size: 's',\n indeterminate: false,\n error: false,\n };\n });\n\n this.rowData = rows;\n this.matchingResultsCount = total;\n\n if (this.gridApi) {\n this.gridApi.setGridOption('rowData', rows);\n this.updateHeaderCheckboxState();\n }\n\n const paginationElement = this.host.shadowRoot.querySelector('ifx-pagination');\n if (paginationElement) {\n paginationElement.setAttribute('total', total.toString());\n }\n } else {\n const startIndex = (this.currentPage - 1) * this.paginationPageSize;\n const endIndex = startIndex + this.paginationPageSize;\n const visibleRowData = this.allRowData.slice(startIndex, endIndex);\n\n if (this.enableSelection) {\n visibleRowData.forEach(row => {\n if (!row.__checkbox) {\n row.__checkbox = {\n disabled: false,\n checked: this.selectedRows?.has(row.__rowId) || false,\n size: 's',\n indeterminate: false,\n error: false,\n };\n } else {\n row.__checkbox.checked = this.selectedRows?.has(row.__rowId) || false;\n }\n });\n }\n\n this.rowData = visibleRowData;\n this.matchingResultsCount = this.allRowData.length;\n\n if (this.gridApi) {\n this.gridApi.setGridOption('rowData', this.rowData);\n }\n\n this.updateHeaderCheckboxState();\n }\n }\n\n clearAllFilters() {\n this.currentFilters = {};\n this.allRowData = [...this.originalRowData];\n }\n\n @Method()\n async onBtShowLoading() {\n this.gridApi.showLoadingOverlay();\n }\n\n setPaginationItemsPerPage() {\n const newItemsPerPage = this.paginationItemsPerPage;\n if (newItemsPerPage) {\n this.internalItemsPerPage = this.paginationItemsPerPage;\n const itemsPerPageArray = JSON.parse(this.internalItemsPerPage);\n\n const selectedOption = itemsPerPageArray.find(option => option.selected);\n if (selectedOption) {\n this.paginationPageSize = Number(selectedOption.value);\n } else if (itemsPerPageArray.length > 0) {\n this.paginationPageSize = Number(itemsPerPageArray[0].value);\n }\n }\n }\n\n componentWillLoad() {\n this.setPaginationItemsPerPage();\n\n this.uniqueKey = `unique-${Math.floor(Math.random() * 1000000)}`;\n this.rowData = this.getRowData();\n this.colData = this.getColData();\n this.updateFilterOptions();\n\n this.gridOptions = {\n suppressCellFocus: true,\n rowHeight: this.rowHeight === 'default' ? 40 : 32,\n headerHeight: 40,\n components: {\n checkboxCellRenderer: CheckboxCellRenderer,\n checkboxHeaderRenderer: CheckboxHeaderRenderer,\n customLoadingOverlay: CustomLoadingOverlay,\n customNoRowsOverlay: CustomNoRowsOverlay,\n },\n defaultColDef: {\n resizable: true,\n autoHeight: true,\n },\n suppressDragLeaveHidesColumns: true,\n enableCellTextSelection: true,\n onFirstDataRendered: this.onFirstDataRendered.bind(this),\n columnDefs: this.colData,\n rowData: this.rowData,\n loadingOverlayComponent: CustomLoadingOverlay,\n noRowsOverlayComponent: CustomNoRowsOverlay,\n noRowsOverlayComponentParams: {\n noRowsMessageFunc: () => 'No rows found', //at: ' + new Date().toLocaleTimeString(),\n },\n icons: {\n sortAscending: '<ifx-icon icon=\"arrow-triangle-up-16\"></ifx-icon>',\n sortDescending: '<ifx-icon icon=\"arrow-triangle-down-16\"></ifx-icon>',\n sortUnSort: '<a class=\"unsort-icon-custom-color\"><ifx-icon icon=\"arrow-triangle-vertikal-16\"></ifx-icon></a>',\n },\n rowDragManaged: this.colData.some(col => col.dndSource === true) ? true : false,\n animateRows: this.colData.some(col => col.dndSource === true) ? true : false,\n navigateToNextCell: params => {\n return this.focusCellIfContainingButton(params.api, params.nextCellPosition);\n },\n tabToNextCell: params => {\n // Returning null is deprecated so we return false if the result is null (browser handles tab behavior).\n return this.focusCellIfContainingButton(params.api, params.nextCellPosition) ?? false;\n },\n };\n }\n\n focusCellIfContainingButton<T>(api: GridApi<T>, cellPosition: CellPosition): CellPosition | null {\n if (!cellPosition) {\n return null;\n }\n\n if (cellPosition.column.getColDef().field === 'button') {\n const rowNode = api.getDisplayedRowAtIndex(cellPosition.rowIndex);\n\n if (!rowNode) {\n // Row not yet rendered due to virtualization.\n return null;\n }\n\n const cellRenderers = api.getCellRendererInstances({\n rowNodes: [rowNode],\n columns: [cellPosition.column],\n });\n\n if (cellRenderers.length > 0) {\n const renderedContent = (cellRenderers[0] as ButtonCellRenderer)?.getGui();\n\n if (renderedContent) {\n const button = renderedContent.querySelector('ifx-button');\n\n if (button) {\n setTimeout(() => {\n // Just calling button.focus() will not work because the focus of <ifx-button> will not be\n // forwared to its child <a>-element (containing the tabindex attribute) due to shadow root.\n // We must therefore grab the <a>-element manually first and then call focus() on it.\n const focusableChild = button.shadowRoot?.querySelector<HTMLElement>('a[tabindex]');\n focusableChild?.focus();\n }, 0);\n }\n }\n }\n }\n\n return cellPosition;\n }\n\n async componentDidLoad() {\n if (this.container) {\n if (!isNestedInIfxComponent(this.host)) {\n const framework = detectFramework();\n trackComponent('ifx-table', await framework);\n }\n this.gridApi = createGrid(this.container, this.gridOptions);\n if (this.gridApi) {\n this.gridApi.sizeColumnsToFit({\n defaultMinWidth: 100,\n });\n this.gridApi.setGridOption('columnDefs', this.colData);\n this.gridApi.setGridOption('rowData', this.rowData);\n\n if (this.pagination) {\n const paginationElement = this.host.shadowRoot.querySelector('ifx-pagination');\n if (paginationElement) {\n paginationElement.addEventListener('ifxPageChange', this.handlePageChange.bind(this));\n }\n }\n const sidebarFilterElements = this.host.querySelectorAll('ifx-filter-type-group');\n // Add an event listener to each SetFilter component\n sidebarFilterElements.forEach(sidebarFilterElement => {\n sidebarFilterElement.addEventListener('ifxSidebarFilterChange', this.handleSidebarFilterChange.bind(this));\n });\n const topbarFilterElements = this.host.querySelectorAll('ifx-filter-bar');\n // Add an event listener to each SetFilter component\n topbarFilterElements.forEach(topbarFilterElement => {\n topbarFilterElement.addEventListener('ifxTopbarFilterChange', this.handleTopbarFilterChange.bind(this));\n });\n }\n }\n this.updateTableView();\n }\n\n componentWillUnmount() {\n if (this.pagination) {\n const paginationElement = this.host.shadowRoot.querySelector('ifx-pagination');\n if (paginationElement) {\n paginationElement.removeEventListener('ifxPageChange', this.handlePageChange.bind(this));\n }\n }\n const sidebarFilters = this.host.shadowRoot.querySelectorAll('ifx-filter-type-group');\n // Remove the event listener from each SetFilter component\n sidebarFilters.forEach(sidebarFilter => {\n sidebarFilter.removeEventListener('ifxSidebarFilterChange', this.handleSidebarFilterChange.bind(this));\n });\n const topbarFilters = this.host.shadowRoot.querySelectorAll('ifx-filter-type-group');\n // Remove the event listener from each SetFilter component\n topbarFilters.forEach(topbarFilter => {\n topbarFilter.removeEventListener('ifxTopbarFilterChange', this.handleTopbarFilterChange.bind(this));\n });\n }\n\n async handlePageChange(event) {\n this.currentPage = event.detail.currentPage;\n if (this.serverSidePagination) {\n this.selectAll = false;\n }\n\n if (this.serverSidePagination && this.serverPageChangeHandler) {\n const { rows, total } = await this.serverPageChangeHandler({\n page: this.currentPage,\n pageSize: this.paginationPageSize,\n });\n\n // Add checkbox properties to rows\n rows.forEach((row, index) => {\n const rowId = row.sampleNumber || `row_${(this.currentPage - 1) * this.paginationPageSize + index}`;\n row.__rowId = rowId;\n row.__checkbox = {\n disabled: false,\n checked: this.selectedRows?.has(rowId) || false,\n size: 's',\n indeterminate: false,\n error: false,\n };\n });\n\n this.rowData = rows;\n this.matchingResultsCount = total;\n\n if (this.gridApi) {\n this.gridApi.setGridOption('rowData', this.rowData);\n\n this.updateHeaderCheckboxState();\n }\n\n const paginationElement = this.host.shadowRoot.querySelector('ifx-pagination');\n if (paginationElement) {\n paginationElement.setAttribute('total', total.toString());\n }\n } else {\n const startIndex = (this.currentPage - 1) * this.paginationPageSize;\n const endIndex = startIndex + this.paginationPageSize;\n const visibleRowData = this.allRowData.slice(startIndex, endIndex);\n\n if (this.enableSelection) {\n visibleRowData.forEach(row => {\n if (!row.__checkbox) {\n row.__checkbox = {\n disabled: false,\n checked: this.selectedRows?.has(row.__rowId) || false,\n size: 's',\n indeterminate: false,\n error: false,\n };\n } else {\n row.__checkbox.checked = this.selectedRows?.has(row.__rowId) || false;\n }\n });\n }\n\n this.rowData = visibleRowData;\n\n if (this.gridApi) {\n this.gridApi.setGridOption('rowData', visibleRowData);\n\n this.updateHeaderCheckboxState();\n }\n }\n }\n\n isJSONParseable(str) {\n try {\n JSON.parse(str);\n return true;\n } catch (e) {\n return false;\n }\n }\n\n handleSelectAll = (checked: boolean) => {\n this.selectAll = checked;\n\n const newSelectedRows = new Set(this.selectedRows);\n const newSelectedRowsData = new Map(this.selectedRowsData);\n\n if (checked) {\n if (this.serverSidePagination) {\n // Server-side: select only current page rows\n this.rowData.forEach(row => {\n const rowId = row.__rowId;\n newSelectedRows.add(rowId);\n const { __checkbox, __rowId, ...cleanRow } = row;\n newSelectedRowsData.set(rowId, cleanRow);\n });\n } else {\n // Client-side: select ALL rows across ALL pages\n this.allRowData.forEach(row => {\n const rowId = row.__rowId;\n newSelectedRows.add(rowId);\n const { __checkbox, __rowId, ...cleanRow } = row;\n newSelectedRowsData.set(rowId, cleanRow);\n });\n }\n } else {\n if (this.serverSidePagination) {\n // Server-side: remove only current page rows\n this.rowData.forEach(row => {\n const rowId = row.__rowId;\n newSelectedRows.delete(rowId);\n newSelectedRowsData.delete(rowId);\n });\n } else {\n // Client-side: remove ALL rows (clear entire selection)\n newSelectedRows.clear();\n newSelectedRowsData.clear();\n }\n }\n\n this.selectedRows = newSelectedRows;\n this.selectedRowsData = newSelectedRowsData;\n\n this.updateCheckboxStates();\n this.updateHeaderCheckboxState();\n this.emitSelectionChange();\n };\n\n getRowData() {\n let rows: any[] = [];\n if (this.rows === undefined || this.rows === null) {\n return rows;\n }\n if (this.isJSONParseable(this.rows)) {\n rows = [...JSON.parse(this.rows)];\n } else if (Array.isArray(this.rows) || typeof this.rows === 'object') {\n rows = [...this.rows];\n } else {\n console.error('Unexpected value for rows: ', this.rows);\n }\n\n rows.forEach((row, index) => {\n if (!row.__rowId) {\n row.__rowId = `row_${index}_${Date.now()}_${Math.random()}`;\n }\n });\n\n if (this.enableSelection) {\n rows.forEach(row => {\n row.__checkbox = {\n disabled: false,\n checked: this.selectedRows?.has(row.__rowId) || false,\n size: 's',\n indeterminate: false,\n error: false,\n };\n });\n }\n this.allRowData = rows;\n this.originalRowData = [...rows];\n this.matchingResultsCount = this.allRowData.length;\n return rows.slice(0, this.paginationPageSize);\n }\n\n handleRowCheckboxClick = (params: any) => {\n const clickedRowData = params.data;\n const rowId = clickedRowData.__rowId;\n const newSelectedRows = new Set(this.selectedRows);\n const newSelectedRowsData = new Map(this.selectedRowsData);\n\n if (newSelectedRows.has(rowId)) {\n newSelectedRows.delete(rowId);\n newSelectedRowsData.delete(rowId);\n } else {\n newSelectedRows.add(rowId);\n const { __checkbox, __rowId, ...cleanRow } = clickedRowData;\n newSelectedRowsData.set(rowId, cleanRow);\n }\n\n this.selectedRows = newSelectedRows;\n this.selectedRowsData = newSelectedRowsData;\n this.selectAll = newSelectedRows.size === this.rowData.length && this.rowData.length > 0;\n\n this.updateCheckboxStates();\n this.updateHeaderCheckboxState();\n this.emitSelectionChange();\n };\n\n private updateCheckboxStates() {\n // Update checkboxes in the current view\n const dataToUpdate = this.rowData; \n\n dataToUpdate.forEach(row => {\n if (row.__checkbox) {\n row.__checkbox.checked = this.selectedRows.has(row.__rowId);\n }\n });\n\n if (this.gridApi) {\n this.gridApi.refreshCells({\n columns: ['__checkbox'],\n force: true,\n });\n }\n }\n\n private emitSelectionChange() {\n const selectedRowsArray = Array.from(this.selectedRowsData.values());\n\n let isSelectAll;\n if (this.serverSidePagination) {\n // Server-side: select-all only applies to current page\n isSelectAll = this.selectedRows.size === this.rowData.length && this.rowData.length > 0;\n } else {\n // Client-side: select-all applies to ALL data across all pages\n isSelectAll = this.selectedRows.size === this.allRowData.length && this.allRowData.length > 0;\n }\n\n this.host.dispatchEvent(\n new CustomEvent('ifxSelectionChange', {\n detail: {\n selectedRows: selectedRowsArray,\n selectedCount: selectedRowsArray.length,\n isSelectAll: isSelectAll,\n },\n bubbles: true,\n }),\n );\n }\n\n getColData() {\n let cols: any[] = [];\n if (this.cols === undefined || this.cols === null) return cols;\n if (this.isJSONParseable(this.cols)) {\n cols = [...JSON.parse(this.cols)];\n } else if (Array.isArray(this.cols) || typeof this.cols === 'object') {\n cols = [...this.cols];\n } else {\n console.error('Unexpected value for cols: ', this.cols);\n }\n\n if (this.enableSelection) {\n const checkboxColumn = {\n headerName: '',\n field: '__checkbox',\n width: 50,\n pinned: 'left',\n cellRenderer: 'checkboxCellRenderer',\n cellRendererParams: {\n onCheckboxClick: this.handleRowCheckboxClick?.bind(this),\n },\n headerComponent: 'checkboxHeaderRenderer',\n headerComponentParams: {\n onSelectAll: this.handleSelectAll?.bind(this),\n },\n sortable: false,\n filter: false,\n resizable: false,\n valueFormatter: undefined,\n cellDataType: false,\n };\n cols.unshift(checkboxColumn);\n }\n\n cols.forEach(column => {\n const field = column.field?.toLowerCase() || '';\n // --- Button columns ---\n if (field.startsWith('button')) {\n column.cellRenderer = ButtonCellRenderer;\n column.valueFormatter = undefined;\n column.cellDataType = false;\n if (this.buttonRendererOptions?.onButtonClick) {\n column.cellRendererParams = {\n onButtonClick: this.buttonRendererOptions.onButtonClick,\n };\n }\n }\n // --- Checkbox columns ---\n else if (field.startsWith('checkbox')) {\n column.cellRenderer = CheckboxCellRenderer;\n column.valueFormatter = undefined;\n column.cellDataType = false;\n if (this.checkboxRendererOptions?.onCheckboxClick) {\n column.cellRendererParams = {\n onCheckboxClick: this.checkboxRendererOptions.onCheckboxClick,\n };\n }\n }\n // --- Icon Button columns ---\n else if (field.startsWith('iconbutton') || field === 'iconButton') {\n column.cellRenderer = IconButtonCellRenderer;\n column.valueFormatter = undefined;\n column.cellDataType = false;\n if (this.iconButtonRendererOptions?.onIconButtonClick) {\n column.cellRendererParams = {\n onIconButtonClick: this.iconButtonRendererOptions.onIconButtonClick,\n };\n }\n }\n // --- Status columns ---\n else if (field.startsWith('status')) {\n column.cellRenderer = StatusCellRenderer;\n column.valueFormatter = undefined;\n column.cellDataType = false;\n }\n // --- Link columns ---\n else if (field.startsWith('link')) {\n column.cellRenderer = LinkCellRenderer;\n column.valueFormatter = undefined;\n column.cellDataType = false;\n }\n });\n return cols;\n }\n\n onFirstDataRendered(params: FirstDataRenderedEvent) {\n params.api.sizeColumnsToFit();\n }\n\n handleResetButtonClick() {\n const resetEvent = new CustomEvent('ifxResetFiltersEvent', { bubbles: true, composed: true });\n window.dispatchEvent(resetEvent);\n\n this.clearAllFilters();\n this.updateTableView();\n }\n\n disconnectedCallback() {\n if (this.pagination) {\n const paginationElement = this.host.shadowRoot.querySelector('ifx-pagination');\n if (paginationElement) {\n paginationElement.removeEventListener('ifxPageChange', this.handlePageChange);\n }\n }\n\n const resetButton = this.host.shadowRoot.querySelector('#reset-filters-button');\n if (resetButton) {\n resetButton.removeEventListener('click', this.handleResetButtonClick.bind(this));\n }\n }\n\n getTableClassNames() {\n return classNames(this.tableHeight === 'auto' && 'table-wrapper ag-root-wrapper-body', 'table-wrapper');\n }\n\n render() {\n let style = {};\n if (this.tableHeight !== 'auto') {\n style = {\n height: this.tableHeight,\n };\n }\n\n const filterClass = this.filterOrientation === 'topbar' ? 'topbar-layout' : this.filterOrientation === 'none' ? '' : 'sidebar-layout';\n\n return (\n <Host>\n <div class=\"table-container\">\n {this.filterOrientation === 'sidebar' && (\n <div class=\"sidebar-btn\">\n <ifx-button\n type=\"button\"\n disabled={false}\n variant=\"secondary\"\n size=\"m\"\n target=\"_blank\"\n theme=\"default\"\n full-width=\"false\"\n onClick={() => this.toggleSidebarFilters()}\n >\n <ifx-icon icon=\"cross-16\"></ifx-icon>\n {this.showSidebarFilters ? 'Hide Filters' : 'Show Filters'}\n </ifx-button>\n </div>\n )}\n\n <div class={filterClass}>\n {this.filterOrientation === 'sidebar' && this.showSidebarFilters && (\n <div class=\"sidebar-container\">\n <div class=\"filters-title-container\">\n <span class=\"filters-title\">Filters</span>\n </div>\n <div class=\"set-filter-wrapper-sidebar\">{(this.filterOrientation !== 'sidebar' || this.showSidebarFilters) && <slot name=\"sidebar-filter\"></slot>}</div>\n </div>\n )}\n\n {this.filterOrientation !== 'none' && this.filterOrientation !== 'sidebar' && (\n <div class=\"set-filter-wrapper-topbar\">{(this.filterOrientation !== 'sidebar' || this.showSidebarFilters) && <slot name=\"topbar-filter\"></slot>}</div>\n )}\n\n <div class=\"table-pagination-wrapper\">\n {this.filterOrientation !== 'none' && this.filterOrientation !== 'topbar' && this.showSidebarFilters && (\n <div class=\"filter-chips\">\n {Object.keys(this.currentFilters).map(name => {\n const filter = this.currentFilters[name];\n const filterValues = filter.filterValues;\n const isMultiSelect = filter.type !== 'text';\n\n return filterValues.length > 0 ? (\n <ifx-chip placeholder={name} size=\"large\" variant={isMultiSelect ? 'multi' : 'single'} readOnly={true} value={filterValues} key={name}>\n {filterValues.map(filterValue => (\n <ifx-chip-item value={filterValue} selected={true} key={filterValue}>\n {filterValue}\n </ifx-chip-item>\n ))}\n </ifx-chip>\n ) : null;\n })}\n </div>\n )}\n\n <div class=\"headline-wrapper\">\n {this.filterOrientation !== 'none' && this.headline && (\n <div class=\"matching-results-container\">\n <span class=\"matching-results-count\">({this.matchingResultsCount})</span>\n <span class=\"matching-results-text\">{this.headline}</span>\n </div>\n )}\n\n <div class=\"inner-buttons-wrapper\">\n <slot name=\"inner-button\" />\n </div>\n </div>\n\n <div id=\"table-wrapper\" class={this.getTableClassNames()}>\n <div id={`ifxTable-${this.uniqueKey}`} class={`ifx-ag-grid ${this.variant === 'zebra' ? 'zebra' : ''}`} style={style} ref={el => (this.container = el)}></div>\n </div>\n <div class=\"pagination-wrapper\">\n {this.pagination ? (\n <ifx-pagination\n total={this.serverSidePagination ? this.matchingResultsCount : this.allRowData.length}\n current-page={this.currentPage}\n items-per-page={this.internalItemsPerPage}\n ></ifx-pagination>\n ) : null}\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n\n hasButtonCol(): boolean {\n return this.getColData().some(column => column.field === 'button');\n }\n\n onDragOver(event) {\n var dragSupported = event.dataTransfer.length;\n\n if (dragSupported) {\n event.dataTransfer.dropEffect = 'move';\n }\n\n event.preventDefault();\n }\n\n onDrop(event) {\n var jsonData = event.dataTransfer.getData('application/json');\n\n var eJsonRow = document.createElement('div');\n eJsonRow.classList.add('json-row');\n eJsonRow.innerText = jsonData;\n\n var eJsonDisplay = document.querySelector('#eJsonDisplay');\n\n eJsonDisplay.appendChild(eJsonRow);\n event.preventDefault();\n }\n}\n"]}
@@ -585,7 +585,6 @@ const Table = /*@__PURE__*/ proxyCustomElement(class Table extends H {
585
585
  const headerCheckbox = (_a = this.container) === null || _a === void 0 ? void 0 : _a.querySelector('.ag-header-cell[col-id="__checkbox"] ifx-checkbox');
586
586
  if (headerCheckbox) {
587
587
  if (this.serverSidePagination) {
588
- // For server-side: only reflect current page selection
589
588
  const currentPageSelectedCount = this.rowData.filter(row => { var _a; return (_a = this.selectedRows) === null || _a === void 0 ? void 0 : _a.has(row.__rowId); }).length;
590
589
  const allOnPageSelected = currentPageSelectedCount === this.rowData.length && this.rowData.length > 0;
591
590
  const someOnPageSelected = currentPageSelectedCount > 0 && currentPageSelectedCount < this.rowData.length;
@@ -593,7 +592,6 @@ const Table = /*@__PURE__*/ proxyCustomElement(class Table extends H {
593
592
  headerCheckbox.indeterminate = someOnPageSelected;
594
593
  }
595
594
  else {
596
- // For client-side: reflect entire dataset selection
597
595
  const allSelected = this.selectedRows.size === this.allRowData.length && this.allRowData.length > 0;
598
596
  const someSelected = this.selectedRows.size > 0 && this.selectedRows.size < this.allRowData.length;
599
597
  headerCheckbox.checked = allSelected;
@@ -699,7 +697,6 @@ const Table = /*@__PURE__*/ proxyCustomElement(class Table extends H {
699
697
  });
700
698
  }
701
699
  async updateTableView() {
702
- // Reset select-all when loading new data in server-side mode
703
700
  if (this.serverSidePagination) {
704
701
  this.selectAll = false;
705
702
  }
@@ -724,7 +721,6 @@ const Table = /*@__PURE__*/ proxyCustomElement(class Table extends H {
724
721
  this.matchingResultsCount = total;
725
722
  if (this.gridApi) {
726
723
  this.gridApi.setGridOption('rowData', rows);
727
- // Update header checkbox state
728
724
  this.updateHeaderCheckboxState();
729
725
  }
730
726
  const paginationElement = this.host.shadowRoot.querySelector('ifx-pagination');
@@ -758,7 +754,6 @@ const Table = /*@__PURE__*/ proxyCustomElement(class Table extends H {
758
754
  if (this.gridApi) {
759
755
  this.gridApi.setGridOption('rowData', this.rowData);
760
756
  }
761
- // Update header checkbox state for client-side
762
757
  this.updateHeaderCheckboxState();
763
758
  }
764
759
  }
@@ -917,7 +912,6 @@ const Table = /*@__PURE__*/ proxyCustomElement(class Table extends H {
917
912
  }
918
913
  async handlePageChange(event) {
919
914
  this.currentPage = event.detail.currentPage;
920
- // Reset the select-all checkbox state when changing pages in server-side mode
921
915
  if (this.serverSidePagination) {
922
916
  this.selectAll = false;
923
917
  }
@@ -943,7 +937,6 @@ const Table = /*@__PURE__*/ proxyCustomElement(class Table extends H {
943
937
  this.matchingResultsCount = total;
944
938
  if (this.gridApi) {
945
939
  this.gridApi.setGridOption('rowData', this.rowData);
946
- // Update header checkbox state
947
940
  this.updateHeaderCheckboxState();
948
941
  }
949
942
  const paginationElement = this.host.shadowRoot.querySelector('ifx-pagination');
@@ -955,7 +948,6 @@ const Table = /*@__PURE__*/ proxyCustomElement(class Table extends H {
955
948
  const startIndex = (this.currentPage - 1) * this.paginationPageSize;
956
949
  const endIndex = startIndex + this.paginationPageSize;
957
950
  const visibleRowData = this.allRowData.slice(startIndex, endIndex);
958
- // Update checkbox state for visible rows
959
951
  if (this.enableSelection) {
960
952
  visibleRowData.forEach(row => {
961
953
  var _a, _b;
@@ -976,7 +968,6 @@ const Table = /*@__PURE__*/ proxyCustomElement(class Table extends H {
976
968
  this.rowData = visibleRowData;
977
969
  if (this.gridApi) {
978
970
  this.gridApi.setGridOption('rowData', visibleRowData);
979
- // Update header checkbox state for client-side too
980
971
  this.updateHeaderCheckboxState();
981
972
  }
982
973
  }
@@ -1028,7 +1019,7 @@ const Table = /*@__PURE__*/ proxyCustomElement(class Table extends H {
1028
1019
  }
1029
1020
  updateCheckboxStates() {
1030
1021
  // Update checkboxes in the current view
1031
- const dataToUpdate = this.rowData; // Always update current page
1022
+ const dataToUpdate = this.rowData;
1032
1023
  dataToUpdate.forEach(row => {
1033
1024
  if (row.__checkbox) {
1034
1025
  row.__checkbox.checked = this.selectedRows.has(row.__rowId);
@@ -1180,12 +1171,12 @@ const Table = /*@__PURE__*/ proxyCustomElement(class Table extends H {
1180
1171
  };
1181
1172
  }
1182
1173
  const filterClass = this.filterOrientation === 'topbar' ? 'topbar-layout' : this.filterOrientation === 'none' ? '' : 'sidebar-layout';
1183
- return (h(Host, { key: 'c1489506902cdb79a3ba86f9253601c1ba5ce495' }, h("div", { key: '4f5439475ea09640a4cbd0224d30c4d8ede316e2', class: "table-container" }, this.filterOrientation === 'sidebar' && (h("div", { key: '0bddd913070ac4bf564620fc5f1a2254c6428f46', class: "sidebar-btn" }, h("ifx-button", { key: '9a9395c870d35290b8b89f9ec8137819c19b3397', type: "button", disabled: false, variant: "secondary", size: "m", target: "_blank", theme: "default", "full-width": "false", onClick: () => this.toggleSidebarFilters() }, h("ifx-icon", { key: '87a92e599608e4927b5b29fda70acb8268aca7a1', icon: "cross-16" }), this.showSidebarFilters ? 'Hide Filters' : 'Show Filters'))), h("div", { key: '33d925bf3bc281bc67af9f76b837b9216f1f0dc0', class: filterClass }, this.filterOrientation === 'sidebar' && this.showSidebarFilters && (h("div", { key: '4002c1a03d92dea9b4beffd3d7bfe57d7f667add', class: "sidebar-container" }, h("div", { key: 'a443ffddc716cefbaf89c33f5cc5f6278f332442', class: "filters-title-container" }, h("span", { key: '8eb9160571bf1a54927aeab52b9900ca6c3bab44', class: "filters-title" }, "Filters")), h("div", { key: '0d084ba8d7ede405c4015cb52020871c7046417b', class: "set-filter-wrapper-sidebar" }, (this.filterOrientation !== 'sidebar' || this.showSidebarFilters) && h("slot", { key: '67912ff1dd15e0b2ea691a8a376863204ceefad2', name: "sidebar-filter" })))), this.filterOrientation !== 'none' && this.filterOrientation !== 'sidebar' && (h("div", { key: 'd50eae526270c682cb15f15fffa173d8c1898b34', class: "set-filter-wrapper-topbar" }, (this.filterOrientation !== 'sidebar' || this.showSidebarFilters) && h("slot", { key: 'fdfa7a32a95c0b4c01995ff95ab8c166647482a2', name: "topbar-filter" }))), h("div", { key: 'e165963816e9c7412024c10314cb7aa09730e8e7', class: "table-pagination-wrapper" }, this.filterOrientation !== 'none' && this.filterOrientation !== 'topbar' && this.showSidebarFilters && (h("div", { key: 'c97d793d611e819c0a244bda14dfd1805794e199', class: "filter-chips" }, Object.keys(this.currentFilters).map(name => {
1174
+ return (h(Host, { key: '6e65d1e685e01446b302eb455c9c50633654e737' }, h("div", { key: 'a19a49374cbb31eba3e6830fd4f951939b6ac0ec', class: "table-container" }, this.filterOrientation === 'sidebar' && (h("div", { key: 'd23b2c69cba710a9a0a4c56a57dd2d885234a02e', class: "sidebar-btn" }, h("ifx-button", { key: 'ad545a0fdac95be05282825b4dd93259b5545415', type: "button", disabled: false, variant: "secondary", size: "m", target: "_blank", theme: "default", "full-width": "false", onClick: () => this.toggleSidebarFilters() }, h("ifx-icon", { key: '90593cbb33a5bbc7d7c06651611dc48898a7b05c', icon: "cross-16" }), this.showSidebarFilters ? 'Hide Filters' : 'Show Filters'))), h("div", { key: '0040c5c1490e1ae59e3b8735bf231db9aa43b582', class: filterClass }, this.filterOrientation === 'sidebar' && this.showSidebarFilters && (h("div", { key: '25df19d6d55a4f42d705a476bdc7acf465159865', class: "sidebar-container" }, h("div", { key: '71c760d9931e858f0b0d779e63b03658d2ea85ee', class: "filters-title-container" }, h("span", { key: '036e85ab74bd2f6f4e1556b9940f9bc65be3be63', class: "filters-title" }, "Filters")), h("div", { key: '752d883df46a8c23995764a7e1e15a3fbc1b6a37', class: "set-filter-wrapper-sidebar" }, (this.filterOrientation !== 'sidebar' || this.showSidebarFilters) && h("slot", { key: 'affdd08af207405e7ae811f9cfd359d24a7c57a9', name: "sidebar-filter" })))), this.filterOrientation !== 'none' && this.filterOrientation !== 'sidebar' && (h("div", { key: 'eb5eb4c3592408a16b31bbf8a1f6e7a7a93009c1', class: "set-filter-wrapper-topbar" }, (this.filterOrientation !== 'sidebar' || this.showSidebarFilters) && h("slot", { key: '8d604394fee9cdd4b9f5a5f9c9048a86d138a7e6', name: "topbar-filter" }))), h("div", { key: '33075e7e5a8cf24a834784e30dd43fef11f23fba', class: "table-pagination-wrapper" }, this.filterOrientation !== 'none' && this.filterOrientation !== 'topbar' && this.showSidebarFilters && (h("div", { key: '46d8fc50da97745a1a2b2359489934ce0d9569a8', class: "filter-chips" }, Object.keys(this.currentFilters).map(name => {
1184
1175
  const filter = this.currentFilters[name];
1185
1176
  const filterValues = filter.filterValues;
1186
1177
  const isMultiSelect = filter.type !== 'text';
1187
1178
  return filterValues.length > 0 ? (h("ifx-chip", { placeholder: name, size: "large", variant: isMultiSelect ? 'multi' : 'single', readOnly: true, value: filterValues, key: name }, filterValues.map(filterValue => (h("ifx-chip-item", { value: filterValue, selected: true, key: filterValue }, filterValue))))) : null;
1188
- }))), h("div", { key: '3e9accd07cdb2f084062331ad51bb09e05b37ad9', class: "headline-wrapper" }, this.filterOrientation !== 'none' && this.headline && (h("div", { key: '7b62e23de92579c87dd31223cc462e5896f26fcd', class: "matching-results-container" }, h("span", { key: 'fb9c0f9d176143756c1d9bd5a212bfa94f81cd5e', class: "matching-results-count" }, "(", this.matchingResultsCount, ")"), h("span", { key: 'fd0d1dd3db1903b518244ce9ec9d7c9fb5f06381', class: "matching-results-text" }, this.headline))), h("div", { key: '55abe9fd4fb5b31b6ba3faa05d6bdbfce23a4c0c', class: "inner-buttons-wrapper" }, h("slot", { key: '64e5f8b60a7459acb2025abf50dd3f12e96ecb4d', name: "inner-button" }))), h("div", { key: 'cbf11cb3a5c83b2510523a866d9c3e3039acb0cb', id: "table-wrapper", class: this.getTableClassNames() }, h("div", { key: 'aa309053f78bc3c20497480ca1a36633a52982b6', id: `ifxTable-${this.uniqueKey}`, class: `ifx-ag-grid ${this.variant === 'zebra' ? 'zebra' : ''}`, style: style, ref: el => (this.container = el) })), h("div", { key: '00801e7da0e53ae3076c1f9d36158193fed1d242', class: "pagination-wrapper" }, this.pagination ? (h("ifx-pagination", { total: this.serverSidePagination ? this.matchingResultsCount : this.allRowData.length, "current-page": this.currentPage, "items-per-page": this.internalItemsPerPage })) : null))))));
1179
+ }))), h("div", { key: '550d81b83063f53f46d0fbae4cb9ab14cc851f85', class: "headline-wrapper" }, this.filterOrientation !== 'none' && this.headline && (h("div", { key: '4cdb1ae6ceaf431043c90d67878f8331e22cee69', class: "matching-results-container" }, h("span", { key: 'e016eaa45a596a8ed58a0299e32971a8fc359a37', class: "matching-results-count" }, "(", this.matchingResultsCount, ")"), h("span", { key: '733a37a944479ae3cca7b5eb2dc071f9c4633bda', class: "matching-results-text" }, this.headline))), h("div", { key: '0d56c5a4858011afeeeb449093671a263f29ef07', class: "inner-buttons-wrapper" }, h("slot", { key: '3124df956c8213e083c21a6d2a65ca2195fffa35', name: "inner-button" }))), h("div", { key: '8b5ac864fa27af705a367c66233687ff7ccfd735', id: "table-wrapper", class: this.getTableClassNames() }, h("div", { key: '977a875c21adaa413cf3b01bb31571e9673481b2', id: `ifxTable-${this.uniqueKey}`, class: `ifx-ag-grid ${this.variant === 'zebra' ? 'zebra' : ''}`, style: style, ref: el => (this.container = el) })), h("div", { key: '2ebc0a7a053aad1d87e1a998537c1e351fe52d82', class: "pagination-wrapper" }, this.pagination ? (h("ifx-pagination", { total: this.serverSidePagination ? this.matchingResultsCount : this.allRowData.length, "current-page": this.currentPage, "items-per-page": this.internalItemsPerPage })) : null))))));
1189
1180
  }
1190
1181
  hasButtonCol() {
1191
1182
  return this.getColData().some(column => column.field === 'button');