@mediusinc/mng-commons 0.14.0 → 0.14.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 (29) hide show
  1. package/assets/i18n/en.json +3 -2
  2. package/assets/i18n/sl.json +3 -2
  3. package/esm2020/lib/api/models/filter-param.model.mjs +1 -1
  4. package/esm2020/lib/api/utils/medius-rest.util.mjs +59 -6
  5. package/esm2020/lib/components/form/date-range/date-range.component.mjs +106 -0
  6. package/esm2020/lib/components/form/index.mjs +2 -1
  7. package/esm2020/lib/components/tableview/table/column-filter/column-filter.component.mjs +34 -22
  8. package/esm2020/lib/components/tableview/table/table.component.mjs +7 -2
  9. package/esm2020/lib/descriptors/column.descriptor.mjs +16 -1
  10. package/esm2020/lib/descriptors/filter.descriptor.mjs +20 -1
  11. package/esm2020/lib/mng-commons.module.mjs +5 -2
  12. package/esm2020/lib/services/commons.service.mjs +6 -5
  13. package/esm2020/lib/utils/date.util.mjs +118 -0
  14. package/esm2020/lib/utils/index.mjs +2 -1
  15. package/fesm2015/mediusinc-mng-commons.mjs +359 -33
  16. package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
  17. package/fesm2020/mediusinc-mng-commons.mjs +352 -31
  18. package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
  19. package/lib/api/models/filter-param.model.d.ts +2 -2
  20. package/lib/components/form/date-range/date-range.component.d.ts +28 -0
  21. package/lib/components/form/index.d.ts +1 -0
  22. package/lib/components/tableview/table/column-filter/column-filter.component.d.ts +13 -7
  23. package/lib/descriptors/filter.descriptor.d.ts +5 -0
  24. package/lib/mng-commons.module.d.ts +63 -62
  25. package/lib/services/commons.service.d.ts +3 -2
  26. package/lib/utils/date.util.d.ts +7 -0
  27. package/lib/utils/index.d.ts +1 -0
  28. package/package.json +1 -1
  29. package/version-info.json +5 -5
@@ -63,7 +63,7 @@ import { SelectButtonModule } from 'primeng/selectbutton';
63
63
  import * as i7$3 from 'primeng/skeleton';
64
64
  import { SkeletonModule } from 'primeng/skeleton';
65
65
  import * as i6$4 from 'primeng/table';
66
- import { Table, TableModule } from 'primeng/table';
66
+ import { ColumnFilter, Table, TableModule } from 'primeng/table';
67
67
  import * as i4$4 from 'primeng/tabview';
68
68
  import { TabViewModule } from 'primeng/tabview';
69
69
  import { TagModule } from 'primeng/tag';
@@ -74,7 +74,7 @@ import * as i6$2 from 'primeng/toolbar';
74
74
  import { ToolbarModule } from 'primeng/toolbar';
75
75
  import * as i7 from 'primeng/tooltip';
76
76
  import { TooltipModule } from 'primeng/tooltip';
77
- import { isObservable, throwError, of, Subject, BehaviorSubject, ReplaySubject, distinctUntilChanged, combineLatest, tap, switchMap, mergeMap as mergeMap$1, from, Observable } from 'rxjs';
77
+ import { isObservable, throwError, of, Subject, BehaviorSubject, ReplaySubject, distinctUntilChanged, combineLatest, tap, switchMap, mergeMap as mergeMap$1, from, Observable, merge, debounceTime } from 'rxjs';
78
78
  import { map, mergeMap, catchError, first, filter, finalize, startWith } from 'rxjs/operators';
79
79
  import 'reflect-metadata';
80
80
  import * as i4 from '@angular/platform-browser';
@@ -464,6 +464,125 @@ class ActionDataProviderUtil {
464
464
  }
465
465
  }
466
466
 
467
+ class DateUtil {
468
+ static toIsoString(date, inUtc = false, withTimezone = false, withMillis = false) {
469
+ if (typeof date === 'string') {
470
+ date = new Date(date);
471
+ }
472
+ if (!(date instanceof Date)) {
473
+ return null;
474
+ }
475
+ if (inUtc) {
476
+ let str = date.toISOString();
477
+ if (!withMillis) {
478
+ const dotIdx = str.lastIndexOf('.');
479
+ str = str.substring(0, dotIdx) + str.substring(dotIdx + 4, str.length);
480
+ }
481
+ if (!withTimezone) {
482
+ str = str.substring(0, str.length - 1);
483
+ }
484
+ return str;
485
+ }
486
+ else {
487
+ const tzo = -date.getTimezoneOffset(), dif = tzo >= 0 ? '+' : '-', pad = (num) => (num < 10 ? '0' : '') + num;
488
+ let base = date.getFullYear() +
489
+ '-' +
490
+ pad(date.getMonth() + 1) +
491
+ '-' +
492
+ pad(date.getDate()) +
493
+ 'T' +
494
+ pad(date.getHours()) +
495
+ ':' +
496
+ pad(date.getMinutes()) +
497
+ ':' +
498
+ pad(date.getSeconds());
499
+ if (withMillis) {
500
+ base += '.' + pad(date.getMilliseconds());
501
+ }
502
+ if (withTimezone) {
503
+ return base + (dif + pad(Math.floor(Math.abs(tzo) / 60)) + ':' + pad(Math.abs(tzo) % 60));
504
+ }
505
+ else {
506
+ return base;
507
+ }
508
+ }
509
+ }
510
+ static fromPrimeToAngularDateFormat(ngDateFormat) {
511
+ var _a;
512
+ let primeDateFormat = ngDateFormat;
513
+ for (const regex of DateUtil.NG_PRIME_FORMAT_OTHER) {
514
+ primeDateFormat = primeDateFormat.replace(regex, ' ');
515
+ }
516
+ for (const regex of DateUtil.NG_PRIME_FORMAT_SUPPORTED) {
517
+ const matches = [...primeDateFormat.matchAll(regex)].reverse();
518
+ for (const match of matches) {
519
+ if (match.index) {
520
+ const matchStr = match[0];
521
+ const replacement = (_a = DateUtil.NG_PRIME_FORMAT_MAP[matchStr]) !== null && _a !== void 0 ? _a : match[0];
522
+ primeDateFormat = primeDateFormat.substring(0, match.index) + replacement + primeDateFormat.substring(match.index + matchStr.length);
523
+ }
524
+ }
525
+ }
526
+ primeDateFormat = primeDateFormat.replace(/\s+\W\s+/g, ' ');
527
+ primeDateFormat = primeDateFormat.replace(/\s\s+/g, ' ');
528
+ return primeDateFormat.trim();
529
+ }
530
+ }
531
+ DateUtil.NG_PRIME_FORMAT_SUPPORTED = [/d{1,2}/g, /E{1,5}/g, /c{1,5}/g, /M{1,5}/g, /L{1,5}/g, /y{1,4}/g, /Y{1,4}/g];
532
+ DateUtil.NG_PRIME_FORMAT_OTHER = [
533
+ /G{1,5}/g,
534
+ /w{1,2}/g,
535
+ /W/g,
536
+ /a{1,5}/g,
537
+ /B{1,5}/g,
538
+ /b{1,5}/g,
539
+ /h{1,2}/g,
540
+ /H{1,2}/g,
541
+ /m{1,2}/g,
542
+ /s{1,2}/g,
543
+ /S{1,3}/g,
544
+ /z{1,4}/g,
545
+ /Z{1,5}/g,
546
+ /O{1,4}/g
547
+ ];
548
+ DateUtil.NG_PRIME_FORMAT_MAP = {
549
+ // days
550
+ d: 'd',
551
+ dd: 'dd',
552
+ E: 'D',
553
+ EE: 'D',
554
+ EEE: 'D',
555
+ EEEE: 'DD',
556
+ EEEEE: 'D',
557
+ EEEEEE: 'D',
558
+ c: 'd',
559
+ cc: 'dd',
560
+ ccc: 'D',
561
+ cccc: 'DD',
562
+ ccccc: 'D',
563
+ cccccc: 'D',
564
+ // months
565
+ M: 'm',
566
+ MM: 'mm',
567
+ MMM: 'M',
568
+ MMMM: 'MM',
569
+ MMMMM: 'M',
570
+ L: 'm',
571
+ LL: 'mm',
572
+ LLL: 'M',
573
+ LLLL: 'MM',
574
+ LLLLL: 'M',
575
+ // year
576
+ y: 'y',
577
+ yy: 'y',
578
+ yyy: 'yy',
579
+ yyyy: 'yy',
580
+ Y: 'y',
581
+ YY: 'y',
582
+ YYY: 'yy',
583
+ YYYY: 'yy'
584
+ };
585
+
467
586
  class DataProvider {
468
587
  constructor(modelType, serviceType) {
469
588
  this._modelType = modelType;
@@ -1872,6 +1991,8 @@ class FilterDescriptor {
1872
1991
  this._matchModes = null;
1873
1992
  this._numberUseGrouping = true;
1874
1993
  this._datePickerShowTime = false;
1994
+ this._datePickerValueWithTimezone = false;
1995
+ this._datePickerValueInUtc = false;
1875
1996
  this._className = '';
1876
1997
  this._columnClassName = '';
1877
1998
  this._columnWidth = null;
@@ -1914,6 +2035,12 @@ class FilterDescriptor {
1914
2035
  get datePickerShowTime() {
1915
2036
  return this._datePickerShowTime;
1916
2037
  }
2038
+ get datePickerValueInUtc() {
2039
+ return this._datePickerValueInUtc;
2040
+ }
2041
+ get datePickerValueWithTimezone() {
2042
+ return this._datePickerValueWithTimezone;
2043
+ }
1917
2044
  get placeholder() {
1918
2045
  return this._placeholder;
1919
2046
  }
@@ -1965,6 +2092,15 @@ class FilterDescriptor {
1965
2092
  this._datePickerShowTime = showTime;
1966
2093
  return this;
1967
2094
  }
2095
+ withDateValue(inUtc, withTimezone) {
2096
+ if (typeof inUtc !== 'undefined') {
2097
+ this._datePickerValueInUtc = inUtc;
2098
+ }
2099
+ if (typeof withTimezone !== 'undefined') {
2100
+ this._datePickerValueWithTimezone = withTimezone;
2101
+ }
2102
+ return this;
2103
+ }
1968
2104
  withPlaceholder(placeholder) {
1969
2105
  this._placeholder = placeholder;
1970
2106
  return this;
@@ -2003,6 +2139,8 @@ class FilterDescriptor {
2003
2139
  descriptor._numberUseGrouping = this._numberUseGrouping;
2004
2140
  descriptor._datePickerFormat = this._datePickerFormat;
2005
2141
  descriptor._datePickerShowTime = this._datePickerShowTime;
2142
+ descriptor._datePickerValueInUtc = this._datePickerValueInUtc;
2143
+ descriptor._datePickerValueWithTimezone = this._datePickerValueWithTimezone;
2006
2144
  descriptor._placeholder = this._placeholder;
2007
2145
  descriptor._className = this._className;
2008
2146
  descriptor._columnWidth = this._columnWidth;
@@ -2361,6 +2499,7 @@ class ColumnDescriptor {
2361
2499
  return this;
2362
2500
  }
2363
2501
  withFilter(forceSimple = false) {
2502
+ var _a, _b, _c;
2364
2503
  this._filterDescriptor = new FilterDescriptor(this._property);
2365
2504
  let filterType;
2366
2505
  if (!forceSimple && this._objectModelType) {
@@ -2368,6 +2507,7 @@ class ColumnDescriptor {
2368
2507
  }
2369
2508
  switch (this._columnType) {
2370
2509
  case ColumnTypeEnum.Number:
2510
+ case ColumnTypeEnum.Currency:
2371
2511
  filterType = FilterTypeEnum.Number;
2372
2512
  break;
2373
2513
  case ColumnTypeEnum.Boolean:
@@ -2391,6 +2531,19 @@ class ColumnDescriptor {
2391
2531
  break;
2392
2532
  }
2393
2533
  this._filterDescriptor.asFilterType(filterType);
2534
+ if (filterType === FilterTypeEnum.Number) {
2535
+ const displayFormatFractions = (_c = (_b = (_a = this._displayFormat) === null || _a === void 0 ? void 0 : _a.split('.')) === null || _b === void 0 ? void 0 : _b[1]) === null || _c === void 0 ? void 0 : _c.split('-');
2536
+ if (displayFormatFractions && displayFormatFractions.length > 2) {
2537
+ this._filterDescriptor.withNumberFractions(parseInt(displayFormatFractions[0]), parseInt(displayFormatFractions[1]));
2538
+ }
2539
+ }
2540
+ else if (filterType === FilterTypeEnum.Date) {
2541
+ const displayFormat = this._displayFormat;
2542
+ if (displayFormat) {
2543
+ const filterDisplayFormat = DateUtil.fromPrimeToAngularDateFormat(displayFormat);
2544
+ this._filterDescriptor.withDateFormat(filterDisplayFormat);
2545
+ }
2546
+ }
2394
2547
  return this._filterDescriptor;
2395
2548
  }
2396
2549
  withFilterLookup() {
@@ -5625,7 +5778,7 @@ class MediusRestUtil {
5625
5778
  const operator = filterFieldSplit.length > 1 ? filterFieldSplit[1] : 'eq';
5626
5779
  // prepare value
5627
5780
  let value = filterFieldSplit.length > 2 ? filterFieldSplit.slice(2).join(':') : '';
5628
- const valueTo = undefined;
5781
+ let valueTo = undefined;
5629
5782
  if (value.startsWith("'")) {
5630
5783
  value = value.substring(1, value.length - 1);
5631
5784
  }
@@ -5635,6 +5788,10 @@ class MediusRestUtil {
5635
5788
  .split(',')
5636
5789
  .map((v) => (v.startsWith("'") ? v.substring(1, v.length - 1) : v));
5637
5790
  }
5791
+ if (operator === 'ft') {
5792
+ valueTo = value[1];
5793
+ value = value[0];
5794
+ }
5638
5795
  const filterDescriptor = filterDescriptors.find(f => f.property === field);
5639
5796
  const matchMode = MediusRestUtil.getMapping(operator, filterDescriptor === null || filterDescriptor === void 0 ? void 0 : filterDescriptor.filterType, 1);
5640
5797
  if (matchMode && filterDescriptor) {
@@ -5645,7 +5802,7 @@ class MediusRestUtil {
5645
5802
  return mediusParamsBuilder.build();
5646
5803
  }
5647
5804
  static fromPrimeLazyLoadEventToAngularQueryParams(event, defaultItemsPerPage = 10, defaultOffset = 0) {
5648
- var _a, _b, _c;
5805
+ var _a, _b;
5649
5806
  const params = {
5650
5807
  first: null,
5651
5808
  rows: null,
@@ -5658,8 +5815,8 @@ class MediusRestUtil {
5658
5815
  if (event.rows && event.rows !== defaultItemsPerPage && event.rows > 0) {
5659
5816
  params['rows'] = event.rows;
5660
5817
  }
5661
- if ((_b = (_a = event.multiSortMeta) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0 > 0) {
5662
- params['sort'] = (_c = event.multiSortMeta) === null || _c === void 0 ? void 0 : _c.map(s => `${s.field}${s.order === 1 ? '' : ':desc'}`).join(',');
5818
+ if ((_a = event.multiSortMeta) === null || _a === void 0 ? void 0 : _a.length) {
5819
+ params['sort'] = (_b = event.multiSortMeta) === null || _b === void 0 ? void 0 : _b.map(s => `${s.field}${s.order === 1 ? '' : ':desc'}`).join(',');
5663
5820
  }
5664
5821
  if (event.filters) {
5665
5822
  const filters = [];
@@ -5677,11 +5834,21 @@ class MediusRestUtil {
5677
5834
  doAddFilter = true;
5678
5835
  }
5679
5836
  else if (Array.isArray(value)) {
5680
- value = `[${value.map(v => `'${v}'`).join(',')}]`;
5837
+ const joinedValue = value
5838
+ .map(v => {
5839
+ if (v instanceof Date) {
5840
+ // for query params, always convert to iso string, correct transformation will be done later
5841
+ return v.toISOString();
5842
+ }
5843
+ return v;
5844
+ })
5845
+ .join(',');
5846
+ value = `[${joinedValue}]`;
5681
5847
  doAddFilter = true;
5682
5848
  }
5683
5849
  else if (value instanceof Date) {
5684
- value = `${value.toISOString()}`;
5850
+ // for query params, always convert to iso string, correct transformation will be done later
5851
+ value = value.toISOString();
5685
5852
  doAddFilter = true;
5686
5853
  }
5687
5854
  if (doAddFilter) {
@@ -5700,6 +5867,43 @@ class MediusRestUtil {
5700
5867
  for (const filterParam of (_a = mediusQueryParams.filterParams) !== null && _a !== void 0 ? _a : []) {
5701
5868
  const filterDescriptor = filterDescriptors.find(f => f.property === filterParam.property);
5702
5869
  filterParam.property = (_b = filterDescriptor === null || filterDescriptor === void 0 ? void 0 : filterDescriptor.filterProperty) !== null && _b !== void 0 ? _b : filterParam.property;
5870
+ if ((filterDescriptor === null || filterDescriptor === void 0 ? void 0 : filterDescriptor.filterType) === FilterTypeEnum.Date) {
5871
+ if (filterParam.filterMatchType === MediusFilterMatchType.Equals) {
5872
+ // convert date equals filter to date range
5873
+ const filterDate = filterParam.filterValue;
5874
+ const startDate = new Date(filterDate);
5875
+ const endDate = new Date(startDate);
5876
+ if (filterDescriptor.datePickerShowTime) {
5877
+ startDate.setHours(startDate.getHours(), startDate.getMinutes(), 0, 0);
5878
+ endDate.setHours(endDate.getHours(), endDate.getMinutes() + 1, 0, 0);
5879
+ }
5880
+ else {
5881
+ startDate.setHours(0, 0, 0, 0);
5882
+ endDate.setHours(0, 0, 0, 0);
5883
+ endDate.setDate(endDate.getDate() + 1);
5884
+ }
5885
+ filterParam.filterMatchType = MediusFilterMatchType.FromTo;
5886
+ filterParam.filterValue = startDate;
5887
+ filterParam.filterValueTo = endDate;
5888
+ }
5889
+ // transform dates to correct iso string
5890
+ if (typeof filterParam.filterValue !== 'undefined') {
5891
+ if (Array.isArray(filterParam.filterValue)) {
5892
+ filterParam.filterValue = filterParam.filterValue.map(v => DateUtil.toIsoString(v, filterDescriptor.datePickerValueInUtc, filterDescriptor.datePickerValueWithTimezone));
5893
+ }
5894
+ else {
5895
+ filterParam.filterValue = DateUtil.toIsoString(filterParam.filterValue, filterDescriptor.datePickerValueInUtc, filterDescriptor.datePickerValueWithTimezone);
5896
+ }
5897
+ }
5898
+ if (typeof filterParam.filterValueTo !== 'undefined') {
5899
+ if (Array.isArray(filterParam.filterValueTo)) {
5900
+ filterParam.filterValueTo = filterParam.filterValueTo.map(v => DateUtil.toIsoString(v, filterDescriptor.datePickerValueInUtc, filterDescriptor.datePickerValueWithTimezone));
5901
+ }
5902
+ else {
5903
+ filterParam.filterValueTo = DateUtil.toIsoString(filterParam.filterValueTo, filterDescriptor.datePickerValueInUtc, filterDescriptor.datePickerValueWithTimezone);
5904
+ }
5905
+ }
5906
+ }
5703
5907
  }
5704
5908
  }
5705
5909
  static fromPrimeLazyLoadEventToMediusQueryParams(event) {
@@ -5756,7 +5960,8 @@ MediusRestUtil.matchModeMapping = [
5756
5960
  [FilterMatchMode.STARTS_WITH, 'sw', MediusFilterMatchType.StartsWith, null],
5757
5961
  [FilterMatchMode.IN, 'in', MediusFilterMatchType.In, null],
5758
5962
  [FilterMatchMode.NOT_EQUALS, 'neq', MediusFilterMatchType.NotEquals, null],
5759
- [FilterMatchMode.DATE_IS, 'eq', MediusFilterMatchType.Equals, FilterTypeEnum.Date],
5963
+ [FilterMatchMode.BETWEEN, 'ft', MediusFilterMatchType.FromTo, FilterTypeEnum.Date],
5964
+ [FilterMatchMode.DATE_IS, 'dteq', MediusFilterMatchType.Equals, FilterTypeEnum.Date],
5760
5965
  [FilterMatchMode.DATE_BEFORE, 'lt', MediusFilterMatchType.SmallerThan, FilterTypeEnum.Date],
5761
5966
  [FilterMatchMode.DATE_AFTER, 'gt', MediusFilterMatchType.GreaterThan, FilterTypeEnum.Date],
5762
5967
  [FilterMatchMode.DATE_IS_NOT, 'neq', MediusFilterMatchType.NotEquals, FilterTypeEnum.Date]
@@ -7033,11 +7238,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImpor
7033
7238
  } });
7034
7239
 
7035
7240
  class MngCommonsService {
7036
- constructor(router, primengConfig, translate, titleService, moduleConfig, localStorage) {
7241
+ constructor(router, primengConfig, translate, titleService, filterService, moduleConfig, localStorage) {
7037
7242
  this.router = router;
7038
7243
  this.primengConfig = primengConfig;
7039
7244
  this.translate = translate;
7040
7245
  this.titleService = titleService;
7246
+ this.filterService = filterService;
7041
7247
  this.moduleConfig = moduleConfig;
7042
7248
  this.localStorage = localStorage;
7043
7249
  // menu
@@ -7203,7 +7409,7 @@ class MngCommonsService {
7203
7409
  this.primengConfig.filterMatchModeOptions = {
7204
7410
  text: [FilterMatchModeEnum.Contains, FilterMatchModeEnum.Equals, FilterMatchModeEnum.NotEquals, FilterMatchModeEnum.StartsWith, FilterMatchModeEnum.EndsWith],
7205
7411
  numeric: [FilterMatchModeEnum.Equals, FilterMatchModeEnum.NotEquals, FilterMatchModeEnum.LessThan, FilterMatchModeEnum.GreaterThan],
7206
- date: [FilterMatchModeEnum.DateIs, FilterMatchModeEnum.DateIsNot, FilterMatchModeEnum.DateBefore, FilterMatchModeEnum.DateAfter]
7412
+ date: [FilterMatchModeEnum.DateIs, FilterMatchModeEnum.DateBefore, FilterMatchModeEnum.DateAfter, FilterMatchModeEnum.Between]
7207
7413
  };
7208
7414
  // translate
7209
7415
  this.translate.langs = this.appLanguages;
@@ -7362,12 +7568,12 @@ class MngCommonsService {
7362
7568
  return titlePieces.join(' - ');
7363
7569
  }
7364
7570
  }
7365
- MngCommonsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngCommonsService, deps: [{ token: i1.Router }, { token: i2.PrimeNGConfig }, { token: i1$2.TranslateService }, { token: i4.Title }, { token: MNG_MODULE_CONFIG_IT }, { token: MNG_BROWSER_STORAGE_IT }], target: i0.ɵɵFactoryTarget.Injectable });
7571
+ MngCommonsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngCommonsService, deps: [{ token: i1.Router }, { token: i2.PrimeNGConfig }, { token: i1$2.TranslateService }, { token: i4.Title }, { token: i2.FilterService }, { token: MNG_MODULE_CONFIG_IT }, { token: MNG_BROWSER_STORAGE_IT }], target: i0.ɵɵFactoryTarget.Injectable });
7366
7572
  MngCommonsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngCommonsService });
7367
7573
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngCommonsService, decorators: [{
7368
7574
  type: Injectable
7369
7575
  }], ctorParameters: function () {
7370
- return [{ type: i1.Router }, { type: i2.PrimeNGConfig }, { type: i1$2.TranslateService }, { type: i4.Title }, { type: undefined, decorators: [{
7576
+ return [{ type: i1.Router }, { type: i2.PrimeNGConfig }, { type: i1$2.TranslateService }, { type: i4.Title }, { type: i2.FilterService }, { type: undefined, decorators: [{
7371
7577
  type: Inject,
7372
7578
  args: [MNG_MODULE_CONFIG_IT]
7373
7579
  }] }, { type: Storage, decorators: [{
@@ -8543,6 +8749,105 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImpor
8543
8749
  args: [Dropdown]
8544
8750
  }] } });
8545
8751
 
8752
+ const MNG_DATE_RANGE_VALUE_ACCESSOR = {
8753
+ provide: NG_VALUE_ACCESSOR,
8754
+ useExisting: forwardRef(() => MngDateRangeComponent),
8755
+ multi: true
8756
+ };
8757
+ class MngDateRangeComponent {
8758
+ constructor(formBuilder) {
8759
+ this.formBuilder = formBuilder;
8760
+ this.showTime = false;
8761
+ this.showSeconds = false;
8762
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
8763
+ this.onChangeFn = () => { };
8764
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
8765
+ this.onTouchedFn = () => { };
8766
+ this.subscriptions = [];
8767
+ }
8768
+ get fromCtrl() {
8769
+ return this.fromToFormControl.get('from');
8770
+ }
8771
+ get toCtrl() {
8772
+ return this.fromToFormControl.get('to');
8773
+ }
8774
+ get dateRangeCtrl() {
8775
+ return this.fromToFormControl.get('dateRange');
8776
+ }
8777
+ ngOnInit() {
8778
+ this.fromToFormControl = this.formBuilder.group({
8779
+ from: [],
8780
+ to: [],
8781
+ dateRange: []
8782
+ });
8783
+ this.subscriptions.push(merge(this.fromCtrl.valueChanges, this.toCtrl.valueChanges, this.dateRangeCtrl.valueChanges).subscribe(() => this.onValueChange()));
8784
+ }
8785
+ ngOnDestroy() {
8786
+ this.subscriptions.forEach(value => value.unsubscribe());
8787
+ }
8788
+ registerOnChange(fn) {
8789
+ this.onChangeFn = fn;
8790
+ }
8791
+ registerOnTouched(fn) {
8792
+ this.onTouchedFn = fn;
8793
+ }
8794
+ setDisabledState(isDisabled) {
8795
+ if (isDisabled) {
8796
+ this.fromToFormControl.disable();
8797
+ }
8798
+ else {
8799
+ this.fromToFormControl.enable();
8800
+ }
8801
+ }
8802
+ writeValue(obj) {
8803
+ let startDate = null;
8804
+ let endDate = null;
8805
+ if (Array.isArray(obj)) {
8806
+ if (obj.length > 0 && (obj[0] instanceof Date || typeof obj[0] === 'string' || typeof obj[0] === 'number')) {
8807
+ startDate = new Date(obj[0]);
8808
+ }
8809
+ if (obj.length > 1 && (obj[1] instanceof Date || typeof obj[1] === 'string' || typeof obj[1] === 'number')) {
8810
+ endDate = new Date(obj[1]);
8811
+ }
8812
+ }
8813
+ else if (obj instanceof Date || typeof obj === 'string' || typeof obj === 'number') {
8814
+ startDate = new Date(obj);
8815
+ }
8816
+ if (this.showTime) {
8817
+ this.fromCtrl.setValue(startDate);
8818
+ this.toCtrl.setValue(endDate);
8819
+ }
8820
+ else {
8821
+ this.dateRangeCtrl.setValue([startDate, endDate]);
8822
+ }
8823
+ }
8824
+ onValueChange() {
8825
+ if (this.showTime) {
8826
+ const fromDate = this.fromCtrl.value;
8827
+ const toDate = this.toCtrl.value;
8828
+ this.onChangeFn([fromDate, toDate]);
8829
+ }
8830
+ else {
8831
+ const date = this.dateRangeCtrl.value;
8832
+ this.onChangeFn(date);
8833
+ }
8834
+ }
8835
+ }
8836
+ MngDateRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngDateRangeComponent, deps: [{ token: i2$1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
8837
+ MngDateRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: MngDateRangeComponent, selector: "mng-date-range", inputs: { placeholder: "placeholder", showTime: "showTime", showSeconds: "showSeconds", dateFormat: "dateFormat" }, providers: [MNG_DATE_RANGE_VALUE_ACCESSOR], ngImport: i0, template: "<ng-container *ngIf=\"showTime; else defaultRange\">\n <div class=\"flex gap-2\">\n <p-calendar\n appendTo=\"body\"\n [formControl]=\"fromCtrl\"\n [maxDate]=\"toCtrl.value\"\n [placeholder]=\"$any(placeholder)\"\n [dateFormat]=\"$any(dateFormat)\"\n [showTime]=\"showTime\"\n [showSeconds]=\"showSeconds\"\n [showIcon]=\"true\"\n (onFocus)=\"onTouchedFn()\"></p-calendar>\n <p-calendar\n appendTo=\"body\"\n [formControl]=\"toCtrl\"\n [minDate]=\"fromCtrl.value\"\n [placeholder]=\"$any(placeholder)\"\n [dateFormat]=\"$any(dateFormat)\"\n [showTime]=\"showTime\"\n [showSeconds]=\"showSeconds\"\n [showIcon]=\"true\"\n (onFocus)=\"onTouchedFn()\"></p-calendar>\n </div>\n</ng-container>\n<ng-template #defaultRange>\n <p-calendar\n appendTo=\"body\"\n [formControl]=\"dateRangeCtrl\"\n [placeholder]=\"$any(placeholder)\"\n [dateFormat]=\"$any(dateFormat)\"\n selectionMode=\"range\"\n [showIcon]=\"true\"\n (onFocus)=\"onTouchedFn()\"></p-calendar>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4$3.Calendar, selector: "p-calendar", inputs: ["style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "view", "defaultDate", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8838
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngDateRangeComponent, decorators: [{
8839
+ type: Component,
8840
+ args: [{ selector: 'mng-date-range', providers: [MNG_DATE_RANGE_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"showTime; else defaultRange\">\n <div class=\"flex gap-2\">\n <p-calendar\n appendTo=\"body\"\n [formControl]=\"fromCtrl\"\n [maxDate]=\"toCtrl.value\"\n [placeholder]=\"$any(placeholder)\"\n [dateFormat]=\"$any(dateFormat)\"\n [showTime]=\"showTime\"\n [showSeconds]=\"showSeconds\"\n [showIcon]=\"true\"\n (onFocus)=\"onTouchedFn()\"></p-calendar>\n <p-calendar\n appendTo=\"body\"\n [formControl]=\"toCtrl\"\n [minDate]=\"fromCtrl.value\"\n [placeholder]=\"$any(placeholder)\"\n [dateFormat]=\"$any(dateFormat)\"\n [showTime]=\"showTime\"\n [showSeconds]=\"showSeconds\"\n [showIcon]=\"true\"\n (onFocus)=\"onTouchedFn()\"></p-calendar>\n </div>\n</ng-container>\n<ng-template #defaultRange>\n <p-calendar\n appendTo=\"body\"\n [formControl]=\"dateRangeCtrl\"\n [placeholder]=\"$any(placeholder)\"\n [dateFormat]=\"$any(dateFormat)\"\n selectionMode=\"range\"\n [showIcon]=\"true\"\n (onFocus)=\"onTouchedFn()\"></p-calendar>\n</ng-template>\n" }]
8841
+ }], ctorParameters: function () { return [{ type: i2$1.FormBuilder }]; }, propDecorators: { placeholder: [{
8842
+ type: Input
8843
+ }], showTime: [{
8844
+ type: Input
8845
+ }], showSeconds: [{
8846
+ type: Input
8847
+ }], dateFormat: [{
8848
+ type: Input
8849
+ }] } });
8850
+
8546
8851
  class MngActionEditorComponent {
8547
8852
  constructor(injector, translate, actionExecutor, mngCommonsService, navigationService, dialogRef, dialogConfig, viewContainerService) {
8548
8853
  this.injector = injector;
@@ -9094,6 +9399,16 @@ class MngTableColumnFilterComponent {
9094
9399
  this.primeShowMatchMode = true;
9095
9400
  this.primeDisplay = 'row';
9096
9401
  this.primeMatchModes = null;
9402
+ this.dateDebounceSubject = new Subject();
9403
+ this.dateDebounceSubscription = this.dateDebounceSubject.pipe(debounceTime(500), distinctUntilChanged()).subscribe(v => {
9404
+ var _a;
9405
+ (_a = this.dateFilterCallback) === null || _a === void 0 ? void 0 : _a.call(this, v);
9406
+ });
9407
+ }
9408
+ get activeMatchMode() {
9409
+ var _a;
9410
+ const filter = (_a = this.primeColumnFilter) === null || _a === void 0 ? void 0 : _a.dt.filters[this.descriptor.property];
9411
+ return filter === null || filter === void 0 ? void 0 : filter.matchMode;
9097
9412
  }
9098
9413
  ngOnInit() {
9099
9414
  var _a, _b;
@@ -9108,7 +9423,7 @@ class MngTableColumnFilterComponent {
9108
9423
  break;
9109
9424
  case FilterTypeEnum.Date:
9110
9425
  this.primeType = 'date';
9111
- this.primeDefaultMatchMode = FilterMatchMode.DATE_AFTER;
9426
+ this.primeDefaultMatchMode = FilterMatchModeEnum.DateIs;
9112
9427
  break;
9113
9428
  case FilterTypeEnum.Lookup:
9114
9429
  this.primeType = 'lookup';
@@ -9122,7 +9437,7 @@ class MngTableColumnFilterComponent {
9122
9437
  break;
9123
9438
  case FilterTypeEnum.String:
9124
9439
  this.primeType = 'text';
9125
- this.primeDefaultMatchMode = FilterMatchMode.CONTAINS;
9440
+ this.primeDefaultMatchMode = FilterMatchModeEnum.Contains;
9126
9441
  break;
9127
9442
  }
9128
9443
  if (this.descriptor.matchModes) {
@@ -9136,20 +9451,23 @@ class MngTableColumnFilterComponent {
9136
9451
  this.primeDisplay = 'menu';
9137
9452
  }
9138
9453
  }
9139
- valueToDate(value) {
9140
- console.log('call', this.descriptor.property);
9141
- if (typeof value === 'string' || typeof value === 'number') {
9142
- return new Date(value);
9143
- }
9144
- else if (value instanceof Date) {
9145
- return value;
9146
- }
9147
- else {
9148
- return null;
9149
- }
9454
+ ngOnDestroy() {
9455
+ var _a;
9456
+ (_a = this.dateDebounceSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
9150
9457
  }
9151
9458
  // eslint-disable-next-line @typescript-eslint/ban-types
9152
9459
  dateFilter(value, filterCallback) {
9460
+ this.dateFilterCallback = filterCallback;
9461
+ if (this.activeMatchMode === FilterMatchModeEnum.Between && Array.isArray(value)) {
9462
+ const dateValues = value.filter(v => v instanceof Date);
9463
+ if (dateValues.length <= 1) {
9464
+ return;
9465
+ }
9466
+ }
9467
+ this.dateDebounceSubject.next(value);
9468
+ }
9469
+ // eslint-disable-next-line @typescript-eslint/ban-types
9470
+ dateRangeChange(value, filterCallback) {
9153
9471
  filterCallback(value);
9154
9472
  }
9155
9473
  // eslint-disable-next-line @typescript-eslint/ban-types
@@ -9163,19 +9481,19 @@ class MngTableColumnFilterComponent {
9163
9481
  }
9164
9482
  filterCallback(value);
9165
9483
  }
9166
- toLookupFilterValue(value) {
9167
- return this.lookupDescriptor.dataKeyProperty && value ? { [this.lookupDescriptor.dataKeyProperty]: value } : value;
9168
- }
9169
9484
  }
9170
9485
  MngTableColumnFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngTableColumnFilterComponent, deps: [{ token: i2.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
9171
- MngTableColumnFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: MngTableColumnFilterComponent, selector: "mng-table-column-filter", inputs: { descriptor: "descriptor", display: "display" }, ngImport: i0, template: "<p-columnFilter\n class=\"ml-auto\"\n [type]=\"primeType\"\n [field]=\"descriptor.property\"\n [display]=\"primeDisplay\"\n [matchMode]=\"primeDefaultMatchMode\"\n [matchModeOptions]=\"$any(primeMatchModes)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showMatchModes]=\"true\"\n [showOperator]=\"false\"\n [showAddButton]=\"false\"\n [hideOnClear]=\"true\"\n [showMenu]=\"primeShowMatchMode\"\n [minFractionDigits]=\"$any(descriptor.numberMinFractionDigits)\"\n [maxFractionDigits]=\"$any(descriptor.numberMaxFractionDigits)\"\n [useGrouping]=\"descriptor.numberUseGrouping\">\n <ng-template *ngIf=\"primeType === 'date'\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <p-calendar\n appendTo=\"body\"\n [ngModel]=\"value\"\n (ngModelChange)=\"dateFilter($event, filterCallback)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showIcon]=\"true\"\n [dateFormat]=\"descriptor.datePickerFormat ?? 'dd.mm.yy'\"\n [showTime]=\"descriptor.datePickerShowTime\">\n </p-calendar>\n </ng-template>\n <ng-template *ngIf=\"lookupDescriptor\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container [ngSwitch]=\"lookupDescriptor.lookupType\">\n <mng-autocomplete\n *ngSwitchCase=\"lookupTypeAutocomplete\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [openOnFocus]=\"lookupDescriptor.autocompleteOpenOnFocus\"\n [inlineSearch]=\"lookupDescriptor.autocompleteInlineSearch\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.searchToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n (valueChange)=\"autocompleteFilter($event, filterCallback)\">\n </mng-autocomplete>\n <mng-dropdown\n *ngSwitchCase=\"lookupTypeDropdown\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.selectToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n [showClear]=\"false\"\n [changeValueOnBlur]=\"lookupDescriptor.multiselect\"\n (valueChange)=\"dropdownFilter($event, filterCallback)\">\n </mng-dropdown>\n </ng-container>\n </ng-template>\n</p-columnFilter>\n", dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i4$3.Calendar, selector: "p-calendar", inputs: ["style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "view", "defaultDate", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6$4.ColumnFilter, selector: "p-columnFilter", inputs: ["field", "type", "display", "showMenu", "matchMode", "operator", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "hideOnClear", "placeholder", "matchModeOptions", "maxConstraints", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping"] }, { kind: "component", type: MngAutocompleteComponent, selector: "mng-autocomplete", inputs: ["dataProvider", "dataKeyProperty", "itemsValueProperty", "itemsLabelProperty", "itemsLabelTranslate", "inlineSearch", "openOnFocus", "multiselect", "placeholder", "className", "dropdownClassName"], outputs: ["valueChange"] }, { kind: "component", type: MngDropdownComponent, selector: "mng-dropdown", inputs: ["dataProvider", "dataKeyProperty", "itemsLabelProperty", "itemsLabelTranslate", "itemsValueProperty", "itemsDisabledProperty", "multiselect", "placeholder", "showClear", "selectFirstItem", "className", "dropdownClassName", "changeValueOnBlur"], outputs: ["valueChange"] }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }] });
9486
+ MngTableColumnFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: MngTableColumnFilterComponent, selector: "mng-table-column-filter", inputs: { descriptor: "descriptor", display: "display" }, viewQueries: [{ propertyName: "primeColumnFilter", first: true, predicate: ColumnFilter, descendants: true }], ngImport: i0, template: "<p-columnFilter\n class=\"ml-auto\"\n [type]=\"primeType\"\n [field]=\"descriptor.property\"\n [display]=\"primeDisplay\"\n [matchMode]=\"$any(primeDefaultMatchMode)\"\n [matchModeOptions]=\"$any(primeMatchModes)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showMatchModes]=\"true\"\n [showOperator]=\"false\"\n [showAddButton]=\"false\"\n [hideOnClear]=\"true\"\n [showMenu]=\"primeShowMatchMode\"\n [minFractionDigits]=\"$any(descriptor.numberMinFractionDigits)\"\n [maxFractionDigits]=\"$any(descriptor.numberMaxFractionDigits)\"\n [useGrouping]=\"descriptor.numberUseGrouping\">\n <ng-template *ngIf=\"primeType === 'date'\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container *ngIf=\"activeMatchMode === 'between'; else datePicker\">\n <mng-date-range\n [ngModel]=\"value\"\n (ngModelChange)=\"dateFilter($event, filterCallback)\"\n [showTime]=\"descriptor.datePickerShowTime\"\n [dateFormat]=\"descriptor.datePickerFormat\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"></mng-date-range>\n </ng-container>\n <ng-template #datePicker>\n <p-calendar\n appendTo=\"body\"\n [ngModel]=\"value\"\n (ngModelChange)=\"dateFilter($event, filterCallback)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showIcon]=\"true\"\n [dateFormat]=\"descriptor.datePickerFormat ?? 'dd.mm.yy'\"\n [showTime]=\"descriptor.datePickerShowTime\">\n </p-calendar>\n </ng-template>\n </ng-template>\n <ng-template *ngIf=\"lookupDescriptor\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container [ngSwitch]=\"lookupDescriptor.lookupType\">\n <mng-autocomplete\n *ngSwitchCase=\"lookupTypeAutocomplete\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [openOnFocus]=\"lookupDescriptor.autocompleteOpenOnFocus\"\n [inlineSearch]=\"lookupDescriptor.autocompleteInlineSearch\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.searchToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n (valueChange)=\"autocompleteFilter($event, filterCallback)\">\n </mng-autocomplete>\n <mng-dropdown\n *ngSwitchCase=\"lookupTypeDropdown\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.selectToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n [showClear]=\"false\"\n [changeValueOnBlur]=\"lookupDescriptor.multiselect\"\n (valueChange)=\"dropdownFilter($event, filterCallback)\">\n </mng-dropdown>\n </ng-container>\n </ng-template>\n</p-columnFilter>\n", dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i4$3.Calendar, selector: "p-calendar", inputs: ["style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "view", "defaultDate", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6$4.ColumnFilter, selector: "p-columnFilter", inputs: ["field", "type", "display", "showMenu", "matchMode", "operator", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "hideOnClear", "placeholder", "matchModeOptions", "maxConstraints", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping"] }, { kind: "component", type: MngAutocompleteComponent, selector: "mng-autocomplete", inputs: ["dataProvider", "dataKeyProperty", "itemsValueProperty", "itemsLabelProperty", "itemsLabelTranslate", "inlineSearch", "openOnFocus", "multiselect", "placeholder", "className", "dropdownClassName"], outputs: ["valueChange"] }, { kind: "component", type: MngDropdownComponent, selector: "mng-dropdown", inputs: ["dataProvider", "dataKeyProperty", "itemsLabelProperty", "itemsLabelTranslate", "itemsValueProperty", "itemsDisabledProperty", "multiselect", "placeholder", "showClear", "selectFirstItem", "className", "dropdownClassName", "changeValueOnBlur"], outputs: ["valueChange"] }, { kind: "component", type: MngDateRangeComponent, selector: "mng-date-range", inputs: ["placeholder", "showTime", "showSeconds", "dateFormat"] }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }] });
9172
9487
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngTableColumnFilterComponent, decorators: [{
9173
9488
  type: Component,
9174
- args: [{ selector: 'mng-table-column-filter', template: "<p-columnFilter\n class=\"ml-auto\"\n [type]=\"primeType\"\n [field]=\"descriptor.property\"\n [display]=\"primeDisplay\"\n [matchMode]=\"primeDefaultMatchMode\"\n [matchModeOptions]=\"$any(primeMatchModes)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showMatchModes]=\"true\"\n [showOperator]=\"false\"\n [showAddButton]=\"false\"\n [hideOnClear]=\"true\"\n [showMenu]=\"primeShowMatchMode\"\n [minFractionDigits]=\"$any(descriptor.numberMinFractionDigits)\"\n [maxFractionDigits]=\"$any(descriptor.numberMaxFractionDigits)\"\n [useGrouping]=\"descriptor.numberUseGrouping\">\n <ng-template *ngIf=\"primeType === 'date'\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <p-calendar\n appendTo=\"body\"\n [ngModel]=\"value\"\n (ngModelChange)=\"dateFilter($event, filterCallback)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showIcon]=\"true\"\n [dateFormat]=\"descriptor.datePickerFormat ?? 'dd.mm.yy'\"\n [showTime]=\"descriptor.datePickerShowTime\">\n </p-calendar>\n </ng-template>\n <ng-template *ngIf=\"lookupDescriptor\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container [ngSwitch]=\"lookupDescriptor.lookupType\">\n <mng-autocomplete\n *ngSwitchCase=\"lookupTypeAutocomplete\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [openOnFocus]=\"lookupDescriptor.autocompleteOpenOnFocus\"\n [inlineSearch]=\"lookupDescriptor.autocompleteInlineSearch\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.searchToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n (valueChange)=\"autocompleteFilter($event, filterCallback)\">\n </mng-autocomplete>\n <mng-dropdown\n *ngSwitchCase=\"lookupTypeDropdown\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.selectToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n [showClear]=\"false\"\n [changeValueOnBlur]=\"lookupDescriptor.multiselect\"\n (valueChange)=\"dropdownFilter($event, filterCallback)\">\n </mng-dropdown>\n </ng-container>\n </ng-template>\n</p-columnFilter>\n" }]
9489
+ args: [{ selector: 'mng-table-column-filter', template: "<p-columnFilter\n class=\"ml-auto\"\n [type]=\"primeType\"\n [field]=\"descriptor.property\"\n [display]=\"primeDisplay\"\n [matchMode]=\"$any(primeDefaultMatchMode)\"\n [matchModeOptions]=\"$any(primeMatchModes)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showMatchModes]=\"true\"\n [showOperator]=\"false\"\n [showAddButton]=\"false\"\n [hideOnClear]=\"true\"\n [showMenu]=\"primeShowMatchMode\"\n [minFractionDigits]=\"$any(descriptor.numberMinFractionDigits)\"\n [maxFractionDigits]=\"$any(descriptor.numberMaxFractionDigits)\"\n [useGrouping]=\"descriptor.numberUseGrouping\">\n <ng-template *ngIf=\"primeType === 'date'\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container *ngIf=\"activeMatchMode === 'between'; else datePicker\">\n <mng-date-range\n [ngModel]=\"value\"\n (ngModelChange)=\"dateFilter($event, filterCallback)\"\n [showTime]=\"descriptor.datePickerShowTime\"\n [dateFormat]=\"descriptor.datePickerFormat\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"></mng-date-range>\n </ng-container>\n <ng-template #datePicker>\n <p-calendar\n appendTo=\"body\"\n [ngModel]=\"value\"\n (ngModelChange)=\"dateFilter($event, filterCallback)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showIcon]=\"true\"\n [dateFormat]=\"descriptor.datePickerFormat ?? 'dd.mm.yy'\"\n [showTime]=\"descriptor.datePickerShowTime\">\n </p-calendar>\n </ng-template>\n </ng-template>\n <ng-template *ngIf=\"lookupDescriptor\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container [ngSwitch]=\"lookupDescriptor.lookupType\">\n <mng-autocomplete\n *ngSwitchCase=\"lookupTypeAutocomplete\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [openOnFocus]=\"lookupDescriptor.autocompleteOpenOnFocus\"\n [inlineSearch]=\"lookupDescriptor.autocompleteInlineSearch\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.searchToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n (valueChange)=\"autocompleteFilter($event, filterCallback)\">\n </mng-autocomplete>\n <mng-dropdown\n *ngSwitchCase=\"lookupTypeDropdown\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.selectToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n [showClear]=\"false\"\n [changeValueOnBlur]=\"lookupDescriptor.multiselect\"\n (valueChange)=\"dropdownFilter($event, filterCallback)\">\n </mng-dropdown>\n </ng-container>\n </ng-template>\n</p-columnFilter>\n" }]
9175
9490
  }], ctorParameters: function () { return [{ type: i2.PrimeNGConfig }]; }, propDecorators: { descriptor: [{
9176
9491
  type: Input
9177
9492
  }], display: [{
9178
9493
  type: Input
9494
+ }], primeColumnFilter: [{
9495
+ type: ViewChild,
9496
+ args: [ColumnFilter]
9179
9497
  }] } });
9180
9498
 
9181
9499
  class MngTableComponent {
@@ -9537,7 +9855,7 @@ class MngTableComponent {
9537
9855
  matchMode = FilterMatchMode.CONTAINS;
9538
9856
  break;
9539
9857
  case FilterTypeEnum.Date:
9540
- matchMode = FilterMatchMode.DATE_AFTER;
9858
+ matchMode = FilterMatchMode.DATE_IS;
9541
9859
  break;
9542
9860
  case FilterTypeEnum.Lookup:
9543
9861
  case FilterTypeEnum.LookupEnum: {
@@ -9570,6 +9888,11 @@ class MngTableComponent {
9570
9888
  if (typeof filterValue === 'string' || typeof filterValue === 'number') {
9571
9889
  filterValue = new Date(filterValue);
9572
9890
  }
9891
+ // if range is provided, take that into account
9892
+ if (typeof f.filterValueTo === 'string' || typeof f.filterValueTo === 'number') {
9893
+ const filterValueTo = new Date(f.filterValueTo);
9894
+ filterValue = [filterValue, filterValueTo];
9895
+ }
9573
9896
  }
9574
9897
  primeFilterMeta[descriptor.property] = {
9575
9898
  value: filterValue,
@@ -11364,6 +11687,7 @@ const declarations = [
11364
11687
  // mng fields
11365
11688
  MngAutocompleteComponent,
11366
11689
  MngDropdownComponent,
11690
+ MngDateRangeComponent,
11367
11691
  // formly wrappers
11368
11692
  MngFormlyFieldWrapperComponent,
11369
11693
  MngFormlyTableWrapperComponent,
@@ -11488,6 +11812,7 @@ MngCommonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
11488
11812
  // mng fields
11489
11813
  MngAutocompleteComponent,
11490
11814
  MngDropdownComponent,
11815
+ MngDateRangeComponent,
11491
11816
  // formly wrappers
11492
11817
  MngFormlyFieldWrapperComponent,
11493
11818
  MngFormlyTableWrapperComponent,
@@ -11610,6 +11935,7 @@ MngCommonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
11610
11935
  // mng fields
11611
11936
  MngAutocompleteComponent,
11612
11937
  MngDropdownComponent,
11938
+ MngDateRangeComponent,
11613
11939
  // formly wrappers
11614
11940
  MngFormlyFieldWrapperComponent,
11615
11941
  MngFormlyTableWrapperComponent,
@@ -12476,5 +12802,5 @@ class TableviewRouteBuilder {
12476
12802
  * Generated bundle index. Do not edit.
12477
12803
  */
12478
12804
 
12479
- export { ACTION_EDITOR_DIALOG_COMPONENT_SETTING, AFieldDescriptor, AFieldGroupDescriptor, AGenericFieldDescriptor, AMngApiService, AMngBaseApiService, AMngCrudApiService, AMngGetAllApiService, AMngTableviewRouteComponent, APermissions, ActionActivationTriggerEnum, ActionConfirmationDialogDescriptor, ActionContext, ActionContextValidation, ActionDataProviderUtil, ActionDeleteDescriptor, ActionDescriptor, ActionEditorAddDescriptor, ActionEditorDescriptor, ActionEditorDetailsDescriptor, ActionEditorDialogSizeEnum, ActionEditorEditDescriptor, ActionEditorSubmitDescriptor, ActionEditorSubmitTypeEnum, ActionError, ActionInstance, ActionInstanceStateEnum, ActionLevelEnum, ActionLinkDescriptor, ActionParameters, ActionPositionEnum, ActionSimpleDescriptor, ActionSizeEnum, ActionTypeEnum, AuthorizationTypeEnum, AuthorizationUtil, ButtonDescriptor, ButtonStyleBuilder, ButtonStyleRoundedEnum, ColumnDescriptor, ColumnDynamicDescriptor, ColumnTypeEnum, DataProvider, DefaultMngErrorMapperService, DynamicTableviewDataProvider, EditorDataProvider, EditorDescriptor, EditorFormlyUtil, EnumName, EnumUtil, FieldGroupDescriptor, FieldGroupTypeEnum, FieldInputDescriptor, FieldInputTypeEnum, FieldLookupDescriptor, FieldLookupEnumDescriptor, FieldLookupTypeEnum, FieldManyEditorActionEnum, FieldManyEditorDescriptor, FieldManyEditorTypeEnum, FieldManyToManyEditorActionEnum, FieldManyToManyEditorDescriptor, FieldManyToManyEditorTypeEnum, FieldSizeEnum, FieldTabGroupDescriptor, FieldValidationDescriptor, FilterDescriptor, FilterLookupDescriptor, FilterLookupEnumDescriptor, FilterLookupTypeEnum, FilterMatchModeEnum, FilterTypeEnum, I18nUtils, JsonPathPipe, LookupDataProvider, MNG_AUTOCOMPLETE_VALUE_ACCESSOR, MNG_BROWSER_STORAGE_IT, MNG_COMMONS_INITIALIZER_IT, MNG_DROPDOWN_VALUE_ACCESSOR, MNG_MODULE_CONFIG_IT, MediusFilterMatchType, MediusFilterParam, MediusQueryMode, MediusQueryParam, MediusQueryParamBuilder, MediusQueryResult, MediusRestUtil, MngActionComponent, MngActionEditorComponent, MngActionExecutorService, MngActionRouteComponent, MngAuthorizationGuard, MngAuthorizationService, MngAutocompleteComponent, MngBooleanPipe, MngBreadcrumbComponent, MngButtonComponent, MngClassMapPipe, MngCommonsModule, MngCommonsService, MngComponentDirective, MngConfigurationService, MngDropdownComponent, MngEnumPipe, MngErrorMapperService, MngFooterComponent, MngFormEditorComponent, MngFormEditorSubmitEvent, MngFormFieldEvent, MngFormFieldEventComponentSubtype, MngFormFieldEventDialogSubtype, MngFormFieldEventTypeEnum, MngFormlyFieldAutocompleteComponent, MngFormlyFieldDropdownComponent, MngFormlyFieldFieldsetComponent, MngFormlyFieldInputComponent, MngFormlyFieldLabelComponent, MngFormlyFieldLookupDialogComponent, MngFormlyFieldTableDialogFormComponent, MngFormlyFieldTableDialogMultiselectComponent, MngFormlyFieldTabsComponent, MngFormlyFieldWrapperComponent, MngFormlyTableWrapperComponent, MngGetterPipe, MngI18nPropertyPipe, MngMainLayoutComponent, MngMainLayoutComponentService, MngMenuComponent, MngMenuItemComponent, MngNavigationService, MngParametrizePipe, MngTableCellClickEvent, MngTableColumnFilterComponent, MngTableColumnValueComponent, MngTableComponent, MngTableLoadEvent, MngTableReloadEvent, MngTableviewComponent, MngTableviewRouteComponent, MngTemplateDirective, MngTemplatePipe, MngTopbarComponent, MngVersionComponent, MngViewContainerComponentService, ModelDescriptor, ModelUtil, NotificationUtil, ObjectSerializer, Permissions, RouteBuilder, RoutesBuilder, StringUtil, StylesUtil, TableDataProvider, TableDescriptor, TableDynamicColumnsModeEnum, TableDynamicDescriptor, TableFilterDisplayEnum, TablePaginationModeEnum, TableSizeEnum, TableviewActionDefaultCategories, TableviewCrudDataProvider, TableviewDataProvider, TableviewDescriptor, TableviewDynamicDescriptor, TableviewRouteBuilder, TableviewTypeEnum, TypeName, TypeUtil, enumNameDecoratorPropertyName, enumsMapBase, formlyTypesConfig, formlyWrappersConfig, getEmailValidationMessage, getFormlyValidationMessages, getMaxLengthValidationMessage, getMinLengthValidationMessage, getRequiredValidationMessage, getTextPatternValidationMessage, mngConfigJsonAppInitializerProvider, mngConfigurationServiceProvider, mngFormlyConfigProvider, primeNgModules, typeMapBase, typeNameDecoratorPropertyName };
12805
+ export { ACTION_EDITOR_DIALOG_COMPONENT_SETTING, AFieldDescriptor, AFieldGroupDescriptor, AGenericFieldDescriptor, AMngApiService, AMngBaseApiService, AMngCrudApiService, AMngGetAllApiService, AMngTableviewRouteComponent, APermissions, ActionActivationTriggerEnum, ActionConfirmationDialogDescriptor, ActionContext, ActionContextValidation, ActionDataProviderUtil, ActionDeleteDescriptor, ActionDescriptor, ActionEditorAddDescriptor, ActionEditorDescriptor, ActionEditorDetailsDescriptor, ActionEditorDialogSizeEnum, ActionEditorEditDescriptor, ActionEditorSubmitDescriptor, ActionEditorSubmitTypeEnum, ActionError, ActionInstance, ActionInstanceStateEnum, ActionLevelEnum, ActionLinkDescriptor, ActionParameters, ActionPositionEnum, ActionSimpleDescriptor, ActionSizeEnum, ActionTypeEnum, AuthorizationTypeEnum, AuthorizationUtil, ButtonDescriptor, ButtonStyleBuilder, ButtonStyleRoundedEnum, ColumnDescriptor, ColumnDynamicDescriptor, ColumnTypeEnum, DataProvider, DateUtil, DefaultMngErrorMapperService, DynamicTableviewDataProvider, EditorDataProvider, EditorDescriptor, EditorFormlyUtil, EnumName, EnumUtil, FieldGroupDescriptor, FieldGroupTypeEnum, FieldInputDescriptor, FieldInputTypeEnum, FieldLookupDescriptor, FieldLookupEnumDescriptor, FieldLookupTypeEnum, FieldManyEditorActionEnum, FieldManyEditorDescriptor, FieldManyEditorTypeEnum, FieldManyToManyEditorActionEnum, FieldManyToManyEditorDescriptor, FieldManyToManyEditorTypeEnum, FieldSizeEnum, FieldTabGroupDescriptor, FieldValidationDescriptor, FilterDescriptor, FilterLookupDescriptor, FilterLookupEnumDescriptor, FilterLookupTypeEnum, FilterMatchModeEnum, FilterTypeEnum, I18nUtils, JsonPathPipe, LookupDataProvider, MNG_AUTOCOMPLETE_VALUE_ACCESSOR, MNG_BROWSER_STORAGE_IT, MNG_COMMONS_INITIALIZER_IT, MNG_DATE_RANGE_VALUE_ACCESSOR, MNG_DROPDOWN_VALUE_ACCESSOR, MNG_MODULE_CONFIG_IT, MediusFilterMatchType, MediusFilterParam, MediusQueryMode, MediusQueryParam, MediusQueryParamBuilder, MediusQueryResult, MediusRestUtil, MngActionComponent, MngActionEditorComponent, MngActionExecutorService, MngActionRouteComponent, MngAuthorizationGuard, MngAuthorizationService, MngAutocompleteComponent, MngBooleanPipe, MngBreadcrumbComponent, MngButtonComponent, MngClassMapPipe, MngCommonsModule, MngCommonsService, MngComponentDirective, MngConfigurationService, MngDateRangeComponent, MngDropdownComponent, MngEnumPipe, MngErrorMapperService, MngFooterComponent, MngFormEditorComponent, MngFormEditorSubmitEvent, MngFormFieldEvent, MngFormFieldEventComponentSubtype, MngFormFieldEventDialogSubtype, MngFormFieldEventTypeEnum, MngFormlyFieldAutocompleteComponent, MngFormlyFieldDropdownComponent, MngFormlyFieldFieldsetComponent, MngFormlyFieldInputComponent, MngFormlyFieldLabelComponent, MngFormlyFieldLookupDialogComponent, MngFormlyFieldTableDialogFormComponent, MngFormlyFieldTableDialogMultiselectComponent, MngFormlyFieldTabsComponent, MngFormlyFieldWrapperComponent, MngFormlyTableWrapperComponent, MngGetterPipe, MngI18nPropertyPipe, MngMainLayoutComponent, MngMainLayoutComponentService, MngMenuComponent, MngMenuItemComponent, MngNavigationService, MngParametrizePipe, MngTableCellClickEvent, MngTableColumnFilterComponent, MngTableColumnValueComponent, MngTableComponent, MngTableLoadEvent, MngTableReloadEvent, MngTableviewComponent, MngTableviewRouteComponent, MngTemplateDirective, MngTemplatePipe, MngTopbarComponent, MngVersionComponent, MngViewContainerComponentService, ModelDescriptor, ModelUtil, NotificationUtil, ObjectSerializer, Permissions, RouteBuilder, RoutesBuilder, StringUtil, StylesUtil, TableDataProvider, TableDescriptor, TableDynamicColumnsModeEnum, TableDynamicDescriptor, TableFilterDisplayEnum, TablePaginationModeEnum, TableSizeEnum, TableviewActionDefaultCategories, TableviewCrudDataProvider, TableviewDataProvider, TableviewDescriptor, TableviewDynamicDescriptor, TableviewRouteBuilder, TableviewTypeEnum, TypeName, TypeUtil, enumNameDecoratorPropertyName, enumsMapBase, formlyTypesConfig, formlyWrappersConfig, getEmailValidationMessage, getFormlyValidationMessages, getMaxLengthValidationMessage, getMinLengthValidationMessage, getRequiredValidationMessage, getTextPatternValidationMessage, mngConfigJsonAppInitializerProvider, mngConfigurationServiceProvider, mngFormlyConfigProvider, primeNgModules, typeMapBase, typeNameDecoratorPropertyName };
12480
12806
  //# sourceMappingURL=mediusinc-mng-commons.mjs.map