@paperless/core 1.45.0 → 1.47.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/CHANGELOG.md +19 -0
- package/dist/{paperless/p-cc1dbf8c.entry.js → build/p-6f24685c.entry.js} +2 -2
- package/dist/build/p-6f24685c.entry.js.map +1 -0
- package/dist/build/{p-80c33f56.entry.js → p-cd2f0e4f.entry.js} +2 -2
- package/dist/build/p-cd2f0e4f.entry.js.map +1 -0
- package/dist/build/paperless.esm.js +1 -1
- package/dist/build/paperless.esm.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/p-table-row-action.cjs.entry.js +1 -0
- package/dist/cjs/p-table-row-action.cjs.entry.js.map +1 -1
- package/dist/cjs/p-table.cjs.entry.js +5 -1
- package/dist/cjs/p-table.cjs.entry.js.map +1 -1
- package/dist/cjs/paperless.cjs.js +1 -1
- package/dist/collection/components/helpers/table-row-action/table-row-action.component.js +22 -0
- package/dist/collection/components/helpers/table-row-action/table-row-action.component.js.map +1 -1
- package/dist/collection/components/organisms/table/table.component.js +5 -1
- package/dist/collection/components/organisms/table/table.component.js.map +1 -1
- package/dist/components/p-table-row-action.js +3 -1
- package/dist/components/p-table-row-action.js.map +1 -1
- package/dist/components/p-table.js +5 -1
- package/dist/components/p-table.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/p-table-row-action.entry.js +1 -0
- package/dist/esm/p-table-row-action.entry.js.map +1 -1
- package/dist/esm/p-table.entry.js +5 -1
- package/dist/esm/p-table.entry.js.map +1 -1
- package/dist/esm/paperless.js +1 -1
- package/dist/index.html +1 -1
- package/dist/{build/p-cc1dbf8c.entry.js → paperless/p-6f24685c.entry.js} +2 -2
- package/dist/paperless/p-6f24685c.entry.js.map +1 -0
- package/dist/paperless/{p-80c33f56.entry.js → p-cd2f0e4f.entry.js} +2 -2
- package/dist/paperless/p-cd2f0e4f.entry.js.map +1 -0
- package/dist/paperless/paperless.esm.js +1 -1
- package/dist/paperless/paperless.esm.js.map +1 -1
- package/dist/sw.js +1 -1
- package/dist/sw.js.map +1 -1
- package/dist/types/components/helpers/table-row-action/table-row-action.component.d.ts +7 -0
- package/dist/types/components.d.ts +10 -2
- package/hydrate/index.js +8 -2
- package/package.json +1 -1
- package/dist/build/p-80c33f56.entry.js.map +0 -1
- package/dist/build/p-cc1dbf8c.entry.js.map +0 -1
- package/dist/paperless/p-80c33f56.entry.js.map +0 -1
- package/dist/paperless/p-cc1dbf8c.entry.js.map +0 -1
|
@@ -3,6 +3,9 @@ export type TableRowActionFunc = {
|
|
|
3
3
|
(item: any, multi: false): void;
|
|
4
4
|
(item: any[], multi: true): void;
|
|
5
5
|
};
|
|
6
|
+
export type TableRowActionShowFunc = {
|
|
7
|
+
(item: any): boolean;
|
|
8
|
+
};
|
|
6
9
|
export declare class TableRowAction {
|
|
7
10
|
/**
|
|
8
11
|
* The type of action
|
|
@@ -43,5 +46,9 @@ export declare class TableRowAction {
|
|
|
43
46
|
* Wether the action is loading
|
|
44
47
|
*/
|
|
45
48
|
loading: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* A function for row actions of type "single" or "both" that determines if the action is shown on the row
|
|
51
|
+
*/
|
|
52
|
+
showFunction: TableRowActionShowFunc;
|
|
46
53
|
render(): void;
|
|
47
54
|
}
|
|
@@ -19,7 +19,7 @@ import { IconFlipOptions as IconFlipOptions2, IconVariant as IconVariant2, Rotat
|
|
|
19
19
|
import { buttonTemplateFunc } from "./components/molecules/table-header/table-header.component";
|
|
20
20
|
import { TableColumn } from "./components/helpers/table-column/table-column.component";
|
|
21
21
|
import { buttonTemplateFunc as buttonTemplateFunc1, templateFunc as templateFunc2 } from "./components/molecules/table-header/table-header.component";
|
|
22
|
-
import { TableRowActionFunc } from "./components/helpers/table-row-action/table-row-action.component";
|
|
22
|
+
import { TableRowActionFunc, TableRowActionShowFunc } from "./components/helpers/table-row-action/table-row-action.component";
|
|
23
23
|
export { IconFlipOptions, IconVariant } from "./components/atoms/icon/icon.component";
|
|
24
24
|
export { RotateOptions, TextSizeOptions } from "./types/tailwind";
|
|
25
25
|
export { Placement, Strategy } from "@floating-ui/dom";
|
|
@@ -34,7 +34,7 @@ export { IconFlipOptions as IconFlipOptions2, IconVariant as IconVariant2, Rotat
|
|
|
34
34
|
export { buttonTemplateFunc } from "./components/molecules/table-header/table-header.component";
|
|
35
35
|
export { TableColumn } from "./components/helpers/table-column/table-column.component";
|
|
36
36
|
export { buttonTemplateFunc as buttonTemplateFunc1, templateFunc as templateFunc2 } from "./components/molecules/table-header/table-header.component";
|
|
37
|
-
export { TableRowActionFunc } from "./components/helpers/table-row-action/table-row-action.component";
|
|
37
|
+
export { TableRowActionFunc, TableRowActionShowFunc } from "./components/helpers/table-row-action/table-row-action.component";
|
|
38
38
|
export namespace Components {
|
|
39
39
|
interface PAccordion {
|
|
40
40
|
/**
|
|
@@ -1509,6 +1509,10 @@ export namespace Components {
|
|
|
1509
1509
|
* Wether the action is loading
|
|
1510
1510
|
*/
|
|
1511
1511
|
"loading": boolean;
|
|
1512
|
+
/**
|
|
1513
|
+
* A function for row actions of type "single" or "both" that determines if the action is shown on the row
|
|
1514
|
+
*/
|
|
1515
|
+
"showFunction": TableRowActionShowFunc;
|
|
1512
1516
|
/**
|
|
1513
1517
|
* The type of action mutli = Only multi select action single = Only an action on the row both = Action on both locations
|
|
1514
1518
|
*/
|
|
@@ -3777,6 +3781,10 @@ declare namespace LocalJSX {
|
|
|
3777
3781
|
* Wether the action is loading
|
|
3778
3782
|
*/
|
|
3779
3783
|
"loading"?: boolean;
|
|
3784
|
+
/**
|
|
3785
|
+
* A function for row actions of type "single" or "both" that determines if the action is shown on the row
|
|
3786
|
+
*/
|
|
3787
|
+
"showFunction"?: TableRowActionShowFunc;
|
|
3780
3788
|
/**
|
|
3781
3789
|
* The type of action mutli = Only multi select action single = Only an action on the row both = Action on both locations
|
|
3782
3790
|
*/
|
package/hydrate/index.js
CHANGED
|
@@ -21860,7 +21860,11 @@ class Table {
|
|
|
21860
21860
|
});
|
|
21861
21861
|
if (((_a = this._rowActionsRow) === null || _a === void 0 ? void 0 : _a.length) && !isMobile()) {
|
|
21862
21862
|
const lastDef = this._columns[this._columns.length - 1];
|
|
21863
|
-
|
|
21863
|
+
const actions = this._rowActionsRow.filter((a) => a.showFunction ? a.showFunction(item) : true);
|
|
21864
|
+
if (!actions.length) {
|
|
21865
|
+
return columns;
|
|
21866
|
+
}
|
|
21867
|
+
columns.push(hAsync("p-table-cell", { variant: "actions", definition: lastDef, item: item, index: this._columns.length - 1, rowIndex: index, tableHasActions: !!this._rowActionsRow.length }, hAsync("div", { slot: "actions", class: "flex ml-auto gap-2 items-center" }, actions.map((a) => (hAsync("p-tooltip", { content: a.label }, hAsync("p-button", { "data-is-action": true, variant: "secondary", slot: "trigger", icon: a.icon, iconRotate: a.iconRotate, iconFlip: a.iconFlip, iconOnly: true, size: "small", onClick: () => {
|
|
21864
21868
|
var _a;
|
|
21865
21869
|
return typeof a.action === 'function' &&
|
|
21866
21870
|
((_a = a.action) === null || _a === void 0 ? void 0 : _a.call(a, item, false));
|
|
@@ -23488,6 +23492,7 @@ class TableRowAction {
|
|
|
23488
23492
|
this.action = undefined;
|
|
23489
23493
|
this.disabled = false;
|
|
23490
23494
|
this.loading = false;
|
|
23495
|
+
this.showFunction = undefined;
|
|
23491
23496
|
}
|
|
23492
23497
|
render() {
|
|
23493
23498
|
return;
|
|
@@ -23504,7 +23509,8 @@ class TableRowAction {
|
|
|
23504
23509
|
"label": [1],
|
|
23505
23510
|
"action": [16],
|
|
23506
23511
|
"disabled": [4],
|
|
23507
|
-
"loading": [4]
|
|
23512
|
+
"loading": [4],
|
|
23513
|
+
"showFunction": [16]
|
|
23508
23514
|
},
|
|
23509
23515
|
"$listeners$": undefined,
|
|
23510
23516
|
"$lazyBundleId$": "-",
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["tableComponentCss","Table","this","_ctrlDown","_hasCustomFilterSlot","_floatingMenuShown","amount","formatTranslation","_c","_a","_locales","floating_menu","amount_selected","_b","amount_selected_plural","replace","defaultSize","defaultSizeOptions","empty_state","no_filter","header","content","action","filtered","enableRowSelection","componentWillLoad","_el","querySelector","_setRowSelectionData","_setLocales","_parseItems","items","_generateColumns","componentDidRender","hasRendered","emit","render","h","Host","class","shadow","enableHeader","quickFilters","activeQuickFilterIdentifier","onQuickFilter","detail","quickFilter","enableSearch","query","onQueryChange","queryChange","enableFilter","selectedFiltersAmount","filterButtonTemplate","onFilter","filter","enableAction","actionIcon","actionButtonIcon","actionText","actionButtonText","actionLoading","actionButtonLoading","canUseAction","actionButtonEnabled","actionButtonTemplate","onAction","itemsSelectedAmount","selectedRows","length","loading","headerLoading","name","slot","_getHeader","_getRows","enableFooter","hideOnSinglePage","enablePageSize","pageSize","pageSizeOptions","onPageSizeChange","pageSizeChange","enablePagination","page","total","onPageChange","pageChange","enableExport","onExport","export","footerLoading","enableFloatingMenu","_enableRowSelection","usedInTable","hover","_rowActionsFloating","floatingMenuAmountSelectedTemplate","_d","_e","variant","_f","map","a","disabled","onClick","type","label","icon","rotate","iconRotate","flip","iconFlip","_g","_selectAllChange","getLocaleComponentStrings","onTableDefinitionUpdated","keyDown","key","keyUp","visibilityChange","document","visibilityState","_items","Array","isArray","JSON","parse","_resizeTimeout","clearTimeout","setTimeout","mobile","isMobile","actions","from","querySelectorAll","_rowActionsRow","rowSelectionLimit","undefined","_rowSelectionLimit","definitions","definitionsArray","_columns","col","index","definition","value","checkbox","hasCheckbox","_getCheckbox","amountOfLoadingRows","_","i","enableHover","enableRowClick","_getLoadingColumns","_getEmptyState","item","ev","_rowClick","_getRowColumns","columns","colIndex","rowIndex","tableHasActions","lastDef","push","iconOnly","size","call","selectionKey","onChange","checked","_selectionContainsAll","indeterminate","_selectionIndeterminate","selectionContains","_selectionContains","_checkboxChange","target","canSelectKey","emptyStateFilteredHeader","emptyStateFilteredContent","enableEmptyStateAction","emptyStateActionClick","emptyStateHeader","emptyStateContent","emptyStateAction","$event","forceValue","_getCheckedValue","toAdd","row","rowSelected","selectedRowsChange","find","d","_getSelectionValue","rowDeselected","indexOfToRemove","selection","splice","returnIndex","returnValue","findIndex","contains","containsCount","tagName","toLowerCase","_findRow","_findRowAction","rowClick","ctrlDown","el","parentElement","getAttribute"],"sources":["src/components/organisms/table/table.component.scss?tag=p-table","src/components/organisms/table/table.component.tsx"],"sourcesContent":["p-table {\n\t@apply relative flex flex-col;\n\n\t.p-input[type='checkbox'] {\n\t\tflex-shrink: 0;\n\t}\n\n\tp-table-container {\n\t\t@apply relative;\n\n\t\tp-floating-menu-container {\n\t\t\t@apply fixed bottom-4 left-1/2 -translate-x-1/2 transform;\n\t\t\tanimation: forwards floatingMenuContainerIn 0.3s ease !important;\n\n\t\t\t@screen tablet {\n\t\t\t\t@apply absolute bottom-16;\n\t\t\t}\n\n\t\t\t&:not(.shown) {\n\t\t\t\t@apply hidden;\n\t\t\t}\n\n\t\t\t&.inactive {\n\t\t\t\tanimation: forwards floatingMenuContainerOut 0.3s ease !important;\n\t\t\t}\n\t\t}\n\t}\n}\n\n@keyframes floatingMenuContainerOut {\n\t0% {\n\t\tdisplay: flex;\n\t\ttransform: translateY(0) translateX(-50%);\n\t\topacity: 100;\n\t}\n\t99% {\n\t\ttransform: translateY(100%) translateX(-50%);\n\t\topacity: 0;\n\t\tdisplay: flex;\n\t}\n\t100% {\n\t\ttransform: translateY(100%) translateX(-50%);\n\t\topacity: 0;\n\t\tdisplay: none;\n\t}\n}\n\n@keyframes floatingMenuContainerIn {\n\t0% {\n\t\ttransform: translateY(100%) translateX(-50%);\n\t\topacity: 0;\n\t\tdisplay: none;\n\t}\n\t1% {\n\t\ttransform: translateY(100%) translateX(-50%);\n\t\topacity: 0;\n\t\tdisplay: flex;\n\t}\n\t100% {\n\t\ttransform: translateY(0) translateX(-50%);\n\t\topacity: 100;\n\t\tdisplay: flex;\n\t}\n}\n","import {\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tState,\n\tWatch,\n} from '@stencil/core';\nimport { IconVariant } from '../../../components';\nimport { QuickFilter, RowClickEvent } from '../../../types/table';\nimport {\n\tformatTranslation,\n\tgetLocaleComponentStrings,\n\tisMobile,\n} from '../../../utils';\nimport { TableColumn } from '../../helpers/table-column/table-column.component';\nimport {\n\tdefaultSize,\n\tdefaultSizeOptions,\n} from '../../molecules/page-size-select/constants';\nimport { buttonTemplateFunc } from '../../molecules/table-header/table-header.component';\nimport { TableRowAction } from '../../helpers/table-row-action/table-row-action.component';\n\nexport type templateFunc = () => string;\nexport type amountSelectedTemplateFunc = (amount: number) => string;\n\n@Component({\n\ttag: 'p-table',\n\tstyleUrl: 'table.component.scss',\n})\nexport class Table {\n\t/**\n\t * The items to be fed to the table\n\t */\n\t@Prop() items: string;\n\n\t/**\n\t * Wether data is loading\n\t */\n\t@Prop() loading: boolean = false;\n\n\t/**\n\t * Wether the header should show loading state\n\t */\n\t@Prop() headerLoading: boolean = false;\n\n\t/**\n\t * Wether the footer should show loading state\n\t */\n\t@Prop() footerLoading: boolean = false;\n\n\t/**\n\t * The amount of loading rows to show\n\t */\n\t@Prop() amountOfLoadingRows: number = 6;\n\n\t/**\n\t * Wether to enable selection\n\t */\n\t@Prop() enableRowSelection: boolean = true;\n\n\t/**\n\t * A limit to the amount of rows that can be selected\n\t */\n\t@Prop() rowSelectionLimit: number | undefined;\n\n\t/**\n\t * Wether to enable row clicking\n\t */\n\t@Prop() enableRowClick: boolean = true;\n\n\t/**\n\t * The current selection of items\n\t */\n\t@Prop() selectedRows: any[] = [];\n\n\t/**\n\t * Wether to enable the floating menu\n\t */\n\t@Prop() enableFloatingMenu: boolean = true;\n\n\t/**\n\t * The template for amount selected item in the floating menu\n\t */\n\t@Prop() floatingMenuAmountSelectedTemplate: amountSelectedTemplateFunc = (\n\t\tamount: number\n\t) =>\n\t\tformatTranslation(\n\t\t\t(amount === 1\n\t\t\t\t? this._locales.floating_menu?.amount_selected\n\t\t\t\t: this._locales.floating_menu?.amount_selected_plural\n\t\t\t)?.replace('{{amount}}', amount)\n\t\t);\n\n\t/**\n\t * Event whenever the current selection changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tselectedRowsChange: EventEmitter<any>;\n\n\t/**\n\t * The key to determine if a row is selected\n\t */\n\t@Prop() selectionKey: string;\n\n\t/**\n\t * A key to determine if a row can be selected\n\t */\n\t@Prop() canSelectKey: string;\n\n\t/**\n\t * Event whenever a row is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\trowClick: EventEmitter<RowClickEvent>;\n\n\t/**\n\t * Event whenever a row is selected\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\trowSelected: EventEmitter<any>;\n\n\t/**\n\t * Event whenever a row is deselected\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\trowDeselected: EventEmitter<any>;\n\n\t/**\n\t * Event when the table has rendered\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\thasRendered: EventEmitter<number>;\n\n\t/** START HEADER */\n\n\t/**\n\t * Wether to show the header\n\t */\n\t@Prop() enableHeader: boolean = true;\n\n\t/**\n\t * Quick filters to show\n\t */\n\t@Prop() quickFilters: QuickFilter[] = [];\n\n\t/**\n\t * Active quick filter identifier\n\t */\n\t@Prop() activeQuickFilterIdentifier: string;\n\n\t/**\n\t * Wether to show the search input\n\t */\n\t@Prop() enableSearch: boolean = true;\n\n\t/**\n\t * The query to show in the search bar\n\t */\n\t@Prop({ mutable: true }) query: string;\n\n\t/**\n\t * Wether to show the filter button\n\t */\n\t@Prop() enableFilter: boolean = true;\n\n\t/**\n\t * The amount of filters being selected\n\t */\n\t@Prop() selectedFiltersAmount: number;\n\n\t/**\n\t * The template for the filter button text\n\t */\n\t@Prop() filterButtonTemplate: templateFunc;\n\n\t/**\n\t * Wether to show the action button\n\t */\n\t@Prop() enableAction: boolean = false;\n\n\t/**\n\t * Wether the action button is loading\n\t */\n\t@Prop() actionButtonLoading: boolean = false;\n\n\t/**\n\t * Wether the action button is enabled\n\t */\n\t@Prop() actionButtonEnabled: boolean = false;\n\n\t/**\n\t * The action button icon\n\t */\n\t@Prop() actionButtonIcon: IconVariant = 'pencil';\n\n\t/**\n\t * The action button text if changed\n\t */\n\t@Prop() actionButtonText: string;\n\n\t/**\n\t * The template for the action button text\n\t */\n\t@Prop() actionButtonTemplate: buttonTemplateFunc;\n\n\t/**\n\t * Event when one of the quick filters is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tquickFilter: EventEmitter<QuickFilter>;\n\n\t/**\n\t * Event when the query changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tqueryChange: EventEmitter<string>;\n\n\t/**\n\t * Event when the filter button is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tfilter: EventEmitter<null>;\n\n\t/**\n\t * Event when the action button is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\taction: EventEmitter<null>;\n\n\t/** START FOOTER */\n\n\t/**\n\t * Wether to show the header\n\t */\n\t@Prop() enableFooter: boolean = true;\n\n\t/**\n\t * Wether to enable page size select\n\t */\n\t@Prop() enablePageSize: boolean = true;\n\n\t/**\n\t * Wether to enable pagination\n\t */\n\t@Prop() enablePagination: boolean = true;\n\n\t/**\n\t * Wether to enable export\n\t */\n\t@Prop() enableExport: boolean = true;\n\n\t/**\n\t * The current page\n\t */\n\t@Prop({ mutable: true, reflect: true }) page: number = 1;\n\n\t/**\n\t * The total amount of items\n\t */\n\t@Prop() total!: number;\n\n\t/**\n\t * Event whenever the page changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tpageChange: EventEmitter<number>;\n\n\t/**\n\t * The amount of items per page\n\t */\n\t@Prop() pageSize: number = defaultSize;\n\n\t/**\n\t * The options for the page size\n\t */\n\t@Prop() pageSizeOptions: number[] = defaultSizeOptions;\n\n\t/**\n\t * Event whenever the page changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tpageSizeChange: EventEmitter<number>;\n\n\t/**\n\t * Event whenever the page changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\texport: EventEmitter<number>;\n\n\t/**\n\t * Wether to hide when there is only 1 page available\n\t */\n\t@Prop() hideOnSinglePage: boolean = true;\n\n\t/* Empty state start */\n\t@Prop() emptyStateHeader: templateFunc = () =>\n\t\tformatTranslation(this._locales.empty_state?.no_filter.header);\n\t@Prop() emptyStateContent: templateFunc = () =>\n\t\tformatTranslation(this._locales.empty_state?.no_filter.content);\n\t@Prop() emptyStateAction: templateFunc = () =>\n\t\tformatTranslation(this._locales.empty_state?.no_filter.action);\n\t/**\n\t * Wether to enable empty state action\n\t */\n\t@Prop() enableEmptyStateAction: boolean = true;\n\n\t@Prop() emptyStateFilteredHeader: templateFunc = () =>\n\t\tformatTranslation(this._locales.empty_state.filtered.header);\n\t@Prop() emptyStateFilteredContent: templateFunc = () =>\n\t\tformatTranslation(this._locales.empty_state.filtered.content);\n\n\t/**\n\t * Event whenever the empty state is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\temptyStateActionClick: EventEmitter<null>;\n\n\t/*\n\t * Wether to show the shadow or not\n\t */\n\t@Prop() shadow: boolean = true;\n\n\t/* Empty state end */\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t/**\n\t * Locales used for this component\n\t */\n\t@State() private _locales: any = {};\n\n\t@State() private _columns: any[] = [];\n\t@State() private _items: any[] = [];\n\n\t@State() private _enableRowSelection: boolean = this.enableRowSelection;\n\t@State() private _rowSelectionLimit: number | undefined;\n\n\t@State() private _rowActionsFloating: TableRowAction[] = [];\n\t@State() private _rowActionsRow: TableRowAction[] = [];\n\n\tprivate _ctrlDown = false;\n\tprivate _hasCustomFilterSlot = false;\n\tprivate _floatingMenuShown = false;\n\tprivate _resizeTimeout: NodeJS.Timer;\n\n\tcomponentWillLoad() {\n\t\tthis._hasCustomFilterSlot = !!this._el.querySelector(\n\t\t\t':scope > [slot=\"custom-filter\"]'\n\t\t);\n\n\t\tthis._setRowSelectionData();\n\n\t\tthis._setLocales();\n\t\tthis._parseItems(this.items);\n\t\tthis._generateColumns();\n\t}\n\n\tcomponentDidRender() {\n\t\tthis.hasRendered.emit();\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class=\"p-table\">\n\t\t\t\t<p-table-container shadow={this.shadow}>\n\t\t\t\t\t{this.enableHeader && (\n\t\t\t\t\t\t<p-table-header\n\t\t\t\t\t\t\t// quick filters\n\t\t\t\t\t\t\tquickFilters={this.quickFilters}\n\t\t\t\t\t\t\tactiveQuickFilterIdentifier={\n\t\t\t\t\t\t\t\tthis.activeQuickFilterIdentifier\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonQuickFilter={({ detail }) =>\n\t\t\t\t\t\t\t\tthis.quickFilter.emit(detail)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// search\n\t\t\t\t\t\t\tenableSearch={this.enableSearch}\n\t\t\t\t\t\t\tquery={this.query}\n\t\t\t\t\t\t\tonQueryChange={({ detail }) =>\n\t\t\t\t\t\t\t\tthis.queryChange.emit(detail)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// filter button\n\t\t\t\t\t\t\tenableFilter={this.enableFilter}\n\t\t\t\t\t\t\tselectedFiltersAmount={this.selectedFiltersAmount}\n\t\t\t\t\t\t\tfilterButtonTemplate={this.filterButtonTemplate}\n\t\t\t\t\t\t\tonFilter={() => this.filter.emit()}\n\t\t\t\t\t\t\t// action button\n\t\t\t\t\t\t\tenableAction={this.enableAction}\n\t\t\t\t\t\t\tactionIcon={this.actionButtonIcon}\n\t\t\t\t\t\t\tactionText={this.actionButtonText}\n\t\t\t\t\t\t\tactionLoading={this.actionButtonLoading}\n\t\t\t\t\t\t\tcanUseAction={this.actionButtonEnabled}\n\t\t\t\t\t\t\tactionButtonTemplate={this.actionButtonTemplate}\n\t\t\t\t\t\t\tonAction={() => this.action.emit()}\n\t\t\t\t\t\t\titemsSelectedAmount={this.selectedRows?.length}\n\t\t\t\t\t\t\t//loading\n\t\t\t\t\t\t\tloading={this.headerLoading}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this._hasCustomFilterSlot && (\n\t\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t\tname=\"custom-filter\"\n\t\t\t\t\t\t\t\t\tslot=\"custom-filter\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</p-table-header>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{this._getHeader()}\n\t\t\t\t\t<div class=\"flex flex-col flex-1\">{this._getRows()}</div>\n\n\t\t\t\t\t{this.enableFooter && (\n\t\t\t\t\t\t<p-table-footer\n\t\t\t\t\t\t\t// overall\n\t\t\t\t\t\t\thideOnSinglePage={this.hideOnSinglePage}\n\t\t\t\t\t\t\t// page size select\n\t\t\t\t\t\t\tenablePageSize={this.enablePageSize}\n\t\t\t\t\t\t\tpageSize={this.pageSize}\n\t\t\t\t\t\t\tpageSizeOptions={this.pageSizeOptions}\n\t\t\t\t\t\t\tonPageSizeChange={({ detail }) =>\n\t\t\t\t\t\t\t\tthis.pageSizeChange.emit(detail)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// pagination\n\t\t\t\t\t\t\tenablePagination={this.enablePagination}\n\t\t\t\t\t\t\tpage={this.page}\n\t\t\t\t\t\t\ttotal={this.total}\n\t\t\t\t\t\t\tonPageChange={({ detail }) =>\n\t\t\t\t\t\t\t\tthis.pageChange.emit(detail)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// export\n\t\t\t\t\t\t\tenableExport={this.enableExport}\n\t\t\t\t\t\t\tonExport={() => this.export.emit()}\n\t\t\t\t\t\t\t//loading\n\t\t\t\t\t\t\tloading={this.footerLoading}\n\t\t\t\t\t\t></p-table-footer>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{this.enableFloatingMenu && this._enableRowSelection ? (\n\t\t\t\t\t\t<p-floating-menu-container\n\t\t\t\t\t\t\tusedInTable={true}\n\t\t\t\t\t\t\tclass={`${\n\t\t\t\t\t\t\t\tthis.selectedRows?.length ? '' : 'inactive'\n\t\t\t\t\t\t\t} ${this._floatingMenuShown ? 'shown' : ''}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<p-floating-menu-item\n\t\t\t\t\t\t\t\thover={false}\n\t\t\t\t\t\t\t\tslot=\"floating-menu-item\"\n\t\t\t\t\t\t\t\tclass={\n\t\t\t\t\t\t\t\t\tthis._rowActionsFloating?.length\n\t\t\t\t\t\t\t\t\t\t? 'hidden tablet:flex'\n\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this.floatingMenuAmountSelectedTemplate(\n\t\t\t\t\t\t\t\t\tthis.selectedRows?.length\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</p-floating-menu-item>\n\t\t\t\t\t\t\t<p-divider\n\t\t\t\t\t\t\t\tclass={`mx-0 text-storm ${\n\t\t\t\t\t\t\t\t\tthis._rowActionsFloating?.length\n\t\t\t\t\t\t\t\t\t\t? 'hidden tablet:flex'\n\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\tvariant=\"vertical\"\n\t\t\t\t\t\t\t\tslot=\"floating-menu-item\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{this._rowActionsFloating?.length &&\n\t\t\t\t\t\t\t\tthis._rowActionsFloating.map((a) => (\n\t\t\t\t\t\t\t\t\t<p-floating-menu-item\n\t\t\t\t\t\t\t\t\t\tslot=\"floating-menu-item\"\n\t\t\t\t\t\t\t\t\t\tdisabled={a.disabled}\n\t\t\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\t\t\t!a.disabled &&\n\t\t\t\t\t\t\t\t\t\t\t!a.loading &&\n\t\t\t\t\t\t\t\t\t\t\t!!a.action &&\n\t\t\t\t\t\t\t\t\t\t\ta.type === 'single'\n\t\t\t\t\t\t\t\t\t\t\t\t? a.action(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.selectedRows[0],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t: a.action(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.selectedRows,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{a.label}{' '}\n\t\t\t\t\t\t\t\t\t\t{a.loading ? (\n\t\t\t\t\t\t\t\t\t\t\t<p-loader></p-loader>\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\t\t\t\t\t\tvariant={a.icon}\n\t\t\t\t\t\t\t\t\t\t\t\trotate={a.iconRotate}\n\t\t\t\t\t\t\t\t\t\t\t\tflip={a.iconFlip}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</p-floating-menu-item>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t{this._rowActionsFloating?.length && (\n\t\t\t\t\t\t\t\t<p-divider\n\t\t\t\t\t\t\t\t\tclass=\"mx-0 text-storm\"\n\t\t\t\t\t\t\t\t\tvariant=\"vertical\"\n\t\t\t\t\t\t\t\t\tslot=\"floating-menu-item\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<p-floating-menu-item\n\t\t\t\t\t\t\t\tslot=\"floating-menu-item\"\n\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\tthis._selectAllChange(null, false)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<p-icon variant=\"negative\" />\n\t\t\t\t\t\t\t</p-floating-menu-item>\n\t\t\t\t\t\t</p-floating-menu-container>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t''\n\t\t\t\t\t)}\n\t\t\t\t</p-table-container>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('localeChanged', { target: 'body' })\n\tprivate async _setLocales(): Promise<void> {\n\t\tthis._locales = await getLocaleComponentStrings(this._el);\n\t}\n\n\t@Listen('tableDefinitionChanged', { target: 'body' })\n\tonTableDefinitionUpdated() {\n\t\tthis._generateColumns();\n\t}\n\n\t@Listen('keydown', { target: 'document' })\n\tkeyDown({ key }) {\n\t\tif (key !== 'Control' || this._ctrlDown === true) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._ctrlDown = true;\n\t}\n\n\t@Listen('keyup', { target: 'document' })\n\tkeyUp({ key }) {\n\t\tif (key !== 'Control' || this._ctrlDown === false) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._ctrlDown = false;\n\t}\n\n\t@Listen('visibilitychange', { target: 'document' })\n\tvisibilityChange() {\n\t\tif (document.visibilityState !== 'hidden' || this._ctrlDown === false) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._ctrlDown = false;\n\t}\n\n\t@Watch('items')\n\tprivate _parseItems(items: string) {\n\t\tif (!items) {\n\t\t\tthis._items = [];\n\t\t\treturn;\n\t\t}\n\n\t\tif (Array.isArray(items)) {\n\t\t\tthis._items = items;\n\t\t\treturn;\n\t\t}\n\n\t\tthis._items = JSON.parse(items);\n\t}\n\n\t@Watch('enableRowSelection')\n\t@Watch('rowSelectionLimit')\n\t@Watch('selectedRows')\n\t@Listen('resize', { target: 'window' })\n\tprivate _setRowSelectionData() {\n\t\tif (this._resizeTimeout) {\n\t\t\tclearTimeout(this._resizeTimeout);\n\t\t}\n\n\t\t// We add a timeout here because it's a lot easier on the machine to do these when someone is done\n\t\t// resizing and playing around with their browser\n\t\tthis._resizeTimeout = setTimeout(() => {\n\t\t\tconst mobile = isMobile();\n\n\t\t\t// we hack this to any[] to make it work..\n\t\t\tconst actions = Array.from(\n\t\t\t\tthis._el.querySelectorAll(':scope > p-table-row-action')\n\t\t\t) as any[] as TableRowAction[];\n\t\t\tthis._rowActionsRow = actions.filter(\n\t\t\t\t(a) => a.type === 'both' || a.type === 'single'\n\t\t\t);\n\t\t\tthis._rowActionsFloating = actions\n\t\t\t\t.filter(\n\t\t\t\t\t(a) => a.type === 'both' || a.type === 'multi' || mobile\n\t\t\t\t)\n\t\t\t\t.map((a) => {\n\t\t\t\t\tif (a.type === 'single') {\n\t\t\t\t\t\ta.disabled = this.selectedRows?.length > 1;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn a;\n\t\t\t\t});\n\n\t\t\tlet rowSelectionLimit = this.rowSelectionLimit;\n\t\t\tif (\n\t\t\t\tmobile && // we're mobile\n\t\t\t\tthis._rowActionsFloating?.length && // we have atleast 1 item in _rowActionsFloating\n\t\t\t\t((rowSelectionLimit !== undefined && this.enableRowSelection) ||\n\t\t\t\t\t!this.enableRowSelection)\n\t\t\t) {\n\t\t\t\trowSelectionLimit = 1;\n\t\t\t}\n\n\t\t\tthis._rowSelectionLimit = rowSelectionLimit;\n\n\t\t\tlet enableRowSelection = this.enableRowSelection;\n\t\t\tif (\n\t\t\t\tmobile && // we're mobile\n\t\t\t\tthis._rowActionsFloating?.length && // we have atleast 1 item in _rowActionsFloating\n\t\t\t\t!enableRowSelection\n\t\t\t) {\n\t\t\t\tenableRowSelection = true;\n\t\t\t}\n\n\t\t\tthis._enableRowSelection = enableRowSelection;\n\t\t}, 200);\n\t}\n\n\tprivate _generateColumns() {\n\t\tconst definitions = this._el.querySelectorAll('p-table-column');\n\t\tconst definitionsArray = Array.from(definitions);\n\n\t\tdefinitionsArray[definitionsArray.length - 1]['isLast'] = true;\n\n\t\tthis._columns = definitionsArray;\n\t}\n\n\tprivate _getHeader() {\n\t\treturn (\n\t\t\t<p-table-row variant=\"header\">\n\t\t\t\t{this._columns.map((col: TableColumn, index) => (\n\t\t\t\t\t<p-table-cell\n\t\t\t\t\t\tdefinition={col}\n\t\t\t\t\t\tvalue={col.name}\n\t\t\t\t\t\tvariant=\"header\"\n\t\t\t\t\t\tcheckbox={\n\t\t\t\t\t\t\tindex === 0 || col.hasCheckbox\n\t\t\t\t\t\t\t\t? this._getCheckbox(\n\t\t\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t\t\tthis.loading ? 'loading' : 'header'\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t}\n\t\t\t\t\t\tindex={index}\n\t\t\t\t\t></p-table-cell>\n\t\t\t\t))}\n\t\t\t</p-table-row>\n\t\t);\n\t}\n\n\tprivate _getRows() {\n\t\tif (this.loading) {\n\t\t\treturn Array.from(\n\t\t\t\t{\n\t\t\t\t\tlength: this.amountOfLoadingRows,\n\t\t\t\t},\n\t\t\t\t(_, i) => (\n\t\t\t\t\t<p-table-row\n\t\t\t\t\t\tenableHover={\n\t\t\t\t\t\t\tthis._enableRowSelection || this.enableRowClick\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this._getLoadingColumns(i)}\n\t\t\t\t\t</p-table-row>\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\tif (!this._items.length) {\n\t\t\treturn this._getEmptyState();\n\t\t}\n\n\t\treturn this._items.map((item, index) => (\n\t\t\t<p-table-row\n\t\t\t\tenableHover={this._enableRowSelection || this.enableRowClick}\n\t\t\t\tonClick={(ev) => this._rowClick(ev, index)}\n\t\t\t>\n\t\t\t\t{this._getRowColumns(item, index)}\n\t\t\t</p-table-row>\n\t\t));\n\t}\n\n\tprivate _getRowColumns(item, index) {\n\t\tconst columns = this._columns.map((col: TableColumn, colIndex) => {\n\t\t\treturn (\n\t\t\t\t<p-table-cell\n\t\t\t\t\tdefinition={col}\n\t\t\t\t\titem={item}\n\t\t\t\t\tcheckbox={\n\t\t\t\t\t\tcolIndex === 0 || col.hasCheckbox\n\t\t\t\t\t\t\t? this._getCheckbox(index)\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t}\n\t\t\t\t\tindex={colIndex}\n\t\t\t\t\trowIndex={index}\n\t\t\t\t\ttableHasActions={\n\t\t\t\t\t\t!!this._rowActionsRow.length && !isMobile()\n\t\t\t\t\t}\n\t\t\t\t></p-table-cell>\n\t\t\t);\n\t\t});\n\n\t\tif (this._rowActionsRow?.length && !isMobile()) {\n\t\t\tconst lastDef = this._columns[this._columns.length - 1];\n\t\t\tcolumns.push(\n\t\t\t\t<p-table-cell\n\t\t\t\t\tvariant=\"actions\"\n\t\t\t\t\tdefinition={lastDef}\n\t\t\t\t\titem={item}\n\t\t\t\t\tindex={this._columns.length - 1}\n\t\t\t\t\trowIndex={index}\n\t\t\t\t\ttableHasActions={!!this._rowActionsRow.length}\n\t\t\t\t>\n\t\t\t\t\t<div slot=\"actions\" class=\"flex ml-auto gap-2 items-center\">\n\t\t\t\t\t\t{this._rowActionsRow.map((a) => (\n\t\t\t\t\t\t\t<p-tooltip content={a.label}>\n\t\t\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\t\t\tdata-is-action\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\t\t\t\t\ticon={a.icon}\n\t\t\t\t\t\t\t\t\ticonRotate={a.iconRotate}\n\t\t\t\t\t\t\t\t\ticonFlip={a.iconFlip}\n\t\t\t\t\t\t\t\t\ticonOnly={true}\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\t\ttypeof a.action === 'function' &&\n\t\t\t\t\t\t\t\t\t\ta.action?.(item, false)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t></p-button>\n\t\t\t\t\t\t\t</p-tooltip>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t</p-table-cell>\n\t\t\t);\n\t\t}\n\n\t\treturn columns;\n\t}\n\n\tprivate _getLoadingColumns(index) {\n\t\treturn this._columns.map((col: TableColumn, colIndex) => {\n\t\t\treturn (\n\t\t\t\t<p-table-cell\n\t\t\t\t\tdefinition={col}\n\t\t\t\t\tvariant=\"loading\"\n\t\t\t\t\tcheckbox={\n\t\t\t\t\t\tcolIndex === 0 || col.hasCheckbox\n\t\t\t\t\t\t\t? this._getCheckbox(index, 'loading')\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t}\n\t\t\t\t\tindex={colIndex}\n\t\t\t\t\trowIndex={index}\n\t\t\t\t></p-table-cell>\n\t\t\t);\n\t\t});\n\t}\n\n\tprivate _getCheckbox(\n\t\trowIndex: number,\n\t\tvariant: 'header' | 'default' | 'loading' = 'default'\n\t) {\n\t\tif (\n\t\t\t!this._enableRowSelection ||\n\t\t\t(!this.selectionKey && !this._rowActionsFloating?.length)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (variant === 'loading') {\n\t\t\treturn <p-loader variant=\"ghost\" class=\"h-6 w-6 rounded\" />;\n\t\t}\n\n\t\tif (variant === 'header') {\n\t\t\treturn (\n\t\t\t\t<input\n\t\t\t\t\tclass={`p-input ${this._rowSelectionLimit !== undefined && 'opacity-0'}`}\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\tonChange={(ev) => this._selectAllChange(ev)}\n\t\t\t\t\tchecked={this._selectionContainsAll()}\n\t\t\t\t\tindeterminate={this._selectionIndeterminate()}\n\t\t\t\t\tdisabled={this._rowSelectionLimit !== undefined}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\tconst item = this._items[rowIndex];\n\n\t\tconst selectionContains = this._selectionContains(rowIndex);\n\n\t\treturn (\n\t\t\t<input\n\t\t\t\tclass=\"p-input\"\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tonChange={(ev) => this._checkboxChange(ev?.target, rowIndex)}\n\t\t\t\tdisabled={\n\t\t\t\t\t(this.canSelectKey && !item[this.canSelectKey]) ||\n\t\t\t\t\t(this._rowSelectionLimit !== undefined &&\n\t\t\t\t\t\t!selectionContains &&\n\t\t\t\t\t\tthis.selectedRows.length === this._rowSelectionLimit)\n\t\t\t\t}\n\t\t\t\tchecked={selectionContains}\n\t\t\t/>\n\t\t);\n\t}\n\n\tprivate _getEmptyState() {\n\t\tif (this.query?.length || this.selectedFiltersAmount) {\n\t\t\treturn (\n\t\t\t\t<div class=\"flex max-w-[20rem] flex-col items-center self-center py-24 text-center\">\n\t\t\t\t\t<p-illustration variant=\"empty-state-search\" class=\"mb-6\" />\n\t\t\t\t\t<p class=\"text-storm-default font-semibold\">\n\t\t\t\t\t\t{this.emptyStateFilteredHeader()}\n\t\t\t\t\t</p>\n\t\t\t\t\t<p class=\"mb-14 text-sm text-storm-medium\">\n\t\t\t\t\t\t{this.emptyStateFilteredContent()}\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={`flex max-w-[20rem] flex-col items-center self-center py-24 text-center ${\n\t\t\t\t\tthis.enableEmptyStateAction && 'cursor-pointer'\n\t\t\t\t}`}\n\t\t\t\tonClick={() =>\n\t\t\t\t\tthis.enableEmptyStateAction &&\n\t\t\t\t\tthis.emptyStateActionClick.emit(null)\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<p-illustration variant=\"empty-state-add\" class=\"mb-6\" />\n\t\t\t\t<p class=\"text-storm-default font-semibold\">\n\t\t\t\t\t{this.emptyStateHeader()}\n\t\t\t\t</p>\n\t\t\t\t<p class=\"mb-6 text-sm text-storm-medium\">\n\t\t\t\t\t{this.emptyStateContent()}\n\t\t\t\t</p>\n\t\t\t\t{this.enableEmptyStateAction && (\n\t\t\t\t\t<p-button variant=\"secondary\" icon=\"plus\" size=\"small\">\n\t\t\t\t\t\t{this.emptyStateAction()}\n\t\t\t\t\t</p-button>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate _selectAllChange($event: any, forceValue?: boolean) {\n\t\tif (!this._enableRowSelection) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst value =\n\t\t\tforceValue === undefined\n\t\t\t\t? this._getCheckedValue($event.target)\n\t\t\t\t: forceValue;\n\t\tif (value) {\n\t\t\tconst toAdd = [];\n\t\t\tfor (let i = 0; i < this._items.length; i++) {\n\t\t\t\tconst row = this._items[i];\n\t\t\t\tif (this.canSelectKey && !row[this.canSelectKey]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (this._selectionContains(i)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\ttoAdd.push(row);\n\t\t\t\tthis.rowSelected.emit(row);\n\n\t\t\t\tif (\n\t\t\t\t\tthis._rowSelectionLimit !== undefined &&\n\t\t\t\t\tthis.selectedRows.length + toAdd.length ===\n\t\t\t\t\t\tthis._rowSelectionLimit\n\t\t\t\t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.selectedRows = [...this.selectedRows, ...toAdd];\n\t\t\tthis.selectedRowsChange.emit(this.selectedRows);\n\t\t\tif (this.enableFloatingMenu && !this._floatingMenuShown) {\n\t\t\t\tthis._floatingMenuShown = true;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tfor (let i = 0; i < this.selectedRows.length; i++) {\n\t\t\tconst value = this.selectedRows[i];\n\t\t\tconst row = this._items.find(\n\t\t\t\t(d) =>\n\t\t\t\t\tthis._getSelectionValue(d, i) ===\n\t\t\t\t\tthis._getSelectionValue(value, i)\n\t\t\t);\n\n\t\t\tif (!row) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tthis.rowDeselected.emit(row);\n\t\t}\n\n\t\tthis.selectedRows = [];\n\t\tthis.selectedRowsChange.emit(this.selectedRows);\n\t}\n\n\tprivate _checkboxChange(target: any, index: number) {\n\t\tif (!this._enableRowSelection) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst value = this._getCheckedValue(target);\n\t\tif (\n\t\t\tvalue &&\n\t\t\tthis._rowSelectionLimit !== undefined &&\n\t\t\tthis.selectedRows.length >= this._rowSelectionLimit\n\t\t) {\n\t\t\ttarget.checked = false;\n\t\t\treturn;\n\t\t}\n\n\t\tconst row = this._items[index];\n\n\t\tif (this.canSelectKey && !row[this.canSelectKey]) {\n\t\t\ttarget.checked = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (value) {\n\t\t\tthis.selectedRows = [\n\t\t\t\t...this.selectedRows,\n\t\t\t\t{\n\t\t\t\t\t...row,\n\t\t\t\t\tindex,\n\t\t\t\t},\n\t\t\t];\n\t\t\tthis.selectedRowsChange.emit(this.selectedRows);\n\t\t\tthis.rowSelected.emit(row);\n\n\t\t\tif (this.enableFloatingMenu && !this._floatingMenuShown) {\n\t\t\t\tthis._floatingMenuShown = true;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst indexOfToRemove = this._selectionContains(index, true);\n\n\t\t// we need to do this, because splice does not trigger the selection setter.\n\t\tconst selection = [...this.selectedRows];\n\t\tselection.splice(indexOfToRemove, 1);\n\t\tthis.selectedRows = selection;\n\t\tthis.selectedRowsChange.emit(this.selectedRows);\n\t\tthis.rowDeselected.emit(row);\n\t}\n\n\tprivate _getCheckedValue(target: any) {\n\t\treturn target?.checked;\n\t}\n\n\tprivate _getSelectionValue(row: any, index: number) {\n\t\treturn this.selectionKey ? row?.[this.selectionKey] || index : index;\n\t}\n\n\tprivate _selectionContains(index, returnIndex = false): any {\n\t\tconst returnValue = this.selectedRows.findIndex(\n\t\t\t(item) => item.index === index\n\t\t);\n\t\treturn !returnIndex ? returnValue >= 0 : returnValue;\n\t}\n\n\tprivate _selectionContainsAll() {\n\t\tlet returnValue = true;\n\t\tif (!this._items?.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (\n\t\t\tthis._rowSelectionLimit !== undefined &&\n\t\t\tthis.selectedRows.length === this._rowSelectionLimit\n\t\t) {\n\t\t\treturn true;\n\t\t}\n\n\t\tfor (let i = 0; i < this._items?.length; i++) {\n\t\t\tconst contains = this._selectionContains(i);\n\n\t\t\tif (!contains) {\n\t\t\t\treturnValue = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn returnValue;\n\t}\n\n\tprivate _selectionIndeterminate() {\n\t\tif (!this._items?.length || !this.selectedRows?.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (\n\t\t\tthis._rowSelectionLimit !== undefined &&\n\t\t\tthis.selectedRows.length === this._rowSelectionLimit\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet containsCount = 0;\n\t\tfor (let i = 0; i < this._items?.length; i++) {\n\t\t\tconst contains = this._selectionContains(i);\n\n\t\t\tif (contains) {\n\t\t\t\tcontainsCount++;\n\t\t\t}\n\t\t}\n\n\t\treturn containsCount > 0 && containsCount !== this._items.length;\n\t}\n\n\tprivate _rowClick($event, index) {\n\t\tconst target = $event.target;\n\n\t\tif (\n\t\t\ttarget.tagName.toLowerCase() === 'input' ||\n\t\t\ttarget.type === 'checkbox'\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst row = this._findRow($event.target);\n\t\tconst action = this._findRowAction($event.target);\n\n\t\tif (action) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.enableRowClick) {\n\t\t\tconst item = this._items[index];\n\t\t\tthis.rowClick.emit({\n\t\t\t\titem,\n\t\t\t\tctrlDown: this._ctrlDown,\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._enableRowSelection) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst checkbox = row?.querySelector('input[type=\"checkbox\"]');\n\n\t\tif (!checkbox) {\n\t\t\treturn;\n\t\t}\n\n\t\tcheckbox.checked = !checkbox.checked;\n\t\tthis._checkboxChange(checkbox, index);\n\t}\n\n\tprivate _findRow(el: HTMLElement) {\n\t\tif (!el) {\n\t\t\treturn el;\n\t\t}\n\n\t\tif (el?.tagName?.toLowerCase() === 'p-table-row') {\n\t\t\treturn el;\n\t\t}\n\n\t\treturn this._findRow(el?.parentElement);\n\t}\n\n\tprivate _findRowAction(el: HTMLElement) {\n\t\tif (!el) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (\n\t\t\tel.getAttribute('data-is-action') !== null &&\n\t\t\tel.getAttribute('data-is-action') !== 'false'\n\t\t) {\n\t\t\treturn el;\n\t\t}\n\n\t\tif (el?.tagName?.toLowerCase() === 'p-table-row') {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this._findRowAction(el?.parentElement);\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["TableRowAction","render"],"sources":["src/components/helpers/table-row-action/table-row-action.component.tsx"],"sourcesContent":["import { Component, Prop } from '@stencil/core';\nimport {\n\tIconFlipOptions,\n\tIconVariant,\n\tRotateOptions,\n} from '../../../components';\n\nexport type TableRowActionFunc = {\n\t(item: any, multi: false): void;\n\t(item: any[], multi: true): void;\n};\n\n@Component({\n\ttag: 'p-table-row-action',\n})\nexport class TableRowAction {\n\t/**\n\t * The type of action\n\t * mutli = Only multi select action\n\t * single = Only an action on the row\n\t * both = Action on both locations\n\t */\n\t@Prop({ reflect: true, mutable: true }) type: 'both' | 'single' | 'multi' =\n\t\t'both';\n\n\t/**\n\t * Icon to show on the button\n\t */\n\t@Prop() icon: IconVariant;\n\n\t/**\n\t * Wether the button is icon only\n\t */\n\t@Prop() iconOnly: boolean = false;\n\n\t/**\n\t * Icon flip\n\t */\n\t@Prop() iconFlip: IconFlipOptions;\n\n\t/**\n\t * Icon rotate\n\t */\n\t@Prop() iconRotate: RotateOptions;\n\n\t/**\n\t * Label of the action\n\t */\n\t@Prop() label: string;\n\n\t/**\n\t * The action to trigger when used\n\t */\n\t@Prop() action: TableRowActionFunc;\n\n\t/**\n\t * Wether the action is disabled\n\t */\n\t@Prop() disabled: boolean = false;\n\n\t/**\n\t * Wether the action is loading\n\t */\n\t@Prop() loading: boolean = false;\n\n\trender() {\n\t\treturn;\n\t}\n}\n"],"mappings":"0CAeaA,EAAc,M,mCAQzB,O,kCAU2B,M,2GAyBA,M,aAKD,K,CAE3B,MAAAC,GACC,M"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["tableComponentCss","Table","this","_ctrlDown","_hasCustomFilterSlot","_floatingMenuShown","amount","formatTranslation","_c","_a","_locales","floating_menu","amount_selected","_b","amount_selected_plural","replace","defaultSize","defaultSizeOptions","empty_state","no_filter","header","content","action","filtered","enableRowSelection","componentWillLoad","_el","querySelector","_setRowSelectionData","_setLocales","_parseItems","items","_generateColumns","componentDidRender","hasRendered","emit","render","h","Host","class","shadow","enableHeader","quickFilters","activeQuickFilterIdentifier","onQuickFilter","detail","quickFilter","enableSearch","query","onQueryChange","queryChange","enableFilter","selectedFiltersAmount","filterButtonTemplate","onFilter","filter","enableAction","actionIcon","actionButtonIcon","actionText","actionButtonText","actionLoading","actionButtonLoading","canUseAction","actionButtonEnabled","actionButtonTemplate","onAction","itemsSelectedAmount","selectedRows","length","loading","headerLoading","name","slot","_getHeader","_getRows","enableFooter","hideOnSinglePage","enablePageSize","pageSize","pageSizeOptions","onPageSizeChange","pageSizeChange","enablePagination","page","total","onPageChange","pageChange","enableExport","onExport","export","footerLoading","enableFloatingMenu","_enableRowSelection","usedInTable","hover","_rowActionsFloating","floatingMenuAmountSelectedTemplate","_d","_e","variant","_f","map","a","disabled","onClick","type","label","icon","rotate","iconRotate","flip","iconFlip","_g","_selectAllChange","getLocaleComponentStrings","onTableDefinitionUpdated","keyDown","key","keyUp","visibilityChange","document","visibilityState","_items","Array","isArray","JSON","parse","_resizeTimeout","clearTimeout","setTimeout","mobile","isMobile","actions","from","querySelectorAll","_rowActionsRow","rowSelectionLimit","undefined","_rowSelectionLimit","definitions","definitionsArray","_columns","col","index","definition","value","checkbox","hasCheckbox","_getCheckbox","amountOfLoadingRows","_","i","enableHover","enableRowClick","_getLoadingColumns","_getEmptyState","item","ev","_rowClick","_getRowColumns","columns","colIndex","rowIndex","tableHasActions","lastDef","push","iconOnly","size","call","selectionKey","onChange","checked","_selectionContainsAll","indeterminate","_selectionIndeterminate","selectionContains","_selectionContains","_checkboxChange","target","canSelectKey","emptyStateFilteredHeader","emptyStateFilteredContent","enableEmptyStateAction","emptyStateActionClick","emptyStateHeader","emptyStateContent","emptyStateAction","$event","forceValue","_getCheckedValue","toAdd","row","rowSelected","selectedRowsChange","find","d","_getSelectionValue","rowDeselected","indexOfToRemove","selection","splice","returnIndex","returnValue","findIndex","contains","containsCount","tagName","toLowerCase","_findRow","_findRowAction","rowClick","ctrlDown","el","parentElement","getAttribute"],"sources":["src/components/organisms/table/table.component.scss?tag=p-table","src/components/organisms/table/table.component.tsx"],"sourcesContent":["p-table {\n\t@apply relative flex flex-col;\n\n\t.p-input[type='checkbox'] {\n\t\tflex-shrink: 0;\n\t}\n\n\tp-table-container {\n\t\t@apply relative;\n\n\t\tp-floating-menu-container {\n\t\t\t@apply fixed bottom-4 left-1/2 -translate-x-1/2 transform;\n\t\t\tanimation: forwards floatingMenuContainerIn 0.3s ease !important;\n\n\t\t\t@screen tablet {\n\t\t\t\t@apply absolute bottom-16;\n\t\t\t}\n\n\t\t\t&:not(.shown) {\n\t\t\t\t@apply hidden;\n\t\t\t}\n\n\t\t\t&.inactive {\n\t\t\t\tanimation: forwards floatingMenuContainerOut 0.3s ease !important;\n\t\t\t}\n\t\t}\n\t}\n}\n\n@keyframes floatingMenuContainerOut {\n\t0% {\n\t\tdisplay: flex;\n\t\ttransform: translateY(0) translateX(-50%);\n\t\topacity: 100;\n\t}\n\t99% {\n\t\ttransform: translateY(100%) translateX(-50%);\n\t\topacity: 0;\n\t\tdisplay: flex;\n\t}\n\t100% {\n\t\ttransform: translateY(100%) translateX(-50%);\n\t\topacity: 0;\n\t\tdisplay: none;\n\t}\n}\n\n@keyframes floatingMenuContainerIn {\n\t0% {\n\t\ttransform: translateY(100%) translateX(-50%);\n\t\topacity: 0;\n\t\tdisplay: none;\n\t}\n\t1% {\n\t\ttransform: translateY(100%) translateX(-50%);\n\t\topacity: 0;\n\t\tdisplay: flex;\n\t}\n\t100% {\n\t\ttransform: translateY(0) translateX(-50%);\n\t\topacity: 100;\n\t\tdisplay: flex;\n\t}\n}\n","import {\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tState,\n\tWatch,\n} from '@stencil/core';\nimport { IconVariant } from '../../../components';\nimport { QuickFilter, RowClickEvent } from '../../../types/table';\nimport {\n\tformatTranslation,\n\tgetLocaleComponentStrings,\n\tisMobile,\n} from '../../../utils';\nimport { TableColumn } from '../../helpers/table-column/table-column.component';\nimport {\n\tdefaultSize,\n\tdefaultSizeOptions,\n} from '../../molecules/page-size-select/constants';\nimport { buttonTemplateFunc } from '../../molecules/table-header/table-header.component';\nimport { TableRowAction } from '../../helpers/table-row-action/table-row-action.component';\n\nexport type templateFunc = () => string;\nexport type amountSelectedTemplateFunc = (amount: number) => string;\n\n@Component({\n\ttag: 'p-table',\n\tstyleUrl: 'table.component.scss',\n})\nexport class Table {\n\t/**\n\t * The items to be fed to the table\n\t */\n\t@Prop() items: string;\n\n\t/**\n\t * Wether data is loading\n\t */\n\t@Prop() loading: boolean = false;\n\n\t/**\n\t * Wether the header should show loading state\n\t */\n\t@Prop() headerLoading: boolean = false;\n\n\t/**\n\t * Wether the footer should show loading state\n\t */\n\t@Prop() footerLoading: boolean = false;\n\n\t/**\n\t * The amount of loading rows to show\n\t */\n\t@Prop() amountOfLoadingRows: number = 6;\n\n\t/**\n\t * Wether to enable selection\n\t */\n\t@Prop() enableRowSelection: boolean = true;\n\n\t/**\n\t * A limit to the amount of rows that can be selected\n\t */\n\t@Prop() rowSelectionLimit: number | undefined;\n\n\t/**\n\t * Wether to enable row clicking\n\t */\n\t@Prop() enableRowClick: boolean = true;\n\n\t/**\n\t * The current selection of items\n\t */\n\t@Prop() selectedRows: any[] = [];\n\n\t/**\n\t * Wether to enable the floating menu\n\t */\n\t@Prop() enableFloatingMenu: boolean = true;\n\n\t/**\n\t * The template for amount selected item in the floating menu\n\t */\n\t@Prop() floatingMenuAmountSelectedTemplate: amountSelectedTemplateFunc = (\n\t\tamount: number\n\t) =>\n\t\tformatTranslation(\n\t\t\t(amount === 1\n\t\t\t\t? this._locales.floating_menu?.amount_selected\n\t\t\t\t: this._locales.floating_menu?.amount_selected_plural\n\t\t\t)?.replace('{{amount}}', amount)\n\t\t);\n\n\t/**\n\t * Event whenever the current selection changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tselectedRowsChange: EventEmitter<any>;\n\n\t/**\n\t * The key to determine if a row is selected\n\t */\n\t@Prop() selectionKey: string;\n\n\t/**\n\t * A key to determine if a row can be selected\n\t */\n\t@Prop() canSelectKey: string;\n\n\t/**\n\t * Event whenever a row is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\trowClick: EventEmitter<RowClickEvent>;\n\n\t/**\n\t * Event whenever a row is selected\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\trowSelected: EventEmitter<any>;\n\n\t/**\n\t * Event whenever a row is deselected\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\trowDeselected: EventEmitter<any>;\n\n\t/**\n\t * Event when the table has rendered\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\thasRendered: EventEmitter<number>;\n\n\t/** START HEADER */\n\n\t/**\n\t * Wether to show the header\n\t */\n\t@Prop() enableHeader: boolean = true;\n\n\t/**\n\t * Quick filters to show\n\t */\n\t@Prop() quickFilters: QuickFilter[] = [];\n\n\t/**\n\t * Active quick filter identifier\n\t */\n\t@Prop() activeQuickFilterIdentifier: string;\n\n\t/**\n\t * Wether to show the search input\n\t */\n\t@Prop() enableSearch: boolean = true;\n\n\t/**\n\t * The query to show in the search bar\n\t */\n\t@Prop({ mutable: true }) query: string;\n\n\t/**\n\t * Wether to show the filter button\n\t */\n\t@Prop() enableFilter: boolean = true;\n\n\t/**\n\t * The amount of filters being selected\n\t */\n\t@Prop() selectedFiltersAmount: number;\n\n\t/**\n\t * The template for the filter button text\n\t */\n\t@Prop() filterButtonTemplate: templateFunc;\n\n\t/**\n\t * Wether to show the action button\n\t */\n\t@Prop() enableAction: boolean = false;\n\n\t/**\n\t * Wether the action button is loading\n\t */\n\t@Prop() actionButtonLoading: boolean = false;\n\n\t/**\n\t * Wether the action button is enabled\n\t */\n\t@Prop() actionButtonEnabled: boolean = false;\n\n\t/**\n\t * The action button icon\n\t */\n\t@Prop() actionButtonIcon: IconVariant = 'pencil';\n\n\t/**\n\t * The action button text if changed\n\t */\n\t@Prop() actionButtonText: string;\n\n\t/**\n\t * The template for the action button text\n\t */\n\t@Prop() actionButtonTemplate: buttonTemplateFunc;\n\n\t/**\n\t * Event when one of the quick filters is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tquickFilter: EventEmitter<QuickFilter>;\n\n\t/**\n\t * Event when the query changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tqueryChange: EventEmitter<string>;\n\n\t/**\n\t * Event when the filter button is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tfilter: EventEmitter<null>;\n\n\t/**\n\t * Event when the action button is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\taction: EventEmitter<null>;\n\n\t/** START FOOTER */\n\n\t/**\n\t * Wether to show the header\n\t */\n\t@Prop() enableFooter: boolean = true;\n\n\t/**\n\t * Wether to enable page size select\n\t */\n\t@Prop() enablePageSize: boolean = true;\n\n\t/**\n\t * Wether to enable pagination\n\t */\n\t@Prop() enablePagination: boolean = true;\n\n\t/**\n\t * Wether to enable export\n\t */\n\t@Prop() enableExport: boolean = true;\n\n\t/**\n\t * The current page\n\t */\n\t@Prop({ mutable: true, reflect: true }) page: number = 1;\n\n\t/**\n\t * The total amount of items\n\t */\n\t@Prop() total!: number;\n\n\t/**\n\t * Event whenever the page changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tpageChange: EventEmitter<number>;\n\n\t/**\n\t * The amount of items per page\n\t */\n\t@Prop() pageSize: number = defaultSize;\n\n\t/**\n\t * The options for the page size\n\t */\n\t@Prop() pageSizeOptions: number[] = defaultSizeOptions;\n\n\t/**\n\t * Event whenever the page changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tpageSizeChange: EventEmitter<number>;\n\n\t/**\n\t * Event whenever the page changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\texport: EventEmitter<number>;\n\n\t/**\n\t * Wether to hide when there is only 1 page available\n\t */\n\t@Prop() hideOnSinglePage: boolean = true;\n\n\t/* Empty state start */\n\t@Prop() emptyStateHeader: templateFunc = () =>\n\t\tformatTranslation(this._locales.empty_state?.no_filter.header);\n\t@Prop() emptyStateContent: templateFunc = () =>\n\t\tformatTranslation(this._locales.empty_state?.no_filter.content);\n\t@Prop() emptyStateAction: templateFunc = () =>\n\t\tformatTranslation(this._locales.empty_state?.no_filter.action);\n\t/**\n\t * Wether to enable empty state action\n\t */\n\t@Prop() enableEmptyStateAction: boolean = true;\n\n\t@Prop() emptyStateFilteredHeader: templateFunc = () =>\n\t\tformatTranslation(this._locales.empty_state.filtered.header);\n\t@Prop() emptyStateFilteredContent: templateFunc = () =>\n\t\tformatTranslation(this._locales.empty_state.filtered.content);\n\n\t/**\n\t * Event whenever the empty state is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\temptyStateActionClick: EventEmitter<null>;\n\n\t/*\n\t * Wether to show the shadow or not\n\t */\n\t@Prop() shadow: boolean = true;\n\n\t/* Empty state end */\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t/**\n\t * Locales used for this component\n\t */\n\t@State() private _locales: any = {};\n\n\t@State() private _columns: any[] = [];\n\t@State() private _items: any[] = [];\n\n\t@State() private _enableRowSelection: boolean = this.enableRowSelection;\n\t@State() private _rowSelectionLimit: number | undefined;\n\n\t@State() private _rowActionsFloating: TableRowAction[] = [];\n\t@State() private _rowActionsRow: TableRowAction[] = [];\n\n\tprivate _ctrlDown = false;\n\tprivate _hasCustomFilterSlot = false;\n\tprivate _floatingMenuShown = false;\n\tprivate _resizeTimeout: NodeJS.Timer;\n\n\tcomponentWillLoad() {\n\t\tthis._hasCustomFilterSlot = !!this._el.querySelector(\n\t\t\t':scope > [slot=\"custom-filter\"]'\n\t\t);\n\n\t\tthis._setRowSelectionData();\n\n\t\tthis._setLocales();\n\t\tthis._parseItems(this.items);\n\t\tthis._generateColumns();\n\t}\n\n\tcomponentDidRender() {\n\t\tthis.hasRendered.emit();\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class=\"p-table\">\n\t\t\t\t<p-table-container shadow={this.shadow}>\n\t\t\t\t\t{this.enableHeader && (\n\t\t\t\t\t\t<p-table-header\n\t\t\t\t\t\t\t// quick filters\n\t\t\t\t\t\t\tquickFilters={this.quickFilters}\n\t\t\t\t\t\t\tactiveQuickFilterIdentifier={\n\t\t\t\t\t\t\t\tthis.activeQuickFilterIdentifier\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonQuickFilter={({ detail }) =>\n\t\t\t\t\t\t\t\tthis.quickFilter.emit(detail)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// search\n\t\t\t\t\t\t\tenableSearch={this.enableSearch}\n\t\t\t\t\t\t\tquery={this.query}\n\t\t\t\t\t\t\tonQueryChange={({ detail }) =>\n\t\t\t\t\t\t\t\tthis.queryChange.emit(detail)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// filter button\n\t\t\t\t\t\t\tenableFilter={this.enableFilter}\n\t\t\t\t\t\t\tselectedFiltersAmount={this.selectedFiltersAmount}\n\t\t\t\t\t\t\tfilterButtonTemplate={this.filterButtonTemplate}\n\t\t\t\t\t\t\tonFilter={() => this.filter.emit()}\n\t\t\t\t\t\t\t// action button\n\t\t\t\t\t\t\tenableAction={this.enableAction}\n\t\t\t\t\t\t\tactionIcon={this.actionButtonIcon}\n\t\t\t\t\t\t\tactionText={this.actionButtonText}\n\t\t\t\t\t\t\tactionLoading={this.actionButtonLoading}\n\t\t\t\t\t\t\tcanUseAction={this.actionButtonEnabled}\n\t\t\t\t\t\t\tactionButtonTemplate={this.actionButtonTemplate}\n\t\t\t\t\t\t\tonAction={() => this.action.emit()}\n\t\t\t\t\t\t\titemsSelectedAmount={this.selectedRows?.length}\n\t\t\t\t\t\t\t//loading\n\t\t\t\t\t\t\tloading={this.headerLoading}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this._hasCustomFilterSlot && (\n\t\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t\tname=\"custom-filter\"\n\t\t\t\t\t\t\t\t\tslot=\"custom-filter\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</p-table-header>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{this._getHeader()}\n\t\t\t\t\t<div class=\"flex flex-col flex-1\">{this._getRows()}</div>\n\n\t\t\t\t\t{this.enableFooter && (\n\t\t\t\t\t\t<p-table-footer\n\t\t\t\t\t\t\t// overall\n\t\t\t\t\t\t\thideOnSinglePage={this.hideOnSinglePage}\n\t\t\t\t\t\t\t// page size select\n\t\t\t\t\t\t\tenablePageSize={this.enablePageSize}\n\t\t\t\t\t\t\tpageSize={this.pageSize}\n\t\t\t\t\t\t\tpageSizeOptions={this.pageSizeOptions}\n\t\t\t\t\t\t\tonPageSizeChange={({ detail }) =>\n\t\t\t\t\t\t\t\tthis.pageSizeChange.emit(detail)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// pagination\n\t\t\t\t\t\t\tenablePagination={this.enablePagination}\n\t\t\t\t\t\t\tpage={this.page}\n\t\t\t\t\t\t\ttotal={this.total}\n\t\t\t\t\t\t\tonPageChange={({ detail }) =>\n\t\t\t\t\t\t\t\tthis.pageChange.emit(detail)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// export\n\t\t\t\t\t\t\tenableExport={this.enableExport}\n\t\t\t\t\t\t\tonExport={() => this.export.emit()}\n\t\t\t\t\t\t\t//loading\n\t\t\t\t\t\t\tloading={this.footerLoading}\n\t\t\t\t\t\t></p-table-footer>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{this.enableFloatingMenu && this._enableRowSelection ? (\n\t\t\t\t\t\t<p-floating-menu-container\n\t\t\t\t\t\t\tusedInTable={true}\n\t\t\t\t\t\t\tclass={`${\n\t\t\t\t\t\t\t\tthis.selectedRows?.length ? '' : 'inactive'\n\t\t\t\t\t\t\t} ${this._floatingMenuShown ? 'shown' : ''}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<p-floating-menu-item\n\t\t\t\t\t\t\t\thover={false}\n\t\t\t\t\t\t\t\tslot=\"floating-menu-item\"\n\t\t\t\t\t\t\t\tclass={\n\t\t\t\t\t\t\t\t\tthis._rowActionsFloating?.length\n\t\t\t\t\t\t\t\t\t\t? 'hidden tablet:flex'\n\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this.floatingMenuAmountSelectedTemplate(\n\t\t\t\t\t\t\t\t\tthis.selectedRows?.length\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</p-floating-menu-item>\n\t\t\t\t\t\t\t<p-divider\n\t\t\t\t\t\t\t\tclass={`mx-0 text-storm ${\n\t\t\t\t\t\t\t\t\tthis._rowActionsFloating?.length\n\t\t\t\t\t\t\t\t\t\t? 'hidden tablet:flex'\n\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\tvariant=\"vertical\"\n\t\t\t\t\t\t\t\tslot=\"floating-menu-item\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{this._rowActionsFloating?.length &&\n\t\t\t\t\t\t\t\tthis._rowActionsFloating.map((a) => (\n\t\t\t\t\t\t\t\t\t<p-floating-menu-item\n\t\t\t\t\t\t\t\t\t\tslot=\"floating-menu-item\"\n\t\t\t\t\t\t\t\t\t\tdisabled={a.disabled}\n\t\t\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\t\t\t!a.disabled &&\n\t\t\t\t\t\t\t\t\t\t\t!a.loading &&\n\t\t\t\t\t\t\t\t\t\t\t!!a.action &&\n\t\t\t\t\t\t\t\t\t\t\ta.type === 'single'\n\t\t\t\t\t\t\t\t\t\t\t\t? a.action(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.selectedRows[0],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t: a.action(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.selectedRows,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{a.label}{' '}\n\t\t\t\t\t\t\t\t\t\t{a.loading ? (\n\t\t\t\t\t\t\t\t\t\t\t<p-loader></p-loader>\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\t\t\t\t\t\tvariant={a.icon}\n\t\t\t\t\t\t\t\t\t\t\t\trotate={a.iconRotate}\n\t\t\t\t\t\t\t\t\t\t\t\tflip={a.iconFlip}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</p-floating-menu-item>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t{this._rowActionsFloating?.length && (\n\t\t\t\t\t\t\t\t<p-divider\n\t\t\t\t\t\t\t\t\tclass=\"mx-0 text-storm\"\n\t\t\t\t\t\t\t\t\tvariant=\"vertical\"\n\t\t\t\t\t\t\t\t\tslot=\"floating-menu-item\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<p-floating-menu-item\n\t\t\t\t\t\t\t\tslot=\"floating-menu-item\"\n\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\tthis._selectAllChange(null, false)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<p-icon variant=\"negative\" />\n\t\t\t\t\t\t\t</p-floating-menu-item>\n\t\t\t\t\t\t</p-floating-menu-container>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t''\n\t\t\t\t\t)}\n\t\t\t\t</p-table-container>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('localeChanged', { target: 'body' })\n\tprivate async _setLocales(): Promise<void> {\n\t\tthis._locales = await getLocaleComponentStrings(this._el);\n\t}\n\n\t@Listen('tableDefinitionChanged', { target: 'body' })\n\tonTableDefinitionUpdated() {\n\t\tthis._generateColumns();\n\t}\n\n\t@Listen('keydown', { target: 'document' })\n\tkeyDown({ key }) {\n\t\tif (key !== 'Control' || this._ctrlDown === true) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._ctrlDown = true;\n\t}\n\n\t@Listen('keyup', { target: 'document' })\n\tkeyUp({ key }) {\n\t\tif (key !== 'Control' || this._ctrlDown === false) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._ctrlDown = false;\n\t}\n\n\t@Listen('visibilitychange', { target: 'document' })\n\tvisibilityChange() {\n\t\tif (document.visibilityState !== 'hidden' || this._ctrlDown === false) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._ctrlDown = false;\n\t}\n\n\t@Watch('items')\n\tprivate _parseItems(items: string) {\n\t\tif (!items) {\n\t\t\tthis._items = [];\n\t\t\treturn;\n\t\t}\n\n\t\tif (Array.isArray(items)) {\n\t\t\tthis._items = items;\n\t\t\treturn;\n\t\t}\n\n\t\tthis._items = JSON.parse(items);\n\t}\n\n\t@Watch('enableRowSelection')\n\t@Watch('rowSelectionLimit')\n\t@Watch('selectedRows')\n\t@Listen('resize', { target: 'window' })\n\tprivate _setRowSelectionData() {\n\t\tif (this._resizeTimeout) {\n\t\t\tclearTimeout(this._resizeTimeout);\n\t\t}\n\n\t\t// We add a timeout here because it's a lot easier on the machine to do these when someone is done\n\t\t// resizing and playing around with their browser\n\t\tthis._resizeTimeout = setTimeout(() => {\n\t\t\tconst mobile = isMobile();\n\n\t\t\t// we hack this to any[] to make it work..\n\t\t\tconst actions = Array.from(\n\t\t\t\tthis._el.querySelectorAll(':scope > p-table-row-action')\n\t\t\t) as any[] as TableRowAction[];\n\t\t\tthis._rowActionsRow = actions.filter(\n\t\t\t\t(a) => a.type === 'both' || a.type === 'single'\n\t\t\t);\n\t\t\tthis._rowActionsFloating = actions\n\t\t\t\t.filter(\n\t\t\t\t\t(a) => a.type === 'both' || a.type === 'multi' || mobile\n\t\t\t\t)\n\t\t\t\t.map((a) => {\n\t\t\t\t\tif (a.type === 'single') {\n\t\t\t\t\t\ta.disabled = this.selectedRows?.length > 1;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn a;\n\t\t\t\t});\n\n\t\t\tlet rowSelectionLimit = this.rowSelectionLimit;\n\t\t\tif (\n\t\t\t\tmobile && // we're mobile\n\t\t\t\tthis._rowActionsFloating?.length && // we have atleast 1 item in _rowActionsFloating\n\t\t\t\t((rowSelectionLimit !== undefined && this.enableRowSelection) ||\n\t\t\t\t\t!this.enableRowSelection)\n\t\t\t) {\n\t\t\t\trowSelectionLimit = 1;\n\t\t\t}\n\n\t\t\tthis._rowSelectionLimit = rowSelectionLimit;\n\n\t\t\tlet enableRowSelection = this.enableRowSelection;\n\t\t\tif (\n\t\t\t\tmobile && // we're mobile\n\t\t\t\tthis._rowActionsFloating?.length && // we have atleast 1 item in _rowActionsFloating\n\t\t\t\t!enableRowSelection\n\t\t\t) {\n\t\t\t\tenableRowSelection = true;\n\t\t\t}\n\n\t\t\tthis._enableRowSelection = enableRowSelection;\n\t\t}, 200);\n\t}\n\n\tprivate _generateColumns() {\n\t\tconst definitions = this._el.querySelectorAll('p-table-column');\n\t\tconst definitionsArray = Array.from(definitions);\n\n\t\tdefinitionsArray[definitionsArray.length - 1]['isLast'] = true;\n\n\t\tthis._columns = definitionsArray;\n\t}\n\n\tprivate _getHeader() {\n\t\treturn (\n\t\t\t<p-table-row variant=\"header\">\n\t\t\t\t{this._columns.map((col: TableColumn, index) => (\n\t\t\t\t\t<p-table-cell\n\t\t\t\t\t\tdefinition={col}\n\t\t\t\t\t\tvalue={col.name}\n\t\t\t\t\t\tvariant=\"header\"\n\t\t\t\t\t\tcheckbox={\n\t\t\t\t\t\t\tindex === 0 || col.hasCheckbox\n\t\t\t\t\t\t\t\t? this._getCheckbox(\n\t\t\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t\t\tthis.loading ? 'loading' : 'header'\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t}\n\t\t\t\t\t\tindex={index}\n\t\t\t\t\t></p-table-cell>\n\t\t\t\t))}\n\t\t\t</p-table-row>\n\t\t);\n\t}\n\n\tprivate _getRows() {\n\t\tif (this.loading) {\n\t\t\treturn Array.from(\n\t\t\t\t{\n\t\t\t\t\tlength: this.amountOfLoadingRows,\n\t\t\t\t},\n\t\t\t\t(_, i) => (\n\t\t\t\t\t<p-table-row\n\t\t\t\t\t\tenableHover={\n\t\t\t\t\t\t\tthis._enableRowSelection || this.enableRowClick\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this._getLoadingColumns(i)}\n\t\t\t\t\t</p-table-row>\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\tif (!this._items.length) {\n\t\t\treturn this._getEmptyState();\n\t\t}\n\n\t\treturn this._items.map((item, index) => (\n\t\t\t<p-table-row\n\t\t\t\tenableHover={this._enableRowSelection || this.enableRowClick}\n\t\t\t\tonClick={(ev) => this._rowClick(ev, index)}\n\t\t\t>\n\t\t\t\t{this._getRowColumns(item, index)}\n\t\t\t</p-table-row>\n\t\t));\n\t}\n\n\tprivate _getRowColumns(item, index) {\n\t\tconst columns = this._columns.map((col: TableColumn, colIndex) => {\n\t\t\treturn (\n\t\t\t\t<p-table-cell\n\t\t\t\t\tdefinition={col}\n\t\t\t\t\titem={item}\n\t\t\t\t\tcheckbox={\n\t\t\t\t\t\tcolIndex === 0 || col.hasCheckbox\n\t\t\t\t\t\t\t? this._getCheckbox(index)\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t}\n\t\t\t\t\tindex={colIndex}\n\t\t\t\t\trowIndex={index}\n\t\t\t\t\ttableHasActions={\n\t\t\t\t\t\t!!this._rowActionsRow.length && !isMobile()\n\t\t\t\t\t}\n\t\t\t\t></p-table-cell>\n\t\t\t);\n\t\t});\n\n\t\tif (this._rowActionsRow?.length && !isMobile()) {\n\t\t\tconst lastDef = this._columns[this._columns.length - 1];\n\t\t\tcolumns.push(\n\t\t\t\t<p-table-cell\n\t\t\t\t\tvariant=\"actions\"\n\t\t\t\t\tdefinition={lastDef}\n\t\t\t\t\titem={item}\n\t\t\t\t\tindex={this._columns.length - 1}\n\t\t\t\t\trowIndex={index}\n\t\t\t\t\ttableHasActions={!!this._rowActionsRow.length}\n\t\t\t\t>\n\t\t\t\t\t<div slot=\"actions\" class=\"flex ml-auto gap-2 items-center\">\n\t\t\t\t\t\t{this._rowActionsRow.map((a) => (\n\t\t\t\t\t\t\t<p-tooltip content={a.label}>\n\t\t\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\t\t\tdata-is-action\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\t\t\t\t\ticon={a.icon}\n\t\t\t\t\t\t\t\t\ticonRotate={a.iconRotate}\n\t\t\t\t\t\t\t\t\ticonFlip={a.iconFlip}\n\t\t\t\t\t\t\t\t\ticonOnly={true}\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\t\ttypeof a.action === 'function' &&\n\t\t\t\t\t\t\t\t\t\ta.action?.(item, false)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t></p-button>\n\t\t\t\t\t\t\t</p-tooltip>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t</p-table-cell>\n\t\t\t);\n\t\t}\n\n\t\treturn columns;\n\t}\n\n\tprivate _getLoadingColumns(index) {\n\t\treturn this._columns.map((col: TableColumn, colIndex) => {\n\t\t\treturn (\n\t\t\t\t<p-table-cell\n\t\t\t\t\tdefinition={col}\n\t\t\t\t\tvariant=\"loading\"\n\t\t\t\t\tcheckbox={\n\t\t\t\t\t\tcolIndex === 0 || col.hasCheckbox\n\t\t\t\t\t\t\t? this._getCheckbox(index, 'loading')\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t}\n\t\t\t\t\tindex={colIndex}\n\t\t\t\t\trowIndex={index}\n\t\t\t\t></p-table-cell>\n\t\t\t);\n\t\t});\n\t}\n\n\tprivate _getCheckbox(\n\t\trowIndex: number,\n\t\tvariant: 'header' | 'default' | 'loading' = 'default'\n\t) {\n\t\tif (\n\t\t\t!this._enableRowSelection ||\n\t\t\t(!this.selectionKey && !this._rowActionsFloating?.length)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (variant === 'loading') {\n\t\t\treturn <p-loader variant=\"ghost\" class=\"h-6 w-6 rounded\" />;\n\t\t}\n\n\t\tif (variant === 'header') {\n\t\t\treturn (\n\t\t\t\t<input\n\t\t\t\t\tclass={`p-input ${this._rowSelectionLimit !== undefined && 'opacity-0'}`}\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\tonChange={(ev) => this._selectAllChange(ev)}\n\t\t\t\t\tchecked={this._selectionContainsAll()}\n\t\t\t\t\tindeterminate={this._selectionIndeterminate()}\n\t\t\t\t\tdisabled={this._rowSelectionLimit !== undefined}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\tconst item = this._items[rowIndex];\n\n\t\tconst selectionContains = this._selectionContains(rowIndex);\n\n\t\treturn (\n\t\t\t<input\n\t\t\t\tclass=\"p-input\"\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tonChange={(ev) => this._checkboxChange(ev?.target, rowIndex)}\n\t\t\t\tdisabled={\n\t\t\t\t\t(this.canSelectKey && !item[this.canSelectKey]) ||\n\t\t\t\t\t(this._rowSelectionLimit !== undefined &&\n\t\t\t\t\t\t!selectionContains &&\n\t\t\t\t\t\tthis.selectedRows.length === this._rowSelectionLimit)\n\t\t\t\t}\n\t\t\t\tchecked={selectionContains}\n\t\t\t/>\n\t\t);\n\t}\n\n\tprivate _getEmptyState() {\n\t\tif (this.query?.length || this.selectedFiltersAmount) {\n\t\t\treturn (\n\t\t\t\t<div class=\"flex max-w-[20rem] flex-col items-center self-center py-24 text-center\">\n\t\t\t\t\t<p-illustration variant=\"empty-state-search\" class=\"mb-6\" />\n\t\t\t\t\t<p class=\"text-storm-default font-semibold\">\n\t\t\t\t\t\t{this.emptyStateFilteredHeader()}\n\t\t\t\t\t</p>\n\t\t\t\t\t<p class=\"mb-14 text-sm text-storm-medium\">\n\t\t\t\t\t\t{this.emptyStateFilteredContent()}\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={`flex max-w-[20rem] flex-col items-center self-center py-24 text-center ${\n\t\t\t\t\tthis.enableEmptyStateAction && 'cursor-pointer'\n\t\t\t\t}`}\n\t\t\t\tonClick={() =>\n\t\t\t\t\tthis.enableEmptyStateAction &&\n\t\t\t\t\tthis.emptyStateActionClick.emit(null)\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<p-illustration variant=\"empty-state-add\" class=\"mb-6\" />\n\t\t\t\t<p class=\"text-storm-default font-semibold\">\n\t\t\t\t\t{this.emptyStateHeader()}\n\t\t\t\t</p>\n\t\t\t\t<p class=\"mb-6 text-sm text-storm-medium\">\n\t\t\t\t\t{this.emptyStateContent()}\n\t\t\t\t</p>\n\t\t\t\t{this.enableEmptyStateAction && (\n\t\t\t\t\t<p-button variant=\"secondary\" icon=\"plus\" size=\"small\">\n\t\t\t\t\t\t{this.emptyStateAction()}\n\t\t\t\t\t</p-button>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate _selectAllChange($event: any, forceValue?: boolean) {\n\t\tif (!this._enableRowSelection) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst value =\n\t\t\tforceValue === undefined\n\t\t\t\t? this._getCheckedValue($event.target)\n\t\t\t\t: forceValue;\n\t\tif (value) {\n\t\t\tconst toAdd = [];\n\t\t\tfor (let i = 0; i < this._items.length; i++) {\n\t\t\t\tconst row = this._items[i];\n\t\t\t\tif (this.canSelectKey && !row[this.canSelectKey]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (this._selectionContains(i)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\ttoAdd.push(row);\n\t\t\t\tthis.rowSelected.emit(row);\n\n\t\t\t\tif (\n\t\t\t\t\tthis._rowSelectionLimit !== undefined &&\n\t\t\t\t\tthis.selectedRows.length + toAdd.length ===\n\t\t\t\t\t\tthis._rowSelectionLimit\n\t\t\t\t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.selectedRows = [...this.selectedRows, ...toAdd];\n\t\t\tthis.selectedRowsChange.emit(this.selectedRows);\n\t\t\tif (this.enableFloatingMenu && !this._floatingMenuShown) {\n\t\t\t\tthis._floatingMenuShown = true;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tfor (let i = 0; i < this.selectedRows.length; i++) {\n\t\t\tconst value = this.selectedRows[i];\n\t\t\tconst row = this._items.find(\n\t\t\t\t(d) =>\n\t\t\t\t\tthis._getSelectionValue(d, i) ===\n\t\t\t\t\tthis._getSelectionValue(value, i)\n\t\t\t);\n\n\t\t\tif (!row) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tthis.rowDeselected.emit(row);\n\t\t}\n\n\t\tthis.selectedRows = [];\n\t\tthis.selectedRowsChange.emit(this.selectedRows);\n\t}\n\n\tprivate _checkboxChange(target: any, index: number) {\n\t\tif (!this._enableRowSelection) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst value = this._getCheckedValue(target);\n\t\tif (\n\t\t\tvalue &&\n\t\t\tthis._rowSelectionLimit !== undefined &&\n\t\t\tthis.selectedRows.length >= this._rowSelectionLimit\n\t\t) {\n\t\t\ttarget.checked = false;\n\t\t\treturn;\n\t\t}\n\n\t\tconst row = this._items[index];\n\n\t\tif (this.canSelectKey && !row[this.canSelectKey]) {\n\t\t\ttarget.checked = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (value) {\n\t\t\tthis.selectedRows = [\n\t\t\t\t...this.selectedRows,\n\t\t\t\t{\n\t\t\t\t\t...row,\n\t\t\t\t\tindex,\n\t\t\t\t},\n\t\t\t];\n\t\t\tthis.selectedRowsChange.emit(this.selectedRows);\n\t\t\tthis.rowSelected.emit(row);\n\n\t\t\tif (this.enableFloatingMenu && !this._floatingMenuShown) {\n\t\t\t\tthis._floatingMenuShown = true;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst indexOfToRemove = this._selectionContains(index, true);\n\n\t\t// we need to do this, because splice does not trigger the selection setter.\n\t\tconst selection = [...this.selectedRows];\n\t\tselection.splice(indexOfToRemove, 1);\n\t\tthis.selectedRows = selection;\n\t\tthis.selectedRowsChange.emit(this.selectedRows);\n\t\tthis.rowDeselected.emit(row);\n\t}\n\n\tprivate _getCheckedValue(target: any) {\n\t\treturn target?.checked;\n\t}\n\n\tprivate _getSelectionValue(row: any, index: number) {\n\t\treturn this.selectionKey ? row?.[this.selectionKey] || index : index;\n\t}\n\n\tprivate _selectionContains(index, returnIndex = false): any {\n\t\tconst returnValue = this.selectedRows.findIndex(\n\t\t\t(item) => item.index === index\n\t\t);\n\t\treturn !returnIndex ? returnValue >= 0 : returnValue;\n\t}\n\n\tprivate _selectionContainsAll() {\n\t\tlet returnValue = true;\n\t\tif (!this._items?.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (\n\t\t\tthis._rowSelectionLimit !== undefined &&\n\t\t\tthis.selectedRows.length === this._rowSelectionLimit\n\t\t) {\n\t\t\treturn true;\n\t\t}\n\n\t\tfor (let i = 0; i < this._items?.length; i++) {\n\t\t\tconst contains = this._selectionContains(i);\n\n\t\t\tif (!contains) {\n\t\t\t\treturnValue = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn returnValue;\n\t}\n\n\tprivate _selectionIndeterminate() {\n\t\tif (!this._items?.length || !this.selectedRows?.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (\n\t\t\tthis._rowSelectionLimit !== undefined &&\n\t\t\tthis.selectedRows.length === this._rowSelectionLimit\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet containsCount = 0;\n\t\tfor (let i = 0; i < this._items?.length; i++) {\n\t\t\tconst contains = this._selectionContains(i);\n\n\t\t\tif (contains) {\n\t\t\t\tcontainsCount++;\n\t\t\t}\n\t\t}\n\n\t\treturn containsCount > 0 && containsCount !== this._items.length;\n\t}\n\n\tprivate _rowClick($event, index) {\n\t\tconst target = $event.target;\n\n\t\tif (\n\t\t\ttarget.tagName.toLowerCase() === 'input' ||\n\t\t\ttarget.type === 'checkbox'\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst row = this._findRow($event.target);\n\t\tconst action = this._findRowAction($event.target);\n\n\t\tif (action) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.enableRowClick) {\n\t\t\tconst item = this._items[index];\n\t\t\tthis.rowClick.emit({\n\t\t\t\titem,\n\t\t\t\tctrlDown: this._ctrlDown,\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._enableRowSelection) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst checkbox = row?.querySelector('input[type=\"checkbox\"]');\n\n\t\tif (!checkbox) {\n\t\t\treturn;\n\t\t}\n\n\t\tcheckbox.checked = !checkbox.checked;\n\t\tthis._checkboxChange(checkbox, index);\n\t}\n\n\tprivate _findRow(el: HTMLElement) {\n\t\tif (!el) {\n\t\t\treturn el;\n\t\t}\n\n\t\tif (el?.tagName?.toLowerCase() === 'p-table-row') {\n\t\t\treturn el;\n\t\t}\n\n\t\treturn this._findRow(el?.parentElement);\n\t}\n\n\tprivate _findRowAction(el: HTMLElement) {\n\t\tif (!el) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (\n\t\t\tel.getAttribute('data-is-action') !== null &&\n\t\t\tel.getAttribute('data-is-action') !== 'false'\n\t\t) {\n\t\t\treturn el;\n\t\t}\n\n\t\tif (el?.tagName?.toLowerCase() === 'p-table-row') {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this._findRowAction(el?.parentElement);\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["TableRowAction","render"],"sources":["src/components/helpers/table-row-action/table-row-action.component.tsx"],"sourcesContent":["import { Component, Prop } from '@stencil/core';\nimport {\n\tIconFlipOptions,\n\tIconVariant,\n\tRotateOptions,\n} from '../../../components';\n\nexport type TableRowActionFunc = {\n\t(item: any, multi: false): void;\n\t(item: any[], multi: true): void;\n};\n\n@Component({\n\ttag: 'p-table-row-action',\n})\nexport class TableRowAction {\n\t/**\n\t * The type of action\n\t * mutli = Only multi select action\n\t * single = Only an action on the row\n\t * both = Action on both locations\n\t */\n\t@Prop({ reflect: true, mutable: true }) type: 'both' | 'single' | 'multi' =\n\t\t'both';\n\n\t/**\n\t * Icon to show on the button\n\t */\n\t@Prop() icon: IconVariant;\n\n\t/**\n\t * Wether the button is icon only\n\t */\n\t@Prop() iconOnly: boolean = false;\n\n\t/**\n\t * Icon flip\n\t */\n\t@Prop() iconFlip: IconFlipOptions;\n\n\t/**\n\t * Icon rotate\n\t */\n\t@Prop() iconRotate: RotateOptions;\n\n\t/**\n\t * Label of the action\n\t */\n\t@Prop() label: string;\n\n\t/**\n\t * The action to trigger when used\n\t */\n\t@Prop() action: TableRowActionFunc;\n\n\t/**\n\t * Wether the action is disabled\n\t */\n\t@Prop() disabled: boolean = false;\n\n\t/**\n\t * Wether the action is loading\n\t */\n\t@Prop() loading: boolean = false;\n\n\trender() {\n\t\treturn;\n\t}\n}\n"],"mappings":"0CAeaA,EAAc,M,mCAQzB,O,kCAU2B,M,2GAyBA,M,aAKD,K,CAE3B,MAAAC,GACC,M"}
|