@paperless/angular 0.1.0-alpha.247 → 0.1.0-alpha.248

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.
@@ -324,10 +324,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImpo
324
324
  }]
325
325
  }] });
326
326
 
327
+ const createFormFilters = (values, quickFilters, quickFilterKey) => {
328
+ const filters = [];
329
+ let quickFilter = null;
330
+ for (const key of Object.keys(values)) {
331
+ const value = values[key];
332
+ if (key !== quickFilterKey && !value?.length) {
333
+ continue;
334
+ }
335
+ if (quickFilterKey && key === quickFilterKey) {
336
+ quickFilter = quickFilters.find((f) => f.value === value);
337
+ continue;
338
+ }
339
+ filters.push({
340
+ key,
341
+ value,
342
+ });
343
+ }
344
+ return {
345
+ filters,
346
+ quickFilter,
347
+ };
348
+ };
349
+
327
350
  let BaseTableComponent = class BaseTableComponent extends FormBaseComponent {
328
351
  constructor() {
329
352
  super();
330
353
  this.quickFilters = [];
354
+ this.filterForm = new FormGroup({});
355
+ this.defaultFilterFormValues = {};
331
356
  this.pageSizeDefault = 12;
332
357
  this._defaultTableValues = {
333
358
  pageSize: this.pageSizeDefault,
@@ -444,6 +469,29 @@ let BaseTableComponent = class BaseTableComponent extends FormBaseComponent {
444
469
  this._refresh();
445
470
  }
446
471
  }
472
+ applyFormFilters(values = null) {
473
+ values = values ?? this.filterForm.value;
474
+ const { filters, quickFilter } = createFormFilters(values, this.quickFilters, this.filterFormQuickFilterKey);
475
+ if (quickFilter) {
476
+ this.quickFilter = quickFilter;
477
+ }
478
+ this.filters = filters;
479
+ }
480
+ resetFormFilters(resetQuickFilter = false) {
481
+ const values = this.filterForm.value;
482
+ const defaultQuickFilter = this.quickFilters.find((f) => f.default);
483
+ for (const key of Object.keys(values)) {
484
+ if (key === this.filterFormQuickFilterKey) {
485
+ if (resetQuickFilter) {
486
+ values[key] = defaultQuickFilter.value;
487
+ }
488
+ continue;
489
+ }
490
+ values[key] = this.defaultFilterFormValues[key] ?? null;
491
+ }
492
+ this.filterForm.setValue(values);
493
+ this.applyFormFilters(values);
494
+ }
447
495
  _refresh() {
448
496
  console.warn('Not implemented');
449
497
  }
@@ -2905,29 +2953,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImpo
2905
2953
  }]
2906
2954
  }] });
2907
2955
 
2908
- const createFormFilters = (values, quickFilters, quickFilterKey) => {
2909
- const filters = [];
2910
- let quickFilter = null;
2911
- for (const key of Object.keys(values)) {
2912
- const value = values[key];
2913
- if (key !== quickFilterKey && !value?.length) {
2914
- continue;
2915
- }
2916
- if (key === quickFilterKey) {
2917
- quickFilter = quickFilters.find((f) => f.value === value);
2918
- continue;
2919
- }
2920
- filters.push({
2921
- key,
2922
- value,
2923
- });
2924
- }
2925
- return {
2926
- filters,
2927
- quickFilter,
2928
- };
2929
- };
2930
-
2931
2956
  const SLIDE_IN_BOTTOM_OUT_TOP = trigger('pSlideInBottomOutTop', [
2932
2957
  transition(':enter', [
2933
2958
  style({ transform: 'translateY(50%)', opacity: 0 }),