@paperless/angular 0.1.0-alpha.130 → 0.1.0-alpha.132

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 (31) hide show
  1. package/esm2020/lib/base/form.component.mjs +105 -0
  2. package/esm2020/lib/base/index.mjs +4 -1
  3. package/esm2020/lib/base/table.component.mjs +155 -0
  4. package/esm2020/lib/base/upload.component.mjs +57 -0
  5. package/esm2020/lib/base/value-accessor.mjs +5 -5
  6. package/esm2020/lib/directives/index.mjs +4 -1
  7. package/esm2020/lib/directives/p-page-size-select.directive.mjs +3 -3
  8. package/esm2020/lib/directives/p-pagination.directive.mjs +3 -3
  9. package/esm2020/lib/directives/p-table-footer.directive.mjs +3 -3
  10. package/esm2020/lib/directives/p-table-header.directive.mjs +3 -3
  11. package/esm2020/lib/directives/p-table.directive.mjs +72 -0
  12. package/esm2020/lib/paperless.module.mjs +3 -2
  13. package/esm2020/public-api.mjs +2 -1
  14. package/fesm2015/paperless-angular.mjs +392 -13
  15. package/fesm2015/paperless-angular.mjs.map +1 -1
  16. package/fesm2020/paperless-angular.mjs +387 -13
  17. package/fesm2020/paperless-angular.mjs.map +1 -1
  18. package/lib/base/form.component.d.ts +15 -0
  19. package/lib/base/index.d.ts +3 -0
  20. package/lib/base/table.component.d.ts +45 -0
  21. package/lib/base/upload.component.d.ts +16 -0
  22. package/lib/base/value-accessor.d.ts +3 -3
  23. package/lib/directives/index.d.ts +3 -1
  24. package/lib/directives/p-page-size-select.directive.d.ts +2 -2
  25. package/lib/directives/p-pagination.directive.d.ts +2 -2
  26. package/lib/directives/p-table-footer.directive.d.ts +2 -2
  27. package/lib/directives/p-table-header.directive.d.ts +2 -2
  28. package/lib/directives/p-table.directive.d.ts +20 -0
  29. package/lib/paperless.module.d.ts +2 -1
  30. package/package.json +2 -1
  31. package/public-api.d.ts +1 -0
@@ -0,0 +1,72 @@
1
+ import { Directive } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { BaseValueAccessor } from '../base';
4
+ import * as i0 from "@angular/core";
5
+ export class TableDirective extends BaseValueAccessor {
6
+ constructor(el) {
7
+ super(el);
8
+ this.lastValue = {
9
+ query: '',
10
+ quickFilter: undefined,
11
+ page: 1,
12
+ pageSize: 12,
13
+ selectedRows: [],
14
+ };
15
+ }
16
+ writeValue(value) {
17
+ this.el.nativeElement.query = this.lastValue.query = value?.query;
18
+ this.lastValue.quickFilter = value?.quickFilter;
19
+ this.el.nativeElement.page = this.lastValue.page =
20
+ value?.page == null ? 1 : value?.page;
21
+ this.el.nativeElement.pageSize = this.lastValue.pageSize =
22
+ value?.pageSize == null ? 12 : value?.pageSize;
23
+ this.lastValue.selectedRows =
24
+ value?.selectedRows == null ? [] : value?.selectedRows;
25
+ if (value?.quickFilter) {
26
+ this._setActiveQuickFilter(value.quickFilter);
27
+ }
28
+ }
29
+ handleChange(value, type) {
30
+ this.handleChangeEvent({
31
+ ...this.lastValue,
32
+ [type]: value,
33
+ });
34
+ if (type === 'quickFilter' && typeof value === 'object') {
35
+ this._setActiveQuickFilter(value);
36
+ }
37
+ }
38
+ _setActiveQuickFilter(quickFilter) {
39
+ this.el.nativeElement.activeQuickFilterIdentifier =
40
+ quickFilter?.identifier;
41
+ }
42
+ }
43
+ TableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: TableDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
44
+ TableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.6", type: TableDirective, selector: "p-table", host: { listeners: { "queryChange": "handleChange($event.detail, \"query\")", "quickFilter": "handleChange($event.detail, \"quickFilter\")", "pageChange": "handleChange($event.detail, \"page\")", "pageSizeChange": "handleChange($event.detail, \"pageSize\")", "selectedRowsChange": "handleChange($event.detail, \"selectedRows\")" } }, providers: [
45
+ {
46
+ provide: NG_VALUE_ACCESSOR,
47
+ useExisting: TableDirective,
48
+ multi: true,
49
+ },
50
+ ], usesInheritance: true, ngImport: i0 });
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: TableDirective, decorators: [{
52
+ type: Directive,
53
+ args: [{
54
+ /* tslint:disable-next-line:directive-selector */
55
+ selector: 'p-table',
56
+ host: {
57
+ '(queryChange)': 'handleChange($event.detail, "query")',
58
+ '(quickFilter)': 'handleChange($event.detail, "quickFilter")',
59
+ '(pageChange)': 'handleChange($event.detail, "page")',
60
+ '(pageSizeChange)': 'handleChange($event.detail, "pageSize")',
61
+ '(selectedRowsChange)': 'handleChange($event.detail, "selectedRows")',
62
+ },
63
+ providers: [
64
+ {
65
+ provide: NG_VALUE_ACCESSOR,
66
+ useExisting: TableDirective,
67
+ multi: true,
68
+ },
69
+ ],
70
+ }]
71
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicC10YWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wYXBlcmxlc3Mvc3JjL2xpYi9kaXJlY3RpdmVzL3AtdGFibGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sU0FBUyxDQUFDOztBQTRCNUMsTUFBTSxPQUFPLGNBQWUsU0FBUSxpQkFBaUI7SUFTcEQsWUFBWSxFQUFjO1FBQ3pCLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQVRRLGNBQVMsR0FBd0I7WUFDbkQsS0FBSyxFQUFFLEVBQUU7WUFDVCxXQUFXLEVBQUUsU0FBUztZQUN0QixJQUFJLEVBQUUsQ0FBQztZQUNQLFFBQVEsRUFBRSxFQUFFO1lBQ1osWUFBWSxFQUFFLEVBQUU7U0FDaEIsQ0FBQztJQUlGLENBQUM7SUFFUSxVQUFVLENBQUMsS0FBMEI7UUFDN0MsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLEtBQUssRUFBRSxLQUFLLENBQUM7UUFDbEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEdBQUcsS0FBSyxFQUFFLFdBQVcsQ0FBQztRQUVoRCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJO1lBQy9DLEtBQUssRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUM7UUFDdkMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUTtZQUN2RCxLQUFLLEVBQUUsUUFBUSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDO1FBRWhELElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWTtZQUMxQixLQUFLLEVBQUUsWUFBWSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDO1FBR3hELElBQUcsS0FBSyxFQUFFLFdBQVcsRUFBRTtZQUN0QixJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQzlDO0lBQ0YsQ0FBQztJQUVNLFlBQVksQ0FDbEIsS0FBb0MsRUFDcEMsSUFBb0U7UUFFcEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1lBQ3RCLEdBQUcsSUFBSSxDQUFDLFNBQVM7WUFDakIsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLO1NBQ2IsQ0FBQyxDQUFDO1FBRUgsSUFBSSxJQUFJLEtBQUssYUFBYSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUN4RCxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDbEM7SUFDRixDQUFDO0lBRU8scUJBQXFCLENBQUMsV0FBd0I7UUFDckQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsMkJBQTJCO1lBQ2hELFdBQVcsRUFBRSxVQUFVLENBQUM7SUFDMUIsQ0FBQzs7MkdBaERXLGNBQWM7K0ZBQWQsY0FBYyxnWEFSZjtRQUNWO1lBQ0MsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsY0FBYztZQUMzQixLQUFLLEVBQUUsSUFBSTtTQUNYO0tBQ0Q7MkZBRVcsY0FBYztrQkFsQjFCLFNBQVM7bUJBQUM7b0JBQ1YsaURBQWlEO29CQUNqRCxRQUFRLEVBQUUsU0FBUztvQkFDbkIsSUFBSSxFQUFFO3dCQUNMLGVBQWUsRUFBRSxzQ0FBc0M7d0JBQ3ZELGVBQWUsRUFBRSw0Q0FBNEM7d0JBQzdELGNBQWMsRUFBRSxxQ0FBcUM7d0JBQ3JELGtCQUFrQixFQUFFLHlDQUF5Qzt3QkFDN0Qsc0JBQXNCLEVBQUUsNkNBQTZDO3FCQUNyRTtvQkFDRCxTQUFTLEVBQUU7d0JBQ1Y7NEJBQ0MsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxnQkFBZ0I7NEJBQzNCLEtBQUssRUFBRSxJQUFJO3lCQUNYO3FCQUNEO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFF1aWNrRmlsdGVyIH0gZnJvbSAnQHBhcGVybGVzcy9jb3JlJztcblxuaW1wb3J0IHsgQmFzZVZhbHVlQWNjZXNzb3IgfSBmcm9tICcuLi9iYXNlJztcblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZURpcmVjdGl2ZVZhbHVlIHtcblx0cXVlcnk/OiBzdHJpbmc7XG5cdHF1aWNrRmlsdGVyPzogUXVpY2tGaWx0ZXI7XG5cdHBhZ2U/OiBudW1iZXI7XG5cdHBhZ2VTaXplPzogbnVtYmVyO1xuXHRzZWxlY3RlZFJvd3M/OiBhbnlbXTtcbn1cblxuQERpcmVjdGl2ZSh7XG5cdC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpkaXJlY3RpdmUtc2VsZWN0b3IgKi9cblx0c2VsZWN0b3I6ICdwLXRhYmxlJyxcblx0aG9zdDoge1xuXHRcdCcocXVlcnlDaGFuZ2UpJzogJ2hhbmRsZUNoYW5nZSgkZXZlbnQuZGV0YWlsLCBcInF1ZXJ5XCIpJyxcblx0XHQnKHF1aWNrRmlsdGVyKSc6ICdoYW5kbGVDaGFuZ2UoJGV2ZW50LmRldGFpbCwgXCJxdWlja0ZpbHRlclwiKScsXG5cdFx0JyhwYWdlQ2hhbmdlKSc6ICdoYW5kbGVDaGFuZ2UoJGV2ZW50LmRldGFpbCwgXCJwYWdlXCIpJyxcblx0XHQnKHBhZ2VTaXplQ2hhbmdlKSc6ICdoYW5kbGVDaGFuZ2UoJGV2ZW50LmRldGFpbCwgXCJwYWdlU2l6ZVwiKScsXG5cdFx0JyhzZWxlY3RlZFJvd3NDaGFuZ2UpJzogJ2hhbmRsZUNoYW5nZSgkZXZlbnQuZGV0YWlsLCBcInNlbGVjdGVkUm93c1wiKScsXG5cdH0sXG5cdHByb3ZpZGVyczogW1xuXHRcdHtcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuXHRcdFx0dXNlRXhpc3Rpbmc6IFRhYmxlRGlyZWN0aXZlLFxuXHRcdFx0bXVsdGk6IHRydWUsXG5cdFx0fSxcblx0XSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVEaXJlY3RpdmUgZXh0ZW5kcyBCYXNlVmFsdWVBY2Nlc3NvciB7XG5cdHByb3RlY3RlZCBvdmVycmlkZSBsYXN0VmFsdWU6IFRhYmxlRGlyZWN0aXZlVmFsdWUgPSB7XG5cdFx0cXVlcnk6ICcnLFxuXHRcdHF1aWNrRmlsdGVyOiB1bmRlZmluZWQsXG5cdFx0cGFnZTogMSxcblx0XHRwYWdlU2l6ZTogMTIsXG5cdFx0c2VsZWN0ZWRSb3dzOiBbXSxcblx0fTtcblxuXHRjb25zdHJ1Y3RvcihlbDogRWxlbWVudFJlZikge1xuXHRcdHN1cGVyKGVsKTtcblx0fVxuXG5cdG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IFRhYmxlRGlyZWN0aXZlVmFsdWUpIHtcblx0XHR0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnkgPSB0aGlzLmxhc3RWYWx1ZS5xdWVyeSA9IHZhbHVlPy5xdWVyeTtcblx0XHR0aGlzLmxhc3RWYWx1ZS5xdWlja0ZpbHRlciA9IHZhbHVlPy5xdWlja0ZpbHRlcjtcblxuXHRcdHRoaXMuZWwubmF0aXZlRWxlbWVudC5wYWdlID0gdGhpcy5sYXN0VmFsdWUucGFnZSA9XG5cdFx0XHR2YWx1ZT8ucGFnZSA9PSBudWxsID8gMSA6IHZhbHVlPy5wYWdlO1xuXHRcdHRoaXMuZWwubmF0aXZlRWxlbWVudC5wYWdlU2l6ZSA9IHRoaXMubGFzdFZhbHVlLnBhZ2VTaXplID1cblx0XHRcdHZhbHVlPy5wYWdlU2l6ZSA9PSBudWxsID8gMTIgOiB2YWx1ZT8ucGFnZVNpemU7XG5cblx0XHR0aGlzLmxhc3RWYWx1ZS5zZWxlY3RlZFJvd3MgPVxuXHRcdFx0dmFsdWU/LnNlbGVjdGVkUm93cyA9PSBudWxsID8gW10gOiB2YWx1ZT8uc2VsZWN0ZWRSb3dzO1xuXG5cblx0XHRpZih2YWx1ZT8ucXVpY2tGaWx0ZXIpIHtcblx0XHRcdHRoaXMuX3NldEFjdGl2ZVF1aWNrRmlsdGVyKHZhbHVlLnF1aWNrRmlsdGVyKTtcblx0XHR9XG5cdH1cblxuXHRwdWJsaWMgaGFuZGxlQ2hhbmdlKFxuXHRcdHZhbHVlOiBudW1iZXIgfCBzdHJpbmcgfCBRdWlja0ZpbHRlcixcblx0XHR0eXBlOiAncGFnZScgfCAncGFnZVNpemUnIHwgJ3F1ZXJ5JyB8ICdxdWlja0ZpbHRlcicgfCAnc2VsZWN0ZWRSb3dzJ1xuXHQpIHtcblx0XHR0aGlzLmhhbmRsZUNoYW5nZUV2ZW50KHtcblx0XHRcdC4uLnRoaXMubGFzdFZhbHVlLFxuXHRcdFx0W3R5cGVdOiB2YWx1ZSxcblx0XHR9KTtcblxuXHRcdGlmICh0eXBlID09PSAncXVpY2tGaWx0ZXInICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcblx0XHRcdHRoaXMuX3NldEFjdGl2ZVF1aWNrRmlsdGVyKHZhbHVlKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIF9zZXRBY3RpdmVRdWlja0ZpbHRlcihxdWlja0ZpbHRlcjogUXVpY2tGaWx0ZXIpIHtcblx0XHR0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuYWN0aXZlUXVpY2tGaWx0ZXJJZGVudGlmaWVyID1cblx0XHRcdHF1aWNrRmlsdGVyPy5pZGVudGlmaWVyO1xuXHR9XG59XG4iXX0=
@@ -7,10 +7,11 @@ import * as i2 from "./directives/p-pagination.directive";
7
7
  import * as i3 from "./directives/p-page-size-select.directive";
8
8
  import * as i4 from "./directives/p-table-footer.directive";
9
9
  import * as i5 from "./directives/p-table-header.directive";
10
+ import * as i6 from "./directives/p-table.directive";
10
11
  export class PaperlessModule {
11
12
  }
12
13
  PaperlessModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: PaperlessModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- PaperlessModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.6", ngImport: i0, type: PaperlessModule, declarations: [i1.PAccordion, i1.PAvatar, i1.PAvatarGroup, i1.PButton, i1.PCardBody, i1.PCardContainer, i1.PCardHeader, i1.PContentSlider, i1.PCounter, i1.PDivider, i1.PDropdown, i1.PDropdownMenuContainer, i1.PDropdownMenuItem, i1.PHelper, i1.PIcon, i1.PIllustration, i1.PInfoPanel, i1.PInputGroup, i1.PLayout, i1.PLoader, i1.PModal, i1.PModalBackdrop, i1.PModalBody, i1.PModalContainer, i1.PModalFooter, i1.PModalHeader, i1.PNavbar, i1.PNavigationItem, i1.PPageSizeSelect, i1.PPagination, i1.PPaginationItem, i1.PProfile, i1.PSegmentContainer, i1.PSegmentItem, i1.PSliderIndicator, i1.PStatus, i1.PStepper, i1.PStepperItem, i1.PStepperLine, i1.PTabGroup, i1.PTabItem, i1.PTable, i1.PTableBody, i1.PTableContainer, i1.PTableDefinition, i1.PTableFooter, i1.PTableHeader, i1.PTableRow, i1.PTag, i1.PTooltip, i2.PaginationDirective, i3.PageSizeSelectDirective, i4.TableFooterDirective, i5.TableHeaderDirective], exports: [i1.PAccordion, i1.PAvatar, i1.PAvatarGroup, i1.PButton, i1.PCardBody, i1.PCardContainer, i1.PCardHeader, i1.PContentSlider, i1.PCounter, i1.PDivider, i1.PDropdown, i1.PDropdownMenuContainer, i1.PDropdownMenuItem, i1.PHelper, i1.PIcon, i1.PIllustration, i1.PInfoPanel, i1.PInputGroup, i1.PLayout, i1.PLoader, i1.PModal, i1.PModalBackdrop, i1.PModalBody, i1.PModalContainer, i1.PModalFooter, i1.PModalHeader, i1.PNavbar, i1.PNavigationItem, i1.PPageSizeSelect, i1.PPagination, i1.PPaginationItem, i1.PProfile, i1.PSegmentContainer, i1.PSegmentItem, i1.PSliderIndicator, i1.PStatus, i1.PStepper, i1.PStepperItem, i1.PStepperLine, i1.PTabGroup, i1.PTabItem, i1.PTable, i1.PTableBody, i1.PTableContainer, i1.PTableDefinition, i1.PTableFooter, i1.PTableHeader, i1.PTableRow, i1.PTag, i1.PTooltip, i2.PaginationDirective, i3.PageSizeSelectDirective, i4.TableFooterDirective, i5.TableHeaderDirective] });
14
+ PaperlessModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.6", ngImport: i0, type: PaperlessModule, declarations: [i1.PAccordion, i1.PAvatar, i1.PAvatarGroup, i1.PButton, i1.PCardBody, i1.PCardContainer, i1.PCardHeader, i1.PContentSlider, i1.PCounter, i1.PDivider, i1.PDropdown, i1.PDropdownMenuContainer, i1.PDropdownMenuItem, i1.PHelper, i1.PIcon, i1.PIllustration, i1.PInfoPanel, i1.PInputGroup, i1.PLayout, i1.PLoader, i1.PModal, i1.PModalBackdrop, i1.PModalBody, i1.PModalContainer, i1.PModalFooter, i1.PModalHeader, i1.PNavbar, i1.PNavigationItem, i1.PPageSizeSelect, i1.PPagination, i1.PPaginationItem, i1.PProfile, i1.PSegmentContainer, i1.PSegmentItem, i1.PSliderIndicator, i1.PStatus, i1.PStepper, i1.PStepperItem, i1.PStepperLine, i1.PTabGroup, i1.PTabItem, i1.PTable, i1.PTableBody, i1.PTableContainer, i1.PTableDefinition, i1.PTableFooter, i1.PTableHeader, i1.PTableRow, i1.PTag, i1.PTooltip, i2.PaginationDirective, i3.PageSizeSelectDirective, i4.TableFooterDirective, i5.TableHeaderDirective, i6.TableDirective], exports: [i1.PAccordion, i1.PAvatar, i1.PAvatarGroup, i1.PButton, i1.PCardBody, i1.PCardContainer, i1.PCardHeader, i1.PContentSlider, i1.PCounter, i1.PDivider, i1.PDropdown, i1.PDropdownMenuContainer, i1.PDropdownMenuItem, i1.PHelper, i1.PIcon, i1.PIllustration, i1.PInfoPanel, i1.PInputGroup, i1.PLayout, i1.PLoader, i1.PModal, i1.PModalBackdrop, i1.PModalBody, i1.PModalContainer, i1.PModalFooter, i1.PModalHeader, i1.PNavbar, i1.PNavigationItem, i1.PPageSizeSelect, i1.PPagination, i1.PPaginationItem, i1.PProfile, i1.PSegmentContainer, i1.PSegmentItem, i1.PSliderIndicator, i1.PStatus, i1.PStepper, i1.PStepperItem, i1.PStepperLine, i1.PTabGroup, i1.PTabItem, i1.PTable, i1.PTableBody, i1.PTableContainer, i1.PTableDefinition, i1.PTableFooter, i1.PTableHeader, i1.PTableRow, i1.PTag, i1.PTooltip, i2.PaginationDirective, i3.PageSizeSelectDirective, i4.TableFooterDirective, i5.TableHeaderDirective, i6.TableDirective] });
14
15
  PaperlessModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: PaperlessModule });
15
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: PaperlessModule, decorators: [{
16
17
  type: NgModule,
@@ -19,4 +20,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImpor
19
20
  exports: [...DIRECTIVES, ...CUSTOM_DIRECTIVES],
20
21
  }]
21
22
  }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFwZXJsZXNzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3BhcGVybGVzcy9zcmMvbGliL3BhcGVybGVzcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7Ozs7OztBQU12QyxNQUFNLE9BQU8sZUFBZTs7NEdBQWYsZUFBZTs2R0FBZixlQUFlOzZHQUFmLGVBQWU7MkZBQWYsZUFBZTtrQkFKM0IsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxHQUFHLFVBQVUsRUFBRSxHQUFHLGlCQUFpQixDQUFDO29CQUNuRCxPQUFPLEVBQUUsQ0FBQyxHQUFHLFVBQVUsRUFBRSxHQUFHLGlCQUFpQixDQUFDO2lCQUNqRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDVVNUT01fRElSRUNUSVZFUyB9IGZyb20gJy4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBESVJFQ1RJVkVTIH0gZnJvbSAnLi9zdGVuY2lsJztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFsuLi5ESVJFQ1RJVkVTLCAuLi5DVVNUT01fRElSRUNUSVZFU10sXG4gICAgZXhwb3J0czogWy4uLkRJUkVDVElWRVMsIC4uLkNVU1RPTV9ESVJFQ1RJVkVTXSxcbn0pXG5leHBvcnQgY2xhc3MgUGFwZXJsZXNzTW9kdWxlIHt9XG4iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFwZXJsZXNzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3BhcGVybGVzcy9zcmMvbGliL3BhcGVybGVzcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7QUFNdkMsTUFBTSxPQUFPLGVBQWU7OzRHQUFmLGVBQWU7NkdBQWYsZUFBZTs2R0FBZixlQUFlOzJGQUFmLGVBQWU7a0JBSjNCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsR0FBRyxVQUFVLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQztvQkFDbkQsT0FBTyxFQUFFLENBQUMsR0FBRyxVQUFVLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQztpQkFDakQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ1VTVE9NX0RJUkVDVElWRVMgfSBmcm9tICcuL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgRElSRUNUSVZFUyB9IGZyb20gJy4vc3RlbmNpbCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbLi4uRElSRUNUSVZFUywgLi4uQ1VTVE9NX0RJUkVDVElWRVNdLFxuICAgIGV4cG9ydHM6IFsuLi5ESVJFQ1RJVkVTLCAuLi5DVVNUT01fRElSRUNUSVZFU10sXG59KVxuZXhwb3J0IGNsYXNzIFBhcGVybGVzc01vZHVsZSB7fVxuIl19
@@ -1,7 +1,8 @@
1
1
  /*
2
2
  * Public API Surface of paperless
3
3
  */
4
+ export * from './lib/base';
4
5
  export * from './lib/directives';
5
6
  export * from './lib/paperless.module';
6
7
  export * from './lib/stencil/components';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Byb2plY3RzL3BhcGVybGVzcy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBwYXBlcmxlc3NcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhcGVybGVzcy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RlbmNpbC9jb21wb25lbnRzJztcbiJdfQ==
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Byb2plY3RzL3BhcGVybGVzcy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBwYXBlcmxlc3NcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFwZXJsZXNzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdGVuY2lsL2NvbXBvbmVudHMnO1xuIl19
@@ -1,10 +1,323 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Directive, HostListener, Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
3
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
2
+ import { Component, EventEmitter, Input, Output, ViewChild, Directive, HostListener, ChangeDetectionStrategy, NgModule } from '@angular/core';
3
+ import { FormControl, FormGroup, FormArray, NG_VALUE_ACCESSOR } from '@angular/forms';
4
4
  import { __decorate } from 'tslib';
5
- import { fromEvent } from 'rxjs';
5
+ import { untilDestroyed, UntilDestroy } from '@ngneat/until-destroy';
6
+ import { timer, fromEvent } from 'rxjs';
7
+ import { startWith, pairwise, map, filter, debounce } from 'rxjs/operators';
6
8
 
7
- class ValueAccessor {
9
+ class FormBaseComponent {
10
+ constructor() {
11
+ this.markedDirty = false;
12
+ }
13
+ scrollToFirstError() {
14
+ const invalidInputs = Array.from(document.getElementsByClassName('ng-invalid'))
15
+ .filter((e) => { var _a; return ((_a = e === null || e === void 0 ? void 0 : e.nodeName) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== 'form'; })
16
+ .sort((a, b) => a.scrollTop - b.scrollTop);
17
+ const first = invalidInputs[0];
18
+ if (first) {
19
+ first.scrollIntoView({
20
+ behavior: 'smooth',
21
+ block: 'center',
22
+ inline: 'center',
23
+ });
24
+ }
25
+ }
26
+ markControlDirty(control) {
27
+ if (control instanceof FormControl) {
28
+ control.markAsDirty({ onlySelf: true });
29
+ control.markAsTouched({ onlySelf: true });
30
+ }
31
+ else if (control instanceof FormGroup) {
32
+ control.markAsDirty();
33
+ control.markAsTouched();
34
+ this.markAllDirty(control);
35
+ }
36
+ else if (control instanceof FormArray) {
37
+ control.markAsDirty();
38
+ control.markAsTouched();
39
+ for (const child of control === null || control === void 0 ? void 0 : control.controls) {
40
+ this.markControlDirty(child);
41
+ }
42
+ }
43
+ control.updateValueAndValidity();
44
+ }
45
+ markAllDirty(formGroup) {
46
+ this.markedDirty = true;
47
+ for (const field of Object.keys(formGroup.controls)) {
48
+ const control = formGroup.get(field);
49
+ this.markControlDirty(control);
50
+ }
51
+ }
52
+ getControlError(control) {
53
+ if (!this.hasControlError(control)) {
54
+ return;
55
+ }
56
+ return this.firstControlError(control);
57
+ }
58
+ hasControlError(control, showChildErrors = true) {
59
+ return ((control === null || control === void 0 ? void 0 : control.dirty) && this.firstControlError(control, showChildErrors));
60
+ }
61
+ firstControlError(control, showChildErrors = true) {
62
+ if (control instanceof FormGroup && showChildErrors) {
63
+ const errors = Object.keys(control.controls)
64
+ .map((key) => this.firstControlError(control.controls[key]))
65
+ .filter((val) => !!val);
66
+ return errors[0];
67
+ }
68
+ if (!(control === null || control === void 0 ? void 0 : control.errors)) {
69
+ return;
70
+ }
71
+ const keys = Object.keys(control.errors);
72
+ let err;
73
+ for (const key of keys) {
74
+ if (control.errors[key]) {
75
+ err = key;
76
+ break;
77
+ }
78
+ }
79
+ return err;
80
+ }
81
+ resetControl(control) {
82
+ control.setErrors(null);
83
+ control.reset();
84
+ control.markAsPristine();
85
+ if (control instanceof FormGroup) {
86
+ this.resetForm(control);
87
+ }
88
+ else if (control instanceof FormArray) {
89
+ for (const child of control === null || control === void 0 ? void 0 : control.controls) {
90
+ this.resetControl(child);
91
+ }
92
+ }
93
+ }
94
+ resetForm(formGroup) {
95
+ for (const field of Object.keys(formGroup.controls)) {
96
+ const control = formGroup.get(field);
97
+ this.resetControl(control);
98
+ }
99
+ this.markedDirty = false;
100
+ }
101
+ }
102
+ FormBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: FormBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
103
+ FormBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.6", type: FormBaseComponent, selector: "ng-component", ngImport: i0, template: ``, isInline: true });
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: FormBaseComponent, decorators: [{
105
+ type: Component,
106
+ args: [{
107
+ template: ``,
108
+ }]
109
+ }] });
110
+
111
+ let BaseTableComponent = class BaseTableComponent extends FormBaseComponent {
112
+ constructor() {
113
+ super();
114
+ this.quickFilters = [];
115
+ this.pageSizeDefault = 12;
116
+ this._defaultTableValues = {
117
+ pageSize: this.pageSizeDefault,
118
+ page: 1,
119
+ quickFilter: null,
120
+ query: '',
121
+ selectedRows: [],
122
+ };
123
+ this.defaultTableValues = {};
124
+ }
125
+ get pageSize() {
126
+ var _a;
127
+ if (!this.tableOptions) {
128
+ return this._defaultTableValues.pageSize;
129
+ }
130
+ return (_a = this.tableOptions.get('pageSize')) === null || _a === void 0 ? void 0 : _a.value;
131
+ }
132
+ get page() {
133
+ var _a;
134
+ if (!this.tableOptions) {
135
+ return this._defaultTableValues.page;
136
+ }
137
+ return (_a = this.tableOptions.get('page')) === null || _a === void 0 ? void 0 : _a.value;
138
+ }
139
+ get quickFilter() {
140
+ var _a;
141
+ if (!this.tableOptions) {
142
+ return this._defaultTableValues.quickFilter;
143
+ }
144
+ return (_a = this.tableOptions.get('quickFilter')) === null || _a === void 0 ? void 0 : _a.value;
145
+ }
146
+ set quickFilter(quickFilter) {
147
+ this.tableValues = {
148
+ quickFilter,
149
+ };
150
+ }
151
+ get query() {
152
+ var _a;
153
+ if (!this.tableOptions) {
154
+ return this._defaultTableValues.query;
155
+ }
156
+ return (_a = this.tableOptions.get('query')) === null || _a === void 0 ? void 0 : _a.value;
157
+ }
158
+ set query(query) {
159
+ this.tableValues = {
160
+ query,
161
+ };
162
+ }
163
+ get selectedRows() {
164
+ var _a;
165
+ if (!this.tableOptions) {
166
+ return this._defaultTableValues.selectedRows;
167
+ }
168
+ return (_a = this.tableOptions.get('selectedRows')) === null || _a === void 0 ? void 0 : _a.value;
169
+ }
170
+ set selectedRows(selectedRows) {
171
+ this.tableValues = {
172
+ selectedRows,
173
+ };
174
+ }
175
+ // setter
176
+ get parsedDefaultTableValues() {
177
+ var _a;
178
+ return Object.assign(Object.assign(Object.assign({}, this._defaultTableValues), this.defaultTableValues), { pageSize: ((_a = this.defaultTableValues) === null || _a === void 0 ? void 0 : _a.pageSize) || this.pageSizeDefault });
179
+ }
180
+ get tableValues() {
181
+ var _a;
182
+ return (_a = this.tableOptions) === null || _a === void 0 ? void 0 : _a.value;
183
+ }
184
+ set tableValues(values) {
185
+ this._setTableValues(Object.assign(Object.assign({}, this.tableValues), values));
186
+ }
187
+ ngOnInit() {
188
+ this.tableOptions = new FormGroup({
189
+ pageSize: new FormControl(this.parsedDefaultTableValues.pageSize),
190
+ page: new FormControl(this.parsedDefaultTableValues.page),
191
+ quickFilter: new FormControl(this.parsedDefaultTableValues.quickFilter),
192
+ query: new FormControl(this.parsedDefaultTableValues.query),
193
+ selectedRows: new FormControl(this.parsedDefaultTableValues.selectedRows),
194
+ });
195
+ this.tableOptions.valueChanges
196
+ .pipe(untilDestroyed(this), startWith(this.tableOptions.value), pairwise(), map(([previous, next]) => this._getChanges(previous, next)), filter((changes) => !!changes), debounce((changes) => {
197
+ var _a;
198
+ if ((changes === null || changes === void 0 ? void 0 : changes.query) && ((_a = Object.keys(changes)) === null || _a === void 0 ? void 0 : _a.length) === 1) {
199
+ return timer(300);
200
+ }
201
+ return timer(0);
202
+ }), filter((changes) => {
203
+ var _a;
204
+ return !((changes === null || changes === void 0 ? void 0 : changes.selected) &&
205
+ ((_a = Object.keys(changes)) === null || _a === void 0 ? void 0 : _a.length) === 1);
206
+ }))
207
+ .subscribe((changes) => {
208
+ if (changes === null || changes === void 0 ? void 0 : changes.page) {
209
+ this._refresh();
210
+ return;
211
+ }
212
+ this._resetPageOrRefresh();
213
+ });
214
+ this._refresh();
215
+ }
216
+ resetTable(emitEvent = true, forceRefresh = null) {
217
+ this._setTableValues(this.parsedDefaultTableValues, emitEvent);
218
+ if (forceRefresh) {
219
+ this._refresh();
220
+ }
221
+ }
222
+ _refresh() {
223
+ console.warn('Not implemented');
224
+ }
225
+ _resetPageOrRefresh() {
226
+ var _a;
227
+ if (!this.tableOptions) {
228
+ return;
229
+ }
230
+ if (this.page !== 1) {
231
+ (_a = this.tableOptions.get('page')) === null || _a === void 0 ? void 0 : _a.setValue(1);
232
+ return;
233
+ }
234
+ this._refresh();
235
+ }
236
+ _setTableValues(data, emitEvent = true) {
237
+ var _a;
238
+ (_a = this.tableOptions) === null || _a === void 0 ? void 0 : _a.setValue(data, { emitEvent });
239
+ }
240
+ _getChanges(previous, next) {
241
+ const changes = {};
242
+ let key;
243
+ for (key in next) {
244
+ if (JSON.stringify(previous[key]) !== JSON.stringify(next[key])) {
245
+ changes[key] = next[key];
246
+ }
247
+ }
248
+ return Object.keys(changes).length ? changes : null;
249
+ }
250
+ };
251
+ BaseTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: BaseTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
252
+ BaseTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.6", type: BaseTableComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: ``, isInline: true });
253
+ BaseTableComponent = __decorate([
254
+ UntilDestroy({ checkProperties: true })
255
+ ], BaseTableComponent);
256
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: BaseTableComponent, decorators: [{
257
+ type: Component,
258
+ args: [{
259
+ template: ``,
260
+ }]
261
+ }], ctorParameters: function () { return []; } });
262
+
263
+ class BaseUploadComponent {
264
+ constructor() {
265
+ this.uploaded = false;
266
+ this.fileChange = new EventEmitter();
267
+ this._loading = false;
268
+ }
269
+ set loading(value) {
270
+ this._loading = value;
271
+ }
272
+ get loading() {
273
+ return this._loading;
274
+ }
275
+ onChange($event) {
276
+ var _a;
277
+ const target = $event.target;
278
+ const file = (_a = target.files) === null || _a === void 0 ? void 0 : _a[0];
279
+ if (file) {
280
+ this._loading = true;
281
+ const reader = new FileReader();
282
+ reader.onload = (e) => { var _a; return this.onLoad(file, (_a = e === null || e === void 0 ? void 0 : e.currentTarget) === null || _a === void 0 ? void 0 : _a.result); };
283
+ reader.readAsDataURL(file);
284
+ }
285
+ }
286
+ onLoad(file, result) {
287
+ var _a;
288
+ this.fileChange.next({
289
+ fileId: this.fileId,
290
+ result,
291
+ file,
292
+ });
293
+ if ((_a = this.uploaderInput) === null || _a === void 0 ? void 0 : _a.nativeElement) {
294
+ this.uploaderInput.nativeElement.value = '';
295
+ }
296
+ this.file = file;
297
+ this._loading = false;
298
+ }
299
+ }
300
+ BaseUploadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: BaseUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
301
+ BaseUploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.6", type: BaseUploadComponent, selector: "ng-component", inputs: { fileId: "fileId", uploaded: "uploaded", loading: "loading" }, outputs: { fileChange: "fileChange" }, viewQueries: [{ propertyName: "uploaderInput", first: true, predicate: ["uploaderInput"], descendants: true }], ngImport: i0, template: ``, isInline: true });
302
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: BaseUploadComponent, decorators: [{
303
+ type: Component,
304
+ args: [{
305
+ template: ``,
306
+ }]
307
+ }], propDecorators: { fileId: [{
308
+ type: Input
309
+ }], uploaded: [{
310
+ type: Input
311
+ }], loading: [{
312
+ type: Input
313
+ }], fileChange: [{
314
+ type: Output
315
+ }], uploaderInput: [{
316
+ type: ViewChild,
317
+ args: ['uploaderInput']
318
+ }] } });
319
+
320
+ class BaseValueAccessor {
8
321
  constructor(el) {
9
322
  this.el = el;
10
323
  this.onChange = () => {
@@ -34,9 +347,9 @@ class ValueAccessor {
34
347
  this.onTouched = fn;
35
348
  }
36
349
  }
37
- ValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: ValueAccessor, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
38
- ValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.6", type: ValueAccessor, host: { listeners: { "focusout": "_handleBlurEvent()" } }, ngImport: i0 });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: ValueAccessor, decorators: [{
350
+ BaseValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: BaseValueAccessor, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
351
+ BaseValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.6", type: BaseValueAccessor, host: { listeners: { "focusout": "_handleBlurEvent()" } }, ngImport: i0 });
352
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: BaseValueAccessor, decorators: [{
40
353
  type: Directive,
41
354
  args: [{}]
42
355
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { _handleBlurEvent: [{
@@ -44,7 +357,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImpor
44
357
  args: ['focusout']
45
358
  }] } });
46
359
 
47
- class PageSizeSelectDirective extends ValueAccessor {
360
+ class PageSizeSelectDirective extends BaseValueAccessor {
48
361
  constructor(el) {
49
362
  super(el);
50
363
  }
@@ -82,7 +395,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImpor
82
395
  }]
83
396
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
84
397
 
85
- class PaginationDirective extends ValueAccessor {
398
+ class PaginationDirective extends BaseValueAccessor {
86
399
  constructor(el) {
87
400
  super(el);
88
401
  }
@@ -120,7 +433,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImpor
120
433
  }]
121
434
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
122
435
 
123
- class TableFooterDirective extends ValueAccessor {
436
+ class TableFooterDirective extends BaseValueAccessor {
124
437
  constructor(el) {
125
438
  super(el);
126
439
  this.lastValue = {
@@ -166,7 +479,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImpor
166
479
  }]
167
480
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
168
481
 
169
- class TableHeaderDirective extends ValueAccessor {
482
+ class TableHeaderDirective extends BaseValueAccessor {
170
483
  constructor(el) {
171
484
  super(el);
172
485
  this.lastValue = {
@@ -219,11 +532,77 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImpor
219
532
  }]
220
533
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
221
534
 
535
+ class TableDirective extends BaseValueAccessor {
536
+ constructor(el) {
537
+ super(el);
538
+ this.lastValue = {
539
+ query: '',
540
+ quickFilter: undefined,
541
+ page: 1,
542
+ pageSize: 12,
543
+ selectedRows: [],
544
+ };
545
+ }
546
+ writeValue(value) {
547
+ this.el.nativeElement.query = this.lastValue.query = value === null || value === void 0 ? void 0 : value.query;
548
+ this.lastValue.quickFilter = value === null || value === void 0 ? void 0 : value.quickFilter;
549
+ this.el.nativeElement.page = this.lastValue.page =
550
+ (value === null || value === void 0 ? void 0 : value.page) == null ? 1 : value === null || value === void 0 ? void 0 : value.page;
551
+ this.el.nativeElement.pageSize = this.lastValue.pageSize =
552
+ (value === null || value === void 0 ? void 0 : value.pageSize) == null ? 12 : value === null || value === void 0 ? void 0 : value.pageSize;
553
+ this.lastValue.selectedRows =
554
+ (value === null || value === void 0 ? void 0 : value.selectedRows) == null ? [] : value === null || value === void 0 ? void 0 : value.selectedRows;
555
+ if (value === null || value === void 0 ? void 0 : value.quickFilter) {
556
+ this._setActiveQuickFilter(value.quickFilter);
557
+ }
558
+ }
559
+ handleChange(value, type) {
560
+ this.handleChangeEvent(Object.assign(Object.assign({}, this.lastValue), { [type]: value }));
561
+ if (type === 'quickFilter' && typeof value === 'object') {
562
+ this._setActiveQuickFilter(value);
563
+ }
564
+ }
565
+ _setActiveQuickFilter(quickFilter) {
566
+ this.el.nativeElement.activeQuickFilterIdentifier =
567
+ quickFilter === null || quickFilter === void 0 ? void 0 : quickFilter.identifier;
568
+ }
569
+ }
570
+ TableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: TableDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
571
+ TableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.6", type: TableDirective, selector: "p-table", host: { listeners: { "queryChange": "handleChange($event.detail, \"query\")", "quickFilter": "handleChange($event.detail, \"quickFilter\")", "pageChange": "handleChange($event.detail, \"page\")", "pageSizeChange": "handleChange($event.detail, \"pageSize\")", "selectedRowsChange": "handleChange($event.detail, \"selectedRows\")" } }, providers: [
572
+ {
573
+ provide: NG_VALUE_ACCESSOR,
574
+ useExisting: TableDirective,
575
+ multi: true,
576
+ },
577
+ ], usesInheritance: true, ngImport: i0 });
578
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: TableDirective, decorators: [{
579
+ type: Directive,
580
+ args: [{
581
+ /* tslint:disable-next-line:directive-selector */
582
+ selector: 'p-table',
583
+ host: {
584
+ '(queryChange)': 'handleChange($event.detail, "query")',
585
+ '(quickFilter)': 'handleChange($event.detail, "quickFilter")',
586
+ '(pageChange)': 'handleChange($event.detail, "page")',
587
+ '(pageSizeChange)': 'handleChange($event.detail, "pageSize")',
588
+ '(selectedRowsChange)': 'handleChange($event.detail, "selectedRows")',
589
+ },
590
+ providers: [
591
+ {
592
+ provide: NG_VALUE_ACCESSOR,
593
+ useExisting: TableDirective,
594
+ multi: true,
595
+ },
596
+ ],
597
+ }]
598
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
599
+
222
600
  const CUSTOM_DIRECTIVES = [
223
601
  PaginationDirective,
224
602
  PageSizeSelectDirective,
225
603
  TableFooterDirective,
226
604
  TableHeaderDirective,
605
+ TableDirective,
227
606
  ];
228
607
 
229
608
  /* eslint-disable */
@@ -1532,7 +1911,7 @@ const DIRECTIVES = [
1532
1911
  class PaperlessModule {
1533
1912
  }
1534
1913
  PaperlessModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: PaperlessModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1535
- PaperlessModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.6", ngImport: i0, type: PaperlessModule, declarations: [PAccordion, PAvatar, PAvatarGroup, PButton, PCardBody, PCardContainer, PCardHeader, PContentSlider, PCounter, PDivider, PDropdown, PDropdownMenuContainer, PDropdownMenuItem, PHelper, PIcon, PIllustration, PInfoPanel, PInputGroup, PLayout, PLoader, PModal, PModalBackdrop, PModalBody, PModalContainer, PModalFooter, PModalHeader, PNavbar, PNavigationItem, PPageSizeSelect, PPagination, PPaginationItem, PProfile, PSegmentContainer, PSegmentItem, PSliderIndicator, PStatus, PStepper, PStepperItem, PStepperLine, PTabGroup, PTabItem, PTable, PTableBody, PTableContainer, PTableDefinition, PTableFooter, PTableHeader, PTableRow, PTag, PTooltip, PaginationDirective, PageSizeSelectDirective, TableFooterDirective, TableHeaderDirective], exports: [PAccordion, PAvatar, PAvatarGroup, PButton, PCardBody, PCardContainer, PCardHeader, PContentSlider, PCounter, PDivider, PDropdown, PDropdownMenuContainer, PDropdownMenuItem, PHelper, PIcon, PIllustration, PInfoPanel, PInputGroup, PLayout, PLoader, PModal, PModalBackdrop, PModalBody, PModalContainer, PModalFooter, PModalHeader, PNavbar, PNavigationItem, PPageSizeSelect, PPagination, PPaginationItem, PProfile, PSegmentContainer, PSegmentItem, PSliderIndicator, PStatus, PStepper, PStepperItem, PStepperLine, PTabGroup, PTabItem, PTable, PTableBody, PTableContainer, PTableDefinition, PTableFooter, PTableHeader, PTableRow, PTag, PTooltip, PaginationDirective, PageSizeSelectDirective, TableFooterDirective, TableHeaderDirective] });
1914
+ PaperlessModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.6", ngImport: i0, type: PaperlessModule, declarations: [PAccordion, PAvatar, PAvatarGroup, PButton, PCardBody, PCardContainer, PCardHeader, PContentSlider, PCounter, PDivider, PDropdown, PDropdownMenuContainer, PDropdownMenuItem, PHelper, PIcon, PIllustration, PInfoPanel, PInputGroup, PLayout, PLoader, PModal, PModalBackdrop, PModalBody, PModalContainer, PModalFooter, PModalHeader, PNavbar, PNavigationItem, PPageSizeSelect, PPagination, PPaginationItem, PProfile, PSegmentContainer, PSegmentItem, PSliderIndicator, PStatus, PStepper, PStepperItem, PStepperLine, PTabGroup, PTabItem, PTable, PTableBody, PTableContainer, PTableDefinition, PTableFooter, PTableHeader, PTableRow, PTag, PTooltip, PaginationDirective, PageSizeSelectDirective, TableFooterDirective, TableHeaderDirective, TableDirective], exports: [PAccordion, PAvatar, PAvatarGroup, PButton, PCardBody, PCardContainer, PCardHeader, PContentSlider, PCounter, PDivider, PDropdown, PDropdownMenuContainer, PDropdownMenuItem, PHelper, PIcon, PIllustration, PInfoPanel, PInputGroup, PLayout, PLoader, PModal, PModalBackdrop, PModalBody, PModalContainer, PModalFooter, PModalHeader, PNavbar, PNavigationItem, PPageSizeSelect, PPagination, PPaginationItem, PProfile, PSegmentContainer, PSegmentItem, PSliderIndicator, PStatus, PStepper, PStepperItem, PStepperLine, PTabGroup, PTabItem, PTable, PTableBody, PTableContainer, PTableDefinition, PTableFooter, PTableHeader, PTableRow, PTag, PTooltip, PaginationDirective, PageSizeSelectDirective, TableFooterDirective, TableHeaderDirective, TableDirective] });
1536
1915
  PaperlessModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: PaperlessModule });
1537
1916
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: PaperlessModule, decorators: [{
1538
1917
  type: NgModule,
@@ -1550,5 +1929,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImpor
1550
1929
  * Generated bundle index. Do not edit.
1551
1930
  */
1552
1931
 
1553
- export { CUSTOM_DIRECTIVES, PAccordion, PAvatar, PAvatarGroup, PButton, PCardBody, PCardContainer, PCardHeader, PContentSlider, PCounter, PDivider, PDropdown, PDropdownMenuContainer, PDropdownMenuItem, PHelper, PIcon, PIllustration, PInfoPanel, PInputGroup, PLayout, PLoader, PModal, PModalBackdrop, PModalBody, PModalContainer, PModalFooter, PModalHeader, PNavbar, PNavigationItem, PPageSizeSelect, PPagination, PPaginationItem, PProfile, PSegmentContainer, PSegmentItem, PSliderIndicator, PStatus, PStepper, PStepperItem, PStepperLine, PTabGroup, PTabItem, PTable, PTableBody, PTableContainer, PTableDefinition, PTableFooter, PTableHeader, PTableRow, PTag, PTooltip, PageSizeSelectDirective, PaginationDirective, PaperlessModule, TableFooterDirective, TableHeaderDirective };
1932
+ export { BaseTableComponent, BaseUploadComponent, BaseValueAccessor, CUSTOM_DIRECTIVES, FormBaseComponent, PAccordion, PAvatar, PAvatarGroup, PButton, PCardBody, PCardContainer, PCardHeader, PContentSlider, PCounter, PDivider, PDropdown, PDropdownMenuContainer, PDropdownMenuItem, PHelper, PIcon, PIllustration, PInfoPanel, PInputGroup, PLayout, PLoader, PModal, PModalBackdrop, PModalBody, PModalContainer, PModalFooter, PModalHeader, PNavbar, PNavigationItem, PPageSizeSelect, PPagination, PPaginationItem, PProfile, PSegmentContainer, PSegmentItem, PSliderIndicator, PStatus, PStepper, PStepperItem, PStepperLine, PTabGroup, PTabItem, PTable, PTableBody, PTableContainer, PTableDefinition, PTableFooter, PTableHeader, PTableRow, PTag, PTooltip, PageSizeSelectDirective, PaginationDirective, PaperlessModule, TableDirective, TableFooterDirective, TableHeaderDirective };
1554
1933
  //# sourceMappingURL=paperless-angular.mjs.map