@paperless/core 1.47.0 → 1.48.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 +11 -0
- package/dist/build/p-08bef9ec.entry.js +2 -0
- package/dist/build/p-08bef9ec.entry.js.map +1 -0
- package/dist/build/paperless.esm.js +1 -1
- package/dist/cjs/p-table.cjs.entry.js +17 -5
- package/dist/cjs/p-table.cjs.entry.js.map +1 -1
- package/dist/collection/components/organisms/table/table.component.js +17 -5
- package/dist/collection/components/organisms/table/table.component.js.map +1 -1
- package/dist/components/p-table.js +17 -5
- package/dist/components/p-table.js.map +1 -1
- package/dist/esm/p-table.entry.js +17 -5
- package/dist/esm/p-table.entry.js.map +1 -1
- package/dist/index.html +1 -1
- package/dist/paperless/p-08bef9ec.entry.js +2 -0
- package/dist/paperless/p-08bef9ec.entry.js.map +1 -0
- package/dist/paperless/paperless.esm.js +1 -1
- package/dist/sw.js +1 -1
- package/dist/sw.js.map +1 -1
- package/dist/types/components/organisms/table/table.component.d.ts +2 -0
- package/hydrate/index.js +17 -5
- package/package.json +1 -1
- package/dist/build/p-cd2f0e4f.entry.js +0 -2
- package/dist/build/p-cd2f0e4f.entry.js.map +0 -1
- package/dist/paperless/p-cd2f0e4f.entry.js +0 -2
- package/dist/paperless/p-cd2f0e4f.entry.js.map +0 -1
|
@@ -46,6 +46,7 @@ const Table = /*@__PURE__*/ proxyCustomElement(class Table extends HTMLElement {
|
|
|
46
46
|
this.pageSizeChange = createEvent(this, "pageSizeChange", 3);
|
|
47
47
|
this.export = createEvent(this, "export", 3);
|
|
48
48
|
this.emptyStateActionClick = createEvent(this, "emptyStateActionClick", 3);
|
|
49
|
+
this._rowActionsFloatingAll = [];
|
|
49
50
|
this._ctrlDown = false;
|
|
50
51
|
this._hasCustomFilterSlot = false;
|
|
51
52
|
this._floatingMenuShown = false;
|
|
@@ -198,7 +199,7 @@ const Table = /*@__PURE__*/ proxyCustomElement(class Table extends HTMLElement {
|
|
|
198
199
|
// we hack this to any[] to make it work..
|
|
199
200
|
const actions = Array.from(this._el.querySelectorAll(':scope > p-table-row-action'));
|
|
200
201
|
this._rowActionsRow = actions.filter((a) => a.type === 'both' || a.type === 'single');
|
|
201
|
-
this.
|
|
202
|
+
this._rowActionsFloatingAll = actions
|
|
202
203
|
.filter((a) => a.type === 'both' || a.type === 'multi' || mobile)
|
|
203
204
|
.map((a) => {
|
|
204
205
|
var _a;
|
|
@@ -209,7 +210,7 @@ const Table = /*@__PURE__*/ proxyCustomElement(class Table extends HTMLElement {
|
|
|
209
210
|
});
|
|
210
211
|
let rowSelectionLimit = this.rowSelectionLimit;
|
|
211
212
|
if (mobile && // we're mobile
|
|
212
|
-
((_a = this.
|
|
213
|
+
((_a = this._rowActionsFloatingAll) === null || _a === void 0 ? void 0 : _a.length) && // we have atleast 1 item in _rowActionsFloating
|
|
213
214
|
((rowSelectionLimit !== undefined && this.enableRowSelection) ||
|
|
214
215
|
!this.enableRowSelection)) {
|
|
215
216
|
rowSelectionLimit = 1;
|
|
@@ -217,7 +218,7 @@ const Table = /*@__PURE__*/ proxyCustomElement(class Table extends HTMLElement {
|
|
|
217
218
|
this._rowSelectionLimit = rowSelectionLimit;
|
|
218
219
|
let enableRowSelection = this.enableRowSelection;
|
|
219
220
|
if (mobile && // we're mobile
|
|
220
|
-
((_b = this.
|
|
221
|
+
((_b = this._rowActionsFloatingAll) === null || _b === void 0 ? void 0 : _b.length) && // we have atleast 1 item in _rowActionsFloating
|
|
221
222
|
!enableRowSelection) {
|
|
222
223
|
enableRowSelection = true;
|
|
223
224
|
}
|
|
@@ -329,7 +330,7 @@ const Table = /*@__PURE__*/ proxyCustomElement(class Table extends HTMLElement {
|
|
|
329
330
|
this.selectedRows = [...this.selectedRows, ...toAdd];
|
|
330
331
|
this.selectedRowsChange.emit(this.selectedRows);
|
|
331
332
|
if (this.enableFloatingMenu && !this._floatingMenuShown) {
|
|
332
|
-
this.
|
|
333
|
+
this._showFloatingMenu();
|
|
333
334
|
}
|
|
334
335
|
return;
|
|
335
336
|
}
|
|
@@ -369,7 +370,7 @@ const Table = /*@__PURE__*/ proxyCustomElement(class Table extends HTMLElement {
|
|
|
369
370
|
this.selectedRowsChange.emit(this.selectedRows);
|
|
370
371
|
this.rowSelected.emit(row);
|
|
371
372
|
if (this.enableFloatingMenu && !this._floatingMenuShown) {
|
|
372
|
-
this.
|
|
373
|
+
this._showFloatingMenu();
|
|
373
374
|
}
|
|
374
375
|
return;
|
|
375
376
|
}
|
|
@@ -481,6 +482,17 @@ const Table = /*@__PURE__*/ proxyCustomElement(class Table extends HTMLElement {
|
|
|
481
482
|
}
|
|
482
483
|
return this._findRowAction(el === null || el === void 0 ? void 0 : el.parentElement);
|
|
483
484
|
}
|
|
485
|
+
_showFloatingMenu() {
|
|
486
|
+
let actions = this._rowActionsFloatingAll;
|
|
487
|
+
if (this.rowSelectionLimit === 1 &&
|
|
488
|
+
actions.findIndex((a) => (a.type === 'single' || a.type === 'both') && a.showFunction) >= 0) {
|
|
489
|
+
actions = actions.filter((a) => a.type === 'multi' ||
|
|
490
|
+
!a.showFunction ||
|
|
491
|
+
a.showFunction(this.selectedRows[0]));
|
|
492
|
+
}
|
|
493
|
+
this._rowActionsFloating = actions;
|
|
494
|
+
this._floatingMenuShown = true;
|
|
495
|
+
}
|
|
484
496
|
get _el() { return this; }
|
|
485
497
|
static get watchers() { return {
|
|
486
498
|
"items": ["_parseItems"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-table.js","mappings":"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","names":[],"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\tconst actions = this._rowActionsRow.filter((a) =>\n\t\t\t\ta.showFunction ? a.showFunction(item) : true\n\t\t\t);\n\n\t\t\tif (!actions.length) {\n\t\t\t\treturn columns;\n\t\t\t}\n\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{actions.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"],"version":3}
|
|
1
|
+
{"file":"p-table.js","mappings":"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","names":[],"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\tprivate _rowActionsFloatingAll: TableRowAction[] = [];\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._rowActionsFloatingAll = 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._rowActionsFloatingAll?.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._rowActionsFloatingAll?.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\tconst actions = this._rowActionsRow.filter((a) =>\n\t\t\t\ta.showFunction ? a.showFunction(item) : true\n\t\t\t);\n\n\t\t\tif (!actions.length) {\n\t\t\t\treturn columns;\n\t\t\t}\n\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{actions.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._showFloatingMenu();\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._showFloatingMenu();\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\tprivate _showFloatingMenu() {\n\t\tlet actions = this._rowActionsFloatingAll;\n\t\tif (\n\t\t\tthis.rowSelectionLimit === 1 &&\n\t\t\tactions.findIndex(\n\t\t\t\t(a) =>\n\t\t\t\t\t(a.type === 'single' || a.type === 'both') && a.showFunction\n\t\t\t) >= 0\n\t\t) {\n\t\t\tactions = actions.filter(\n\t\t\t\t(a) =>\n\t\t\t\t\ta.type === 'multi' ||\n\t\t\t\t\t!a.showFunction ||\n\t\t\t\t\ta.showFunction(this.selectedRows[0])\n\t\t\t);\n\t\t}\n\n\t\tthis._rowActionsFloating = actions;\n\t\tthis._floatingMenuShown = true;\n\t}\n}\n"],"version":3}
|
|
@@ -21,6 +21,7 @@ const Table = class {
|
|
|
21
21
|
this.pageSizeChange = createEvent(this, "pageSizeChange", 3);
|
|
22
22
|
this.export = createEvent(this, "export", 3);
|
|
23
23
|
this.emptyStateActionClick = createEvent(this, "emptyStateActionClick", 3);
|
|
24
|
+
this._rowActionsFloatingAll = [];
|
|
24
25
|
this._ctrlDown = false;
|
|
25
26
|
this._hasCustomFilterSlot = false;
|
|
26
27
|
this._floatingMenuShown = false;
|
|
@@ -173,7 +174,7 @@ const Table = class {
|
|
|
173
174
|
// we hack this to any[] to make it work..
|
|
174
175
|
const actions = Array.from(this._el.querySelectorAll(':scope > p-table-row-action'));
|
|
175
176
|
this._rowActionsRow = actions.filter((a) => a.type === 'both' || a.type === 'single');
|
|
176
|
-
this.
|
|
177
|
+
this._rowActionsFloatingAll = actions
|
|
177
178
|
.filter((a) => a.type === 'both' || a.type === 'multi' || mobile)
|
|
178
179
|
.map((a) => {
|
|
179
180
|
var _a;
|
|
@@ -184,7 +185,7 @@ const Table = class {
|
|
|
184
185
|
});
|
|
185
186
|
let rowSelectionLimit = this.rowSelectionLimit;
|
|
186
187
|
if (mobile && // we're mobile
|
|
187
|
-
((_a = this.
|
|
188
|
+
((_a = this._rowActionsFloatingAll) === null || _a === void 0 ? void 0 : _a.length) && // we have atleast 1 item in _rowActionsFloating
|
|
188
189
|
((rowSelectionLimit !== undefined && this.enableRowSelection) ||
|
|
189
190
|
!this.enableRowSelection)) {
|
|
190
191
|
rowSelectionLimit = 1;
|
|
@@ -192,7 +193,7 @@ const Table = class {
|
|
|
192
193
|
this._rowSelectionLimit = rowSelectionLimit;
|
|
193
194
|
let enableRowSelection = this.enableRowSelection;
|
|
194
195
|
if (mobile && // we're mobile
|
|
195
|
-
((_b = this.
|
|
196
|
+
((_b = this._rowActionsFloatingAll) === null || _b === void 0 ? void 0 : _b.length) && // we have atleast 1 item in _rowActionsFloating
|
|
196
197
|
!enableRowSelection) {
|
|
197
198
|
enableRowSelection = true;
|
|
198
199
|
}
|
|
@@ -304,7 +305,7 @@ const Table = class {
|
|
|
304
305
|
this.selectedRows = [...this.selectedRows, ...toAdd];
|
|
305
306
|
this.selectedRowsChange.emit(this.selectedRows);
|
|
306
307
|
if (this.enableFloatingMenu && !this._floatingMenuShown) {
|
|
307
|
-
this.
|
|
308
|
+
this._showFloatingMenu();
|
|
308
309
|
}
|
|
309
310
|
return;
|
|
310
311
|
}
|
|
@@ -344,7 +345,7 @@ const Table = class {
|
|
|
344
345
|
this.selectedRowsChange.emit(this.selectedRows);
|
|
345
346
|
this.rowSelected.emit(row);
|
|
346
347
|
if (this.enableFloatingMenu && !this._floatingMenuShown) {
|
|
347
|
-
this.
|
|
348
|
+
this._showFloatingMenu();
|
|
348
349
|
}
|
|
349
350
|
return;
|
|
350
351
|
}
|
|
@@ -456,6 +457,17 @@ const Table = class {
|
|
|
456
457
|
}
|
|
457
458
|
return this._findRowAction(el === null || el === void 0 ? void 0 : el.parentElement);
|
|
458
459
|
}
|
|
460
|
+
_showFloatingMenu() {
|
|
461
|
+
let actions = this._rowActionsFloatingAll;
|
|
462
|
+
if (this.rowSelectionLimit === 1 &&
|
|
463
|
+
actions.findIndex((a) => (a.type === 'single' || a.type === 'both') && a.showFunction) >= 0) {
|
|
464
|
+
actions = actions.filter((a) => a.type === 'multi' ||
|
|
465
|
+
!a.showFunction ||
|
|
466
|
+
a.showFunction(this.selectedRows[0]));
|
|
467
|
+
}
|
|
468
|
+
this._rowActionsFloating = actions;
|
|
469
|
+
this._floatingMenuShown = true;
|
|
470
|
+
}
|
|
459
471
|
get _el() { return getElement(this); }
|
|
460
472
|
static get watchers() { return {
|
|
461
473
|
"items": ["_parseItems"],
|