@infineon/infineon-design-system-stencil 39.3.1--canary.2120.1c467763c53a3cb468accc942e4e88953b0b9626.0 → 39.3.1--canary.2118.a60360f4f6d6f0d6b993cc68d1be10f2536c481f.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.
- package/dist/cjs/ifx-accordion.ifx-accordion-item.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-accordion_2.cjs.entry.js +13 -9
- package/dist/cjs/ifx-accordion_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-table.cjs.entry.js +309 -35
- package/dist/cjs/ifx-table.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-table.entry.cjs.js.map +1 -1
- package/dist/cjs/infineon-design-system-stencil.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/accordion/accordionItem.css +2 -7
- package/dist/collection/components/accordion/accordionItem.js +12 -8
- package/dist/collection/components/accordion/accordionItem.js.map +1 -1
- package/dist/collection/components/table-advanced-version/checkboxCellRenderer.js +65 -0
- package/dist/collection/components/table-advanced-version/checkboxCellRenderer.js.map +1 -0
- package/dist/collection/components/table-advanced-version/checkboxHeaderRenderer.js +30 -0
- package/dist/collection/components/table-advanced-version/checkboxHeaderRenderer.js.map +1 -0
- package/dist/collection/components/table-advanced-version/interfaces.js +1 -0
- package/dist/collection/components/table-advanced-version/interfaces.js.map +1 -1
- package/dist/collection/components/table-advanced-version/table.css +38 -6
- package/dist/collection/components/table-advanced-version/table.js +266 -38
- package/dist/collection/components/table-advanced-version/table.js.map +1 -1
- package/dist/components/ifx-accordion-item.js +1 -1
- package/dist/components/ifx-faq.js +1 -1
- package/dist/components/ifx-table.js +315 -36
- package/dist/components/ifx-table.js.map +1 -1
- package/dist/components/{p-HW5T-MOX.js → p-D-Sn4Uj1.js} +15 -11
- package/dist/components/p-D-Sn4Uj1.js.map +1 -0
- package/dist/esm/ifx-accordion.ifx-accordion-item.entry.js.map +1 -1
- package/dist/esm/ifx-accordion_2.entry.js +13 -9
- package/dist/esm/ifx-accordion_2.entry.js.map +1 -1
- package/dist/esm/ifx-table.entry.js +309 -35
- package/dist/esm/ifx-table.entry.js.map +1 -1
- package/dist/esm/infineon-design-system-stencil.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/infineon-design-system-stencil/ifx-accordion.ifx-accordion-item.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-table.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js +1 -1
- package/dist/infineon-design-system-stencil/p-3244fc8c.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-3244fc8c.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-b7a8d6bb.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-b7a8d6bb.entry.js.map +1 -0
- package/dist/types/components/table-advanced-version/checkboxCellRenderer.d.ts +15 -0
- package/dist/types/components/table-advanced-version/checkboxHeaderRenderer.d.ts +14 -0
- package/dist/types/components/table-advanced-version/interfaces.d.ts +8 -0
- package/dist/types/components/table-advanced-version/table.d.ts +12 -1
- package/dist/types/components.d.ts +18 -8
- package/package.json +1 -1
- package/dist/components/p-HW5T-MOX.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-1dfc25b4.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-1dfc25b4.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-e6eda861.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-e6eda861.entry.js.map +0 -1
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s)
|
|
4
|
+
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
+
t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
+
t[p[i]] = s[p[i]];
|
|
10
|
+
}
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
1
13
|
import { h, Host } from "@stencil/core";
|
|
2
14
|
import classNames from "classnames";
|
|
3
15
|
import { trackComponent } from "../../global/utils/tracking";
|
|
@@ -5,6 +17,8 @@ import { isNestedInIfxComponent } from "../../global/utils/dom-utils";
|
|
|
5
17
|
import { detectFramework } from "../../global/utils/framework-detection";
|
|
6
18
|
import { createGrid } from "ag-grid-community";
|
|
7
19
|
import { ButtonCellRenderer } from "./buttonCellRenderer";
|
|
20
|
+
import { CheckboxCellRenderer } from "./checkboxCellRenderer";
|
|
21
|
+
import { CheckboxHeaderRenderer } from "./checkboxHeaderRenderer";
|
|
8
22
|
import { IconButtonCellRenderer } from "./iconButtonCellRenderer";
|
|
9
23
|
import { LinkCellRenderer } from "./linkCellRenderer";
|
|
10
24
|
import { StatusCellRenderer } from "./statusCellRenderer";
|
|
@@ -23,21 +37,64 @@ export class Table {
|
|
|
23
37
|
this.pagination = true;
|
|
24
38
|
this.paginationPageSize = 10;
|
|
25
39
|
this.filterOrientation = 'sidebar';
|
|
26
|
-
this.headline =
|
|
40
|
+
this.headline = '';
|
|
27
41
|
this.showSidebarFilters = true;
|
|
28
42
|
this.matchingResultsCount = 0;
|
|
29
43
|
this.variant = 'default';
|
|
30
44
|
this.serverSidePagination = false;
|
|
45
|
+
this.enableSelection = false;
|
|
46
|
+
this.selectedRows = new Set();
|
|
47
|
+
this.selectAll = false;
|
|
31
48
|
this.showLoading = false;
|
|
32
49
|
this.originalRowData = [];
|
|
33
50
|
this.internalItemsPerPage = JSON.stringify([
|
|
34
51
|
{ value: 10, label: '10', selected: true },
|
|
35
52
|
{ value: 20, label: '20', selected: false },
|
|
36
|
-
{ value: 30, label: '30', selected: false }
|
|
53
|
+
{ value: 30, label: '30', selected: false },
|
|
37
54
|
]);
|
|
55
|
+
this.handleSelectAll = (checked) => {
|
|
56
|
+
this.selectAll = checked;
|
|
57
|
+
if (checked) {
|
|
58
|
+
this.selectedRows = new Set(Array.from({ length: this.allRowData.length }, (_, i) => i));
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
this.selectedRows = new Set();
|
|
62
|
+
}
|
|
63
|
+
this.updateCheckboxStates();
|
|
64
|
+
this.updateHeaderCheckboxState();
|
|
65
|
+
this.emitSelectionChange();
|
|
66
|
+
};
|
|
67
|
+
this.handleRowCheckboxClick = (params) => {
|
|
68
|
+
const clickedRowData = params.data;
|
|
69
|
+
const actualIndex = this.allRowData.findIndex(row => row.make === clickedRowData.make && row.model === clickedRowData.model && row.price === clickedRowData.price);
|
|
70
|
+
const newSelectedRows = new Set(this.selectedRows);
|
|
71
|
+
if (newSelectedRows.has(actualIndex)) {
|
|
72
|
+
newSelectedRows.delete(actualIndex);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
newSelectedRows.add(actualIndex);
|
|
76
|
+
}
|
|
77
|
+
this.selectedRows = newSelectedRows;
|
|
78
|
+
this.selectAll = newSelectedRows.size === this.allRowData.length;
|
|
79
|
+
this.updateCheckboxStates();
|
|
80
|
+
this.updateHeaderCheckboxState();
|
|
81
|
+
this.emitSelectionChange();
|
|
82
|
+
};
|
|
38
83
|
}
|
|
39
84
|
rowsChanged(_newVal) {
|
|
40
85
|
const parsed = this.parseArrayInput(this.rows);
|
|
86
|
+
if (this.enableSelection) {
|
|
87
|
+
parsed.forEach((row, index) => {
|
|
88
|
+
var _a;
|
|
89
|
+
row.__checkbox = {
|
|
90
|
+
disabled: false,
|
|
91
|
+
checked: ((_a = this.selectedRows) === null || _a === void 0 ? void 0 : _a.has(index)) || false,
|
|
92
|
+
size: 's',
|
|
93
|
+
indeterminate: false,
|
|
94
|
+
error: false,
|
|
95
|
+
};
|
|
96
|
+
});
|
|
97
|
+
}
|
|
41
98
|
this.currentFilters = {};
|
|
42
99
|
this.currentPage = 1;
|
|
43
100
|
this.originalRowData = [...parsed];
|
|
@@ -96,6 +153,12 @@ export class Table {
|
|
|
96
153
|
this.gridApi.setColumnDefs(this.colData);
|
|
97
154
|
}
|
|
98
155
|
}
|
|
156
|
+
onCheckboxRendererOptionsChanged() {
|
|
157
|
+
this.colData = this.getColData();
|
|
158
|
+
if (this.gridApi) {
|
|
159
|
+
this.gridApi.setColumnDefs(this.colData);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
99
162
|
parseArrayInput(input) {
|
|
100
163
|
if (typeof input === 'string') {
|
|
101
164
|
try {
|
|
@@ -123,6 +186,20 @@ export class Table {
|
|
|
123
186
|
}
|
|
124
187
|
this.filterOptions = options;
|
|
125
188
|
}
|
|
189
|
+
updateHeaderCheckboxState() {
|
|
190
|
+
if (this.gridApi && this.enableSelection) {
|
|
191
|
+
setTimeout(() => {
|
|
192
|
+
var _a;
|
|
193
|
+
const headerCheckbox = (_a = this.container) === null || _a === void 0 ? void 0 : _a.querySelector('.ag-header-cell[col-id="__checkbox"] ifx-checkbox');
|
|
194
|
+
if (headerCheckbox) {
|
|
195
|
+
const allSelected = this.selectedRows.size === this.allRowData.length && this.allRowData.length > 0;
|
|
196
|
+
const someSelected = this.selectedRows.size > 0 && this.selectedRows.size < this.allRowData.length;
|
|
197
|
+
headerCheckbox.checked = allSelected;
|
|
198
|
+
headerCheckbox.indeterminate = someSelected;
|
|
199
|
+
}
|
|
200
|
+
}, 0);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
126
203
|
handleSidebarFilterChange(event) {
|
|
127
204
|
const filterGroups = event.detail;
|
|
128
205
|
const updatedFilters = {};
|
|
@@ -222,14 +299,26 @@ export class Table {
|
|
|
222
299
|
if (this.serverSidePagination && this.serverPageChangeHandler) {
|
|
223
300
|
const { rows, total } = await this.serverPageChangeHandler({
|
|
224
301
|
page: this.currentPage,
|
|
225
|
-
pageSize: this.paginationPageSize
|
|
302
|
+
pageSize: this.paginationPageSize,
|
|
226
303
|
});
|
|
304
|
+
if (this.enableSelection) {
|
|
305
|
+
rows.forEach((row, index) => {
|
|
306
|
+
var _a;
|
|
307
|
+
const globalIndex = (this.currentPage - 1) * this.paginationPageSize + index;
|
|
308
|
+
row.__checkbox = {
|
|
309
|
+
disabled: false,
|
|
310
|
+
checked: ((_a = this.selectedRows) === null || _a === void 0 ? void 0 : _a.has(globalIndex)) || false,
|
|
311
|
+
size: 's',
|
|
312
|
+
indeterminate: false,
|
|
313
|
+
error: false,
|
|
314
|
+
};
|
|
315
|
+
});
|
|
316
|
+
}
|
|
227
317
|
this.rowData = rows;
|
|
228
318
|
this.matchingResultsCount = total;
|
|
229
319
|
if (this.gridApi) {
|
|
230
320
|
this.gridApi.setGridOption('rowData', rows);
|
|
231
321
|
}
|
|
232
|
-
// 👇 FIX: update pagination total
|
|
233
322
|
const paginationElement = this.host.shadowRoot.querySelector('ifx-pagination');
|
|
234
323
|
if (paginationElement) {
|
|
235
324
|
paginationElement.setAttribute('total', total.toString());
|
|
@@ -239,6 +328,24 @@ export class Table {
|
|
|
239
328
|
const startIndex = (this.currentPage - 1) * this.paginationPageSize;
|
|
240
329
|
const endIndex = startIndex + this.paginationPageSize;
|
|
241
330
|
const visibleRowData = this.allRowData.slice(startIndex, endIndex);
|
|
331
|
+
if (this.enableSelection) {
|
|
332
|
+
visibleRowData.forEach((row, index) => {
|
|
333
|
+
var _a, _b;
|
|
334
|
+
const globalIndex = startIndex + index;
|
|
335
|
+
if (!row.__checkbox) {
|
|
336
|
+
row.__checkbox = {
|
|
337
|
+
disabled: false,
|
|
338
|
+
checked: ((_a = this.selectedRows) === null || _a === void 0 ? void 0 : _a.has(globalIndex)) || false,
|
|
339
|
+
size: 's',
|
|
340
|
+
indeterminate: false,
|
|
341
|
+
error: false,
|
|
342
|
+
};
|
|
343
|
+
}
|
|
344
|
+
else {
|
|
345
|
+
row.__checkbox.checked = ((_b = this.selectedRows) === null || _b === void 0 ? void 0 : _b.has(globalIndex)) || false;
|
|
346
|
+
}
|
|
347
|
+
});
|
|
348
|
+
}
|
|
242
349
|
this.rowData = visibleRowData;
|
|
243
350
|
this.matchingResultsCount = this.allRowData.length;
|
|
244
351
|
if (this.gridApi) {
|
|
@@ -274,8 +381,15 @@ export class Table {
|
|
|
274
381
|
this.colData = this.getColData();
|
|
275
382
|
this.updateFilterOptions();
|
|
276
383
|
this.gridOptions = {
|
|
384
|
+
suppressCellFocus: true,
|
|
277
385
|
rowHeight: this.rowHeight === 'default' ? 40 : 32,
|
|
278
386
|
headerHeight: 40,
|
|
387
|
+
components: {
|
|
388
|
+
checkboxCellRenderer: CheckboxCellRenderer,
|
|
389
|
+
checkboxHeaderRenderer: CheckboxHeaderRenderer,
|
|
390
|
+
customLoadingOverlay: CustomLoadingOverlay,
|
|
391
|
+
customNoRowsOverlay: CustomNoRowsOverlay,
|
|
392
|
+
},
|
|
279
393
|
defaultColDef: {
|
|
280
394
|
resizable: true,
|
|
281
395
|
autoHeight: true,
|
|
@@ -288,23 +402,23 @@ export class Table {
|
|
|
288
402
|
loadingOverlayComponent: CustomLoadingOverlay,
|
|
289
403
|
noRowsOverlayComponent: CustomNoRowsOverlay,
|
|
290
404
|
noRowsOverlayComponentParams: {
|
|
291
|
-
noRowsMessageFunc: () => 'No rows found' //at: ' + new Date().toLocaleTimeString(),
|
|
405
|
+
noRowsMessageFunc: () => 'No rows found', //at: ' + new Date().toLocaleTimeString(),
|
|
292
406
|
},
|
|
293
407
|
icons: {
|
|
294
408
|
sortAscending: '<ifx-icon icon="arrow-triangle-up-16"></ifx-icon>',
|
|
295
409
|
sortDescending: '<ifx-icon icon="arrow-triangle-down-16"></ifx-icon>',
|
|
296
|
-
sortUnSort: '<a class="unsort-icon-custom-color"><ifx-icon icon="arrow-triangle-vertikal-16"></ifx-icon></a>'
|
|
410
|
+
sortUnSort: '<a class="unsort-icon-custom-color"><ifx-icon icon="arrow-triangle-vertikal-16"></ifx-icon></a>',
|
|
297
411
|
},
|
|
298
412
|
rowDragManaged: this.colData.some(col => col.dndSource === true) ? true : false,
|
|
299
413
|
animateRows: this.colData.some(col => col.dndSource === true) ? true : false,
|
|
300
|
-
navigateToNextCell:
|
|
414
|
+
navigateToNextCell: params => {
|
|
301
415
|
return this.focusCellIfContainingButton(params.api, params.nextCellPosition);
|
|
302
416
|
},
|
|
303
|
-
tabToNextCell:
|
|
417
|
+
tabToNextCell: params => {
|
|
304
418
|
var _a;
|
|
305
419
|
// Returning null is deprecated so we return false if the result is null (browser handles tab behavior).
|
|
306
420
|
return (_a = this.focusCellIfContainingButton(params.api, params.nextCellPosition)) !== null && _a !== void 0 ? _a : false;
|
|
307
|
-
}
|
|
421
|
+
},
|
|
308
422
|
};
|
|
309
423
|
}
|
|
310
424
|
focusCellIfContainingButton(api, cellPosition) {
|
|
@@ -320,7 +434,7 @@ export class Table {
|
|
|
320
434
|
}
|
|
321
435
|
const cellRenderers = api.getCellRendererInstances({
|
|
322
436
|
rowNodes: [rowNode],
|
|
323
|
-
columns: [cellPosition.column]
|
|
437
|
+
columns: [cellPosition.column],
|
|
324
438
|
});
|
|
325
439
|
if (cellRenderers.length > 0) {
|
|
326
440
|
const renderedContent = (_a = cellRenderers[0]) === null || _a === void 0 ? void 0 : _a.getGui();
|
|
@@ -329,8 +443,8 @@ export class Table {
|
|
|
329
443
|
if (button) {
|
|
330
444
|
setTimeout(() => {
|
|
331
445
|
var _a;
|
|
332
|
-
// Just calling button.focus() will not work because the focus of <ifx-button> will not be
|
|
333
|
-
// forwared to its child <a>-element (containing the tabindex attribute) due to shadow root.
|
|
446
|
+
// Just calling button.focus() will not work because the focus of <ifx-button> will not be
|
|
447
|
+
// forwared to its child <a>-element (containing the tabindex attribute) due to shadow root.
|
|
334
448
|
// We must therefore grab the <a>-element manually first and then call focus() on it.
|
|
335
449
|
const focusableChild = (_a = button.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('a[tabindex]');
|
|
336
450
|
focusableChild === null || focusableChild === void 0 ? void 0 : focusableChild.focus();
|
|
@@ -341,11 +455,6 @@ export class Table {
|
|
|
341
455
|
}
|
|
342
456
|
return cellPosition;
|
|
343
457
|
}
|
|
344
|
-
componentDidRender() {
|
|
345
|
-
if (this.gridApi) {
|
|
346
|
-
this.gridApi.setGridOption('columnDefs', this.colData);
|
|
347
|
-
}
|
|
348
|
-
}
|
|
349
458
|
async componentDidLoad() {
|
|
350
459
|
if (this.container) {
|
|
351
460
|
if (!isNestedInIfxComponent(this.host)) {
|
|
@@ -402,7 +511,7 @@ export class Table {
|
|
|
402
511
|
if (this.serverSidePagination && this.serverPageChangeHandler) {
|
|
403
512
|
const { rows, total } = await this.serverPageChangeHandler({
|
|
404
513
|
page: this.currentPage,
|
|
405
|
-
pageSize: this.paginationPageSize
|
|
514
|
+
pageSize: this.paginationPageSize,
|
|
406
515
|
});
|
|
407
516
|
this.rowData = rows;
|
|
408
517
|
this.matchingResultsCount = total;
|
|
@@ -446,12 +555,52 @@ export class Table {
|
|
|
446
555
|
else {
|
|
447
556
|
console.error('Unexpected value for rows: ', this.rows);
|
|
448
557
|
}
|
|
558
|
+
if (this.enableSelection) {
|
|
559
|
+
rows.forEach((row, index) => {
|
|
560
|
+
var _a;
|
|
561
|
+
row.__checkbox = {
|
|
562
|
+
disabled: false,
|
|
563
|
+
checked: ((_a = this.selectedRows) === null || _a === void 0 ? void 0 : _a.has(index)) || false,
|
|
564
|
+
size: 's',
|
|
565
|
+
indeterminate: false,
|
|
566
|
+
error: false,
|
|
567
|
+
};
|
|
568
|
+
});
|
|
569
|
+
}
|
|
449
570
|
this.allRowData = rows;
|
|
450
|
-
this.originalRowData = [...rows];
|
|
571
|
+
this.originalRowData = [...rows];
|
|
451
572
|
this.matchingResultsCount = this.allRowData.length;
|
|
452
573
|
return rows.slice(0, this.paginationPageSize);
|
|
453
574
|
}
|
|
575
|
+
updateCheckboxStates() {
|
|
576
|
+
this.allRowData.forEach((row, index) => {
|
|
577
|
+
if (row.__checkbox) {
|
|
578
|
+
row.__checkbox.checked = this.selectedRows.has(index);
|
|
579
|
+
}
|
|
580
|
+
});
|
|
581
|
+
if (this.gridApi) {
|
|
582
|
+
this.gridApi.refreshCells({
|
|
583
|
+
columns: ['__checkbox'],
|
|
584
|
+
force: true,
|
|
585
|
+
});
|
|
586
|
+
}
|
|
587
|
+
}
|
|
588
|
+
emitSelectionChange() {
|
|
589
|
+
const selectedRowsData = Array.from(this.selectedRows).map(index => {
|
|
590
|
+
const _a = this.allRowData[index], { __checkbox } = _a, rowData = __rest(_a, ["__checkbox"]);
|
|
591
|
+
return rowData;
|
|
592
|
+
});
|
|
593
|
+
this.host.dispatchEvent(new CustomEvent('ifxSelectionChange', {
|
|
594
|
+
detail: {
|
|
595
|
+
selectedRows: selectedRowsData,
|
|
596
|
+
selectedCount: selectedRowsData.length,
|
|
597
|
+
isSelectAll: this.selectedRows.size === this.allRowData.length && this.allRowData.length > 0,
|
|
598
|
+
},
|
|
599
|
+
bubbles: true,
|
|
600
|
+
}));
|
|
601
|
+
}
|
|
454
602
|
getColData() {
|
|
603
|
+
var _a, _b;
|
|
455
604
|
let cols = [];
|
|
456
605
|
if (this.cols === undefined || this.cols === null)
|
|
457
606
|
return cols;
|
|
@@ -464,8 +613,30 @@ export class Table {
|
|
|
464
613
|
else {
|
|
465
614
|
console.error('Unexpected value for cols: ', this.cols);
|
|
466
615
|
}
|
|
616
|
+
if (this.enableSelection) {
|
|
617
|
+
const checkboxColumn = {
|
|
618
|
+
headerName: '',
|
|
619
|
+
field: '__checkbox',
|
|
620
|
+
width: 50,
|
|
621
|
+
pinned: 'left',
|
|
622
|
+
cellRenderer: 'checkboxCellRenderer',
|
|
623
|
+
cellRendererParams: {
|
|
624
|
+
onCheckboxClick: (_a = this.handleRowCheckboxClick) === null || _a === void 0 ? void 0 : _a.bind(this),
|
|
625
|
+
},
|
|
626
|
+
headerComponent: 'checkboxHeaderRenderer',
|
|
627
|
+
headerComponentParams: {
|
|
628
|
+
onSelectAll: (_b = this.handleSelectAll) === null || _b === void 0 ? void 0 : _b.bind(this),
|
|
629
|
+
},
|
|
630
|
+
sortable: false,
|
|
631
|
+
filter: false,
|
|
632
|
+
resizable: false,
|
|
633
|
+
valueFormatter: undefined,
|
|
634
|
+
cellDataType: false,
|
|
635
|
+
};
|
|
636
|
+
cols.unshift(checkboxColumn);
|
|
637
|
+
}
|
|
467
638
|
cols.forEach(column => {
|
|
468
|
-
var _a, _b, _c;
|
|
639
|
+
var _a, _b, _c, _d;
|
|
469
640
|
const field = ((_a = column.field) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || '';
|
|
470
641
|
// --- Button columns ---
|
|
471
642
|
if (field.startsWith('button')) {
|
|
@@ -474,18 +645,29 @@ export class Table {
|
|
|
474
645
|
column.cellDataType = false;
|
|
475
646
|
if ((_b = this.buttonRendererOptions) === null || _b === void 0 ? void 0 : _b.onButtonClick) {
|
|
476
647
|
column.cellRendererParams = {
|
|
477
|
-
onButtonClick: this.buttonRendererOptions.onButtonClick
|
|
648
|
+
onButtonClick: this.buttonRendererOptions.onButtonClick,
|
|
649
|
+
};
|
|
650
|
+
}
|
|
651
|
+
}
|
|
652
|
+
// --- Checkbox columns ---
|
|
653
|
+
else if (field.startsWith('checkbox')) {
|
|
654
|
+
column.cellRenderer = CheckboxCellRenderer;
|
|
655
|
+
column.valueFormatter = undefined;
|
|
656
|
+
column.cellDataType = false;
|
|
657
|
+
if ((_c = this.checkboxRendererOptions) === null || _c === void 0 ? void 0 : _c.onCheckboxClick) {
|
|
658
|
+
column.cellRendererParams = {
|
|
659
|
+
onCheckboxClick: this.checkboxRendererOptions.onCheckboxClick,
|
|
478
660
|
};
|
|
479
661
|
}
|
|
480
662
|
}
|
|
481
663
|
// --- Icon Button columns ---
|
|
482
|
-
if (field.startsWith('iconbutton') || field === 'iconButton') {
|
|
664
|
+
else if (field.startsWith('iconbutton') || field === 'iconButton') {
|
|
483
665
|
column.cellRenderer = IconButtonCellRenderer;
|
|
484
666
|
column.valueFormatter = undefined;
|
|
485
667
|
column.cellDataType = false;
|
|
486
|
-
if ((
|
|
668
|
+
if ((_d = this.iconButtonRendererOptions) === null || _d === void 0 ? void 0 : _d.onIconButtonClick) {
|
|
487
669
|
column.cellRendererParams = {
|
|
488
|
-
onIconButtonClick: this.iconButtonRendererOptions.onIconButtonClick
|
|
670
|
+
onIconButtonClick: this.iconButtonRendererOptions.onIconButtonClick,
|
|
489
671
|
};
|
|
490
672
|
}
|
|
491
673
|
}
|
|
@@ -509,9 +691,9 @@ export class Table {
|
|
|
509
691
|
}
|
|
510
692
|
handleResetButtonClick() {
|
|
511
693
|
const resetEvent = new CustomEvent('ifxResetFiltersEvent', { bubbles: true, composed: true });
|
|
512
|
-
window.dispatchEvent(resetEvent);
|
|
694
|
+
window.dispatchEvent(resetEvent);
|
|
513
695
|
this.clearAllFilters();
|
|
514
|
-
this.updateTableView();
|
|
696
|
+
this.updateTableView();
|
|
515
697
|
}
|
|
516
698
|
disconnectedCallback() {
|
|
517
699
|
if (this.pagination) {
|
|
@@ -532,18 +714,16 @@ export class Table {
|
|
|
532
714
|
let style = {};
|
|
533
715
|
if (this.tableHeight !== 'auto') {
|
|
534
716
|
style = {
|
|
535
|
-
|
|
717
|
+
height: this.tableHeight,
|
|
536
718
|
};
|
|
537
719
|
}
|
|
538
|
-
const filterClass = this.filterOrientation === 'topbar' ? 'topbar-layout'
|
|
539
|
-
|
|
540
|
-
: 'sidebar-layout';
|
|
541
|
-
return (h(Host, { key: '27a6fc8d0aba55265ecb19b211ec2de90e2a2457' }, h("div", { key: '2c76156cdf069fb813e894a5d0b29191635d9918', class: "table-container" }, this.filterOrientation === 'sidebar' && (h("div", { key: '8dd9e8e3ee5c73d457eb41343c3fc8edd8a928e2', class: "sidebar-btn" }, h("ifx-button", { key: 'ac5c3d072a0cbe2ec2c4e87e5435341c7a87a18c', type: "button", disabled: false, variant: "secondary", size: "m", target: "_blank", theme: "default", "full-width": "false", onClick: () => this.toggleSidebarFilters() }, h("ifx-icon", { key: '82f7f5927d83e559f3c37b4bbb1fa4343e705988', icon: "cross-16" }), this.showSidebarFilters ? 'Hide Filters' : 'Show Filters'))), h("div", { key: '49da17ae55641243e5406058412357d0ae671ed4', class: filterClass }, this.filterOrientation === 'sidebar' && this.showSidebarFilters && (h("div", { key: 'a9adedbc6ad9a36d801d443019e2ae69ac651173', class: "sidebar-container" }, h("div", { key: 'f7c3ecf64e5ad13f21f88db7aff3078147f17dc1', class: "filters-title-container" }, h("span", { key: 'f3fbc357e4121f41d265b49ce69c3f84ed51ac97', class: "filters-title" }, "Filters")), h("div", { key: 'fe269d6793a4694f8e7f398a2f96e91618d96307', class: "set-filter-wrapper-sidebar" }, (this.filterOrientation !== 'sidebar' || this.showSidebarFilters) && (h("slot", { key: '11c69f58c3a62f82b6d9899c6904e20db45dc4d3', name: "sidebar-filter" }))))), this.filterOrientation !== 'none' && this.filterOrientation !== 'sidebar' && (h("div", { key: '4682c5cb399bf2d245e74ea605563cbeef96cd8f', class: "set-filter-wrapper-topbar" }, (this.filterOrientation !== 'sidebar' || this.showSidebarFilters) && (h("slot", { key: 'f0632c6c3393d0226dcbbc87a886e1a611e11e3d', name: "topbar-filter" })))), h("div", { key: '34e72dd985a10b907dd549473539f2df626f115d', class: "table-pagination-wrapper" }, this.filterOrientation !== 'none' && this.filterOrientation !== 'topbar' && this.showSidebarFilters && (h("div", { key: 'cacf8434df1beb42c27f20837cb4a4e64e49a368', class: "filter-chips" }, Object.keys(this.currentFilters).map(name => {
|
|
720
|
+
const filterClass = this.filterOrientation === 'topbar' ? 'topbar-layout' : this.filterOrientation === 'none' ? '' : 'sidebar-layout';
|
|
721
|
+
return (h(Host, { key: 'e0098dd02b4af0e5793c8550f226e2b7e5521be9' }, h("div", { key: 'a90150e2f63203a218f3d5fc6bdc3cc7eedf9f7a', class: "table-container" }, this.filterOrientation === 'sidebar' && (h("div", { key: '774bfbd668bbd061b9d5f04ad037aa907b5d0e80', class: "sidebar-btn" }, h("ifx-button", { key: 'c29740ffb2524e2b4ffb8e53fc4084174f399f61', type: "button", disabled: false, variant: "secondary", size: "m", target: "_blank", theme: "default", "full-width": "false", onClick: () => this.toggleSidebarFilters() }, h("ifx-icon", { key: 'd454fd01ba96c842038a74eeac5d5a7439b1c39e', icon: "cross-16" }), this.showSidebarFilters ? 'Hide Filters' : 'Show Filters'))), h("div", { key: 'b2396efa47d38e773c533a59b63972e4f3888b12', class: filterClass }, this.filterOrientation === 'sidebar' && this.showSidebarFilters && (h("div", { key: '45e8b1c6024d9b9667954bc9045a9a521fa4a63c', class: "sidebar-container" }, h("div", { key: 'bb4b2c88a631dab51d12c104c4946696111ba5d1', class: "filters-title-container" }, h("span", { key: '38b9ef0e78df7b9d373cbf11988f308aac05aa25', class: "filters-title" }, "Filters")), h("div", { key: '83c0c0baf222e4c9e1fa10414e82754d918548e6', class: "set-filter-wrapper-sidebar" }, (this.filterOrientation !== 'sidebar' || this.showSidebarFilters) && h("slot", { key: '2b5f82f1cfc8ddeaa451fee5e47a1e15883a63f9', name: "sidebar-filter" })))), this.filterOrientation !== 'none' && this.filterOrientation !== 'sidebar' && (h("div", { key: 'c0357801bb213e056f9f286224e24b741964e926', class: "set-filter-wrapper-topbar" }, (this.filterOrientation !== 'sidebar' || this.showSidebarFilters) && h("slot", { key: '32b9c54a631062e3adaf5b0652b62de766f7b7fe', name: "topbar-filter" }))), h("div", { key: '108b83b06dfa9eabb53080422da6bb47631b3d21', class: "table-pagination-wrapper" }, this.filterOrientation !== 'none' && this.filterOrientation !== 'topbar' && this.showSidebarFilters && (h("div", { key: '1f81e356264ef25682bdf90506d3ea4218924952', class: "filter-chips" }, Object.keys(this.currentFilters).map(name => {
|
|
542
722
|
const filter = this.currentFilters[name];
|
|
543
723
|
const filterValues = filter.filterValues;
|
|
544
724
|
const isMultiSelect = filter.type !== 'text';
|
|
545
|
-
return filterValues.length > 0 ? (h("ifx-chip", { placeholder: name, size: "large", variant: isMultiSelect ?
|
|
546
|
-
}))), h("div", { key: '
|
|
725
|
+
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;
|
|
726
|
+
}))), h("div", { key: 'db3c92441413cf078fb2f7e3c164bcb6decc007e', class: "headline-wrapper" }, this.filterOrientation !== 'none' && this.headline && (h("div", { key: '22b7297f3e04fe372078ee7f8f7b734b91a8d867', class: "matching-results-container" }, h("span", { key: '303551b7a0e3fe629cca298e5769cbb0757e58f5', class: "matching-results-count" }, "(", this.matchingResultsCount, ")"), h("span", { key: '3fde248cc0c6e94b7ffe0cdab8e8129894c6145f', class: "matching-results-text" }, this.headline))), h("div", { key: '44ddfb0a8164ea5af8e7b1e1ae752337b75f5c04', class: "inner-buttons-wrapper" }, h("slot", { key: '4f94415ce3120732af9bff89d2987685bb1bfb24', name: "inner-button" }))), h("div", { key: 'baef68e56cc37873f2f8e6b6c9087d02c69e4e21', id: "table-wrapper", class: this.getTableClassNames() }, h("div", { key: 'f14aa21f5885a30044b631fd23de7ed0bc9282ca', id: `ifxTable-${this.uniqueKey}`, class: `ifx-ag-grid ${this.variant === 'zebra' ? 'zebra' : ''}`, style: style, ref: el => (this.container = el) })), h("div", { key: 'dbc3f04ad00e4f18918a9e4f19bf51706bba4b5f', 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))))));
|
|
547
727
|
}
|
|
548
728
|
hasButtonCol() {
|
|
549
729
|
return this.getColData().some(column => column.field === 'button');
|
|
@@ -621,7 +801,7 @@ export class Table {
|
|
|
621
801
|
"attribute": "button-renderer-options",
|
|
622
802
|
"mutable": false,
|
|
623
803
|
"complexType": {
|
|
624
|
-
"original": "{ onButtonClick?: (params: any, event: Event) => void
|
|
804
|
+
"original": "{ onButtonClick?: (params: any, event: Event) => void }",
|
|
625
805
|
"resolved": "{ onButtonClick?: (params: any, event: Event) => void; }",
|
|
626
806
|
"references": {
|
|
627
807
|
"Event": {
|
|
@@ -644,7 +824,7 @@ export class Table {
|
|
|
644
824
|
"attribute": "icon-button-renderer-options",
|
|
645
825
|
"mutable": false,
|
|
646
826
|
"complexType": {
|
|
647
|
-
"original": "{ onIconButtonClick?: (params: any, event: Event) => void
|
|
827
|
+
"original": "{ onIconButtonClick?: (params: any, event: Event) => void }",
|
|
648
828
|
"resolved": "{ onIconButtonClick?: (params: any, event: Event) => void; }",
|
|
649
829
|
"references": {
|
|
650
830
|
"Event": {
|
|
@@ -662,6 +842,29 @@ export class Table {
|
|
|
662
842
|
"getter": false,
|
|
663
843
|
"setter": false
|
|
664
844
|
},
|
|
845
|
+
"checkboxRendererOptions": {
|
|
846
|
+
"type": "unknown",
|
|
847
|
+
"attribute": "checkbox-renderer-options",
|
|
848
|
+
"mutable": false,
|
|
849
|
+
"complexType": {
|
|
850
|
+
"original": "{ onCheckboxClick?: (params: any, event: Event) => void }",
|
|
851
|
+
"resolved": "{ onCheckboxClick?: (params: any, event: Event) => void; }",
|
|
852
|
+
"references": {
|
|
853
|
+
"Event": {
|
|
854
|
+
"location": "global",
|
|
855
|
+
"id": "global::Event"
|
|
856
|
+
}
|
|
857
|
+
}
|
|
858
|
+
},
|
|
859
|
+
"required": false,
|
|
860
|
+
"optional": true,
|
|
861
|
+
"docs": {
|
|
862
|
+
"tags": [],
|
|
863
|
+
"text": ""
|
|
864
|
+
},
|
|
865
|
+
"getter": false,
|
|
866
|
+
"setter": false
|
|
867
|
+
},
|
|
665
868
|
"rowHeight": {
|
|
666
869
|
"type": "string",
|
|
667
870
|
"attribute": "row-height",
|
|
@@ -779,7 +982,7 @@ export class Table {
|
|
|
779
982
|
"getter": false,
|
|
780
983
|
"setter": false,
|
|
781
984
|
"reflect": false,
|
|
782
|
-
"defaultValue": "
|
|
985
|
+
"defaultValue": "''"
|
|
783
986
|
},
|
|
784
987
|
"variant": {
|
|
785
988
|
"type": "string",
|
|
@@ -826,7 +1029,7 @@ export class Table {
|
|
|
826
1029
|
"attribute": "server-page-change-handler",
|
|
827
1030
|
"mutable": false,
|
|
828
1031
|
"complexType": {
|
|
829
|
-
"original": "(params: { page: number
|
|
1032
|
+
"original": "(params: { page: number; pageSize: number }) => Promise<{ rows: any[]; total: number }>",
|
|
830
1033
|
"resolved": "(params: { page: number; pageSize: number; }) => Promise<{ rows: any[]; total: number; }>",
|
|
831
1034
|
"references": {
|
|
832
1035
|
"Promise": {
|
|
@@ -844,6 +1047,26 @@ export class Table {
|
|
|
844
1047
|
"getter": false,
|
|
845
1048
|
"setter": false
|
|
846
1049
|
},
|
|
1050
|
+
"enableSelection": {
|
|
1051
|
+
"type": "boolean",
|
|
1052
|
+
"attribute": "enable-selection",
|
|
1053
|
+
"mutable": false,
|
|
1054
|
+
"complexType": {
|
|
1055
|
+
"original": "boolean",
|
|
1056
|
+
"resolved": "boolean",
|
|
1057
|
+
"references": {}
|
|
1058
|
+
},
|
|
1059
|
+
"required": false,
|
|
1060
|
+
"optional": false,
|
|
1061
|
+
"docs": {
|
|
1062
|
+
"tags": [],
|
|
1063
|
+
"text": ""
|
|
1064
|
+
},
|
|
1065
|
+
"getter": false,
|
|
1066
|
+
"setter": false,
|
|
1067
|
+
"reflect": false,
|
|
1068
|
+
"defaultValue": "false"
|
|
1069
|
+
},
|
|
847
1070
|
"showLoading": {
|
|
848
1071
|
"type": "boolean",
|
|
849
1072
|
"attribute": "show-loading",
|
|
@@ -876,7 +1099,9 @@ export class Table {
|
|
|
876
1099
|
"uniqueKey": {},
|
|
877
1100
|
"paginationPageSize": {},
|
|
878
1101
|
"showSidebarFilters": {},
|
|
879
|
-
"matchingResultsCount": {}
|
|
1102
|
+
"matchingResultsCount": {},
|
|
1103
|
+
"selectedRows": {},
|
|
1104
|
+
"selectAll": {}
|
|
880
1105
|
};
|
|
881
1106
|
}
|
|
882
1107
|
static get methods() {
|
|
@@ -914,6 +1139,9 @@ export class Table {
|
|
|
914
1139
|
}, {
|
|
915
1140
|
"propName": "iconButtonRendererOptions",
|
|
916
1141
|
"methodName": "onIconButtonRendererOptionsChanged"
|
|
1142
|
+
}, {
|
|
1143
|
+
"propName": "checkboxRendererOptions",
|
|
1144
|
+
"methodName": "onCheckboxRendererOptionsChanged"
|
|
917
1145
|
}];
|
|
918
1146
|
}
|
|
919
1147
|
static get listeners() {
|