@paperless/core 2.9.0 → 2.9.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.
- package/CHANGELOG.md +11 -0
- package/dist/{paperless/p-e5934335.entry.js → build/p-08b625cd.entry.js} +2 -2
- package/dist/build/p-08b625cd.entry.js.map +1 -0
- package/dist/build/{p-6f12eb4b.js → p-cc4d0190.js} +1 -1
- package/dist/build/p-empty-state.p-floating-menu-container.p-table-cell.p-table-container.p-table-footer.p-table-header.p-table-row.p-table-row-actions-container.entry.esm.js.map +1 -1
- package/dist/build/paperless.esm.js +1 -1
- package/dist/cjs/p-empty-state.p-floating-menu-container.p-table-cell.p-table-container.p-table-footer.p-table-header.p-table-row.p-table-row-actions-container.entry.cjs.js.map +1 -1
- package/dist/cjs/p-empty-state_8.cjs.entry.js +4 -5
- package/dist/cjs/p-empty-state_8.cjs.entry.js.map +1 -1
- package/dist/collection/components/molecules/table/header/table-header.component.js +4 -5
- package/dist/collection/components/molecules/table/header/table-header.component.js.map +1 -1
- package/dist/components/{p--8Wk5rpW.js → p-CbfQ0Wci.js} +6 -7
- package/dist/components/{p--8Wk5rpW.js.map → p-CbfQ0Wci.js.map} +1 -1
- package/dist/components/p-table-header.js +1 -1
- package/dist/components/p-table.js +1 -1
- package/dist/esm/p-empty-state.p-floating-menu-container.p-table-cell.p-table-container.p-table-footer.p-table-header.p-table-row.p-table-row-actions-container.entry.js.map +1 -1
- package/dist/esm/p-empty-state_8.entry.js +4 -5
- package/dist/esm/p-empty-state_8.entry.js.map +1 -1
- package/dist/index.html +1 -1
- package/dist/{build/p-e5934335.entry.js → paperless/p-08b625cd.entry.js} +2 -2
- package/dist/paperless/p-08b625cd.entry.js.map +1 -0
- package/dist/paperless/p-empty-state.p-floating-menu-container.p-table-cell.p-table-container.p-table-footer.p-table-header.p-table-row.p-table-row-actions-container.entry.esm.js.map +1 -1
- package/dist/paperless/paperless.esm.js +1 -1
- package/dist/sw.js +1 -1
- package/dist/sw.js.map +1 -1
- package/package.json +1 -1
- package/dist/build/p-e5934335.entry.js.map +0 -1
- package/dist/paperless/p-e5934335.entry.js.map +0 -1
|
@@ -124,7 +124,6 @@ export class TableHeader {
|
|
|
124
124
|
.subscribe(value => this.queryChange.emit(value));
|
|
125
125
|
}
|
|
126
126
|
render() {
|
|
127
|
-
console.log(this.quickFilters);
|
|
128
127
|
const quickFilters = typeof this.quickFilters === 'string'
|
|
129
128
|
? JSON.parse(this.quickFilters)
|
|
130
129
|
: this.quickFilters;
|
|
@@ -132,15 +131,15 @@ export class TableHeader {
|
|
|
132
131
|
const mobileTotal = (this.selectedFiltersAmount || 0) + (activeQuickFilter?.default ? 0 : 1);
|
|
133
132
|
const hasCustomFilterSlot = !!this._el.querySelector(':scope > [slot="custom-filter"]');
|
|
134
133
|
const hasCustomActionsSlot = !!this._el.querySelector(':scope > [slot="custom-actions"]');
|
|
135
|
-
return (h(ThemedHost, { key: '
|
|
136
|
-
(hasCustomFilterSlot || quickFilters.length > 0) && (h("div", { key: '
|
|
134
|
+
return (h(ThemedHost, { key: 'b853afc278bcdc5615fe52928e49a08216f807e0' }, h("div", { key: 'cc1fb1ffe7376263d17fa0948160fa73b1d49f68', class: header() }, this.loading && (h("p-loader", { key: '156ab2edb7bb6e9ffe697ab547ec24c287d1ab4c', variant: 'ghost', class: 'hidden h-8 w-3/4 rounded desktop-xs:flex' })), !this.loading &&
|
|
135
|
+
(hasCustomFilterSlot || quickFilters.length > 0) && (h("div", { key: 'f96b1d33ff36ddbb19fb4198554f74265923a1b9', class: 'flex flex-col justify-start gap-4 justify-self-start desktop-xs:flex-row' }, hasCustomFilterSlot && h("slot", { key: '5d401f179a913db5511a67d8ad1968df432ab722', name: 'custom-filter' }), quickFilters.length > 0 && (h("p-segment-container", { key: '37c7315ced7f7be6e39f59a8334eae08260b772e', class: 'hidden desktop-xs:flex' }, quickFilters.map(item => (h("p-segment-item", { active: item.identifier === this.activeQuickFilterIdentifier, onClick: () => this.quickFilter.emit(item) }, typeof item.text === 'string'
|
|
137
136
|
? item.text
|
|
138
|
-
: item.text(), ' ', item?.count >= 0 ? `(${item.count})` : ''))))))), h("div", { key: '
|
|
137
|
+
: item.text(), ' ', item?.count >= 0 ? `(${item.count})` : ''))))))), h("div", { key: '0199cc10cc0d7d992e8bc08097f7d0462db1e8f5', class: 'flex flex-col justify-end gap-2 desktop-xs:ml-auto desktop-xs:flex-row desktop-xs:items-center' }, this.enableSearch && (h("p-field", { key: 'e4daaddd95257ba880a0803242c492aa6888bc66', icon: 'search', class: 'desktop-xs:max-w-60', placeholder: 'Zoeken...', value: this.query, onValueChange: ev => this._queryObserver.next(ev.detail) })), h("div", { key: '89e51f87a89f629c77b22c5fd0714662d452a5c6', class: 'flex items-center gap-2' }, this.enableFilter && (h("p-button", { key: '933b0ff84cb98c91d3bdb9bfa761bac3096b6d82', icon: 'filter', variant: 'secondary', class: `w-full ${this.enableFilterDesktop
|
|
139
138
|
? 'desktop-xs:w-auto'
|
|
140
139
|
: 'desktop-xs:hidden'}`, onClick: () => this.filter.emit() }, this.filterButtonTemplate
|
|
141
140
|
? this.filterButtonTemplate()
|
|
142
141
|
: this._defaultFilterButtonTemplate(), this.selectedFiltersAmount &&
|
|
143
|
-
this._getLabel(this.selectedFiltersAmount), mobileTotal > 0 && this._getLabel(mobileTotal, 'mobile'))), !this.loading && this.enableExport && this.enableFilter && (h("p-divider", { key: '
|
|
142
|
+
this._getLabel(this.selectedFiltersAmount), mobileTotal > 0 && this._getLabel(mobileTotal, 'mobile'))), !this.loading && this.enableExport && this.enableFilter && (h("p-divider", { key: 'f1432c63cb0b9758338dcc5eba1446cbce6e6494', variant: 'vertical', class: 'hidden h-4 tablet:flex dark:text-white/15' })), !this.loading && this.enableExport && (h("p-button", { key: '9599f305f6e200246a889177e4c3b3fd7a99d493', variant: 'secondary', icon: 'upload', class: 'desktop-xs:auto w-full', onClick: () => this.export.emit() }, formatTranslation(this._locales.export)))), this.enableAction && this._buttonTemplate(), hasCustomActionsSlot && h("slot", { key: '8afdb5ab4234df9aa5574fa8fb78d5fc51e14c2f', name: 'custom-actions' })), this.enableAction && this.canUseAction && (h("div", { key: '126a654009f3837c7aa9bc028a4e616c54c4f399', class: 'border-t-mystic-dark fixed bottom-0 left-0 block w-full border border-solid border-transparent bg-white p-4 desktop-xs:hidden' }, this._buttonTemplate(true))))));
|
|
144
143
|
}
|
|
145
144
|
async _setLocales() {
|
|
146
145
|
this._locales = await getLocaleComponentStrings(this._el);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-header.component.js","sourceRoot":"","sources":["../../../../../src/components/molecules/table/header/table-header.component.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tListen,\n\tProp,\n\tState,\n} from '@stencil/core';\nimport { cva } from 'class-variance-authority';\nimport { debounceTime, distinctUntilChanged, Subject } from 'rxjs';\nimport { QuickFilter } from '../../../../types/table';\nimport {\n\tformatTranslation,\n\tgetLocaleComponentStrings,\n} from '../../../../utils/localization';\nimport { IconVariant } from '../../../atoms/icon/icon.component';\nimport { ThemedHost } from '../../../../internal/themed-host.component';\n\nexport type templateFunc = () => string;\nexport type buttonTemplateFunc = (amount: number) => string;\n\nconst header = cva([\n\t'flex flex-col gap-2 z-[1]',\n\t'w-full',\n\t'px-4 tablet:px-0',\n\n\t'desktop-xs:flex-row',\n]);\n\n@Component({\n\ttag: 'p-table-header',\n\tstyleUrl: 'table-header.component.css',\n\tshadow: true,\n})\nexport class TableHeader {\n\tprivate _defaultFilterButtonTemplate: templateFunc = () =>\n\t\tformatTranslation(this._locales.filter);\n\tprivate _defaultActionButtonTemplate: buttonTemplateFunc = (amount: number) =>\n\t\tthis.actionText\n\t\t\t? this.actionText\n\t\t\t: formatTranslation(\n\t\t\t\t\tamount === 0\n\t\t\t\t\t\t? this._locales.edit\n\t\t\t\t\t\t: amount === 1\n\t\t\t\t\t\t? this._locales.edit_single\n\t\t\t\t\t\t: this._locales.edit_plural,\n\t\t\t\t\t{ amount }\n\t\t\t );\n\n\t/**\n\t * Quick filters to show\n\t */\n\t@Prop() quickFilters: QuickFilter[] | string = [];\n\n\t/**\n\t * Active quick filter identifier\n\t */\n\t@Prop() activeQuickFilterIdentifier: string;\n\n\t/**\n\t * Wether we want to show loading state\n\t */\n\t@Prop() loading: boolean = false;\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 amount of items that are selected\n\t */\n\t@Prop() itemsSelectedAmount: number = 0;\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 * Wether to show the export button\n\t */\n\t@Prop() enableExport: boolean = true;\n\n\t/**\n\t * Wether to show the filter button on desktop\n\t */\n\t@Prop() enableFilterDesktop: 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\t\tthis._defaultFilterButtonTemplate;\n\n\t/**\n\t * Wether to show the action button\n\t */\n\t@Prop() enableAction: boolean = true;\n\n\t/**\n\t * Wether the action button is loading\n\t */\n\t@Prop() actionLoading: boolean = false;\n\n\t/**\n\t * The action button icon\n\t */\n\t@Prop() actionIcon: IconVariant = 'pencil';\n\n\t/**\n\t * The action button text if changed\n\t */\n\t@Prop() actionText: string;\n\n\t/**\n\t * Wether to enable the action button\n\t */\n\t@Prop({ mutable: true }) canUseAction: boolean = false;\n\n\t/**\n\t * The template for the action button text\n\t */\n\t@Prop() actionButtonTemplate: buttonTemplateFunc =\n\t\tthis._defaultActionButtonTemplate;\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/**\n\t * Event whenever the export button is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\texport: EventEmitter<number>;\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\tprivate _queryObserver = new Subject<string>();\n\n\tcomponentWillLoad() {\n\t\tthis._setLocales();\n\t}\n\n\tcomponentDidLoad() {\n\t\tthis._queryObserver\n\t\t\t.pipe(debounceTime(300), distinctUntilChanged())\n\t\t\t.subscribe(value => this.queryChange.emit(value));\n\t}\n\n\trender() {\n\t\tconsole.log(this.quickFilters);\n\t\tconst quickFilters =\n\t\t\ttypeof this.quickFilters === 'string'\n\t\t\t\t? JSON.parse(this.quickFilters)\n\t\t\t\t: this.quickFilters;\n\n\t\tconst activeQuickFilter = quickFilters.find(\n\t\t\tf => f.identifier === this.activeQuickFilterIdentifier\n\t\t);\n\t\tconst mobileTotal =\n\t\t\t(this.selectedFiltersAmount || 0) + (activeQuickFilter?.default ? 0 : 1);\n\n\t\tconst hasCustomFilterSlot = !!this._el.querySelector(\n\t\t\t':scope > [slot=\"custom-filter\"]'\n\t\t);\n\n\t\tconst hasCustomActionsSlot = !!this._el.querySelector(\n\t\t\t':scope > [slot=\"custom-actions\"]'\n\t\t);\n\n\t\treturn (\n\t\t\t<ThemedHost>\n\t\t\t\t<div class={header()}>\n\t\t\t\t\t{this.loading && (\n\t\t\t\t\t\t<p-loader\n\t\t\t\t\t\t\tvariant='ghost'\n\t\t\t\t\t\t\tclass='hidden h-8 w-3/4 rounded desktop-xs:flex'\n\t\t\t\t\t\t></p-loader>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{!this.loading &&\n\t\t\t\t\t\t(hasCustomFilterSlot || quickFilters.length > 0) && (\n\t\t\t\t\t\t\t<div class='flex flex-col justify-start gap-4 justify-self-start desktop-xs:flex-row'>\n\t\t\t\t\t\t\t\t{hasCustomFilterSlot && <slot name='custom-filter' />}\n\n\t\t\t\t\t\t\t\t{quickFilters.length > 0 && (\n\t\t\t\t\t\t\t\t\t<p-segment-container class='hidden desktop-xs:flex'>\n\t\t\t\t\t\t\t\t\t\t{quickFilters.map(item => (\n\t\t\t\t\t\t\t\t\t\t\t<p-segment-item\n\t\t\t\t\t\t\t\t\t\t\t\tactive={\n\t\t\t\t\t\t\t\t\t\t\t\t\titem.identifier === this.activeQuickFilterIdentifier\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => this.quickFilter.emit(item)}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{typeof item.text === 'string'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? item.text\n\t\t\t\t\t\t\t\t\t\t\t\t\t: item.text()}{' '}\n\t\t\t\t\t\t\t\t\t\t\t\t{item?.count >= 0 ? `(${item.count})` : ''}\n\t\t\t\t\t\t\t\t\t\t\t</p-segment-item>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</p-segment-container>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t<div class='flex flex-col justify-end gap-2 desktop-xs:ml-auto desktop-xs:flex-row desktop-xs:items-center'>\n\t\t\t\t\t\t{this.enableSearch && (\n\t\t\t\t\t\t\t<p-field\n\t\t\t\t\t\t\t\ticon='search'\n\t\t\t\t\t\t\t\tclass='desktop-xs:max-w-60'\n\t\t\t\t\t\t\t\tplaceholder='Zoeken...'\n\t\t\t\t\t\t\t\tvalue={this.query}\n\t\t\t\t\t\t\t\tonValueChange={ev =>\n\t\t\t\t\t\t\t\t\tthis._queryObserver.next(ev.detail as string)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t<div class='flex items-center gap-2'>\n\t\t\t\t\t\t\t{this.enableFilter && (\n\t\t\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\t\t\ticon='filter'\n\t\t\t\t\t\t\t\t\tvariant='secondary'\n\t\t\t\t\t\t\t\t\tclass={`w-full ${\n\t\t\t\t\t\t\t\t\t\tthis.enableFilterDesktop\n\t\t\t\t\t\t\t\t\t\t\t? 'desktop-xs:w-auto'\n\t\t\t\t\t\t\t\t\t\t\t: 'desktop-xs:hidden'\n\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\tonClick={() => this.filter.emit()}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{this.filterButtonTemplate\n\t\t\t\t\t\t\t\t\t\t? this.filterButtonTemplate()\n\t\t\t\t\t\t\t\t\t\t: this._defaultFilterButtonTemplate()}\n\t\t\t\t\t\t\t\t\t{this.selectedFiltersAmount &&\n\t\t\t\t\t\t\t\t\t\tthis._getLabel(this.selectedFiltersAmount)}\n\t\t\t\t\t\t\t\t\t{mobileTotal > 0 && this._getLabel(mobileTotal, 'mobile')}\n\t\t\t\t\t\t\t\t</p-button>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{!this.loading && this.enableExport && this.enableFilter && (\n\t\t\t\t\t\t\t\t<p-divider\n\t\t\t\t\t\t\t\t\tvariant='vertical'\n\t\t\t\t\t\t\t\t\tclass='hidden h-4 tablet:flex dark:text-white/15'\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{!this.loading && this.enableExport && (\n\t\t\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\t\t\tvariant='secondary'\n\t\t\t\t\t\t\t\t\ticon='upload'\n\t\t\t\t\t\t\t\t\tclass='desktop-xs:auto w-full'\n\t\t\t\t\t\t\t\t\tonClick={() => this.export.emit()}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{formatTranslation(this._locales.export)}\n\t\t\t\t\t\t\t\t</p-button>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{this.enableAction && this._buttonTemplate()}\n\n\t\t\t\t\t\t{hasCustomActionsSlot && <slot name='custom-actions' />}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{this.enableAction && this.canUseAction && (\n\t\t\t\t\t\t<div class='border-t-mystic-dark fixed bottom-0 left-0 block w-full border border-solid border-transparent bg-white p-4 desktop-xs:hidden'>\n\t\t\t\t\t\t\t{this._buttonTemplate(true)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</ThemedHost>\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\tprivate _buttonTemplate(mobile = false) {\n\t\treturn (\n\t\t\t<p-button\n\t\t\t\tclass={mobile ? 'w-full' : 'hidden desktop-xs:flex'}\n\t\t\t\ticon={this.actionIcon}\n\t\t\t\tdisabled={!this.canUseAction}\n\t\t\t\tonClick={() => this.action.emit()}\n\t\t\t\tloading={this.actionLoading}\n\t\t\t>\n\t\t\t\t{this.actionButtonTemplate\n\t\t\t\t\t? this.actionButtonTemplate(mobile ? this.itemsSelectedAmount : 0)\n\t\t\t\t\t: this._defaultActionButtonTemplate(\n\t\t\t\t\t\t\tmobile ? this.itemsSelectedAmount : 0\n\t\t\t\t\t )}\n\t\t\t</p-button>\n\t\t);\n\t}\n\n\tprivate _getLabel(amount, variant: 'mobile' | 'default' = 'default') {\n\t\treturn (\n\t\t\t<p-badge\n\t\t\t\tclass={`ml-1 ${\n\t\t\t\t\tvariant === 'default'\n\t\t\t\t\t\t? 'hidden desktop-xs:flex'\n\t\t\t\t\t\t: 'flex desktop-xs:hidden'\n\t\t\t\t}`}\n\t\t\t>\n\t\t\t\t{amount}\n\t\t\t</p-badge>\n\t\t);\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"table-header.component.js","sourceRoot":"","sources":["../../../../../src/components/molecules/table/header/table-header.component.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tListen,\n\tProp,\n\tState,\n} from '@stencil/core';\nimport { cva } from 'class-variance-authority';\nimport { debounceTime, distinctUntilChanged, Subject } from 'rxjs';\nimport { QuickFilter } from '../../../../types/table';\nimport {\n\tformatTranslation,\n\tgetLocaleComponentStrings,\n} from '../../../../utils/localization';\nimport { IconVariant } from '../../../atoms/icon/icon.component';\nimport { ThemedHost } from '../../../../internal/themed-host.component';\n\nexport type templateFunc = () => string;\nexport type buttonTemplateFunc = (amount: number) => string;\n\nconst header = cva([\n\t'flex flex-col gap-2 z-[1]',\n\t'w-full',\n\t'px-4 tablet:px-0',\n\n\t'desktop-xs:flex-row',\n]);\n\n@Component({\n\ttag: 'p-table-header',\n\tstyleUrl: 'table-header.component.css',\n\tshadow: true,\n})\nexport class TableHeader {\n\tprivate _defaultFilterButtonTemplate: templateFunc = () =>\n\t\tformatTranslation(this._locales.filter);\n\tprivate _defaultActionButtonTemplate: buttonTemplateFunc = (amount: number) =>\n\t\tthis.actionText\n\t\t\t? this.actionText\n\t\t\t: formatTranslation(\n\t\t\t\t\tamount === 0\n\t\t\t\t\t\t? this._locales.edit\n\t\t\t\t\t\t: amount === 1\n\t\t\t\t\t\t? this._locales.edit_single\n\t\t\t\t\t\t: this._locales.edit_plural,\n\t\t\t\t\t{ amount }\n\t\t\t );\n\n\t/**\n\t * Quick filters to show\n\t */\n\t@Prop() quickFilters: QuickFilter[] | string = [];\n\n\t/**\n\t * Active quick filter identifier\n\t */\n\t@Prop() activeQuickFilterIdentifier: string;\n\n\t/**\n\t * Wether we want to show loading state\n\t */\n\t@Prop() loading: boolean = false;\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 amount of items that are selected\n\t */\n\t@Prop() itemsSelectedAmount: number = 0;\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 * Wether to show the export button\n\t */\n\t@Prop() enableExport: boolean = true;\n\n\t/**\n\t * Wether to show the filter button on desktop\n\t */\n\t@Prop() enableFilterDesktop: 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\t\tthis._defaultFilterButtonTemplate;\n\n\t/**\n\t * Wether to show the action button\n\t */\n\t@Prop() enableAction: boolean = true;\n\n\t/**\n\t * Wether the action button is loading\n\t */\n\t@Prop() actionLoading: boolean = false;\n\n\t/**\n\t * The action button icon\n\t */\n\t@Prop() actionIcon: IconVariant = 'pencil';\n\n\t/**\n\t * The action button text if changed\n\t */\n\t@Prop() actionText: string;\n\n\t/**\n\t * Wether to enable the action button\n\t */\n\t@Prop({ mutable: true }) canUseAction: boolean = false;\n\n\t/**\n\t * The template for the action button text\n\t */\n\t@Prop() actionButtonTemplate: buttonTemplateFunc =\n\t\tthis._defaultActionButtonTemplate;\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/**\n\t * Event whenever the export button is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\texport: EventEmitter<number>;\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\tprivate _queryObserver = new Subject<string>();\n\n\tcomponentWillLoad() {\n\t\tthis._setLocales();\n\t}\n\n\tcomponentDidLoad() {\n\t\tthis._queryObserver\n\t\t\t.pipe(debounceTime(300), distinctUntilChanged())\n\t\t\t.subscribe(value => this.queryChange.emit(value));\n\t}\n\n\trender() {\n\t\tconst quickFilters =\n\t\t\ttypeof this.quickFilters === 'string'\n\t\t\t\t? JSON.parse(this.quickFilters)\n\t\t\t\t: this.quickFilters;\n\n\t\tconst activeQuickFilter = quickFilters.find(\n\t\t\tf => f.identifier === this.activeQuickFilterIdentifier\n\t\t);\n\t\tconst mobileTotal =\n\t\t\t(this.selectedFiltersAmount || 0) + (activeQuickFilter?.default ? 0 : 1);\n\n\t\tconst hasCustomFilterSlot = !!this._el.querySelector(\n\t\t\t':scope > [slot=\"custom-filter\"]'\n\t\t);\n\n\t\tconst hasCustomActionsSlot = !!this._el.querySelector(\n\t\t\t':scope > [slot=\"custom-actions\"]'\n\t\t);\n\n\t\treturn (\n\t\t\t<ThemedHost>\n\t\t\t\t<div class={header()}>\n\t\t\t\t\t{this.loading && (\n\t\t\t\t\t\t<p-loader\n\t\t\t\t\t\t\tvariant='ghost'\n\t\t\t\t\t\t\tclass='hidden h-8 w-3/4 rounded desktop-xs:flex'\n\t\t\t\t\t\t></p-loader>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{!this.loading &&\n\t\t\t\t\t\t(hasCustomFilterSlot || quickFilters.length > 0) && (\n\t\t\t\t\t\t\t<div class='flex flex-col justify-start gap-4 justify-self-start desktop-xs:flex-row'>\n\t\t\t\t\t\t\t\t{hasCustomFilterSlot && <slot name='custom-filter' />}\n\n\t\t\t\t\t\t\t\t{quickFilters.length > 0 && (\n\t\t\t\t\t\t\t\t\t<p-segment-container class='hidden desktop-xs:flex'>\n\t\t\t\t\t\t\t\t\t\t{quickFilters.map(item => (\n\t\t\t\t\t\t\t\t\t\t\t<p-segment-item\n\t\t\t\t\t\t\t\t\t\t\t\tactive={\n\t\t\t\t\t\t\t\t\t\t\t\t\titem.identifier === this.activeQuickFilterIdentifier\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => this.quickFilter.emit(item)}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{typeof item.text === 'string'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? item.text\n\t\t\t\t\t\t\t\t\t\t\t\t\t: item.text()}{' '}\n\t\t\t\t\t\t\t\t\t\t\t\t{item?.count >= 0 ? `(${item.count})` : ''}\n\t\t\t\t\t\t\t\t\t\t\t</p-segment-item>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</p-segment-container>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t<div class='flex flex-col justify-end gap-2 desktop-xs:ml-auto desktop-xs:flex-row desktop-xs:items-center'>\n\t\t\t\t\t\t{this.enableSearch && (\n\t\t\t\t\t\t\t<p-field\n\t\t\t\t\t\t\t\ticon='search'\n\t\t\t\t\t\t\t\tclass='desktop-xs:max-w-60'\n\t\t\t\t\t\t\t\tplaceholder='Zoeken...'\n\t\t\t\t\t\t\t\tvalue={this.query}\n\t\t\t\t\t\t\t\tonValueChange={ev =>\n\t\t\t\t\t\t\t\t\tthis._queryObserver.next(ev.detail as string)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t<div class='flex items-center gap-2'>\n\t\t\t\t\t\t\t{this.enableFilter && (\n\t\t\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\t\t\ticon='filter'\n\t\t\t\t\t\t\t\t\tvariant='secondary'\n\t\t\t\t\t\t\t\t\tclass={`w-full ${\n\t\t\t\t\t\t\t\t\t\tthis.enableFilterDesktop\n\t\t\t\t\t\t\t\t\t\t\t? 'desktop-xs:w-auto'\n\t\t\t\t\t\t\t\t\t\t\t: 'desktop-xs:hidden'\n\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\tonClick={() => this.filter.emit()}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{this.filterButtonTemplate\n\t\t\t\t\t\t\t\t\t\t? this.filterButtonTemplate()\n\t\t\t\t\t\t\t\t\t\t: this._defaultFilterButtonTemplate()}\n\t\t\t\t\t\t\t\t\t{this.selectedFiltersAmount &&\n\t\t\t\t\t\t\t\t\t\tthis._getLabel(this.selectedFiltersAmount)}\n\t\t\t\t\t\t\t\t\t{mobileTotal > 0 && this._getLabel(mobileTotal, 'mobile')}\n\t\t\t\t\t\t\t\t</p-button>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{!this.loading && this.enableExport && this.enableFilter && (\n\t\t\t\t\t\t\t\t<p-divider\n\t\t\t\t\t\t\t\t\tvariant='vertical'\n\t\t\t\t\t\t\t\t\tclass='hidden h-4 tablet:flex dark:text-white/15'\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{!this.loading && this.enableExport && (\n\t\t\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\t\t\tvariant='secondary'\n\t\t\t\t\t\t\t\t\ticon='upload'\n\t\t\t\t\t\t\t\t\tclass='desktop-xs:auto w-full'\n\t\t\t\t\t\t\t\t\tonClick={() => this.export.emit()}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{formatTranslation(this._locales.export)}\n\t\t\t\t\t\t\t\t</p-button>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{this.enableAction && this._buttonTemplate()}\n\n\t\t\t\t\t\t{hasCustomActionsSlot && <slot name='custom-actions' />}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{this.enableAction && this.canUseAction && (\n\t\t\t\t\t\t<div class='border-t-mystic-dark fixed bottom-0 left-0 block w-full border border-solid border-transparent bg-white p-4 desktop-xs:hidden'>\n\t\t\t\t\t\t\t{this._buttonTemplate(true)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</ThemedHost>\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\tprivate _buttonTemplate(mobile = false) {\n\t\treturn (\n\t\t\t<p-button\n\t\t\t\tclass={mobile ? 'w-full' : 'hidden desktop-xs:flex'}\n\t\t\t\ticon={this.actionIcon}\n\t\t\t\tdisabled={!this.canUseAction}\n\t\t\t\tonClick={() => this.action.emit()}\n\t\t\t\tloading={this.actionLoading}\n\t\t\t>\n\t\t\t\t{this.actionButtonTemplate\n\t\t\t\t\t? this.actionButtonTemplate(mobile ? this.itemsSelectedAmount : 0)\n\t\t\t\t\t: this._defaultActionButtonTemplate(\n\t\t\t\t\t\t\tmobile ? this.itemsSelectedAmount : 0\n\t\t\t\t\t )}\n\t\t\t</p-button>\n\t\t);\n\t}\n\n\tprivate _getLabel(amount, variant: 'mobile' | 'default' = 'default') {\n\t\treturn (\n\t\t\t<p-badge\n\t\t\t\tclass={`ml-1 ${\n\t\t\t\t\tvariant === 'default'\n\t\t\t\t\t\t? 'hidden desktop-xs:flex'\n\t\t\t\t\t\t: 'flex desktop-xs:hidden'\n\t\t\t\t}`}\n\t\t\t>\n\t\t\t\t{amount}\n\t\t\t</p-badge>\n\t\t);\n\t}\n}\n"]}
|
|
@@ -9602,7 +9602,6 @@ const TableHeader = /*@__PURE__*/ proxyCustomElement(class TableHeader extends H
|
|
|
9602
9602
|
.subscribe(value => this.queryChange.emit(value));
|
|
9603
9603
|
}
|
|
9604
9604
|
render() {
|
|
9605
|
-
console.log(this.quickFilters);
|
|
9606
9605
|
const quickFilters = typeof this.quickFilters === 'string'
|
|
9607
9606
|
? JSON.parse(this.quickFilters)
|
|
9608
9607
|
: this.quickFilters;
|
|
@@ -9610,15 +9609,15 @@ const TableHeader = /*@__PURE__*/ proxyCustomElement(class TableHeader extends H
|
|
|
9610
9609
|
const mobileTotal = (this.selectedFiltersAmount || 0) + (activeQuickFilter?.default ? 0 : 1);
|
|
9611
9610
|
const hasCustomFilterSlot = !!this._el.querySelector(':scope > [slot="custom-filter"]');
|
|
9612
9611
|
const hasCustomActionsSlot = !!this._el.querySelector(':scope > [slot="custom-actions"]');
|
|
9613
|
-
return (h(ThemedHost, { key: '
|
|
9614
|
-
(hasCustomFilterSlot || quickFilters.length > 0) && (h("div", { key: '
|
|
9612
|
+
return (h(ThemedHost, { key: 'b853afc278bcdc5615fe52928e49a08216f807e0' }, h("div", { key: 'cc1fb1ffe7376263d17fa0948160fa73b1d49f68', class: header() }, this.loading && (h("p-loader", { key: '156ab2edb7bb6e9ffe697ab547ec24c287d1ab4c', variant: 'ghost', class: 'hidden h-8 w-3/4 rounded desktop-xs:flex' })), !this.loading &&
|
|
9613
|
+
(hasCustomFilterSlot || quickFilters.length > 0) && (h("div", { key: 'f96b1d33ff36ddbb19fb4198554f74265923a1b9', class: 'flex flex-col justify-start gap-4 justify-self-start desktop-xs:flex-row' }, hasCustomFilterSlot && h("slot", { key: '5d401f179a913db5511a67d8ad1968df432ab722', name: 'custom-filter' }), quickFilters.length > 0 && (h("p-segment-container", { key: '37c7315ced7f7be6e39f59a8334eae08260b772e', class: 'hidden desktop-xs:flex' }, quickFilters.map(item => (h("p-segment-item", { active: item.identifier === this.activeQuickFilterIdentifier, onClick: () => this.quickFilter.emit(item) }, typeof item.text === 'string'
|
|
9615
9614
|
? item.text
|
|
9616
|
-
: item.text(), ' ', item?.count >= 0 ? `(${item.count})` : ''))))))), h("div", { key: '
|
|
9615
|
+
: item.text(), ' ', item?.count >= 0 ? `(${item.count})` : ''))))))), h("div", { key: '0199cc10cc0d7d992e8bc08097f7d0462db1e8f5', class: 'flex flex-col justify-end gap-2 desktop-xs:ml-auto desktop-xs:flex-row desktop-xs:items-center' }, this.enableSearch && (h("p-field", { key: 'e4daaddd95257ba880a0803242c492aa6888bc66', icon: 'search', class: 'desktop-xs:max-w-60', placeholder: 'Zoeken...', value: this.query, onValueChange: ev => this._queryObserver.next(ev.detail) })), h("div", { key: '89e51f87a89f629c77b22c5fd0714662d452a5c6', class: 'flex items-center gap-2' }, this.enableFilter && (h("p-button", { key: '933b0ff84cb98c91d3bdb9bfa761bac3096b6d82', icon: 'filter', variant: 'secondary', class: `w-full ${this.enableFilterDesktop
|
|
9617
9616
|
? 'desktop-xs:w-auto'
|
|
9618
9617
|
: 'desktop-xs:hidden'}`, onClick: () => this.filter.emit() }, this.filterButtonTemplate
|
|
9619
9618
|
? this.filterButtonTemplate()
|
|
9620
9619
|
: this._defaultFilterButtonTemplate(), this.selectedFiltersAmount &&
|
|
9621
|
-
this._getLabel(this.selectedFiltersAmount), mobileTotal > 0 && this._getLabel(mobileTotal, 'mobile'))), !this.loading && this.enableExport && this.enableFilter && (h("p-divider", { key: '
|
|
9620
|
+
this._getLabel(this.selectedFiltersAmount), mobileTotal > 0 && this._getLabel(mobileTotal, 'mobile'))), !this.loading && this.enableExport && this.enableFilter && (h("p-divider", { key: 'f1432c63cb0b9758338dcc5eba1446cbce6e6494', variant: 'vertical', class: 'hidden h-4 tablet:flex dark:text-white/15' })), !this.loading && this.enableExport && (h("p-button", { key: '9599f305f6e200246a889177e4c3b3fd7a99d493', variant: 'secondary', icon: 'upload', class: 'desktop-xs:auto w-full', onClick: () => this.export.emit() }, formatTranslation(this._locales.export)))), this.enableAction && this._buttonTemplate(), hasCustomActionsSlot && h("slot", { key: '8afdb5ab4234df9aa5574fa8fb78d5fc51e14c2f', name: 'custom-actions' })), this.enableAction && this.canUseAction && (h("div", { key: '126a654009f3837c7aa9bc028a4e616c54c4f399', class: 'border-t-mystic-dark fixed bottom-0 left-0 block w-full border border-solid border-transparent bg-white p-4 desktop-xs:hidden' }, this._buttonTemplate(true))))));
|
|
9622
9621
|
}
|
|
9623
9622
|
async _setLocales() {
|
|
9624
9623
|
this._locales = await getLocaleComponentStrings(this._el);
|
|
@@ -9725,6 +9724,6 @@ function defineCustomElement() {
|
|
|
9725
9724
|
defineCustomElement();
|
|
9726
9725
|
|
|
9727
9726
|
export { TableHeader as T, defineCustomElement as d };
|
|
9728
|
-
//# sourceMappingURL=p
|
|
9727
|
+
//# sourceMappingURL=p-CbfQ0Wci.js.map
|
|
9729
9728
|
|
|
9730
|
-
//# sourceMappingURL=p
|
|
9729
|
+
//# sourceMappingURL=p-CbfQ0Wci.js.map
|