globuswebcomponents 2.8.11 → 2.9.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/gb-action-panel_75.cjs.entry.js +496 -139
- package/dist/cjs/gb-table-cell.cjs.entry.js +1 -1
- package/dist/cjs/gb-token-field-compact.cjs.entry.js +1 -1
- package/dist/cjs/gb-token-field-compressed.cjs.entry.js +2 -2
- package/dist/cjs/gb-wysiwyg-editor-icon.cjs.entry.js +1 -1
- package/dist/cjs/globuscomponents.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/reusableModels-_LRAKnsh.js.map +1 -1
- package/dist/cjs/test-input-tag.cjs.entry.js +2 -2
- package/dist/collection/assets/pencil-edit-01.svg +3 -0
- package/dist/collection/components/gb-button/gb-button.js +30 -1
- package/dist/collection/components/gb-button/gb-button.js.map +1 -1
- package/dist/collection/components/gb-button/gb-button.tsx +6 -1
- package/dist/collection/components/gb-button/readme.md +23 -0
- package/dist/collection/components/gb-date-picker/gb-date-picker.css +4 -0
- package/dist/collection/components/gb-date-picker/gb-date-picker.js +5 -7
- package/dist/collection/components/gb-date-picker/gb-date-picker.js.map +1 -1
- package/dist/collection/components/gb-horizontal-tabs/gb-horizontal-tabs.js +4 -4
- package/dist/collection/components/gb-horizontal-tabs/gb-horizontal-tabs.js.map +1 -1
- package/dist/collection/components/gb-input-dropdown/gb-input-dropdown.js +20 -12
- package/dist/collection/components/gb-input-dropdown/gb-input-dropdown.js.map +1 -1
- package/dist/collection/components/gb-pagination/gb-pagination.css +1 -0
- package/dist/collection/components/gb-portal/gb-portal.css +1 -2
- package/dist/collection/components/gb-portal/gb-portal.js +63 -17
- package/dist/collection/components/gb-portal/gb-portal.js.map +1 -1
- package/dist/collection/components/gb-tab-button-base/gb-tab-button-base.js +8 -2
- package/dist/collection/components/gb-tab-button-base/gb-tab-button-base.js.map +1 -1
- package/dist/collection/components/gb-table/gb-table.css +146 -31
- package/dist/collection/components/gb-table/gb-table.js +506 -77
- package/dist/collection/components/gb-table/gb-table.js.map +1 -1
- package/dist/collection/components/gb-table-cell/gb-table-cell.js +1 -1
- package/dist/collection/components/gb-table-header/gb-table-header.css +10 -9
- package/dist/collection/components/gb-table-header/gb-table-header.js +28 -26
- package/dist/collection/components/gb-table-header/gb-table-header.js.map +1 -1
- package/dist/collection/components/gb-tag/gb-tag.js +1 -1
- package/dist/collection/components/gb-tag-checkbox/gb-tag-checkbox.js +1 -1
- package/dist/collection/components/gb-tag-close/gb-tag-close.js +1 -1
- package/dist/collection/components/gb-tag-count/gb-tag-count.js +1 -1
- package/dist/collection/components/gb-textarea-input-field/gb-textarea-input-field.js +3 -4
- package/dist/collection/components/gb-textarea-input-field/gb-textarea-input-field.js.map +1 -1
- package/dist/collection/components/gb-theme-tab/gb-theme-tab.js +1 -1
- package/dist/collection/components/gb-toast/gb-toast.js +18 -2
- package/dist/collection/components/gb-toast/gb-toast.js.map +1 -1
- package/dist/collection/components/gb-toast-button/gb-toast-button.js +1 -1
- package/dist/collection/components/gb-toggle/gb-toggle.js +1 -1
- package/dist/collection/components/gb-toggle-base/gb-toggle-base.js +2 -2
- package/dist/collection/components/gb-token-field-compact/gb-token-field-compact.js +1 -1
- package/dist/collection/components/gb-token-field-compressed/gb-token-field-compressed.js +2 -2
- package/dist/collection/components/gb-tooltip/gb-tooltip.js +1 -1
- package/dist/collection/components/gb-vertical-tabs/gb-vertical-tabs.js +1 -1
- package/dist/collection/components/gb-wysiwyg-editor-icon/gb-wysiwyg-editor-icon.js +1 -1
- package/dist/collection/components/test-input-tag/test-input-tag.js +2 -2
- package/dist/collection/models/reusableModels.js.map +1 -1
- package/dist/components/gb-action-panel.js +2 -2
- package/dist/components/gb-approval-modal.js +8 -8
- package/dist/components/gb-avatar-add-button.js +1 -1
- package/dist/components/gb-avatar-dropdown.js +1 -1
- package/dist/components/gb-avatar-group.js +2 -2
- package/dist/components/gb-btn.js +1 -1
- package/dist/components/gb-button.js +1 -1
- package/dist/components/gb-checkbox-group-item.js +1 -1
- package/dist/components/gb-checkbox-group.js +3 -3
- package/dist/components/gb-collapse-button.js +1 -1
- package/dist/components/gb-comment.js +2 -2
- package/dist/components/gb-complex-primary-side-bar-item.js +1 -1
- package/dist/components/gb-complex-secondary-side-bar-item.js +1 -1
- package/dist/components/gb-date-picker.js +1 -1
- package/dist/components/gb-detail-cell.js +2 -2
- package/dist/components/gb-empty-state.js +1 -145
- package/dist/components/gb-empty-state.js.map +1 -1
- package/dist/components/gb-file-upload-item-base.js +1 -1
- package/dist/components/gb-file-upload.js +4 -4
- package/dist/components/gb-filter-button.js +1 -1
- package/dist/components/gb-header.js +14 -14
- package/dist/components/gb-help-tooltip.js +1 -1
- package/dist/components/gb-horizontal-tabs.js +4 -4
- package/dist/components/gb-horizontal-tabs.js.map +1 -1
- package/dist/components/gb-icon-button-base.js +1 -1
- package/dist/components/gb-input-dropdown.js +1 -1
- package/dist/components/gb-input-field.js +1 -1
- package/dist/components/gb-modal-action.js +1 -1
- package/dist/components/gb-nav-bar-item.js +1 -1
- package/dist/components/gb-nav-bar-sidemenu.js +2 -2
- package/dist/components/gb-nav-bar.js +2 -2
- package/dist/components/gb-notification-pane.js +1 -1
- package/dist/components/gb-pagination.js +1 -1
- package/dist/components/gb-password-button.js +1 -1
- package/dist/components/gb-portal.js +1 -1
- package/dist/components/gb-progress-bar.js +1 -1
- package/dist/components/gb-prompt-modal.js +2 -2
- package/dist/components/gb-sidebar.js +5 -5
- package/dist/components/gb-simple-side-bar-item.js +1 -1
- package/dist/components/gb-slider-control-handle.js +1 -1
- package/dist/components/gb-slider.js +2 -2
- package/dist/components/gb-tab-button-base.js +1 -1
- package/dist/components/gb-table-cell.js +1 -1
- package/dist/components/gb-table-header.js +1 -343
- package/dist/components/gb-table-header.js.map +1 -1
- package/dist/components/gb-table.js +471 -121
- package/dist/components/gb-table.js.map +1 -1
- package/dist/components/gb-tag-checkbox.js +1 -1
- package/dist/components/gb-tag-close.js +1 -1
- package/dist/components/gb-tag-count.js +1 -1
- package/dist/components/gb-tag.js +1 -1
- package/dist/components/gb-textarea-input-field.js +1 -1
- package/dist/components/gb-theme-tab.js +1 -1
- package/dist/components/gb-toast-button.js +1 -1
- package/dist/components/gb-toast.js +19 -5
- package/dist/components/gb-toast.js.map +1 -1
- package/dist/components/gb-toggle-base.js +1 -1
- package/dist/components/gb-toggle.js +2 -2
- package/dist/components/gb-token-field-compact.js +1 -1
- package/dist/components/gb-token-field-compressed.js +2 -2
- package/dist/components/gb-tooltip.js +1 -1
- package/dist/components/gb-vertical-tabs.js +1 -1
- package/dist/components/gb-wysiwyg-editor-icon.js +1 -1
- package/dist/components/gb-wysiwyg-tooltip.js +1 -1
- package/dist/components/{p-DvV7snbA.js → p-49dlhIYS.js} +10 -4
- package/dist/components/p-49dlhIYS.js.map +1 -0
- package/dist/components/{p-Db25H5UF.js → p-B0GSTQw3.js} +3 -3
- package/dist/components/{p-Db25H5UF.js.map → p-B0GSTQw3.js.map} +1 -1
- package/dist/components/{p-DAm-213Y.js → p-BHyPbecw.js} +3 -3
- package/dist/components/{p-DAm-213Y.js.map → p-BHyPbecw.js.map} +1 -1
- package/dist/components/{p-ByFyt4ia.js → p-BYwfw805.js} +3 -3
- package/dist/components/{p-ByFyt4ia.js.map → p-BYwfw805.js.map} +1 -1
- package/dist/components/{p-C8LbZ4kH.js → p-BaOylBgt.js} +5 -5
- package/dist/components/{p-C8LbZ4kH.js.map → p-BaOylBgt.js.map} +1 -1
- package/dist/components/{p-e-QGBXGa.js → p-Bt2auhuC.js} +3 -3
- package/dist/components/{p-e-QGBXGa.js.map → p-Bt2auhuC.js.map} +1 -1
- package/dist/components/{p-ofbsewem.js → p-ByCoMbO2.js} +5 -5
- package/dist/components/{p-ofbsewem.js.map → p-ByCoMbO2.js.map} +1 -1
- package/dist/components/p-ByjJN3cS.js +150 -0
- package/dist/components/p-ByjJN3cS.js.map +1 -0
- package/dist/components/{p-BQU0qEQ8.js → p-C--0Sicf.js} +22 -18
- package/dist/components/p-C--0Sicf.js.map +1 -0
- package/dist/components/{p-CaVLFaUk.js → p-CJelLNTb.js} +9 -10
- package/dist/components/p-CJelLNTb.js.map +1 -0
- package/dist/components/{p-BXST6Rgi.js → p-CKzAcGL2.js} +3 -3
- package/dist/components/{p-BXST6Rgi.js.map → p-CKzAcGL2.js.map} +1 -1
- package/dist/components/{p-wopm_NSt.js → p-CLeShKhE.js} +4 -4
- package/dist/components/{p-wopm_NSt.js.map → p-CLeShKhE.js.map} +1 -1
- package/dist/components/{p-BVu-h1cX.js → p-CQFpc6__.js} +3 -3
- package/dist/components/{p-BVu-h1cX.js.map → p-CQFpc6__.js.map} +1 -1
- package/dist/components/{p-BKvAhdEP.js → p-C_9HhBzA.js} +3 -3
- package/dist/components/{p-BKvAhdEP.js.map → p-C_9HhBzA.js.map} +1 -1
- package/dist/components/{p-cxKfHAER.js → p-C_f2hEd8.js} +10 -5
- package/dist/components/p-C_f2hEd8.js.map +1 -0
- package/dist/components/{p-T48Hj6xM.js → p-Cdgx4Hwc.js} +3 -3
- package/dist/components/{p-T48Hj6xM.js.map → p-Cdgx4Hwc.js.map} +1 -1
- package/dist/components/{p-kAsXRFkD.js → p-Ci5AB68V.js} +3 -3
- package/dist/components/{p-kAsXRFkD.js.map → p-Ci5AB68V.js.map} +1 -1
- package/dist/components/{p-9xYUsl7q.js → p-Cj67a6IJ.js} +3 -3
- package/dist/components/{p-9xYUsl7q.js.map → p-Cj67a6IJ.js.map} +1 -1
- package/dist/components/{p-Dn5rOzr_.js → p-CsQhqi-L.js} +3 -3
- package/dist/components/{p-Dn5rOzr_.js.map → p-CsQhqi-L.js.map} +1 -1
- package/dist/components/{p-uV0Dz5N_.js → p-CwTzPqb2.js} +4 -4
- package/dist/components/{p-uV0Dz5N_.js.map → p-CwTzPqb2.js.map} +1 -1
- package/dist/components/{p-CTNnGEZs.js → p-D0VVIazI.js} +3 -3
- package/dist/components/{p-CTNnGEZs.js.map → p-D0VVIazI.js.map} +1 -1
- package/dist/components/{p-Bo4efGgC.js → p-DLhsTHln.js} +3 -3
- package/dist/components/{p-Bo4efGgC.js.map → p-DLhsTHln.js.map} +1 -1
- package/dist/components/{p-Dd_Eos3v.js → p-DMjBTN85.js} +4 -4
- package/dist/components/{p-Dd_Eos3v.js.map → p-DMjBTN85.js.map} +1 -1
- package/dist/components/{p-DRngXcjq.js → p-DNAqkyM0.js} +4 -4
- package/dist/components/{p-DRngXcjq.js.map → p-DNAqkyM0.js.map} +1 -1
- package/dist/components/{p-BgNv7S1j.js → p-DSuh8sT6.js} +4 -4
- package/dist/components/{p-BgNv7S1j.js.map → p-DSuh8sT6.js.map} +1 -1
- package/dist/components/{p-CO71VZ1J.js → p-DUlP9ot1.js} +4 -4
- package/dist/components/{p-CO71VZ1J.js.map → p-DUlP9ot1.js.map} +1 -1
- package/dist/components/{p-CTfLJ_Yp.js → p-DfeAzwhz.js} +3 -3
- package/dist/components/{p-CTfLJ_Yp.js.map → p-DfeAzwhz.js.map} +1 -1
- package/dist/components/{p-BByUPZTR.js → p-DpjHb85v.js} +5 -5
- package/dist/components/{p-BByUPZTR.js.map → p-DpjHb85v.js.map} +1 -1
- package/dist/components/{p-CgQonNKV.js → p-Dqd4hVBB.js} +3 -3
- package/dist/components/{p-CgQonNKV.js.map → p-Dqd4hVBB.js.map} +1 -1
- package/dist/components/{p-hck2xhPi.js → p-Z_m9SN0_.js} +3 -3
- package/dist/components/{p-hck2xhPi.js.map → p-Z_m9SN0_.js.map} +1 -1
- package/dist/components/{p-qZNN2nfj.js → p-blTaQhCM.js} +5 -5
- package/dist/components/{p-qZNN2nfj.js.map → p-blTaQhCM.js.map} +1 -1
- package/dist/components/p-cHn6O-Kf.js.map +1 -1
- package/dist/components/{p-apFyrUM4.js → p-dgGYVBLp.js} +127 -16
- package/dist/components/p-dgGYVBLp.js.map +1 -0
- package/dist/components/{p-yDP7ObG5.js → p-g6ayM_Wt.js} +6 -6
- package/dist/components/{p-yDP7ObG5.js.map → p-g6ayM_Wt.js.map} +1 -1
- package/dist/components/{p-DlH97JYU.js → p-jEUDScnD.js} +14 -14
- package/dist/components/p-jEUDScnD.js.map +1 -0
- package/dist/components/p-q16C1y-8.js +350 -0
- package/dist/components/p-q16C1y-8.js.map +1 -0
- package/dist/components/{p-c0RQJb24.js → p-rw4UZJOE.js} +11 -11
- package/dist/components/{p-c0RQJb24.js.map → p-rw4UZJOE.js.map} +1 -1
- package/dist/components/{p-CEK6hgEo.js → p-rzRgniQd.js} +9 -11
- package/dist/components/p-rzRgniQd.js.map +1 -0
- package/dist/components/{p-BtGA-5EV.js → p-y6Xot37W.js} +3 -3
- package/dist/components/{p-BtGA-5EV.js.map → p-y6Xot37W.js.map} +1 -1
- package/dist/components/test-input-tag.js +6 -6
- package/dist/docs.json +535 -73
- package/dist/esm/gb-action-panel_75.entry.js +496 -139
- package/dist/esm/gb-table-cell.entry.js +1 -1
- package/dist/esm/gb-token-field-compact.entry.js +1 -1
- package/dist/esm/gb-token-field-compressed.entry.js +2 -2
- package/dist/esm/gb-wysiwyg-editor-icon.entry.js +1 -1
- package/dist/esm/globuscomponents.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/reusableModels-cHn6O-Kf.js.map +1 -1
- package/dist/esm/test-input-tag.entry.js +2 -2
- package/dist/globuscomponents/assets/pencil-edit-01.svg +3 -0
- package/dist/globuscomponents/gb-button.tsx +6 -1
- package/dist/globuscomponents/globuscomponents.esm.js +1 -1
- package/dist/globuscomponents/p-031a93b0.entry.js +2 -0
- package/dist/globuscomponents/{p-5f4f79f3.entry.js → p-087fe238.entry.js} +2 -2
- package/dist/globuscomponents/p-087fe238.entry.js.map +1 -0
- package/dist/globuscomponents/{p-5d4750b8.entry.js → p-a61d1385.entry.js} +2 -2
- package/dist/globuscomponents/{p-957759a4.entry.js → p-bc7a3ff1.entry.js} +2 -2
- package/dist/globuscomponents/{p-9f49601d.entry.js → p-bd89e53d.entry.js} +2 -2
- package/dist/globuscomponents/p-cHn6O-Kf.js.map +1 -1
- package/dist/globuscomponents/{p-b71b110d.entry.js → p-e4bda433.entry.js} +2 -2
- package/dist/globuscomponents/readme.md +23 -0
- package/dist/types/components/gb-button/gb-button.d.ts +1 -0
- package/dist/types/components/gb-input-dropdown/gb-input-dropdown.d.ts +1 -1
- package/dist/types/components/gb-portal/gb-portal.d.ts +3 -1
- package/dist/types/components/gb-tab-button-base/gb-tab-button-base.d.ts +3 -2
- package/dist/types/components/gb-table/gb-table.d.ts +68 -2
- package/dist/types/components/gb-table-header/gb-table-header.d.ts +1 -1
- package/dist/types/components/gb-toast/gb-toast.d.ts +4 -0
- package/dist/types/components.d.ts +136 -23
- package/dist/types/models/reusableModels.d.ts +16 -0
- package/package.json +1 -1
- package/dist/components/p-BQU0qEQ8.js.map +0 -1
- package/dist/components/p-CEK6hgEo.js.map +0 -1
- package/dist/components/p-CaVLFaUk.js.map +0 -1
- package/dist/components/p-DlH97JYU.js.map +0 -1
- package/dist/components/p-DvV7snbA.js.map +0 -1
- package/dist/components/p-apFyrUM4.js.map +0 -1
- package/dist/components/p-cxKfHAER.js.map +0 -1
- package/dist/globuscomponents/p-5f4f79f3.entry.js.map +0 -1
- package/dist/globuscomponents/p-9bf9cc0c.entry.js +0 -2
- /package/dist/globuscomponents/{p-9bf9cc0c.entry.js.map → p-031a93b0.entry.js.map} +0 -0
- /package/dist/globuscomponents/{p-5d4750b8.entry.js.map → p-a61d1385.entry.js.map} +0 -0
- /package/dist/globuscomponents/{p-957759a4.entry.js.map → p-bc7a3ff1.entry.js.map} +0 -0
- /package/dist/globuscomponents/{p-9f49601d.entry.js.map → p-bd89e53d.entry.js.map} +0 -0
- /package/dist/globuscomponents/{p-b71b110d.entry.js.map → p-e4bda433.entry.js.map} +0 -0
|
@@ -1,38 +1,18 @@
|
|
|
1
|
-
import { h } from "@stencil/core";
|
|
1
|
+
import { h, Fragment } from "@stencil/core";
|
|
2
2
|
import { StateEnum } from "../../models/reusableModels";
|
|
3
3
|
export class GbTable {
|
|
4
4
|
constructor() {
|
|
5
5
|
this.columns = [
|
|
6
|
-
{ key: 'id', label: '#', width: '70px' },
|
|
7
|
-
{ key: 'date', label: 'Date' },
|
|
8
|
-
{ key: 'name', label: 'Name' },
|
|
6
|
+
{ key: 'id', label: '#', width: '70px', sortable: true, sortType: 'string', mobile: { position: 'top_left' } },
|
|
7
|
+
{ key: 'date', label: 'Date', mobile: { position: 'bottom_left' } },
|
|
8
|
+
{ key: 'name', label: 'Name', sortable: true, sortType: 'string', helpIcon: true, mobile: { position: 'top_right' } },
|
|
9
9
|
{ key: 'role', label: 'Role' },
|
|
10
|
-
|
|
11
|
-
// { key: 'role', label: 'Role' },
|
|
12
|
-
// { key: 'role', label: 'Role' },
|
|
13
|
-
// { key: 'role', label: 'Role' },
|
|
14
|
-
// { key: 'role', label: 'Role' },
|
|
15
|
-
// { key: 'role', label: 'Role' },
|
|
16
|
-
// { key: 'role', label: 'Role' },
|
|
17
|
-
// { key: 'role', label: 'Role' },
|
|
18
|
-
// { key: 'role', label: 'Role' },
|
|
19
|
-
// { key: 'role', label: 'Role' },
|
|
20
|
-
// { key: 'role', label: 'Role' },
|
|
21
|
-
// { key: 'role', label: 'Role' },
|
|
22
|
-
{ key: 'level', label: 'Level' },
|
|
23
|
-
{ key: 'customer', label: 'Customer' },
|
|
24
|
-
{ key: 'amount', label: 'Amount' },
|
|
10
|
+
{ key: 'amount', label: 'Amount', align: 'right', sortable: true, sortType: 'number' },
|
|
25
11
|
{
|
|
26
12
|
key: 'status',
|
|
27
13
|
label: 'Status',
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
color: row.status === 'Completed' ? 'success' : 'error',
|
|
31
|
-
type: 'badge_modern',
|
|
32
|
-
size: 'sm',
|
|
33
|
-
icon: 'dot',
|
|
34
|
-
}),
|
|
35
|
-
cellSlots: row => h("p", null, row.status),
|
|
14
|
+
render: row => (h("gb-badge", { color: row.status === 'Completed' ? 'success' : 'error', type: "badge_modern", size: "sm", icon: "dot" }, h("p", null, row.status))),
|
|
15
|
+
mobile: { position: 'bottom_right' },
|
|
36
16
|
},
|
|
37
17
|
// {
|
|
38
18
|
// key: '',
|
|
@@ -50,50 +30,127 @@ export class GbTable {
|
|
|
50
30
|
];
|
|
51
31
|
this.data = [
|
|
52
32
|
{
|
|
53
|
-
id: '#
|
|
54
|
-
date: 'Jan
|
|
55
|
-
name: '
|
|
56
|
-
role: 'Frontend
|
|
33
|
+
id: '#3001',
|
|
34
|
+
date: 'Jan 1, 2022',
|
|
35
|
+
name: 'Emma Johnson',
|
|
36
|
+
role: 'Frontend Developer',
|
|
57
37
|
level: 'Today',
|
|
58
38
|
customer: 'John Doe',
|
|
59
39
|
amount: '$120.00',
|
|
60
40
|
status: 'Completed',
|
|
61
41
|
},
|
|
62
|
-
{
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
},
|
|
42
|
+
{ id: '#3002', date: 'Jan 2, 2022', name: 'Liam Smith', role: 'Backend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },
|
|
43
|
+
{ id: '#3003', date: 'Jan 3, 2022', name: 'Olivia Brown', role: 'UI Designer', level: 'Today', customer: 'Michael Lee', amount: '$230.75', status: 'Cancelled' },
|
|
44
|
+
{ id: '#3004', date: 'Jan 4, 2022', name: 'Noah Davis', role: 'DevOps Engineer', level: 'Today', customer: 'Emily Clark', amount: '$59.99', status: 'Completed' },
|
|
45
|
+
{ id: '#3005', date: 'Jan 5, 2022', name: 'Ava Martinez', role: 'Product Manager', level: 'Today', customer: 'Daniel Harris', amount: '$410.00', status: 'Pending' },
|
|
46
|
+
{ id: '#3006', date: 'Jan 6, 2022', name: 'William Garcia', role: 'QA Engineer', level: 'Today', customer: 'Sophia Lewis', amount: '$150.20', status: 'Completed' },
|
|
47
|
+
{ id: '#3007', date: 'Jan 7, 2022', name: 'Isabella Rodriguez', role: 'Business Analyst', level: 'Today', customer: 'James Walker', amount: '$78.40', status: 'Pending' },
|
|
48
|
+
{ id: '#3008', date: 'Jan 8, 2022', name: 'James Wilson', role: 'Fullstack Developer', level: 'Today', customer: 'Mia Hall', amount: '$300.00', status: 'Completed' },
|
|
49
|
+
{ id: '#3009', date: 'Jan 9, 2022', name: 'Sophia Anderson', role: 'UX Researcher', level: 'Today', customer: 'Benjamin Allen', amount: '$95.60', status: 'Cancelled' },
|
|
50
|
+
{ id: '#3010', date: 'Jan 10, 2022', name: 'Benjamin Thomas', role: 'Mobile Developer', level: 'Today', customer: 'Charlotte Young', amount: '$210.10', status: 'Completed' },
|
|
51
|
+
{ id: '#3011', date: 'Jan 11, 2022', name: 'Mia Taylor', role: 'Data Analyst', level: 'Today', customer: 'Lucas King', amount: '$180.00', status: 'Pending' },
|
|
52
|
+
{ id: '#3012', date: 'Jan 12, 2022', name: 'Lucas Moore', role: 'Cloud Engineer', level: 'Today', customer: 'Amelia Scott', amount: '$420.75', status: 'Completed' },
|
|
53
|
+
{ id: '#3013', date: 'Jan 13, 2022', name: 'Charlotte Jackson', role: 'Security Engineer', level: 'Today', customer: 'Elijah Green', amount: '$65.90', status: 'Cancelled' },
|
|
54
|
+
{ id: '#3014', date: 'Jan 14, 2022', name: 'Elijah Martin', role: 'Technical Lead', level: 'Today', customer: 'Harper Adams', amount: '$510.30', status: 'Completed' },
|
|
55
|
+
{ id: '#3015', date: 'Jan 15, 2022', name: 'Amelia Lee', role: 'Scrum Master', level: 'Today', customer: 'Alexander Baker', amount: '$99.99', status: 'Pending' },
|
|
56
|
+
{ id: '#3016', date: 'Jan 16, 2022', name: 'Harper Perez', role: 'Frontend Developer', level: 'Today', customer: 'Ella Nelson', amount: '$275.45', status: 'Completed' },
|
|
57
|
+
{ id: '#3017', date: 'Jan 17, 2022', name: 'Alexander White', role: 'Backend Developer', level: 'Today', customer: 'Matthew Carter', amount: '$340.00', status: 'Pending' },
|
|
58
|
+
{ id: '#3018', date: 'Jan 18, 2022', name: 'Ella Harris', role: 'UI Designer', level: 'Today', customer: 'Avery Mitchell', amount: '$88.80', status: 'Completed' },
|
|
59
|
+
{ id: '#3019', date: 'Jan 19, 2022', name: 'Matthew Clark', role: 'DevOps Engineer', level: 'Today', customer: 'Evelyn Perez', amount: '$190.25', status: 'Cancelled' },
|
|
60
|
+
{ id: '#3020', date: 'Jan 20, 2022', name: 'Avery Lewis', role: 'Product Manager', level: 'Today', customer: 'Henry Roberts', amount: '$600.00', status: 'Completed' },
|
|
61
|
+
{ id: '#3021', date: 'Jan 21, 2022', name: 'Evelyn Walker', role: 'QA Engineer', level: 'Today', customer: 'Luna Turner', amount: '$72.30', status: 'Pending' },
|
|
62
|
+
{ id: '#3022', date: 'Jan 22, 2022', name: 'Henry Hall', role: 'Business Analyst', level: 'Today', customer: 'Jack Phillips', amount: '$310.40', status: 'Completed' },
|
|
63
|
+
{ id: '#3023', date: 'Jan 23, 2022', name: 'Luna Allen', role: 'Fullstack Developer', level: 'Today', customer: 'Sofia Campbell', amount: '$145.00', status: 'Cancelled' },
|
|
64
|
+
{ id: '#3024', date: 'Jan 24, 2022', name: 'Jack Young', role: 'UX Researcher', level: 'Today', customer: 'David Parker', amount: '$260.70', status: 'Completed' },
|
|
65
|
+
{ id: '#3025', date: 'Jan 25, 2022', name: 'Sofia Hernandez', role: 'Mobile Developer', level: 'Today', customer: 'Grace Evans', amount: '$89.10', status: 'Pending' },
|
|
66
|
+
{ id: '#3026', date: 'Jan 26, 2022', name: 'David King', role: 'Data Analyst', level: 'Today', customer: 'Samuel Edwards', amount: '$410.90', status: 'Completed' },
|
|
67
|
+
{ id: '#3027', date: 'Jan 27, 2022', name: 'Grace Wright', role: 'Cloud Engineer', level: 'Today', customer: 'Chloe Collins', amount: '$130.55', status: 'Cancelled' },
|
|
68
|
+
{ id: '#3028', date: 'Jan 28, 2022', name: 'Samuel Scott', role: 'Security Engineer', level: 'Today', customer: 'Victoria Stewart', amount: '$555.00', status: 'Completed' },
|
|
69
|
+
{ id: '#3029', date: 'Jan 29, 2022', name: 'Chloe Green', role: 'Technical Lead', level: 'Today', customer: 'Nathan Morris', amount: '$205.25', status: 'Pending' },
|
|
70
|
+
{ id: '#3030', date: 'Jan 30, 2022', name: 'Nathan Adams', role: 'Scrum Master', level: 'Today', customer: 'Zoe Rogers', amount: '$320.80', status: 'Completed' },
|
|
71
|
+
];
|
|
72
|
+
this.tableHeaderConfig = {
|
|
73
|
+
tableHeading: false,
|
|
74
|
+
tableHeadingLabel: 'Suspicious outflows',
|
|
75
|
+
showDateFilter: true,
|
|
76
|
+
showFilter: true,
|
|
77
|
+
showColumnOptions: true,
|
|
78
|
+
showSearch: true,
|
|
79
|
+
showExport: true,
|
|
80
|
+
showRefreshButton: true,
|
|
81
|
+
datePickerMode: 'single',
|
|
82
|
+
};
|
|
83
|
+
this.paginationConfig = {
|
|
84
|
+
paginationMode: 'internal',
|
|
85
|
+
entriesDropdownMenuPosition: 'top',
|
|
86
|
+
currentPage: 1,
|
|
87
|
+
pageSize: 10,
|
|
88
|
+
totalItems: null,
|
|
89
|
+
};
|
|
90
|
+
this.emptyStateConfig = {
|
|
91
|
+
mainText: 'No data available',
|
|
92
|
+
supportingText: 'Try adjusting your filters or check back later.',
|
|
93
|
+
color: 'gray',
|
|
94
|
+
illustrationIcon: 'assets/alert-circle.svg',
|
|
95
|
+
theme: 'light',
|
|
96
|
+
};
|
|
97
|
+
this.showActionsColumn = true;
|
|
98
|
+
this.rowActions = [
|
|
99
|
+
{ label: '', action: '', icon: 'assets/more-horizontal.svg', type: 'dropdown' },
|
|
100
|
+
// { label: 'View Details', action: 'view_details', icon: 'assets/view.svg', type: 'button' },
|
|
101
|
+
// { label: 'Edit', action: 'edit', icon: 'assets/pencil-edit-01.svg', type: 'button' },
|
|
90
102
|
];
|
|
91
|
-
this.
|
|
92
|
-
|
|
103
|
+
this.dropdownOptions = [
|
|
104
|
+
{ label: 'View', action: 'view', icon: 'assets/view.svg', disabled: false },
|
|
105
|
+
{ label: 'Edit', action: 'edit', icon: 'assets/pencil-edit-01.svg', disabled: false },
|
|
106
|
+
{ label: 'Delete', action: 'delete', icon: 'assets/delete-02.svg', disabled: true },
|
|
107
|
+
];
|
|
108
|
+
this.stickyFirstColumn = true;
|
|
93
109
|
this.stickyLastColumn = true;
|
|
94
|
-
// @Prop() entriesDropdownPosition: 'top' | 'bottom' = 'top';
|
|
95
110
|
this.actionsType = 'none';
|
|
111
|
+
this.showCheckbox = false;
|
|
112
|
+
// @Prop({ mutable: true }) currentPage?: number = 1;
|
|
113
|
+
// @Prop() pageSize: number = 10;
|
|
114
|
+
// @Prop() totalItems?: number;
|
|
115
|
+
this.internalCurrentPage = 1;
|
|
116
|
+
this.internalPageSize = 10;
|
|
96
117
|
this.openRowIndex = null;
|
|
118
|
+
this.sortDirection = 'asc';
|
|
119
|
+
this.selectedRowIds = new Set();
|
|
120
|
+
this.breakpoint = 'desktop';
|
|
121
|
+
this.isMobile = false;
|
|
122
|
+
this.isScrollable = false;
|
|
123
|
+
this.actionButtonRefs = [];
|
|
124
|
+
this.handlePageChange = ({ detail }) => {
|
|
125
|
+
const { pageNumber, pageSize } = detail;
|
|
126
|
+
if (this.paginationConfig.paginationMode === 'internal') {
|
|
127
|
+
this.internalCurrentPage = pageNumber;
|
|
128
|
+
this.internalPageSize = pageSize;
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
this.pageItemSelected.emit(detail);
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
componentWillRender() {
|
|
136
|
+
this.checkViewport();
|
|
137
|
+
window.addEventListener('resize', this.checkViewport.bind(this));
|
|
138
|
+
}
|
|
139
|
+
componentDidRender() {
|
|
140
|
+
requestAnimationFrame(() => this.checkScrollability());
|
|
141
|
+
}
|
|
142
|
+
checkViewport() {
|
|
143
|
+
this.isMobile = window.innerWidth <= 768;
|
|
144
|
+
this.checkScrollability();
|
|
145
|
+
}
|
|
146
|
+
checkScrollability() {
|
|
147
|
+
if (!this.scrollContainer)
|
|
148
|
+
return;
|
|
149
|
+
const { scrollWidth, clientWidth } = this.scrollContainer;
|
|
150
|
+
const newScrollable = scrollWidth > clientWidth;
|
|
151
|
+
if (newScrollable !== this.isScrollable) {
|
|
152
|
+
this.isScrollable = newScrollable; // only update if different
|
|
153
|
+
}
|
|
97
154
|
}
|
|
98
155
|
handleAction(action, row) {
|
|
99
156
|
this.rowActionClick.emit({ action, row });
|
|
@@ -112,11 +169,132 @@ export class GbTable {
|
|
|
112
169
|
emitPaginationDetails({ detail }) {
|
|
113
170
|
this.pageItemSelected.emit(detail);
|
|
114
171
|
}
|
|
115
|
-
toggleDropdown(
|
|
116
|
-
|
|
117
|
-
|
|
172
|
+
async toggleDropdown(rowIndex) {
|
|
173
|
+
if (this.openRowIndex === rowIndex) {
|
|
174
|
+
this.openRowIndex = null;
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
const buttonInstance = this.actionButtonRefs[rowIndex];
|
|
178
|
+
const nativeBtn = await (buttonInstance === null || buttonInstance === void 0 ? void 0 : buttonInstance.getNativeButton());
|
|
179
|
+
this.currentAnchorEl = nativeBtn !== null && nativeBtn !== void 0 ? nativeBtn : undefined;
|
|
180
|
+
this.openRowIndex = rowIndex;
|
|
118
181
|
}
|
|
119
|
-
|
|
182
|
+
onSort(col) {
|
|
183
|
+
if (!col.sortable)
|
|
184
|
+
return;
|
|
185
|
+
if (this.sortKey === col.key) {
|
|
186
|
+
this.sortDirection = this.sortDirection === 'asc' ? 'desc' : 'asc';
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
this.sortKey = col.key;
|
|
190
|
+
this.sortDirection = 'asc';
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
get sortedData() {
|
|
194
|
+
if (!this.sortKey)
|
|
195
|
+
return this.data;
|
|
196
|
+
const col = this.columns.find(c => c.key === this.sortKey);
|
|
197
|
+
if (!col)
|
|
198
|
+
return this.data;
|
|
199
|
+
return [...this.data].sort((a, b) => {
|
|
200
|
+
let valA = a[this.sortKey];
|
|
201
|
+
let valB = b[this.sortKey];
|
|
202
|
+
// Null safety
|
|
203
|
+
if (valA == null)
|
|
204
|
+
return 1;
|
|
205
|
+
if (valB == null)
|
|
206
|
+
return -1;
|
|
207
|
+
let result = 0;
|
|
208
|
+
switch (col.sortType) {
|
|
209
|
+
case 'number': {
|
|
210
|
+
const numA = Number(String(valA).replace(/[^0-9.-]+/g, ''));
|
|
211
|
+
const numB = Number(String(valB).replace(/[^0-9.-]+/g, ''));
|
|
212
|
+
result = numA - numB;
|
|
213
|
+
break;
|
|
214
|
+
}
|
|
215
|
+
case 'date': {
|
|
216
|
+
const timeA = new Date(valA).getTime();
|
|
217
|
+
const timeB = new Date(valB).getTime();
|
|
218
|
+
result = timeA - timeB;
|
|
219
|
+
break;
|
|
220
|
+
}
|
|
221
|
+
case 'string':
|
|
222
|
+
default: {
|
|
223
|
+
result = String(valA).localeCompare(String(valB), undefined, {
|
|
224
|
+
sensitivity: 'base',
|
|
225
|
+
});
|
|
226
|
+
break;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
return this.sortDirection === 'asc' ? result : -result;
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
get allSelected() {
|
|
233
|
+
return this.sortedData.length > 0 && this.selectedRowIds.size === this.sortedData.length;
|
|
234
|
+
}
|
|
235
|
+
get isIndeterminate() {
|
|
236
|
+
return this.selectedRowIds.size > 0 && this.selectedRowIds.size < this.sortedData.length;
|
|
237
|
+
}
|
|
238
|
+
toggleAll() {
|
|
239
|
+
if (this.allSelected) {
|
|
240
|
+
this.selectedRowIds = new Set();
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
this.selectedRowIds = new Set(this.sortedData.map(row => row.id));
|
|
244
|
+
}
|
|
245
|
+
this.emitSelection();
|
|
246
|
+
}
|
|
247
|
+
toggleRow(row) {
|
|
248
|
+
const updated = new Set(this.selectedRowIds);
|
|
249
|
+
if (updated.has(row.id)) {
|
|
250
|
+
updated.delete(row.id);
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
updated.add(row.id);
|
|
254
|
+
}
|
|
255
|
+
this.selectedRowIds = updated;
|
|
256
|
+
this.emitSelection();
|
|
257
|
+
}
|
|
258
|
+
emitSelection() {
|
|
259
|
+
const selected = this.sortedData.filter(row => this.selectedRowIds.has(row.id));
|
|
260
|
+
this.selectionChanged.emit(selected);
|
|
261
|
+
}
|
|
262
|
+
get displayedData() {
|
|
263
|
+
if (!this.paginationConfig) {
|
|
264
|
+
return this.sortedData;
|
|
265
|
+
}
|
|
266
|
+
if (this.paginationConfig.paginationMode === 'external') {
|
|
267
|
+
return this.sortedData; // parent already paginated it
|
|
268
|
+
}
|
|
269
|
+
const start = (this.internalCurrentPage - 1) * this.internalPageSize;
|
|
270
|
+
const end = start + this.internalPageSize;
|
|
271
|
+
return this.sortedData.slice(start, end);
|
|
272
|
+
}
|
|
273
|
+
get totalPages() {
|
|
274
|
+
if (!this.paginationConfig)
|
|
275
|
+
return 1;
|
|
276
|
+
const pageSize = this.paginationConfig.paginationMode === 'internal' ? this.internalPageSize : this.paginationConfig.pageSize;
|
|
277
|
+
const totalItems = this.paginationConfig.paginationMode === 'external' ? this.paginationConfig.totalItems : this.sortedData.length;
|
|
278
|
+
return Math.ceil(totalItems / pageSize);
|
|
279
|
+
}
|
|
280
|
+
onDataChange(newValue, _oldValue) {
|
|
281
|
+
if (!newValue)
|
|
282
|
+
return;
|
|
283
|
+
this.data = newValue;
|
|
284
|
+
}
|
|
285
|
+
onTotalItemsChange(newValue, _oldValue) {
|
|
286
|
+
if (!newValue || newValue < 1)
|
|
287
|
+
return;
|
|
288
|
+
this.paginationConfig.totalItems = Number(newValue);
|
|
289
|
+
}
|
|
290
|
+
renderHeaderIcons(col) {
|
|
291
|
+
return (h(Fragment, null, col.sortable && (h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", style: {
|
|
292
|
+
transform: this.sortKey === col.key && this.sortDirection === 'desc' ? 'rotate(180deg)' : 'rotate(0deg)',
|
|
293
|
+
opacity: this.sortKey === col.key ? '1' : '0.4',
|
|
294
|
+
transition: 'transform 0.2s ease',
|
|
295
|
+
} }, h("path", { d: "M7.99998 13.3332V2.6665M7.99998 13.3332C8.87837 13.3332 11.3333 9.99993 11.3333 9.99993M7.99998 13.3332C7.12158 13.3332 4.66663 9.9999 4.66663 9.9999", stroke: "var(--color-icon, #4B5565)", "stroke-linecap": "round", "stroke-linejoin": "round" }))), col.helpIcon && (h("gb-help-tooltip", { "show-supporting-text": "true" }, h("p", { slot: "label" }, "This is a label"), h("p", { slot: "supporting_text" }, "This is a supporting text")))));
|
|
296
|
+
}
|
|
297
|
+
renderDesktopView() {
|
|
120
298
|
// compute table min-width to force horizontal scroll when > 5 columns
|
|
121
299
|
const defaultColWidth = 160;
|
|
122
300
|
let totalWidth = 0;
|
|
@@ -129,15 +307,63 @@ export class GbTable {
|
|
|
129
307
|
totalWidth += defaultColWidth;
|
|
130
308
|
}
|
|
131
309
|
});
|
|
132
|
-
const tableStyle = this.columns.length > 5 ? { minWidth: `${totalWidth}px` } : {};
|
|
133
|
-
return (h("div", {
|
|
134
|
-
sticky_left: this.stickyFirstColumn
|
|
135
|
-
} }, h("
|
|
310
|
+
// const tableStyle = this.columns.length > 5 ? { minWidth: `${totalWidth}px` } : {};
|
|
311
|
+
return (h("div", { class: `table_scroll`, ref: el => (this.scrollContainer = el) }, h("table", null, h("thead", null, h("tr", { class: "table_head_row" }, this.showCheckbox && (h("th", { style: { width: '15px' }, class: {
|
|
312
|
+
sticky_left: this.stickyFirstColumn,
|
|
313
|
+
} }, h("gb-checkbox", { type: "checkbox", checked: this.allSelected, indeterminate: this.isIndeterminate, size: "sm", onClick: () => this.toggleAll() }))), this.columns.map((col, index) => {
|
|
314
|
+
var _a;
|
|
315
|
+
const align = (_a = col.align) !== null && _a !== void 0 ? _a : 'left';
|
|
316
|
+
return (h("th", { style: { width: col.width, cursor: col.sortable ? 'pointer' : 'default', textAlign: col.align || 'left' }, onClick: () => this.onSort(col), class: {
|
|
317
|
+
table_header: true,
|
|
318
|
+
sticky_left: this.stickyFirstColumn && index === 0,
|
|
319
|
+
sortable: col.sortable,
|
|
320
|
+
has_border: this.isScrollable,
|
|
321
|
+
} }, h("div", { class: `table_head_content align-${align}` }, align === 'right' && h("div", { class: "table_head_icons" }, this.renderHeaderIcons(col)), h("p", { class: `head_text text-xs-medium` }, col.label), align === 'left' && h("div", { class: "table_head_icons" }, this.renderHeaderIcons(col)))));
|
|
322
|
+
}), this.showActionsColumn && (h("th", { class: {
|
|
323
|
+
actions_cell: true,
|
|
136
324
|
sticky_right: this.stickyLastColumn,
|
|
137
|
-
|
|
325
|
+
has_border: this.isScrollable,
|
|
326
|
+
} }, h("div", { class: "empty_div" }))))), h("tbody", null, this.displayedData.map((row, rowIndex) => (h("tr", { class: "table_body" }, this.showCheckbox && (h("td", { class: "table_detail", style: { width: '50px' } }, h("gb-checkbox", { type: "checkbox", checked: this.selectedRowIds.has(row.id), indeterminate: false, size: "sm", onClick: () => this.toggleRow(row) }))), this.columns.map((col, index) => (h(Fragment, null, col.render ? (h("td", { style: { textAlign: col.align || 'left' }, class: `table_detail ${this.stickyFirstColumn && index === 0 ? 'sticky_left' : ''} ${this.isScrollable ? 'has_border' : ''}` }, col.render(row))) : (h("td", { style: { textAlign: col.align || 'left' }, class: `table_detail ${this.stickyFirstColumn && index === 0 ? 'sticky_left' : ''} ${this.isScrollable ? 'has_border' : ''}` }, this.renderCell(col, row)))))), this.showActionsColumn && (h("td", { class: { table_detail: true, actions_cell: true, sticky_right: this.stickyLastColumn, has_border: this.isScrollable }, style: { width: '50px' } }, h(Fragment, null, h("div", { class: "action_buttons" }, this.rowActions.map(action => (h(Fragment, null, action.type === 'dropdown' ? (h("gb-button", { id: `gb-table-trigger-${rowIndex}`, ref: el => (this.actionButtonRefs[rowIndex] = el), class: "dropdown_button", hierarchy: "tertiary_gray", size: "sm", icon: "only", iconLeading: true, iconLeadingSwap: "assets/more-horizontal.svg", onClick: () => this.toggleDropdown(rowIndex) })) : (h("gb-button", { hierarchy: "tertiary_gray", size: "sm", icon: "only", iconLeading: true, iconLeadingSwap: action.icon, onClick: () => this.handleAction(action.action, row) })))))), h(Fragment, null, this.openRowIndex === rowIndex && (h("gb-portal", { "anchor-id": `gb-table-trigger-${rowIndex}`, placement: "bottom-end", anchorEl: this.currentAnchorEl, open: true }, h("div", { class: "dropdown_wrapper" }, this.dropdownOptions.map(action => (
|
|
327
|
+
// <gb-input-dropdown-menu-item
|
|
328
|
+
// type="default"
|
|
329
|
+
// state={action.disabled ? StateEnum.Disabled : StateEnum.Default}
|
|
330
|
+
// icon-leading={action.icon ? true : false}
|
|
331
|
+
// icon-leading-swap={action.icon}
|
|
332
|
+
// >
|
|
333
|
+
// <p slot="name">{action.label}</p>
|
|
334
|
+
// </gb-input-dropdown-menu-item>
|
|
335
|
+
h("gb-dropdown-items-with-shortcut", { icon: action.icon ? true : false, state: action.disabled ? StateEnum.Disabled : StateEnum.Default, label: action.label, "icon-src": action.icon, onClick: () => {
|
|
138
336
|
this.handleAction(action.action, row);
|
|
139
337
|
this.openRowIndex = null;
|
|
140
|
-
} }
|
|
338
|
+
} })))))))))))))))));
|
|
339
|
+
}
|
|
340
|
+
validateMobilePositions() {
|
|
341
|
+
const positions = this.columns.map(c => { var _a; return (_a = c.mobile) === null || _a === void 0 ? void 0 : _a.position; }).filter(Boolean);
|
|
342
|
+
const duplicates = positions.filter((item, index) => positions.indexOf(item) !== index);
|
|
343
|
+
if (duplicates.length) {
|
|
344
|
+
console.warn('[gb-table] Duplicate mobile positions detected:', duplicates);
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
renderMobileView() {
|
|
348
|
+
return (h("div", { class: "mobile_wrapper" }, this.displayedData.map(row => {
|
|
349
|
+
const topLeft = this.columns.find(c => { var _a; return ((_a = c.mobile) === null || _a === void 0 ? void 0 : _a.position) === 'top_left'; });
|
|
350
|
+
const topRight = this.columns.find(c => { var _a; return ((_a = c.mobile) === null || _a === void 0 ? void 0 : _a.position) === 'top_right'; });
|
|
351
|
+
const bottomLeft = this.columns.find(c => { var _a; return ((_a = c.mobile) === null || _a === void 0 ? void 0 : _a.position) === 'bottom_left'; });
|
|
352
|
+
const bottomRight = this.columns.find(c => { var _a; return ((_a = c.mobile) === null || _a === void 0 ? void 0 : _a.position) === 'bottom_right'; });
|
|
353
|
+
return (h("div", { class: "mobile_card_wrapper", style: { paddingLeft: this.showCheckbox ? 'var(--spacing-4)' : '' } }, this.showCheckbox && (h("gb-checkbox", { style: { paddingTop: 'var(--spacing-6)' }, type: "checkbox", checked: this.selectedRowIds.has(row.id), indeterminate: false, size: "sm", onClick: () => this.toggleRow(row) })), h("div", { class: "mobile-card" }, h("div", { class: "mobile-row mobile-top" }, h("div", { class: "mobile-cell" }, h("p", { class: "top_left_text text-md-regular" }, topLeft && row[topLeft.key])), h("div", { class: "mobile-cell right" }, h("p", { class: "top_right_text text-md-semi-bold" }, topRight && row[topRight.key]))), h("div", { class: "mobile-row mobile-bottom" }, h("div", { class: "mobile-cell" }, h("p", { class: "bottom_left_text text-sm-regular" }, bottomLeft && row[bottomLeft.key])), h("div", { class: "mobile-cell right" }, bottomRight && this.renderCell(bottomRight, row))))));
|
|
354
|
+
})));
|
|
355
|
+
}
|
|
356
|
+
emitSearchValue(detail) {
|
|
357
|
+
this.inputValueChanged.emit(detail.detail);
|
|
358
|
+
}
|
|
359
|
+
emitDateChange(detail) {
|
|
360
|
+
this.dateChange.emit(detail.detail);
|
|
361
|
+
}
|
|
362
|
+
disconnectedCallback() {
|
|
363
|
+
window.removeEventListener('resize', this.checkViewport);
|
|
364
|
+
}
|
|
365
|
+
render() {
|
|
366
|
+
return (h("div", { key: 'd393c1812e06818c2a0dd266cfb8f1c849971b2c', class: `table_wrapper` }, h("gb-table-header", { key: '2398b782d79e6afccdd3047eb8b37cf23efbcbff', mode: this.tableHeaderConfig.datePickerMode, "table-heading": this.tableHeaderConfig.tableHeading, "table-heading-label": this.tableHeaderConfig.tableHeadingLabel, "show-search": this.tableHeaderConfig.showSearch, "show-date-filter": this.tableHeaderConfig.showDateFilter, "show-filter": this.tableHeaderConfig.showFilter, "show-export": this.tableHeaderConfig.showExport, "show-column-options": this.tableHeaderConfig.showColumnOptions, "show-refresh-button": this.tableHeaderConfig.showRefreshButton, onInputValueChanged: this.emitSearchValue.bind(this), onDateChange: this.emitDateChange.bind(this) }), this.data.length === 0 ? (h("div", { class: "empty_state_wrapper" }, h("gb-empty-state", { size: "sm", "main-text": this.emptyStateConfig.mainText, "supporting-text": this.emptyStateConfig.supportingText, color: this.emptyStateConfig.color, theme: this.emptyStateConfig.theme, "primary-button-icon-leading-swap": "assets/plus.svg", "illustration-icon": this.emptyStateConfig.illustrationIcon, background: true, "background-type": "grid", icon: "illustration", "illustration-style": "cloud" }))) : (h(Fragment, null, this.isMobile ? this.renderMobileView() : this.renderDesktopView())), this.paginationConfig && this.data.length > 0 && (h("gb-pagination", { key: '67b71bebffe1f1563520dd5eaac8cf0ffac6368a', "entries-dropdown-menu-position": this.paginationConfig.entriesDropdownMenuPosition, "page-size": this.paginationConfig.pageSize, "current-page": this.paginationConfig.paginationMode === 'internal' ? this.internalCurrentPage : this.paginationConfig.currentPage, "total-pages": this.totalPages, onPageItemSelected: this.handlePageChange.bind(this) }))));
|
|
141
367
|
}
|
|
142
368
|
static get is() { return "gb-table"; }
|
|
143
369
|
static get encapsulation() { return "shadow"; }
|
|
@@ -175,7 +401,7 @@ export class GbTable {
|
|
|
175
401
|
},
|
|
176
402
|
"getter": false,
|
|
177
403
|
"setter": false,
|
|
178
|
-
"defaultValue": "[\r\n { key: 'id', label: '#', width: '70px'
|
|
404
|
+
"defaultValue": "[\r\n { key: 'id', label: '#', width: '70px', sortable: true, sortType: 'string', mobile: { position: 'top_left' } },\r\n { key: 'date', label: 'Date', mobile: { position: 'bottom_left' } },\r\n { key: 'name', label: 'Name', sortable: true, sortType: 'string', helpIcon: true, mobile: { position: 'top_right' } },\r\n { key: 'role', label: 'Role' },\r\n { key: 'amount', label: 'Amount', align: 'right', sortable: true, sortType: 'number' },\r\n {\r\n key: 'status',\r\n label: 'Status',\r\n render: row => (\r\n <gb-badge color={row.status === 'Completed' ? 'success' : 'error'} type=\"badge_modern\" size=\"sm\" icon=\"dot\">\r\n <p>{row.status}</p>\r\n </gb-badge>\r\n ),\r\n mobile: { position: 'bottom_right' },\r\n },\r\n // {\r\n // key: '',\r\n // label: '',\r\n // cellComponent: 'gb-button',\r\n // width: '50px',\r\n // cellProps: () => ({\r\n // hierarchy: 'tertiary_gray',\r\n // size: 'sm',\r\n // icon: 'only',\r\n // iconLeading: true,\r\n // iconLeadingSwap: 'assets/more-horizontal.svg',\r\n // }),\r\n // },\r\n ]"
|
|
179
405
|
},
|
|
180
406
|
"data": {
|
|
181
407
|
"type": "unknown",
|
|
@@ -193,7 +419,92 @@ export class GbTable {
|
|
|
193
419
|
},
|
|
194
420
|
"getter": false,
|
|
195
421
|
"setter": false,
|
|
196
|
-
"defaultValue": "[\r\n {\r\n id: '#
|
|
422
|
+
"defaultValue": "[\r\n {\r\n id: '#3001',\r\n date: 'Jan 1, 2022',\r\n name: 'Emma Johnson',\r\n role: 'Frontend Developer',\r\n level: 'Today',\r\n customer: 'John Doe',\r\n amount: '$120.00',\r\n status: 'Completed',\r\n },\r\n { id: '#3002', date: 'Jan 2, 2022', name: 'Liam Smith', role: 'Backend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },\r\n { id: '#3003', date: 'Jan 3, 2022', name: 'Olivia Brown', role: 'UI Designer', level: 'Today', customer: 'Michael Lee', amount: '$230.75', status: 'Cancelled' },\r\n { id: '#3004', date: 'Jan 4, 2022', name: 'Noah Davis', role: 'DevOps Engineer', level: 'Today', customer: 'Emily Clark', amount: '$59.99', status: 'Completed' },\r\n { id: '#3005', date: 'Jan 5, 2022', name: 'Ava Martinez', role: 'Product Manager', level: 'Today', customer: 'Daniel Harris', amount: '$410.00', status: 'Pending' },\r\n { id: '#3006', date: 'Jan 6, 2022', name: 'William Garcia', role: 'QA Engineer', level: 'Today', customer: 'Sophia Lewis', amount: '$150.20', status: 'Completed' },\r\n { id: '#3007', date: 'Jan 7, 2022', name: 'Isabella Rodriguez', role: 'Business Analyst', level: 'Today', customer: 'James Walker', amount: '$78.40', status: 'Pending' },\r\n { id: '#3008', date: 'Jan 8, 2022', name: 'James Wilson', role: 'Fullstack Developer', level: 'Today', customer: 'Mia Hall', amount: '$300.00', status: 'Completed' },\r\n { id: '#3009', date: 'Jan 9, 2022', name: 'Sophia Anderson', role: 'UX Researcher', level: 'Today', customer: 'Benjamin Allen', amount: '$95.60', status: 'Cancelled' },\r\n { id: '#3010', date: 'Jan 10, 2022', name: 'Benjamin Thomas', role: 'Mobile Developer', level: 'Today', customer: 'Charlotte Young', amount: '$210.10', status: 'Completed' },\r\n { id: '#3011', date: 'Jan 11, 2022', name: 'Mia Taylor', role: 'Data Analyst', level: 'Today', customer: 'Lucas King', amount: '$180.00', status: 'Pending' },\r\n { id: '#3012', date: 'Jan 12, 2022', name: 'Lucas Moore', role: 'Cloud Engineer', level: 'Today', customer: 'Amelia Scott', amount: '$420.75', status: 'Completed' },\r\n { id: '#3013', date: 'Jan 13, 2022', name: 'Charlotte Jackson', role: 'Security Engineer', level: 'Today', customer: 'Elijah Green', amount: '$65.90', status: 'Cancelled' },\r\n { id: '#3014', date: 'Jan 14, 2022', name: 'Elijah Martin', role: 'Technical Lead', level: 'Today', customer: 'Harper Adams', amount: '$510.30', status: 'Completed' },\r\n { id: '#3015', date: 'Jan 15, 2022', name: 'Amelia Lee', role: 'Scrum Master', level: 'Today', customer: 'Alexander Baker', amount: '$99.99', status: 'Pending' },\r\n { id: '#3016', date: 'Jan 16, 2022', name: 'Harper Perez', role: 'Frontend Developer', level: 'Today', customer: 'Ella Nelson', amount: '$275.45', status: 'Completed' },\r\n { id: '#3017', date: 'Jan 17, 2022', name: 'Alexander White', role: 'Backend Developer', level: 'Today', customer: 'Matthew Carter', amount: '$340.00', status: 'Pending' },\r\n { id: '#3018', date: 'Jan 18, 2022', name: 'Ella Harris', role: 'UI Designer', level: 'Today', customer: 'Avery Mitchell', amount: '$88.80', status: 'Completed' },\r\n { id: '#3019', date: 'Jan 19, 2022', name: 'Matthew Clark', role: 'DevOps Engineer', level: 'Today', customer: 'Evelyn Perez', amount: '$190.25', status: 'Cancelled' },\r\n { id: '#3020', date: 'Jan 20, 2022', name: 'Avery Lewis', role: 'Product Manager', level: 'Today', customer: 'Henry Roberts', amount: '$600.00', status: 'Completed' },\r\n { id: '#3021', date: 'Jan 21, 2022', name: 'Evelyn Walker', role: 'QA Engineer', level: 'Today', customer: 'Luna Turner', amount: '$72.30', status: 'Pending' },\r\n { id: '#3022', date: 'Jan 22, 2022', name: 'Henry Hall', role: 'Business Analyst', level: 'Today', customer: 'Jack Phillips', amount: '$310.40', status: 'Completed' },\r\n { id: '#3023', date: 'Jan 23, 2022', name: 'Luna Allen', role: 'Fullstack Developer', level: 'Today', customer: 'Sofia Campbell', amount: '$145.00', status: 'Cancelled' },\r\n { id: '#3024', date: 'Jan 24, 2022', name: 'Jack Young', role: 'UX Researcher', level: 'Today', customer: 'David Parker', amount: '$260.70', status: 'Completed' },\r\n { id: '#3025', date: 'Jan 25, 2022', name: 'Sofia Hernandez', role: 'Mobile Developer', level: 'Today', customer: 'Grace Evans', amount: '$89.10', status: 'Pending' },\r\n { id: '#3026', date: 'Jan 26, 2022', name: 'David King', role: 'Data Analyst', level: 'Today', customer: 'Samuel Edwards', amount: '$410.90', status: 'Completed' },\r\n { id: '#3027', date: 'Jan 27, 2022', name: 'Grace Wright', role: 'Cloud Engineer', level: 'Today', customer: 'Chloe Collins', amount: '$130.55', status: 'Cancelled' },\r\n { id: '#3028', date: 'Jan 28, 2022', name: 'Samuel Scott', role: 'Security Engineer', level: 'Today', customer: 'Victoria Stewart', amount: '$555.00', status: 'Completed' },\r\n { id: '#3029', date: 'Jan 29, 2022', name: 'Chloe Green', role: 'Technical Lead', level: 'Today', customer: 'Nathan Morris', amount: '$205.25', status: 'Pending' },\r\n { id: '#3030', date: 'Jan 30, 2022', name: 'Nathan Adams', role: 'Scrum Master', level: 'Today', customer: 'Zoe Rogers', amount: '$320.80', status: 'Completed' },\r\n ]"
|
|
423
|
+
},
|
|
424
|
+
"tableHeaderConfig": {
|
|
425
|
+
"type": "unknown",
|
|
426
|
+
"mutable": false,
|
|
427
|
+
"complexType": {
|
|
428
|
+
"original": "{\r\n tableHeading: boolean;\r\n tableHeadingLabel: string;\r\n showDateFilter: boolean;\r\n showFilter: boolean;\r\n showColumnOptions: boolean;\r\n showSearch: boolean;\r\n showExport: boolean;\r\n showRefreshButton: boolean;\r\n datePickerMode: 'single' | 'range';\r\n }",
|
|
429
|
+
"resolved": "{ tableHeading: boolean; tableHeadingLabel: string; showDateFilter: boolean; showFilter: boolean; showColumnOptions: boolean; showSearch: boolean; showExport: boolean; showRefreshButton: boolean; datePickerMode: \"single\" | \"range\"; }",
|
|
430
|
+
"references": {}
|
|
431
|
+
},
|
|
432
|
+
"required": false,
|
|
433
|
+
"optional": false,
|
|
434
|
+
"docs": {
|
|
435
|
+
"tags": [],
|
|
436
|
+
"text": ""
|
|
437
|
+
},
|
|
438
|
+
"getter": false,
|
|
439
|
+
"setter": false,
|
|
440
|
+
"defaultValue": "{\r\n tableHeading: false,\r\n tableHeadingLabel: 'Suspicious outflows',\r\n showDateFilter: true,\r\n showFilter: true,\r\n showColumnOptions: true,\r\n showSearch: true,\r\n showExport: true,\r\n showRefreshButton: true,\r\n datePickerMode: 'single',\r\n }"
|
|
441
|
+
},
|
|
442
|
+
"paginationConfig": {
|
|
443
|
+
"type": "unknown",
|
|
444
|
+
"mutable": false,
|
|
445
|
+
"complexType": {
|
|
446
|
+
"original": "{\r\n paginationMode: 'internal' | 'external';\r\n entriesDropdownMenuPosition: 'top' | 'bottom';\r\n currentPage?: number;\r\n pageSize?: number;\r\n totalItems?: number;\r\n }",
|
|
447
|
+
"resolved": "{ paginationMode: \"external\" | \"internal\"; entriesDropdownMenuPosition: \"top\" | \"bottom\"; currentPage?: number; pageSize?: number; totalItems?: number; }",
|
|
448
|
+
"references": {}
|
|
449
|
+
},
|
|
450
|
+
"required": false,
|
|
451
|
+
"optional": false,
|
|
452
|
+
"docs": {
|
|
453
|
+
"tags": [],
|
|
454
|
+
"text": ""
|
|
455
|
+
},
|
|
456
|
+
"getter": false,
|
|
457
|
+
"setter": false,
|
|
458
|
+
"defaultValue": "{\r\n paginationMode: 'internal',\r\n entriesDropdownMenuPosition: 'top',\r\n currentPage: 1,\r\n pageSize: 10,\r\n totalItems: null,\r\n }"
|
|
459
|
+
},
|
|
460
|
+
"emptyStateConfig": {
|
|
461
|
+
"type": "unknown",
|
|
462
|
+
"mutable": false,
|
|
463
|
+
"complexType": {
|
|
464
|
+
"original": "{ mainText: string; supportingText?: string; color?: GeneralColors; illustrationIcon?: string; theme?: ThemeTypes; primaryButtonIcon?: string }",
|
|
465
|
+
"resolved": "{ mainText: string; supportingText?: string; color?: GeneralColors; illustrationIcon?: string; theme?: ThemeTypes; primaryButtonIcon?: string; }",
|
|
466
|
+
"references": {
|
|
467
|
+
"GeneralColors": {
|
|
468
|
+
"location": "import",
|
|
469
|
+
"path": "../../models/reusableModels",
|
|
470
|
+
"id": "src/models/reusableModels.ts::GeneralColors"
|
|
471
|
+
},
|
|
472
|
+
"ThemeTypes": {
|
|
473
|
+
"location": "import",
|
|
474
|
+
"path": "../../models/reusableModels",
|
|
475
|
+
"id": "src/models/reusableModels.ts::ThemeTypes"
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
},
|
|
479
|
+
"required": false,
|
|
480
|
+
"optional": false,
|
|
481
|
+
"docs": {
|
|
482
|
+
"tags": [],
|
|
483
|
+
"text": ""
|
|
484
|
+
},
|
|
485
|
+
"getter": false,
|
|
486
|
+
"setter": false,
|
|
487
|
+
"defaultValue": "{\r\n mainText: 'No data available',\r\n supportingText: 'Try adjusting your filters or check back later.',\r\n color: 'gray',\r\n illustrationIcon: 'assets/alert-circle.svg',\r\n theme: 'light',\r\n }"
|
|
488
|
+
},
|
|
489
|
+
"showActionsColumn": {
|
|
490
|
+
"type": "boolean",
|
|
491
|
+
"mutable": false,
|
|
492
|
+
"complexType": {
|
|
493
|
+
"original": "boolean",
|
|
494
|
+
"resolved": "boolean",
|
|
495
|
+
"references": {}
|
|
496
|
+
},
|
|
497
|
+
"required": false,
|
|
498
|
+
"optional": false,
|
|
499
|
+
"docs": {
|
|
500
|
+
"tags": [],
|
|
501
|
+
"text": ""
|
|
502
|
+
},
|
|
503
|
+
"getter": false,
|
|
504
|
+
"setter": false,
|
|
505
|
+
"reflect": false,
|
|
506
|
+
"attribute": "show-actions-column",
|
|
507
|
+
"defaultValue": "true"
|
|
197
508
|
},
|
|
198
509
|
"rowActions": {
|
|
199
510
|
"type": "unknown",
|
|
@@ -210,6 +521,30 @@ export class GbTable {
|
|
|
210
521
|
}
|
|
211
522
|
},
|
|
212
523
|
"required": false,
|
|
524
|
+
"optional": false,
|
|
525
|
+
"docs": {
|
|
526
|
+
"tags": [],
|
|
527
|
+
"text": ""
|
|
528
|
+
},
|
|
529
|
+
"getter": false,
|
|
530
|
+
"setter": false,
|
|
531
|
+
"defaultValue": "[\r\n { label: '', action: '', icon: 'assets/more-horizontal.svg', type: 'dropdown' },\r\n // { label: 'View Details', action: 'view_details', icon: 'assets/view.svg', type: 'button' },\r\n // { label: 'Edit', action: 'edit', icon: 'assets/pencil-edit-01.svg', type: 'button' },\r\n ]"
|
|
532
|
+
},
|
|
533
|
+
"dropdownOptions": {
|
|
534
|
+
"type": "unknown",
|
|
535
|
+
"mutable": false,
|
|
536
|
+
"complexType": {
|
|
537
|
+
"original": "DropdownOption[]",
|
|
538
|
+
"resolved": "DropdownOption[]",
|
|
539
|
+
"references": {
|
|
540
|
+
"DropdownOption": {
|
|
541
|
+
"location": "import",
|
|
542
|
+
"path": "../../models/reusableModels",
|
|
543
|
+
"id": "src/models/reusableModels.ts::DropdownOption"
|
|
544
|
+
}
|
|
545
|
+
}
|
|
546
|
+
},
|
|
547
|
+
"required": false,
|
|
213
548
|
"optional": true,
|
|
214
549
|
"docs": {
|
|
215
550
|
"tags": [],
|
|
@@ -217,7 +552,7 @@ export class GbTable {
|
|
|
217
552
|
},
|
|
218
553
|
"getter": false,
|
|
219
554
|
"setter": false,
|
|
220
|
-
"defaultValue": "[{ label: 'View', action: 'view', disabled: true }]"
|
|
555
|
+
"defaultValue": "[\r\n { label: 'View', action: 'view', icon: 'assets/view.svg', disabled: false },\r\n { label: 'Edit', action: 'edit', icon: 'assets/pencil-edit-01.svg', disabled: false },\r\n { label: 'Delete', action: 'delete', icon: 'assets/delete-02.svg', disabled: true },\r\n ]"
|
|
221
556
|
},
|
|
222
557
|
"stickyFirstColumn": {
|
|
223
558
|
"type": "boolean",
|
|
@@ -237,7 +572,7 @@ export class GbTable {
|
|
|
237
572
|
"setter": false,
|
|
238
573
|
"reflect": false,
|
|
239
574
|
"attribute": "sticky-first-column",
|
|
240
|
-
"defaultValue": "
|
|
575
|
+
"defaultValue": "true"
|
|
241
576
|
},
|
|
242
577
|
"stickyLastColumn": {
|
|
243
578
|
"type": "boolean",
|
|
@@ -278,12 +613,40 @@ export class GbTable {
|
|
|
278
613
|
"reflect": false,
|
|
279
614
|
"attribute": "actions-type",
|
|
280
615
|
"defaultValue": "'none'"
|
|
616
|
+
},
|
|
617
|
+
"showCheckbox": {
|
|
618
|
+
"type": "boolean",
|
|
619
|
+
"mutable": false,
|
|
620
|
+
"complexType": {
|
|
621
|
+
"original": "boolean",
|
|
622
|
+
"resolved": "boolean",
|
|
623
|
+
"references": {}
|
|
624
|
+
},
|
|
625
|
+
"required": false,
|
|
626
|
+
"optional": false,
|
|
627
|
+
"docs": {
|
|
628
|
+
"tags": [],
|
|
629
|
+
"text": ""
|
|
630
|
+
},
|
|
631
|
+
"getter": false,
|
|
632
|
+
"setter": false,
|
|
633
|
+
"reflect": false,
|
|
634
|
+
"attribute": "show-checkbox",
|
|
635
|
+
"defaultValue": "false"
|
|
281
636
|
}
|
|
282
637
|
};
|
|
283
638
|
}
|
|
284
639
|
static get states() {
|
|
285
640
|
return {
|
|
286
|
-
"
|
|
641
|
+
"internalCurrentPage": {},
|
|
642
|
+
"internalPageSize": {},
|
|
643
|
+
"openRowIndex": {},
|
|
644
|
+
"sortKey": {},
|
|
645
|
+
"sortDirection": {},
|
|
646
|
+
"selectedRowIds": {},
|
|
647
|
+
"breakpoint": {},
|
|
648
|
+
"isMobile": {},
|
|
649
|
+
"isScrollable": {}
|
|
287
650
|
};
|
|
288
651
|
}
|
|
289
652
|
static get events() {
|
|
@@ -317,6 +680,72 @@ export class GbTable {
|
|
|
317
680
|
"resolved": "{ pageSize: any; pageNumber: number; }",
|
|
318
681
|
"references": {}
|
|
319
682
|
}
|
|
683
|
+
}, {
|
|
684
|
+
"method": "selectionChanged",
|
|
685
|
+
"name": "selectionChanged",
|
|
686
|
+
"bubbles": true,
|
|
687
|
+
"cancelable": true,
|
|
688
|
+
"composed": true,
|
|
689
|
+
"docs": {
|
|
690
|
+
"tags": [],
|
|
691
|
+
"text": ""
|
|
692
|
+
},
|
|
693
|
+
"complexType": {
|
|
694
|
+
"original": "any[]",
|
|
695
|
+
"resolved": "any[]",
|
|
696
|
+
"references": {}
|
|
697
|
+
}
|
|
698
|
+
}, {
|
|
699
|
+
"method": "inputValueChanged",
|
|
700
|
+
"name": "inputValueChanged",
|
|
701
|
+
"bubbles": true,
|
|
702
|
+
"cancelable": true,
|
|
703
|
+
"composed": true,
|
|
704
|
+
"docs": {
|
|
705
|
+
"tags": [],
|
|
706
|
+
"text": ""
|
|
707
|
+
},
|
|
708
|
+
"complexType": {
|
|
709
|
+
"original": "void",
|
|
710
|
+
"resolved": "void",
|
|
711
|
+
"references": {}
|
|
712
|
+
}
|
|
713
|
+
}, {
|
|
714
|
+
"method": "dateChange",
|
|
715
|
+
"name": "dateChange",
|
|
716
|
+
"bubbles": true,
|
|
717
|
+
"cancelable": true,
|
|
718
|
+
"composed": true,
|
|
719
|
+
"docs": {
|
|
720
|
+
"tags": [],
|
|
721
|
+
"text": ""
|
|
722
|
+
},
|
|
723
|
+
"complexType": {
|
|
724
|
+
"original": "string | string[]",
|
|
725
|
+
"resolved": "string | string[]",
|
|
726
|
+
"references": {}
|
|
727
|
+
}
|
|
728
|
+
}];
|
|
729
|
+
}
|
|
730
|
+
static get watchers() {
|
|
731
|
+
return [{
|
|
732
|
+
"propName": "data",
|
|
733
|
+
"methodName": "onDataChange"
|
|
734
|
+
}, {
|
|
735
|
+
"propName": "totalItems",
|
|
736
|
+
"methodName": "onTotalItemsChange"
|
|
737
|
+
}, {
|
|
738
|
+
"propName": "columns",
|
|
739
|
+
"methodName": "validateMobilePositions"
|
|
740
|
+
}];
|
|
741
|
+
}
|
|
742
|
+
static get listeners() {
|
|
743
|
+
return [{
|
|
744
|
+
"name": "resize",
|
|
745
|
+
"method": "checkViewport",
|
|
746
|
+
"target": "window",
|
|
747
|
+
"capture": false,
|
|
748
|
+
"passive": true
|
|
320
749
|
}];
|
|
321
750
|
}
|
|
322
751
|
}
|