@paperless/core 1.17.0 → 1.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/{paperless/p-4ea9ac89.entry.js → build/p-9d3d72fa.entry.js} +2 -2
  3. package/dist/{paperless/p-4ea9ac89.entry.js.map → build/p-9d3d72fa.entry.js.map} +1 -1
  4. package/dist/build/p-ad1cb58a.entry.js +2 -0
  5. package/dist/build/p-ad1cb58a.entry.js.map +1 -0
  6. package/dist/build/paperless.esm.js +1 -1
  7. package/dist/cjs/p-floating-menu-container_8.cjs.entry.js +1 -1
  8. package/dist/cjs/p-floating-menu-container_8.cjs.entry.js.map +1 -1
  9. package/dist/cjs/p-table.cjs.entry.js +9 -5
  10. package/dist/cjs/p-table.cjs.entry.js.map +1 -1
  11. package/dist/collection/components/atoms/floating-menu-container/floating-menu-container.component.css +1 -1
  12. package/dist/collection/components/atoms/floating-menu-container/floating-menu-container.component.js +1 -1
  13. package/dist/collection/components/atoms/floating-menu-container/floating-menu-container.component.js.map +1 -1
  14. package/dist/collection/components/organisms/table/table.component.css +1 -1
  15. package/dist/collection/components/organisms/table/table.component.js +8 -4
  16. package/dist/collection/components/organisms/table/table.component.js.map +1 -1
  17. package/dist/components/floating-menu-container.component.js +1 -1
  18. package/dist/components/floating-menu-container.component.js.map +1 -1
  19. package/dist/components/p-table.js +9 -5
  20. package/dist/components/p-table.js.map +1 -1
  21. package/dist/esm/p-floating-menu-container_8.entry.js +1 -1
  22. package/dist/esm/p-floating-menu-container_8.entry.js.map +1 -1
  23. package/dist/esm/p-table.entry.js +9 -5
  24. package/dist/esm/p-table.entry.js.map +1 -1
  25. package/dist/index.html +1 -1
  26. package/dist/{build/p-4ea9ac89.entry.js → paperless/p-9d3d72fa.entry.js} +2 -2
  27. package/dist/{build/p-4ea9ac89.entry.js.map → paperless/p-9d3d72fa.entry.js.map} +1 -1
  28. package/dist/paperless/p-ad1cb58a.entry.js +2 -0
  29. package/dist/paperless/p-ad1cb58a.entry.js.map +1 -0
  30. package/dist/paperless/paperless.esm.js +1 -1
  31. package/dist/sw.js +1 -1
  32. package/dist/sw.js.map +1 -1
  33. package/dist/types/components/organisms/table/table.component.d.ts +1 -0
  34. package/hydrate/index.js +10 -6
  35. package/package.json +1 -1
  36. package/dist/build/p-2327d2ad.entry.js +0 -2
  37. package/dist/build/p-2327d2ad.entry.js.map +0 -1
  38. package/dist/paperless/p-2327d2ad.entry.js +0 -2
  39. package/dist/paperless/p-2327d2ad.entry.js.map +0 -1
@@ -2,7 +2,7 @@ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement
2
2
  import { f as formatTranslation, g as getLocaleComponentStrings } from './localization-2c641f90.js';
3
3
  import { d as defaultSize, a as defaultSizeOptions } from './constants-3500ea14.js';
4
4
 
5
- const tableComponentCss = ".fixed{position:fixed!important}.absolute{position:absolute!important}.relative{position:relative!important}.bottom-4{bottom:1rem!important}.left-1\\/2{left:50%!important}.flex{display:flex!important}.hidden{display:none!important}.flex-shrink{flex-shrink:1!important}.-translate-x-1\\/2{--tw-translate-x:-50%!important}.-translate-x-1\\/2,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}*{box-sizing:border-box}p-table{display:flex;flex-direction:column;position:relative}p-table .p-input[type=checkbox]{flex-shrink:0}p-table p-table-container{position:relative}p-table p-table-container p-floating-menu-container{--tw-translate-x:-50%;animation:floatingMenuContainerIn .3s ease forwards!important;bottom:1rem;left:50%;position:fixed;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (min-width:40rem){p-table p-table-container p-floating-menu-container{bottom:4rem;position:absolute}}p-table p-table-container p-floating-menu-container.inactive{animation:floatingMenuContainerOut .3s ease forwards!important}p-table p-table-container p-floating-menu-container .hide-mobile{display:none}@media (min-width:40rem){p-table p-table-container p-floating-menu-container .hide-mobile{display:block}}@keyframes floatingMenuContainerOut{0%{opacity:1;transform:translateY(0) translateX(-50%)}to{opacity:0;transform:translateY(100%) translateX(-50%)}}@keyframes floatingMenuContainerIn{0%{opacity:0;transform:translateY(100%) translateX(-50%)}to{opacity:1;transform:translateY(0) translateX(-50%)}}@media (min-width:40rem){.tablet\\:block{display:block!important}}.static{position:static!important}.mx-0{margin-left:0!important;margin-right:0!important}.mb-14{margin-bottom:3.5rem!important}.mb-6{margin-bottom:1.5rem!important}.table{display:table!important}.h-6{height:1.5rem!important}.w-6{width:1.5rem!important}.max-w-\\[20rem\\]{max-width:20rem!important}.cursor-pointer{cursor:pointer!important}.flex-col{flex-direction:column!important}.items-center{align-items:center!important}.self-center{align-self:center!important}.rounded{border-radius:.25rem!important}.py-24{padding-bottom:6rem!important;padding-top:6rem!important}.text-center{text-align:center!important}.text-sm{font-size:.875rem!important;line-height:1.25rem!important}.font-semibold{font-weight:600!important}.text-storm{--tw-text-opacity:1!important;color:rgb(81 83 107/var(--tw-text-opacity))!important}.text-storm-medium{--tw-text-opacity:1!important;color:rgb(128 130 158/var(--tw-text-opacity))!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}";
5
+ const tableComponentCss = ".fixed{position:fixed!important}.absolute{position:absolute!important}.relative{position:relative!important}.bottom-4{bottom:1rem!important}.left-1\\/2{left:50%!important}.flex{display:flex!important}.hidden{display:none!important}.flex-shrink{flex-shrink:1!important}.-translate-x-1\\/2{--tw-translate-x:-50%!important}.-translate-x-1\\/2,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}*{box-sizing:border-box}p-table{display:flex;flex-direction:column;position:relative}p-table .p-input[type=checkbox]{flex-shrink:0}p-table p-table-container{position:relative}p-table p-table-container p-floating-menu-container{--tw-translate-x:-50%;animation:floatingMenuContainerIn .3s ease forwards!important;bottom:1rem;left:50%;position:fixed;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}p-table p-table-container p-floating-menu-container.inactive{animation:floatingMenuContainerOut .3s ease forwards!important}@media (min-width:40rem){p-table p-table-container p-floating-menu-container{bottom:4rem;position:absolute}}p-table p-table-container p-floating-menu-container .hide-mobile,p-table p-table-container p-floating-menu-container:not(.shown){display:none}@media (min-width:40rem){p-table p-table-container p-floating-menu-container .hide-mobile{display:block}}@keyframes floatingMenuContainerOut{0%{display:flex;opacity:1;transform:translateY(0) translateX(-50%)}99%{display:flex;opacity:0;transform:translateY(100%) translateX(-50%)}to{display:none;opacity:0;transform:translateY(100%) translateX(-50%)}}@keyframes floatingMenuContainerIn{0%{display:none;opacity:0;transform:translateY(100%) translateX(-50%)}1%{display:flex;opacity:0;transform:translateY(100%) translateX(-50%)}to{display:flex;opacity:1;transform:translateY(0) translateX(-50%)}}@media (min-width:40rem){.tablet\\:block{display:block!important}}.static{position:static!important}.mx-0{margin-left:0!important;margin-right:0!important}.mb-14{margin-bottom:3.5rem!important}.mb-6{margin-bottom:1.5rem!important}.table{display:table!important}.h-6{height:1.5rem!important}.w-6{width:1.5rem!important}.max-w-\\[20rem\\]{max-width:20rem!important}.cursor-pointer{cursor:pointer!important}.flex-col{flex-direction:column!important}.items-center{align-items:center!important}.self-center{align-self:center!important}.rounded{border-radius:.25rem!important}.py-24{padding-bottom:6rem!important;padding-top:6rem!important}.text-center{text-align:center!important}.text-sm{font-size:.875rem!important;line-height:1.25rem!important}.font-semibold{font-weight:600!important}.text-storm{--tw-text-opacity:1!important;color:rgb(81 83 107/var(--tw-text-opacity))!important}.text-storm-medium{--tw-text-opacity:1!important;color:rgb(128 130 158/var(--tw-text-opacity))!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}";
6
6
 
7
7
  const Table = class {
8
8
  constructor(hostRef) {
@@ -23,6 +23,7 @@ const Table = class {
23
23
  this._ctrlDown = false;
24
24
  this._hasCustomFilterSlot = false;
25
25
  this._hasFloatingMenuItems = false;
26
+ this._floatingMenuShown = false;
26
27
  this.items = undefined;
27
28
  this.loading = false;
28
29
  this.headerLoading = false;
@@ -76,9 +77,6 @@ const Table = class {
76
77
  componentWillLoad() {
77
78
  this._hasCustomFilterSlot = !!this._el.querySelector(':scope > [slot="custom-filter"]');
78
79
  this._hasFloatingMenuItems = !!this._el.querySelectorAll(':scope > [slot="floating-menu-item"]').length;
79
- if (this.enableRowSelection) {
80
- console.log(this._hasFloatingMenuItems, this._el.querySelectorAll(':scope > [slot="floating-menu-item"]'));
81
- }
82
80
  this._setLocales();
83
81
  this._parseItems(this.items);
84
82
  this._generateColumns();
@@ -110,7 +108,7 @@ const Table = class {
110
108
  enableExport: this.enableExport, onExport: () => this.export.emit(),
111
109
  //loading
112
110
  loading: this.footerLoading
113
- })), this.enableFloatingMenu ? (h("p-floating-menu-container", { usedInTable: true, class: ((_b = this.selectedRows) === null || _b === void 0 ? void 0 : _b.length) ? '' : 'inactive' }, h("p-floating-menu-item", { hover: false, slot: "floating-menu-item", class: this._hasFloatingMenuItems
111
+ })), this.enableFloatingMenu && this.enableRowSelection ? (h("p-floating-menu-container", { usedInTable: true, class: `${((_b = this.selectedRows) === null || _b === void 0 ? void 0 : _b.length) ? '' : 'inactive'} ${this._floatingMenuShown ? 'shown' : ''}` }, h("p-floating-menu-item", { hover: false, slot: "floating-menu-item", class: this._hasFloatingMenuItems
114
112
  ? 'hide-mobile'
115
113
  : '' }, this.floatingMenuAmountSelectedTemplate((_c = this.selectedRows) === null || _c === void 0 ? void 0 : _c.length)), h("p-divider", { class: `mx-0 text-storm ${this._hasFloatingMenuItems
116
114
  ? 'hide-mobile'
@@ -230,6 +228,9 @@ const Table = class {
230
228
  }
231
229
  this.selectedRows = [...this.selectedRows, ...toAdd];
232
230
  this.selectedRowsChange.emit(this.selectedRows);
231
+ if (this.enableFloatingMenu && !this._floatingMenuShown) {
232
+ this._floatingMenuShown = true;
233
+ }
233
234
  return;
234
235
  }
235
236
  for (let i = 0; i < this.selectedRows.length; i++) {
@@ -258,6 +259,9 @@ const Table = class {
258
259
  this.selectedRows = [...this.selectedRows, row];
259
260
  this.selectedRowsChange.emit(this.selectedRows);
260
261
  this.rowSelected.emit(row);
262
+ if (this.enableFloatingMenu && !this._floatingMenuShown) {
263
+ this._floatingMenuShown = true;
264
+ }
261
265
  return;
262
266
  }
263
267
  const indexOfToRemove = this._selectionContains(row, index, true);
@@ -1 +1 @@
1
- {"file":"p-table.entry.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 @apply relative flex flex-col;\n\n .p-input[type='checkbox'] {\n flex-shrink: 0;\n }\n\n p-table-container {\n @apply relative;\n\n p-floating-menu-container {\n @apply fixed bottom-4 left-1/2 -translate-x-1/2 transform;\n animation: forwards floatingMenuContainerIn 0.3s ease !important;\n\n @screen tablet {\n @apply absolute bottom-16;\n }\n\n &.inactive {\n animation: forwards floatingMenuContainerOut 0.3s ease !important;\n }\n\n .hide-mobile {\n @apply hidden tablet:block;\n }\n }\n }\n}\n\n@keyframes floatingMenuContainerOut {\n 0% {\n transform: translateY(0) translateX(-50%);\n opacity: 100;\n }\n 100% {\n transform: translateY(100%) translateX(-50%);\n opacity: 0;\n }\n}\n\n@keyframes floatingMenuContainerIn {\n 0% {\n transform: translateY(100%) translateX(-50%);\n opacity: 0;\n }\n 100% {\n transform: translateY(0) translateX(-50%);\n opacity: 100;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { IconVariant } from '../../../components';\nimport { QuickFilter, RowClickEvent } from '../../../types/table';\nimport { formatTranslation, getLocaleComponentStrings } from '../../../utils';\nimport { TableColumn } from '../../helpers/table-column/table-column.component';\nimport {\n defaultSize,\n defaultSizeOptions,\n} from '../../molecules/page-size-select/constants';\nimport { buttonTemplateFunc } from '../../molecules/table-header/table-header.component';\n\nexport type templateFunc = () => string;\nexport type amountSelectedTemplateFunc = (amount: number) => string;\n\n@Component({\n tag: 'p-table',\n styleUrl: 'table.component.scss',\n})\nexport class Table {\n /**\n * The items to be fed to the table\n */\n @Prop() items: string;\n\n /**\n * Wether data is loading\n */\n @Prop() loading: boolean = false;\n\n /**\n * Wether the header should show loading state\n */\n @Prop() headerLoading: boolean = false;\n\n /**\n * Wether the footer should show loading state\n */\n @Prop() footerLoading: boolean = false;\n\n /**\n * The amount of loading rows to show\n */\n @Prop() amountOfLoadingRows: number = 6;\n\n /**\n * Wether to enable selection\n */\n @Prop() enableRowSelection: boolean = true;\n\n /**\n * Wether to enable row clicking\n */\n @Prop() enableRowClick: boolean = true;\n\n /**\n * The current selection of items\n */\n @Prop() selectedRows: any[] = [];\n\n /**\n * Wether to enable the floating menu\n */\n @Prop() enableFloatingMenu: boolean = true;\n\n /**\n * The template for amount selected item in the floating menu\n */\n @Prop() floatingMenuAmountSelectedTemplate: amountSelectedTemplateFunc = (\n amount: number\n ) =>\n formatTranslation(\n (amount === 1\n ? this._locales.floating_menu?.amount_selected\n : this._locales.floating_menu?.amount_selected_plural\n )?.replace('{{amount}}', amount)\n );\n\n /**\n * Event whenever the current selection changes\n */\n @Event({\n bubbles: false,\n })\n selectedRowsChange: EventEmitter<any>;\n\n /**\n * The key to determine if a row is selected\n */\n @Prop() selectionKey: string;\n\n /**\n * A key to determine if a row can be selected\n */\n @Prop() canSelectKey: string;\n\n /**\n * Event whenever a row is clicked\n */\n @Event({\n bubbles: false,\n })\n rowClick: EventEmitter<RowClickEvent>;\n\n /**\n * Event whenever a row is selected\n */\n @Event({\n bubbles: false,\n })\n rowSelected: EventEmitter<any>;\n\n /**\n * Event whenever a row is deselected\n */\n @Event({\n bubbles: false,\n })\n rowDeselected: EventEmitter<any>;\n\n /**\n * Event when the table has rendered\n */\n @Event({\n bubbles: false,\n })\n hasRendered: EventEmitter<number>;\n\n /** START HEADER */\n\n /**\n * Wether to show the header\n */\n @Prop() enableHeader: boolean = true;\n\n /**\n * Quick filters to show\n */\n @Prop() quickFilters: QuickFilter[] = [];\n\n /**\n * Active quick filter identifier\n */\n @Prop() activeQuickFilterIdentifier: string;\n\n /**\n * Wether to show the search input\n */\n @Prop() enableSearch: boolean = true;\n\n /**\n * The query to show in the search bar\n */\n @Prop({ mutable: true }) query: string;\n\n /**\n * Wether to show the filter button\n */\n @Prop() enableFilter: boolean = true;\n\n /**\n * The amount of filters being selected\n */\n @Prop() selectedFiltersAmount: number;\n\n /**\n * The template for the filter button text\n */\n @Prop() filterButtonTemplate: templateFunc;\n\n /**\n * Wether to show the action button\n */\n @Prop() enableAction: boolean = false;\n\n /**\n * Wether the action button is loading\n */\n @Prop() actionButtonLoading: boolean = false;\n\n /**\n * Wether the action button is enabled\n */\n @Prop() actionButtonEnabled: boolean = false;\n\n /**\n * The action button icon\n */\n @Prop() actionButtonIcon: IconVariant = 'pencil';\n\n /**\n * The action button text if changed\n */\n @Prop() actionButtonText: string;\n\n /**\n * The template for the action button text\n */\n @Prop() actionButtonTemplate: buttonTemplateFunc;\n\n /**\n * Event when one of the quick filters is clicked\n */\n @Event({\n bubbles: false,\n })\n quickFilter: EventEmitter<QuickFilter>;\n\n /**\n * Event when the query changes\n */\n @Event({\n bubbles: false,\n })\n queryChange: EventEmitter<string>;\n\n /**\n * Event when the filter button is clicked\n */\n @Event({\n bubbles: false,\n })\n filter: EventEmitter<null>;\n\n /**\n * Event when the action button is clicked\n */\n @Event({\n bubbles: false,\n })\n action: EventEmitter<null>;\n\n /** START FOOTER */\n\n /**\n * Wether to show the header\n */\n @Prop() enableFooter: boolean = true;\n\n /**\n * Wether to enable page size select\n */\n @Prop() enablePageSize: boolean = true;\n\n /**\n * Wether to enable pagination\n */\n @Prop() enablePagination: boolean = true;\n\n /**\n * Wether to enable export\n */\n @Prop() enableExport: boolean = true;\n\n /**\n * The current page\n */\n @Prop({ mutable: true, reflect: true }) page: number = 1;\n\n /**\n * The total amount of items\n */\n @Prop() total!: number;\n\n /**\n * Event whenever the page changes\n */\n @Event({\n bubbles: false,\n })\n pageChange: EventEmitter<number>;\n\n /**\n * The amount of items per page\n */\n @Prop() pageSize: number = defaultSize;\n\n /**\n * The options for the page size\n */\n @Prop() pageSizeOptions: number[] = defaultSizeOptions;\n\n /**\n * Event whenever the page changes\n */\n @Event({\n bubbles: false,\n })\n pageSizeChange: EventEmitter<number>;\n\n /**\n * Event whenever the page changes\n */\n @Event({\n bubbles: false,\n })\n export: EventEmitter<number>;\n\n /**\n * Wether to hide when there is only 1 page available\n */\n @Prop() hideOnSinglePage: boolean = true;\n\n /* Empty state start */\n @Prop() emptyStateHeader: templateFunc = () =>\n formatTranslation(this._locales.empty_state?.no_filter.header);\n @Prop() emptyStateContent: templateFunc = () =>\n formatTranslation(this._locales.empty_state?.no_filter.content);\n @Prop() emptyStateAction: templateFunc = () =>\n formatTranslation(this._locales.empty_state?.no_filter.action);\n /**\n * Wether to enable empty state action\n */\n @Prop() enableEmptyStateAction: boolean = true;\n\n @Prop() emptyStateFilteredHeader: templateFunc = () =>\n formatTranslation(this._locales.empty_state.filtered.header);\n @Prop() emptyStateFilteredContent: templateFunc = () =>\n formatTranslation(this._locales.empty_state.filtered.content);\n\n /**\n * Event whenever the empty state is clicked\n */\n @Event({\n bubbles: false,\n })\n emptyStateActionClick: EventEmitter<null>;\n\n /* Empty state end */\n\n /**\n * The host element\n */\n @Element() private _el: HTMLElement;\n\n /**\n * Locales used for this component\n */\n @State() private _locales: any = {};\n\n @State() private _columns: any[] = [];\n @State() private _items: any[] = [];\n\n private _ctrlDown = false;\n private _hasCustomFilterSlot = false;\n private _hasFloatingMenuItems = false;\n\n componentWillLoad() {\n this._hasCustomFilterSlot = !!this._el.querySelector(\n ':scope > [slot=\"custom-filter\"]'\n );\n this._hasFloatingMenuItems = !!this._el.querySelectorAll(\n ':scope > [slot=\"floating-menu-item\"]'\n ).length;\n\n if (this.enableRowSelection) {\n console.log(\n this._hasFloatingMenuItems,\n this._el.querySelectorAll(\n ':scope > [slot=\"floating-menu-item\"]'\n )\n );\n }\n\n this._setLocales();\n this._parseItems(this.items);\n this._generateColumns();\n }\n\n componentDidRender() {\n this.hasRendered.emit();\n }\n\n render() {\n return (\n <Host class=\"p-table\">\n <p-table-container>\n {this.enableHeader && (\n <p-table-header\n // quick filters\n quickFilters={this.quickFilters}\n activeQuickFilterIdentifier={\n this.activeQuickFilterIdentifier\n }\n onQuickFilter={({ detail }) =>\n this.quickFilter.emit(detail)\n }\n // search\n enableSearch={this.enableSearch}\n query={this.query}\n onQueryChange={({ detail }) =>\n this.queryChange.emit(detail)\n }\n // filter button\n enableFilter={this.enableFilter}\n selectedFiltersAmount={this.selectedFiltersAmount}\n filterButtonTemplate={this.filterButtonTemplate}\n onFilter={() => this.filter.emit()}\n // action button\n enableAction={this.enableAction}\n actionIcon={this.actionButtonIcon}\n actionText={this.actionButtonText}\n actionLoading={this.actionButtonLoading}\n canUseAction={this.actionButtonEnabled}\n actionButtonTemplate={this.actionButtonTemplate}\n onAction={() => this.action.emit()}\n itemsSelectedAmount={this.selectedRows?.length}\n //loading\n loading={this.headerLoading}\n >\n {this._hasCustomFilterSlot && (\n <slot\n name=\"custom-filter\"\n slot=\"custom-filter\"\n />\n )}\n </p-table-header>\n )}\n\n {this._getHeader()}\n <div class=\"flex flex-col\">{this._getRows()}</div>\n\n {this.enableFooter && (\n <p-table-footer\n // overall\n hideOnSinglePage={this.hideOnSinglePage}\n // page size select\n enablePageSize={this.enablePageSize}\n pageSize={this.pageSize}\n pageSizeOptions={this.pageSizeOptions}\n onPageSizeChange={({ detail }) =>\n this.pageSizeChange.emit(detail)\n }\n // pagination\n enablePagination={this.enablePagination}\n page={this.page}\n total={this.total}\n onPageChange={({ detail }) =>\n this.pageChange.emit(detail)\n }\n // export\n enableExport={this.enableExport}\n onExport={() => this.export.emit()}\n //loading\n loading={this.footerLoading}\n ></p-table-footer>\n )}\n\n {this.enableFloatingMenu ? (\n <p-floating-menu-container\n usedInTable={true}\n class={this.selectedRows?.length ? '' : 'inactive'}\n >\n <p-floating-menu-item\n hover={false}\n slot=\"floating-menu-item\"\n class={\n this._hasFloatingMenuItems\n ? 'hide-mobile'\n : ''\n }\n >\n {this.floatingMenuAmountSelectedTemplate(\n this.selectedRows?.length\n )}\n </p-floating-menu-item>\n <p-divider\n class={`mx-0 text-storm ${\n this._hasFloatingMenuItems\n ? 'hide-mobile'\n : ''\n }`}\n variant=\"vertical\"\n slot=\"floating-menu-item\"\n />\n {this._hasFloatingMenuItems && (\n <slot name=\"floating-menu-item\"></slot>\n )}\n {this._hasFloatingMenuItems && (\n <p-divider\n class=\"mx-0 text-storm\"\n variant=\"vertical\"\n slot=\"floating-menu-item\"\n />\n )}\n <p-floating-menu-item\n slot=\"floating-menu-item\"\n onClick={() =>\n this._selectAllChange(null, false)\n }\n >\n <p-icon variant=\"negative\" />\n </p-floating-menu-item>\n </p-floating-menu-container>\n ) : (\n ''\n )}\n </p-table-container>\n </Host>\n );\n }\n\n @Listen('localeChanged', { target: 'body' })\n private async _setLocales(): Promise<void> {\n this._locales = await getLocaleComponentStrings(this._el);\n }\n\n @Listen('tableDefinitionChanged', { target: 'body' })\n onTableDefinitionUpdated() {\n this._generateColumns();\n }\n\n @Listen('keydown', { target: 'document' })\n keyDown({ key }) {\n if (key !== 'Control' || this._ctrlDown === true) {\n return;\n }\n\n this._ctrlDown = true;\n }\n\n @Listen('keyup', { target: 'document' })\n keyUp({ key }) {\n if (key !== 'Control' || this._ctrlDown === false) {\n return;\n }\n\n this._ctrlDown = false;\n }\n\n @Listen('visibilitychange', { target: 'document' })\n visibilityChange() {\n if (document.visibilityState !== 'hidden' || this._ctrlDown === false) {\n return;\n }\n\n this._ctrlDown = false;\n }\n\n @Watch('items')\n private _parseItems(items: string) {\n if (!items) {\n this._items = [];\n return;\n }\n\n if (Array.isArray(items)) {\n this._items = items;\n return;\n }\n\n this._items = JSON.parse(items);\n }\n\n private _generateColumns() {\n const definitions = this._el.querySelectorAll('p-table-column');\n const definitionsArray = Array.from(definitions);\n\n definitionsArray[definitionsArray.length - 1]['isLast'] = true;\n\n this._columns = definitionsArray;\n }\n\n private _getHeader() {\n return (\n <p-table-row variant=\"header\">\n {this._columns.map((col: TableColumn, index) => (\n <p-table-cell\n definition={col}\n value={col.name}\n variant=\"header\"\n checkbox={\n index === 0 || col.hasCheckbox\n ? this._getCheckbox(\n null,\n this.loading ? 'loading' : 'header'\n )\n : null\n }\n index={index}\n ></p-table-cell>\n ))}\n </p-table-row>\n );\n }\n\n private _getRows() {\n if (this.loading) {\n return Array.from(\n {\n length: this.amountOfLoadingRows,\n },\n (_, i) => (\n <p-table-row\n enableHover={\n this.enableRowSelection || this.enableRowClick\n }\n >\n {this._getLoadingColumns(i)}\n </p-table-row>\n )\n );\n }\n\n if (!this._items.length) {\n return this._getEmptyState();\n }\n\n return this._items.map((item, index) => (\n <p-table-row\n enableHover={this.enableRowSelection || this.enableRowClick}\n onClick={(ev) => this._rowClick(ev, index)}\n >\n {this._getRowColumns(item, index)}\n </p-table-row>\n ));\n }\n\n private _getRowColumns(item, index) {\n return this._columns.map((col: TableColumn, colIndex) => {\n return (\n <p-table-cell\n definition={col}\n item={item}\n checkbox={\n colIndex === 0 || col.hasCheckbox\n ? this._getCheckbox(index)\n : null\n }\n index={colIndex}\n rowIndex={index}\n ></p-table-cell>\n );\n });\n }\n\n private _getLoadingColumns(index) {\n return this._columns.map((col: TableColumn, colIndex) => {\n return (\n <p-table-cell\n definition={col}\n variant=\"loading\"\n checkbox={\n colIndex === 0 || col.hasCheckbox\n ? this._getCheckbox(index, 'loading')\n : null\n }\n index={colIndex}\n rowIndex={index}\n ></p-table-cell>\n );\n });\n }\n\n private _getCheckbox(\n rowIndex,\n variant: 'header' | 'default' | 'loading' = 'default'\n ) {\n if (!this.enableRowSelection || !this.selectionKey) {\n return;\n }\n\n if (variant === 'loading') {\n return <p-loader variant=\"ghost\" class=\"h-6 w-6 rounded\" />;\n }\n\n if (variant === 'header') {\n return (\n <input\n class=\"p-input\"\n type=\"checkbox\"\n onChange={(ev) => this._selectAllChange(ev)}\n checked={this._selectionContainsAll()}\n indeterminate={this._selectionIndeterminate()}\n />\n );\n }\n\n const item = this._items[rowIndex];\n\n return (\n <input\n class=\"p-input\"\n type=\"checkbox\"\n onChange={(ev) => this._checkboxChange(ev?.target, rowIndex)}\n disabled={this.canSelectKey && !item[this.canSelectKey]}\n checked={this._selectionContains(item, rowIndex)}\n />\n );\n }\n\n private _getEmptyState() {\n if (this.query?.length || this.selectedFiltersAmount) {\n return (\n <div class=\"flex max-w-[20rem] flex-col items-center self-center py-24 text-center\">\n <p-illustration variant=\"empty-state-search\" class=\"mb-6\" />\n <p class=\"text-storm-default font-semibold\">\n {this.emptyStateFilteredHeader()}\n </p>\n <p class=\"mb-14 text-sm text-storm-medium\">\n {this.emptyStateFilteredContent()}\n </p>\n </div>\n );\n }\n\n return (\n <div\n class={`flex max-w-[20rem] flex-col items-center self-center py-24 text-center ${\n this.enableEmptyStateAction && 'cursor-pointer'\n }`}\n onClick={() =>\n this.enableEmptyStateAction &&\n this.emptyStateActionClick.emit(null)\n }\n >\n <p-illustration variant=\"empty-state-add\" class=\"mb-6\" />\n <p class=\"text-storm-default font-semibold\">\n {this.emptyStateHeader()}\n </p>\n <p class=\"mb-6 text-sm text-storm-medium\">\n {this.emptyStateContent()}\n </p>\n {this.enableEmptyStateAction && (\n <p-button variant=\"secondary\" icon=\"plus\" size=\"small\">\n {this.emptyStateAction()}\n </p-button>\n )}\n </div>\n );\n }\n\n private _selectAllChange($event: any, forceValue?: boolean) {\n if (!this.enableRowSelection) {\n return;\n }\n\n const value =\n forceValue === undefined\n ? this._getCheckedValue($event.target)\n : forceValue;\n if (value) {\n const toAdd = [];\n for (let i = 0; i < this._items.length; i++) {\n const row = this._items[i];\n if (this.canSelectKey && !row[this.canSelectKey]) {\n continue;\n }\n\n if (this._selectionContains(row, i)) {\n continue;\n }\n\n toAdd.push(row);\n this.rowSelected.emit(row);\n }\n\n this.selectedRows = [...this.selectedRows, ...toAdd];\n this.selectedRowsChange.emit(this.selectedRows);\n return;\n }\n\n for (let i = 0; i < this.selectedRows.length; i++) {\n const value = this.selectedRows[i];\n const row = this._items.find(\n (d) =>\n this._getSelectionValue(d, i) ===\n this._getSelectionValue(value, i)\n );\n\n if (!row) {\n continue;\n }\n\n this.rowDeselected.emit(row);\n }\n\n this.selectedRows = [];\n this.selectedRowsChange.emit(this.selectedRows);\n }\n\n private _checkboxChange(target: any, index: number) {\n if (!this.enableRowSelection) {\n return;\n }\n\n const row = this._items[index];\n\n if (this.canSelectKey && !row[this.canSelectKey]) {\n target.checked = false;\n return;\n }\n\n const value = this._getCheckedValue(target);\n if (value) {\n this.selectedRows = [...this.selectedRows, row];\n this.selectedRowsChange.emit(this.selectedRows);\n this.rowSelected.emit(row);\n return;\n }\n\n const indexOfToRemove = this._selectionContains(row, index, true);\n\n // we need to do this, because splice does not trigger the selection setter.\n const selection = [...this.selectedRows];\n selection.splice(indexOfToRemove, 1);\n this.selectedRows = selection;\n this.selectedRowsChange.emit(this.selectedRows);\n this.rowDeselected.emit(row);\n }\n\n private _getCheckedValue(target: any) {\n return target?.checked;\n }\n\n private _getSelectionValue(row: any, index: number) {\n return this.selectionKey ? row?.[this.selectionKey] || index : index;\n }\n\n private _selectionContains(row, index, returnIndex = false): any {\n const returnValue = this.selectedRows.findIndex(\n (item) =>\n this._getSelectionValue(row, index) ===\n this._getSelectionValue(item, index)\n );\n return !returnIndex ? returnValue >= 0 : returnValue;\n }\n\n private _selectionContainsAll() {\n let returnValue = true;\n if (!this._items?.length) {\n return false;\n }\n\n for (let i = 0; i < this._items?.length; i++) {\n const item = this._items[i];\n const contains = this._selectionContains(item, i);\n\n if (!contains) {\n returnValue = false;\n break;\n }\n }\n\n return returnValue;\n }\n\n private _selectionIndeterminate() {\n if (!this._items?.length || !this.selectedRows?.length) {\n return false;\n }\n\n let containsCount = 0;\n for (let i = 0; i < this._items?.length; i++) {\n const item = this._items[i];\n const contains = this._selectionContains(item, i);\n\n if (contains) {\n containsCount++;\n }\n }\n\n return containsCount > 0 && containsCount !== this._items.length;\n }\n\n private _rowClick($event, index) {\n const target = $event.target;\n\n if (\n target.tagName.toLowerCase() === 'input' ||\n target.type === 'checkbox'\n ) {\n return;\n }\n\n const row = this._findRow($event.target);\n const action = this._findRowAction($event.target);\n\n if (action) {\n return;\n }\n\n if (this.enableRowClick) {\n const item = this._items[index];\n this.rowClick.emit({\n item,\n ctrlDown: this._ctrlDown,\n });\n return;\n }\n\n if (!this.enableRowSelection) {\n return;\n }\n\n const checkbox = row?.querySelector('input[type=\"checkbox\"]');\n\n if (!checkbox) {\n return;\n }\n\n checkbox.checked = !checkbox.checked;\n this._checkboxChange(checkbox, index);\n }\n\n private _findRow(el: HTMLElement) {\n if (!el) {\n return el;\n }\n\n if (el?.tagName?.toLowerCase() === 'p-table-row') {\n return el;\n }\n\n return this._findRow(el?.parentElement);\n }\n\n private _findRowAction(el: HTMLElement) {\n if (!el) {\n return null;\n }\n\n if (\n el.getAttribute('data-is-action') !== null &&\n el.getAttribute('data-is-action') !== 'false'\n ) {\n return el;\n }\n\n if (el?.tagName?.toLowerCase() === 'p-table-row') {\n return null;\n }\n\n return this._findRowAction(el?.parentElement);\n }\n}\n"],"version":3}
1
+ {"file":"p-table.entry.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 @apply relative flex flex-col;\n\n .p-input[type='checkbox'] {\n flex-shrink: 0;\n }\n\n p-table-container {\n @apply relative;\n\n p-floating-menu-container {\n @apply fixed bottom-4 left-1/2 -translate-x-1/2 transform;\n animation: forwards floatingMenuContainerIn 0.3s ease !important;\n\n &.inactive {\n animation: forwards floatingMenuContainerOut 0.3s ease !important;\n }\n\n @screen tablet {\n @apply absolute bottom-16;\n }\n\n &:not(.shown) {\n @apply hidden;\n }\n\n .hide-mobile {\n @apply hidden tablet:block;\n }\n }\n }\n}\n\n@keyframes floatingMenuContainerOut {\n 0% {\n display: flex;\n transform: translateY(0) translateX(-50%);\n opacity: 100;\n }\n 99% {\n transform: translateY(100%) translateX(-50%);\n opacity: 0;\n display: flex;\n }\n 100% {\n transform: translateY(100%) translateX(-50%);\n opacity: 0;\n display: none;\n }\n}\n\n@keyframes floatingMenuContainerIn {\n 0% {\n transform: translateY(100%) translateX(-50%);\n opacity: 0;\n display: none;\n }\n 1% {\n transform: translateY(100%) translateX(-50%);\n opacity: 0;\n display: flex;\n }\n 100% {\n transform: translateY(0) translateX(-50%);\n opacity: 100;\n display: flex;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { IconVariant } from '../../../components';\nimport { QuickFilter, RowClickEvent } from '../../../types/table';\nimport { formatTranslation, getLocaleComponentStrings } from '../../../utils';\nimport { TableColumn } from '../../helpers/table-column/table-column.component';\nimport {\n defaultSize,\n defaultSizeOptions,\n} from '../../molecules/page-size-select/constants';\nimport { buttonTemplateFunc } from '../../molecules/table-header/table-header.component';\n\nexport type templateFunc = () => string;\nexport type amountSelectedTemplateFunc = (amount: number) => string;\n\n@Component({\n tag: 'p-table',\n styleUrl: 'table.component.scss',\n})\nexport class Table {\n /**\n * The items to be fed to the table\n */\n @Prop() items: string;\n\n /**\n * Wether data is loading\n */\n @Prop() loading: boolean = false;\n\n /**\n * Wether the header should show loading state\n */\n @Prop() headerLoading: boolean = false;\n\n /**\n * Wether the footer should show loading state\n */\n @Prop() footerLoading: boolean = false;\n\n /**\n * The amount of loading rows to show\n */\n @Prop() amountOfLoadingRows: number = 6;\n\n /**\n * Wether to enable selection\n */\n @Prop() enableRowSelection: boolean = true;\n\n /**\n * Wether to enable row clicking\n */\n @Prop() enableRowClick: boolean = true;\n\n /**\n * The current selection of items\n */\n @Prop() selectedRows: any[] = [];\n\n /**\n * Wether to enable the floating menu\n */\n @Prop() enableFloatingMenu: boolean = true;\n\n /**\n * The template for amount selected item in the floating menu\n */\n @Prop() floatingMenuAmountSelectedTemplate: amountSelectedTemplateFunc = (\n amount: number\n ) =>\n formatTranslation(\n (amount === 1\n ? this._locales.floating_menu?.amount_selected\n : this._locales.floating_menu?.amount_selected_plural\n )?.replace('{{amount}}', amount)\n );\n\n /**\n * Event whenever the current selection changes\n */\n @Event({\n bubbles: false,\n })\n selectedRowsChange: EventEmitter<any>;\n\n /**\n * The key to determine if a row is selected\n */\n @Prop() selectionKey: string;\n\n /**\n * A key to determine if a row can be selected\n */\n @Prop() canSelectKey: string;\n\n /**\n * Event whenever a row is clicked\n */\n @Event({\n bubbles: false,\n })\n rowClick: EventEmitter<RowClickEvent>;\n\n /**\n * Event whenever a row is selected\n */\n @Event({\n bubbles: false,\n })\n rowSelected: EventEmitter<any>;\n\n /**\n * Event whenever a row is deselected\n */\n @Event({\n bubbles: false,\n })\n rowDeselected: EventEmitter<any>;\n\n /**\n * Event when the table has rendered\n */\n @Event({\n bubbles: false,\n })\n hasRendered: EventEmitter<number>;\n\n /** START HEADER */\n\n /**\n * Wether to show the header\n */\n @Prop() enableHeader: boolean = true;\n\n /**\n * Quick filters to show\n */\n @Prop() quickFilters: QuickFilter[] = [];\n\n /**\n * Active quick filter identifier\n */\n @Prop() activeQuickFilterIdentifier: string;\n\n /**\n * Wether to show the search input\n */\n @Prop() enableSearch: boolean = true;\n\n /**\n * The query to show in the search bar\n */\n @Prop({ mutable: true }) query: string;\n\n /**\n * Wether to show the filter button\n */\n @Prop() enableFilter: boolean = true;\n\n /**\n * The amount of filters being selected\n */\n @Prop() selectedFiltersAmount: number;\n\n /**\n * The template for the filter button text\n */\n @Prop() filterButtonTemplate: templateFunc;\n\n /**\n * Wether to show the action button\n */\n @Prop() enableAction: boolean = false;\n\n /**\n * Wether the action button is loading\n */\n @Prop() actionButtonLoading: boolean = false;\n\n /**\n * Wether the action button is enabled\n */\n @Prop() actionButtonEnabled: boolean = false;\n\n /**\n * The action button icon\n */\n @Prop() actionButtonIcon: IconVariant = 'pencil';\n\n /**\n * The action button text if changed\n */\n @Prop() actionButtonText: string;\n\n /**\n * The template for the action button text\n */\n @Prop() actionButtonTemplate: buttonTemplateFunc;\n\n /**\n * Event when one of the quick filters is clicked\n */\n @Event({\n bubbles: false,\n })\n quickFilter: EventEmitter<QuickFilter>;\n\n /**\n * Event when the query changes\n */\n @Event({\n bubbles: false,\n })\n queryChange: EventEmitter<string>;\n\n /**\n * Event when the filter button is clicked\n */\n @Event({\n bubbles: false,\n })\n filter: EventEmitter<null>;\n\n /**\n * Event when the action button is clicked\n */\n @Event({\n bubbles: false,\n })\n action: EventEmitter<null>;\n\n /** START FOOTER */\n\n /**\n * Wether to show the header\n */\n @Prop() enableFooter: boolean = true;\n\n /**\n * Wether to enable page size select\n */\n @Prop() enablePageSize: boolean = true;\n\n /**\n * Wether to enable pagination\n */\n @Prop() enablePagination: boolean = true;\n\n /**\n * Wether to enable export\n */\n @Prop() enableExport: boolean = true;\n\n /**\n * The current page\n */\n @Prop({ mutable: true, reflect: true }) page: number = 1;\n\n /**\n * The total amount of items\n */\n @Prop() total!: number;\n\n /**\n * Event whenever the page changes\n */\n @Event({\n bubbles: false,\n })\n pageChange: EventEmitter<number>;\n\n /**\n * The amount of items per page\n */\n @Prop() pageSize: number = defaultSize;\n\n /**\n * The options for the page size\n */\n @Prop() pageSizeOptions: number[] = defaultSizeOptions;\n\n /**\n * Event whenever the page changes\n */\n @Event({\n bubbles: false,\n })\n pageSizeChange: EventEmitter<number>;\n\n /**\n * Event whenever the page changes\n */\n @Event({\n bubbles: false,\n })\n export: EventEmitter<number>;\n\n /**\n * Wether to hide when there is only 1 page available\n */\n @Prop() hideOnSinglePage: boolean = true;\n\n /* Empty state start */\n @Prop() emptyStateHeader: templateFunc = () =>\n formatTranslation(this._locales.empty_state?.no_filter.header);\n @Prop() emptyStateContent: templateFunc = () =>\n formatTranslation(this._locales.empty_state?.no_filter.content);\n @Prop() emptyStateAction: templateFunc = () =>\n formatTranslation(this._locales.empty_state?.no_filter.action);\n /**\n * Wether to enable empty state action\n */\n @Prop() enableEmptyStateAction: boolean = true;\n\n @Prop() emptyStateFilteredHeader: templateFunc = () =>\n formatTranslation(this._locales.empty_state.filtered.header);\n @Prop() emptyStateFilteredContent: templateFunc = () =>\n formatTranslation(this._locales.empty_state.filtered.content);\n\n /**\n * Event whenever the empty state is clicked\n */\n @Event({\n bubbles: false,\n })\n emptyStateActionClick: EventEmitter<null>;\n\n /* Empty state end */\n\n /**\n * The host element\n */\n @Element() private _el: HTMLElement;\n\n /**\n * Locales used for this component\n */\n @State() private _locales: any = {};\n\n @State() private _columns: any[] = [];\n @State() private _items: any[] = [];\n\n private _ctrlDown = false;\n private _hasCustomFilterSlot = false;\n private _hasFloatingMenuItems = false;\n private _floatingMenuShown = false;\n\n componentWillLoad() {\n this._hasCustomFilterSlot = !!this._el.querySelector(\n ':scope > [slot=\"custom-filter\"]'\n );\n this._hasFloatingMenuItems = !!this._el.querySelectorAll(\n ':scope > [slot=\"floating-menu-item\"]'\n ).length;\n\n this._setLocales();\n this._parseItems(this.items);\n this._generateColumns();\n }\n\n componentDidRender() {\n this.hasRendered.emit();\n }\n\n render() {\n return (\n <Host class=\"p-table\">\n <p-table-container>\n {this.enableHeader && (\n <p-table-header\n // quick filters\n quickFilters={this.quickFilters}\n activeQuickFilterIdentifier={\n this.activeQuickFilterIdentifier\n }\n onQuickFilter={({ detail }) =>\n this.quickFilter.emit(detail)\n }\n // search\n enableSearch={this.enableSearch}\n query={this.query}\n onQueryChange={({ detail }) =>\n this.queryChange.emit(detail)\n }\n // filter button\n enableFilter={this.enableFilter}\n selectedFiltersAmount={this.selectedFiltersAmount}\n filterButtonTemplate={this.filterButtonTemplate}\n onFilter={() => this.filter.emit()}\n // action button\n enableAction={this.enableAction}\n actionIcon={this.actionButtonIcon}\n actionText={this.actionButtonText}\n actionLoading={this.actionButtonLoading}\n canUseAction={this.actionButtonEnabled}\n actionButtonTemplate={this.actionButtonTemplate}\n onAction={() => this.action.emit()}\n itemsSelectedAmount={this.selectedRows?.length}\n //loading\n loading={this.headerLoading}\n >\n {this._hasCustomFilterSlot && (\n <slot\n name=\"custom-filter\"\n slot=\"custom-filter\"\n />\n )}\n </p-table-header>\n )}\n\n {this._getHeader()}\n <div class=\"flex flex-col\">{this._getRows()}</div>\n\n {this.enableFooter && (\n <p-table-footer\n // overall\n hideOnSinglePage={this.hideOnSinglePage}\n // page size select\n enablePageSize={this.enablePageSize}\n pageSize={this.pageSize}\n pageSizeOptions={this.pageSizeOptions}\n onPageSizeChange={({ detail }) =>\n this.pageSizeChange.emit(detail)\n }\n // pagination\n enablePagination={this.enablePagination}\n page={this.page}\n total={this.total}\n onPageChange={({ detail }) =>\n this.pageChange.emit(detail)\n }\n // export\n enableExport={this.enableExport}\n onExport={() => this.export.emit()}\n //loading\n loading={this.footerLoading}\n ></p-table-footer>\n )}\n\n {this.enableFloatingMenu && this.enableRowSelection ? (\n <p-floating-menu-container\n usedInTable={true}\n class={`${\n this.selectedRows?.length ? '' : 'inactive'\n } ${this._floatingMenuShown ? 'shown' : ''}`}\n >\n <p-floating-menu-item\n hover={false}\n slot=\"floating-menu-item\"\n class={\n this._hasFloatingMenuItems\n ? 'hide-mobile'\n : ''\n }\n >\n {this.floatingMenuAmountSelectedTemplate(\n this.selectedRows?.length\n )}\n </p-floating-menu-item>\n <p-divider\n class={`mx-0 text-storm ${\n this._hasFloatingMenuItems\n ? 'hide-mobile'\n : ''\n }`}\n variant=\"vertical\"\n slot=\"floating-menu-item\"\n />\n {this._hasFloatingMenuItems && (\n <slot name=\"floating-menu-item\"></slot>\n )}\n {this._hasFloatingMenuItems && (\n <p-divider\n class=\"mx-0 text-storm\"\n variant=\"vertical\"\n slot=\"floating-menu-item\"\n />\n )}\n <p-floating-menu-item\n slot=\"floating-menu-item\"\n onClick={() =>\n this._selectAllChange(null, false)\n }\n >\n <p-icon variant=\"negative\" />\n </p-floating-menu-item>\n </p-floating-menu-container>\n ) : (\n ''\n )}\n </p-table-container>\n </Host>\n );\n }\n\n @Listen('localeChanged', { target: 'body' })\n private async _setLocales(): Promise<void> {\n this._locales = await getLocaleComponentStrings(this._el);\n }\n\n @Listen('tableDefinitionChanged', { target: 'body' })\n onTableDefinitionUpdated() {\n this._generateColumns();\n }\n\n @Listen('keydown', { target: 'document' })\n keyDown({ key }) {\n if (key !== 'Control' || this._ctrlDown === true) {\n return;\n }\n\n this._ctrlDown = true;\n }\n\n @Listen('keyup', { target: 'document' })\n keyUp({ key }) {\n if (key !== 'Control' || this._ctrlDown === false) {\n return;\n }\n\n this._ctrlDown = false;\n }\n\n @Listen('visibilitychange', { target: 'document' })\n visibilityChange() {\n if (document.visibilityState !== 'hidden' || this._ctrlDown === false) {\n return;\n }\n\n this._ctrlDown = false;\n }\n\n @Watch('items')\n private _parseItems(items: string) {\n if (!items) {\n this._items = [];\n return;\n }\n\n if (Array.isArray(items)) {\n this._items = items;\n return;\n }\n\n this._items = JSON.parse(items);\n }\n\n private _generateColumns() {\n const definitions = this._el.querySelectorAll('p-table-column');\n const definitionsArray = Array.from(definitions);\n\n definitionsArray[definitionsArray.length - 1]['isLast'] = true;\n\n this._columns = definitionsArray;\n }\n\n private _getHeader() {\n return (\n <p-table-row variant=\"header\">\n {this._columns.map((col: TableColumn, index) => (\n <p-table-cell\n definition={col}\n value={col.name}\n variant=\"header\"\n checkbox={\n index === 0 || col.hasCheckbox\n ? this._getCheckbox(\n null,\n this.loading ? 'loading' : 'header'\n )\n : null\n }\n index={index}\n ></p-table-cell>\n ))}\n </p-table-row>\n );\n }\n\n private _getRows() {\n if (this.loading) {\n return Array.from(\n {\n length: this.amountOfLoadingRows,\n },\n (_, i) => (\n <p-table-row\n enableHover={\n this.enableRowSelection || this.enableRowClick\n }\n >\n {this._getLoadingColumns(i)}\n </p-table-row>\n )\n );\n }\n\n if (!this._items.length) {\n return this._getEmptyState();\n }\n\n return this._items.map((item, index) => (\n <p-table-row\n enableHover={this.enableRowSelection || this.enableRowClick}\n onClick={(ev) => this._rowClick(ev, index)}\n >\n {this._getRowColumns(item, index)}\n </p-table-row>\n ));\n }\n\n private _getRowColumns(item, index) {\n return this._columns.map((col: TableColumn, colIndex) => {\n return (\n <p-table-cell\n definition={col}\n item={item}\n checkbox={\n colIndex === 0 || col.hasCheckbox\n ? this._getCheckbox(index)\n : null\n }\n index={colIndex}\n rowIndex={index}\n ></p-table-cell>\n );\n });\n }\n\n private _getLoadingColumns(index) {\n return this._columns.map((col: TableColumn, colIndex) => {\n return (\n <p-table-cell\n definition={col}\n variant=\"loading\"\n checkbox={\n colIndex === 0 || col.hasCheckbox\n ? this._getCheckbox(index, 'loading')\n : null\n }\n index={colIndex}\n rowIndex={index}\n ></p-table-cell>\n );\n });\n }\n\n private _getCheckbox(\n rowIndex,\n variant: 'header' | 'default' | 'loading' = 'default'\n ) {\n if (!this.enableRowSelection || !this.selectionKey) {\n return;\n }\n\n if (variant === 'loading') {\n return <p-loader variant=\"ghost\" class=\"h-6 w-6 rounded\" />;\n }\n\n if (variant === 'header') {\n return (\n <input\n class=\"p-input\"\n type=\"checkbox\"\n onChange={(ev) => this._selectAllChange(ev)}\n checked={this._selectionContainsAll()}\n indeterminate={this._selectionIndeterminate()}\n />\n );\n }\n\n const item = this._items[rowIndex];\n\n return (\n <input\n class=\"p-input\"\n type=\"checkbox\"\n onChange={(ev) => this._checkboxChange(ev?.target, rowIndex)}\n disabled={this.canSelectKey && !item[this.canSelectKey]}\n checked={this._selectionContains(item, rowIndex)}\n />\n );\n }\n\n private _getEmptyState() {\n if (this.query?.length || this.selectedFiltersAmount) {\n return (\n <div class=\"flex max-w-[20rem] flex-col items-center self-center py-24 text-center\">\n <p-illustration variant=\"empty-state-search\" class=\"mb-6\" />\n <p class=\"text-storm-default font-semibold\">\n {this.emptyStateFilteredHeader()}\n </p>\n <p class=\"mb-14 text-sm text-storm-medium\">\n {this.emptyStateFilteredContent()}\n </p>\n </div>\n );\n }\n\n return (\n <div\n class={`flex max-w-[20rem] flex-col items-center self-center py-24 text-center ${\n this.enableEmptyStateAction && 'cursor-pointer'\n }`}\n onClick={() =>\n this.enableEmptyStateAction &&\n this.emptyStateActionClick.emit(null)\n }\n >\n <p-illustration variant=\"empty-state-add\" class=\"mb-6\" />\n <p class=\"text-storm-default font-semibold\">\n {this.emptyStateHeader()}\n </p>\n <p class=\"mb-6 text-sm text-storm-medium\">\n {this.emptyStateContent()}\n </p>\n {this.enableEmptyStateAction && (\n <p-button variant=\"secondary\" icon=\"plus\" size=\"small\">\n {this.emptyStateAction()}\n </p-button>\n )}\n </div>\n );\n }\n\n private _selectAllChange($event: any, forceValue?: boolean) {\n if (!this.enableRowSelection) {\n return;\n }\n\n const value =\n forceValue === undefined\n ? this._getCheckedValue($event.target)\n : forceValue;\n if (value) {\n const toAdd = [];\n for (let i = 0; i < this._items.length; i++) {\n const row = this._items[i];\n if (this.canSelectKey && !row[this.canSelectKey]) {\n continue;\n }\n\n if (this._selectionContains(row, i)) {\n continue;\n }\n\n toAdd.push(row);\n this.rowSelected.emit(row);\n }\n\n this.selectedRows = [...this.selectedRows, ...toAdd];\n this.selectedRowsChange.emit(this.selectedRows);\n if (this.enableFloatingMenu && !this._floatingMenuShown) {\n this._floatingMenuShown = true;\n }\n\n return;\n }\n\n for (let i = 0; i < this.selectedRows.length; i++) {\n const value = this.selectedRows[i];\n const row = this._items.find(\n (d) =>\n this._getSelectionValue(d, i) ===\n this._getSelectionValue(value, i)\n );\n\n if (!row) {\n continue;\n }\n\n this.rowDeselected.emit(row);\n }\n\n this.selectedRows = [];\n this.selectedRowsChange.emit(this.selectedRows);\n }\n\n private _checkboxChange(target: any, index: number) {\n if (!this.enableRowSelection) {\n return;\n }\n\n const row = this._items[index];\n\n if (this.canSelectKey && !row[this.canSelectKey]) {\n target.checked = false;\n return;\n }\n\n const value = this._getCheckedValue(target);\n if (value) {\n this.selectedRows = [...this.selectedRows, row];\n this.selectedRowsChange.emit(this.selectedRows);\n this.rowSelected.emit(row);\n\n if (this.enableFloatingMenu && !this._floatingMenuShown) {\n this._floatingMenuShown = true;\n }\n\n return;\n }\n\n const indexOfToRemove = this._selectionContains(row, index, true);\n\n // we need to do this, because splice does not trigger the selection setter.\n const selection = [...this.selectedRows];\n selection.splice(indexOfToRemove, 1);\n this.selectedRows = selection;\n this.selectedRowsChange.emit(this.selectedRows);\n this.rowDeselected.emit(row);\n }\n\n private _getCheckedValue(target: any) {\n return target?.checked;\n }\n\n private _getSelectionValue(row: any, index: number) {\n return this.selectionKey ? row?.[this.selectionKey] || index : index;\n }\n\n private _selectionContains(row, index, returnIndex = false): any {\n const returnValue = this.selectedRows.findIndex(\n (item) =>\n this._getSelectionValue(row, index) ===\n this._getSelectionValue(item, index)\n );\n return !returnIndex ? returnValue >= 0 : returnValue;\n }\n\n private _selectionContainsAll() {\n let returnValue = true;\n if (!this._items?.length) {\n return false;\n }\n\n for (let i = 0; i < this._items?.length; i++) {\n const item = this._items[i];\n const contains = this._selectionContains(item, i);\n\n if (!contains) {\n returnValue = false;\n break;\n }\n }\n\n return returnValue;\n }\n\n private _selectionIndeterminate() {\n if (!this._items?.length || !this.selectedRows?.length) {\n return false;\n }\n\n let containsCount = 0;\n for (let i = 0; i < this._items?.length; i++) {\n const item = this._items[i];\n const contains = this._selectionContains(item, i);\n\n if (contains) {\n containsCount++;\n }\n }\n\n return containsCount > 0 && containsCount !== this._items.length;\n }\n\n private _rowClick($event, index) {\n const target = $event.target;\n\n if (\n target.tagName.toLowerCase() === 'input' ||\n target.type === 'checkbox'\n ) {\n return;\n }\n\n const row = this._findRow($event.target);\n const action = this._findRowAction($event.target);\n\n if (action) {\n return;\n }\n\n if (this.enableRowClick) {\n const item = this._items[index];\n this.rowClick.emit({\n item,\n ctrlDown: this._ctrlDown,\n });\n return;\n }\n\n if (!this.enableRowSelection) {\n return;\n }\n\n const checkbox = row?.querySelector('input[type=\"checkbox\"]');\n\n if (!checkbox) {\n return;\n }\n\n checkbox.checked = !checkbox.checked;\n this._checkboxChange(checkbox, index);\n }\n\n private _findRow(el: HTMLElement) {\n if (!el) {\n return el;\n }\n\n if (el?.tagName?.toLowerCase() === 'p-table-row') {\n return el;\n }\n\n return this._findRow(el?.parentElement);\n }\n\n private _findRowAction(el: HTMLElement) {\n if (!el) {\n return null;\n }\n\n if (\n el.getAttribute('data-is-action') !== null &&\n el.getAttribute('data-is-action') !== 'false'\n ) {\n return el;\n }\n\n if (el?.tagName?.toLowerCase() === 'p-table-row') {\n return null;\n }\n\n return this._findRowAction(el?.parentElement);\n }\n}\n"],"version":3}
package/dist/index.html CHANGED
@@ -1,4 +1,4 @@
1
- <!doctype html><html dir="ltr" lang="en"><head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=5.0"> <title>Stencil Component Starter</title> <script type="module" src="/build/paperless.esm.js" data-stencil data-resources-url="/build/" data-stencil-namespace="paperless"></script> <script nomodule="" src="/build/paperless.js" data-stencil></script> </head> <body> <p-button>Buttono</p-button> <script data-build="2024-01-08T13:03:36">
1
+ <!doctype html><html dir="ltr" lang="en"><head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=5.0"> <title>Stencil Component Starter</title> <script type="module" src="/build/paperless.esm.js" data-stencil data-resources-url="/build/" data-stencil-namespace="paperless"></script> <script nomodule="" src="/build/paperless.js" data-stencil></script> </head> <body> <p-button>Buttono</p-button> <script data-build="2024-01-08T14:53:35">
2
2
  if ('serviceWorker' in navigator && location.protocol !== 'file:') {
3
3
  window.addEventListener('load', function() {
4
4
  navigator.serviceWorker.register('/sw.js')