@sumaris-net/ngx-components 0.25.18 → 0.26.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 (30) hide show
  1. package/bundles/sumaris-net.ngx-components.umd.js +400 -337
  2. package/bundles/sumaris-net.ngx-components.umd.js.map +1 -1
  3. package/bundles/sumaris-net.ngx-components.umd.min.js +2 -2
  4. package/bundles/sumaris-net.ngx-components.umd.min.js.map +1 -1
  5. package/doc/changelog.md +6 -0
  6. package/esm2015/src/app/core/account/account.js +5 -7
  7. package/esm2015/src/app/core/auth/form/form-auth.js +6 -7
  8. package/esm2015/src/app/core/form/entity-editor.class.js +23 -15
  9. package/esm2015/src/app/core/form/form.class.js +29 -12
  10. package/esm2015/src/app/core/form/list.form.js +2 -2
  11. package/esm2015/src/app/core/form/properties.form.js +2 -3
  12. package/esm2015/src/app/core/settings/settings.page.js +5 -7
  13. package/esm2015/src/app/core/table/entities-table-datasource.class.js +5 -7
  14. package/esm2015/src/app/core/table/table.class.js +25 -18
  15. package/esm2015/src/app/shared/pipes/form.pipes.js +1 -1
  16. package/esm2015/src/app/shared/validator/form-error-adapter.class.js +3 -3
  17. package/esm2015/src/app/shared/validator/validators.js +8 -9
  18. package/fesm2015/sumaris-net.ngx-components.js +367 -329
  19. package/fesm2015/sumaris-net.ngx-components.js.map +1 -1
  20. package/package.json +1 -1
  21. package/src/app/core/account/account.d.ts +2 -5
  22. package/src/app/core/auth/form/form-auth.d.ts +2 -4
  23. package/src/app/core/form/entity-editor.class.d.ts +10 -2
  24. package/src/app/core/form/form.class.d.ts +15 -12
  25. package/src/app/core/form/properties.form.d.ts +0 -1
  26. package/src/app/core/settings/settings.page.d.ts +2 -5
  27. package/src/app/core/table/table.class.d.ts +5 -7
  28. package/src/app/shared/pipes/form.pipes.d.ts +2 -2
  29. package/src/app/shared/validator/form-error-adapter.class.d.ts +6 -6
  30. package/sumaris-net.ngx-components.metadata.json +1 -1
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/cdk/table'), require('@angular/cdk/a11y'), require('@angular/cdk/overlay'), require('@angular/cdk/scrolling'), require('@angular/material/core'), require('@angular/material/table'), require('@angular/material/sort'), require('@angular/material/paginator'), require('@angular/material/form-field'), require('@angular/material/input'), require('@angular/material/checkbox'), require('@angular/material/expansion'), require('@angular/material/toolbar'), require('@angular/material/icon'), require('@angular/material/button'), require('@angular/material/menu'), require('@angular/material/select'), require('@angular/material/card'), require('@angular/material/tabs'), require('@angular/material/stepper'), require('@angular/material/list'), require('@angular/material/button-toggle'), require('@angular/material/progress-spinner'), require('@angular/material/progress-bar'), require('@angular/material/radio'), require('@angular/material/badge'), require('@angular/material/slide-toggle'), require('@angular/material/dialog'), require('@angular/material/autocomplete'), require('@angular/forms'), require('rxjs'), require('rxjs/operators'), require('@ngx-translate/core'), require('@ionic/angular'), require('moment'), require('@angular/material-moment-adapter'), require('@ionic-native/keyboard/ngx'), require('angular2-text-mask'), require('ngx-material-timepicker'), require('@angular/material/datepicker'), require('@angular/animations'), require('@angular/material/divider'), require('@angular/material/tooltip'), require('@angular/material/chips'), require('@angular/router'), require('@angular/platform-browser'), require('@angular/common/http'), require('ngx-color-picker'), require('@ionic-native/native-audio/ngx'), require('@ionic-native/vibration/ngx'), require('@ionic-native/audio-management/ngx'), require('@ionic-native/native-audio/ngx/index'), require('@ionic-native/vibration/ngx/index'), require('@ionic-native/audio-management/ngx/index'), require('uuid/v4'), require('@angular/cdk/drag-drop'), require('ngx-markdown'), require('tweetnacl'), require('@ionic/storage'), require('zone.js/dist/zone-error'), require('@ionic-native/splash-screen/ngx'), require('@ionic-native/network/ngx'), require('ionic-cache'), require('ionic-cache/dist/cache.service'), require('@ionic-native/network/ngx/index'), require('@ionic-native/splash-screen/ngx/index'), require('@ionic-native/status-bar/ngx'), require('@angular/cdk/platform'), require('@ionic-native/in-app-browser/ngx'), require('@apollo/client/core'), require('apollo-angular'), require('@apollo/client/link/ws'), require('@apollo/client/utilities'), require('@apollo/client/link/retry'), require('apollo-link-queue'), require('apollo-link-serialize'), require('apollo-link-logger'), require('apollo-angular/http'), require('apollo3-cache-persist'), require('@ionic-native/downloader/ngx'), require('@ionic-native/status-bar/ngx/index'), require('@ionic-native/keyboard/ngx/index'), require('@ionic-native/in-app-browser/ngx/index'), require('@ionic-native/downloader/ngx/index'), require('@e-is/ngx-material-table'), require('@angular/cdk/collections'), require('ngx-jdenticon'), require('tweetnacl-util'), require('scrypt-async'), require('hammerjs')) :
3
3
  typeof define === 'function' && define.amd ? define('@sumaris-net/ngx-components', ['exports', '@angular/core', '@angular/common', '@angular/cdk/table', '@angular/cdk/a11y', '@angular/cdk/overlay', '@angular/cdk/scrolling', '@angular/material/core', '@angular/material/table', '@angular/material/sort', '@angular/material/paginator', '@angular/material/form-field', '@angular/material/input', '@angular/material/checkbox', '@angular/material/expansion', '@angular/material/toolbar', '@angular/material/icon', '@angular/material/button', '@angular/material/menu', '@angular/material/select', '@angular/material/card', '@angular/material/tabs', '@angular/material/stepper', '@angular/material/list', '@angular/material/button-toggle', '@angular/material/progress-spinner', '@angular/material/progress-bar', '@angular/material/radio', '@angular/material/badge', '@angular/material/slide-toggle', '@angular/material/dialog', '@angular/material/autocomplete', '@angular/forms', 'rxjs', 'rxjs/operators', '@ngx-translate/core', '@ionic/angular', 'moment', '@angular/material-moment-adapter', '@ionic-native/keyboard/ngx', 'angular2-text-mask', 'ngx-material-timepicker', '@angular/material/datepicker', '@angular/animations', '@angular/material/divider', '@angular/material/tooltip', '@angular/material/chips', '@angular/router', '@angular/platform-browser', '@angular/common/http', 'ngx-color-picker', '@ionic-native/native-audio/ngx', '@ionic-native/vibration/ngx', '@ionic-native/audio-management/ngx', '@ionic-native/native-audio/ngx/index', '@ionic-native/vibration/ngx/index', '@ionic-native/audio-management/ngx/index', 'uuid/v4', '@angular/cdk/drag-drop', 'ngx-markdown', 'tweetnacl', '@ionic/storage', 'zone.js/dist/zone-error', '@ionic-native/splash-screen/ngx', '@ionic-native/network/ngx', 'ionic-cache', 'ionic-cache/dist/cache.service', '@ionic-native/network/ngx/index', '@ionic-native/splash-screen/ngx/index', '@ionic-native/status-bar/ngx', '@angular/cdk/platform', '@ionic-native/in-app-browser/ngx', '@apollo/client/core', 'apollo-angular', '@apollo/client/link/ws', '@apollo/client/utilities', '@apollo/client/link/retry', 'apollo-link-queue', 'apollo-link-serialize', 'apollo-link-logger', 'apollo-angular/http', 'apollo3-cache-persist', '@ionic-native/downloader/ngx', '@ionic-native/status-bar/ngx/index', '@ionic-native/keyboard/ngx/index', '@ionic-native/in-app-browser/ngx/index', '@ionic-native/downloader/ngx/index', '@e-is/ngx-material-table', '@angular/cdk/collections', 'ngx-jdenticon', 'tweetnacl-util', 'scrypt-async', 'hammerjs'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global['sumaris-net'] = global['sumaris-net'] || {}, global['sumaris-net']['ngx-components'] = {}), global.ng.core, global.ng.common, global.ng.cdk.table, global.ng.cdk.a11y, global.ng.cdk.overlay, global.ng.cdk.scrolling, global.ng.material.core, global.ng.material.table, global.ng.material.sort, global.ng.material.paginator, global.ng.material.formField, global.ng.material.input, global.ng.material.checkbox, global.ng.material.expansion, global.ng.material.toolbar, global.ng.material.icon, global.ng.material.button, global.ng.material.menu, global.ng.material.select, global.ng.material.card, global.ng.material.tabs, global.ng.material.stepper, global.ng.material.list, global.ng.material.buttonToggle, global.ng.material.progressSpinner, global.ng.material.progressBar, global.ng.material.radio, global.ng.material.badge, global.ng.material.slideToggle, global.ng.material.dialog, global.ng.material.autocomplete, global.ng.forms, global.rxjs, global.rxjs.operators, global['ngx-translate'].core, global.ionic.angular, global.moment, global.ng.materialMomentAdapter, global['ionic-native'].keyboard.ngx, global['angular2-text-mask'], global['ngx-material-timepicker'], global.ng.material.datepicker, global.ng.animations, global.ng.material.divider, global.ng.material.tooltip, global.ng.material.chips, global.ng.router, global.ng.platformBrowser, global.ng.common.http, global['ngx-color-picker'], global['ionic-native']['native-audio'].ngx, global['ionic-native'].vibration.ngx, global['ionic-native']['audio-management'].ngx, global['ionic-native']['native-audio'].ngx.index, global['ionic-native'].vibration.ngx.index, global['ionic-native']['audio-management'].ngx.index, global.uuid.v4, global.ng.cdk.dragDrop, global['ngx-markdown'], global.tweetnacl, global.ionic.storage, null, global['ionic-native']['splash-screen'].ngx, global['ionic-native'].network.ngx, global['ionic-cache'], global['ionic-cache/dist/cache'].service, global['ionic-native'].network.ngx.index, global['ionic-native']['splash-screen'].ngx.index, global['ionic-native']['status-bar'].ngx, global.ng.cdk.platform, global['ionic-native']['in-app-browser'].ngx, global.apollo.client.core, global['apollo-angular'], global.apollo.client.link.ws, global.apollo.client.utilities, global.apollo.client.link.retry, global['apollo-link-queue'], global['apollo-link-serialize'], global['apollo-link-logger'], global['apollo-angular'].http, global['apollo3-cache-persist'], global.ngx$6, global['ionic-native']['status-bar'].ngx.index, global['ionic-native'].keyboard.ngx.index, global['ionic-native']['in-app-browser'].ngx.index, global.i18, global['e-is']['ngx-material-table'], global.ng.cdk.collections, global['ngx-jdenticon']));
5
- }(this, (function (exports, i0, i1$4, table$1, a11y, overlay, scrolling, i1$3, table, sort$1, paginator, formField, input, checkbox, expansion, toolbar, icon, button, menu, select, card, tabs, stepper, list, buttonToggle, progressSpinner, progressBar, radio, badge, slideToggle, i2, autocomplete, i1, rxjs, operators, i1$2, i1$5, momentImported, i1$1, ngx, angular2TextMask, ngxMaterialTimepicker, datepicker, animations, divider, tooltip, chips, i3, i1$6, i2$1, ngxColorPicker, ngx$2, ngx$3, ngx$1, i2$2, i3$1, i4, uuidv4Imported, dragDrop, ngxMarkdown, tweetnacl, i3$2, zoneError, ngx$5, ngx$4, ionicCache, i6, i9, i10, ngx$7, i2$4, ngx$8, core, i2$3, ws, utilities, retry, QueueLink, SerializingLink, loggerLink, i3$3, apollo3CachePersist, ngx$6, i14, i15, i17, i18, ngxMaterialTable, collections, ngxJdenticon) { 'use strict';
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["sumaris-net"] = global["sumaris-net"] || {}, global["sumaris-net"]["ngx-components"] = {}), global.ng.core, global.ng.common, global.ng.cdk.table, global.ng.cdk.a11y, global.ng.cdk.overlay, global.ng.cdk.scrolling, global.ng.material.core, global.ng.material.table, global.ng.material.sort, global.ng.material.paginator, global.ng.material.formField, global.ng.material.input, global.ng.material.checkbox, global.ng.material.expansion, global.ng.material.toolbar, global.ng.material.icon, global.ng.material.button, global.ng.material.menu, global.ng.material.select, global.ng.material.card, global.ng.material.tabs, global.ng.material.stepper, global.ng.material.list, global.ng.material.buttonToggle, global.ng.material.progressSpinner, global.ng.material.progressBar, global.ng.material.radio, global.ng.material.badge, global.ng.material.slideToggle, global.ng.material.dialog, global.ng.material.autocomplete, global.ng.forms, global.rxjs, global.rxjs.operators, global["ngx-translate"].core, global.ionic.angular, global.moment, global.ng.materialMomentAdapter, global["ionic-native"].keyboard.ngx, global["angular2-text-mask"], global["ngx-material-timepicker"], global.ng.material.datepicker, global.ng.animations, global.ng.material.divider, global.ng.material.tooltip, global.ng.material.chips, global.ng.router, global.ng.platformBrowser, global.ng.common.http, global["ngx-color-picker"], global["ionic-native"]["native-audio"].ngx, global["ionic-native"].vibration.ngx, global["ionic-native"]["audio-management"].ngx, global["ionic-native"]["native-audio"].ngx.index, global["ionic-native"].vibration.ngx.index, global["ionic-native"]["audio-management"].ngx.index, global.uuid.v4, global.ng.cdk.dragDrop, global["ngx-markdown"], global.tweetnacl, global.ionic.storage, null, global["ionic-native"]["splash-screen"].ngx, global["ionic-native"].network.ngx, global["ionic-cache"], global["ionic-cache/dist/cache"].service, global["ionic-native"].network.ngx.index, global["ionic-native"]["splash-screen"].ngx.index, global["ionic-native"]["status-bar"].ngx, global.ng.cdk.platform, global["ionic-native"]["in-app-browser"].ngx, global.apollo.client.core, global["apollo-angular"], global.apollo.client.link.ws, global.apollo.client.utilities, global.apollo.client.link.retry, global["apollo-link-queue"], global["apollo-link-serialize"], global["apollo-link-logger"], global["apollo-angular"].http, global["apollo3-cache-persist"], global.ngx$6, global["ionic-native"]["status-bar"].ngx.index, global["ionic-native"].keyboard.ngx.index, global["ionic-native"]["in-app-browser"].ngx.index, global.i18, global["e-is"]["ngx-material-table"], global.ng.cdk.collections, global["ngx-jdenticon"]));
5
+ })(this, (function (exports, i0, i1$4, table$1, a11y, overlay, scrolling, i1$3, table, sort$1, paginator, formField, input, checkbox, expansion, toolbar, icon, button, menu, select, card, tabs, stepper, list, buttonToggle, progressSpinner, progressBar, radio, badge, slideToggle, i2, autocomplete, i1, rxjs, operators, i1$2, i1$5, momentImported, i1$1, ngx, angular2TextMask, ngxMaterialTimepicker, datepicker, animations, divider, tooltip, chips, i3, i1$6, i2$1, ngxColorPicker, ngx$2, ngx$3, ngx$1, i2$2, i3$1, i4, uuidv4Imported, dragDrop, ngxMarkdown, tweetnacl, i3$2, zoneError, ngx$5, ngx$4, ionicCache, i6, i9, i10, ngx$7, i2$4, ngx$8, core, i2$3, ws, utilities, retry, QueueLink, SerializingLink, loggerLink, i3$3, apollo3CachePersist, ngx$6, i14, i15, i17, i18, ngxMaterialTable, collections, ngxJdenticon) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -15,22 +15,45 @@
15
15
  var d = Object.getOwnPropertyDescriptor(e, k);
16
16
  Object.defineProperty(n, k, d.get ? d : {
17
17
  enumerable: true,
18
- get: function () {
19
- return e[k];
20
- }
18
+ get: function () { return e[k]; }
21
19
  });
22
20
  }
23
21
  });
24
22
  }
25
- n['default'] = e;
23
+ n["default"] = e;
26
24
  return Object.freeze(n);
27
25
  }
28
26
 
27
+ var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
28
+ var i1__namespace$3 = /*#__PURE__*/_interopNamespace(i1$4);
29
+ var i1__namespace$2 = /*#__PURE__*/_interopNamespace(i1$3);
30
+ var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2);
31
+ var i1__namespace$6 = /*#__PURE__*/_interopNamespace(i1);
32
+ var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1$2);
33
+ var i1__namespace$4 = /*#__PURE__*/_interopNamespace(i1$5);
29
34
  var momentImported__namespace = /*#__PURE__*/_interopNamespace(momentImported);
35
+ var i1__namespace = /*#__PURE__*/_interopNamespace(i1$1);
36
+ var i3__namespace$3 = /*#__PURE__*/_interopNamespace(i3);
37
+ var i1__namespace$5 = /*#__PURE__*/_interopNamespace(i1$6);
38
+ var i2__namespace$2 = /*#__PURE__*/_interopNamespace(i2$1);
39
+ var i2__namespace = /*#__PURE__*/_interopNamespace(i2$2);
40
+ var i3__namespace = /*#__PURE__*/_interopNamespace(i3$1);
41
+ var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
30
42
  var uuidv4Imported__namespace = /*#__PURE__*/_interopNamespace(uuidv4Imported);
43
+ var i3__namespace$1 = /*#__PURE__*/_interopNamespace(i3$2);
44
+ var i6__namespace = /*#__PURE__*/_interopNamespace(i6);
45
+ var i9__namespace = /*#__PURE__*/_interopNamespace(i9);
46
+ var i10__namespace = /*#__PURE__*/_interopNamespace(i10);
47
+ var i2__namespace$4 = /*#__PURE__*/_interopNamespace(i2$4);
48
+ var i2__namespace$3 = /*#__PURE__*/_interopNamespace(i2$3);
31
49
  var QueueLink__default = /*#__PURE__*/_interopDefaultLegacy(QueueLink);
32
50
  var SerializingLink__default = /*#__PURE__*/_interopDefaultLegacy(SerializingLink);
33
51
  var loggerLink__default = /*#__PURE__*/_interopDefaultLegacy(loggerLink);
52
+ var i3__namespace$2 = /*#__PURE__*/_interopNamespace(i3$3);
53
+ var i14__namespace = /*#__PURE__*/_interopNamespace(i14);
54
+ var i15__namespace = /*#__PURE__*/_interopNamespace(i15);
55
+ var i17__namespace = /*#__PURE__*/_interopNamespace(i17);
56
+ var i18__namespace = /*#__PURE__*/_interopNamespace(i18);
34
57
 
35
58
  var ENVIRONMENT = new i0.InjectionToken('ENV');
36
59
  var Environment = /** @class */ (function () {
@@ -1134,19 +1157,19 @@
1134
1157
  };
1135
1158
  return MatAutocompleteConfigHolder;
1136
1159
  }());
1137
- var DEFAULT_VALUE_ACCESSOR = {
1160
+ var DEFAULT_VALUE_ACCESSOR$6 = {
1138
1161
  provide: i1.NG_VALUE_ACCESSOR,
1139
1162
  useExisting: i0.forwardRef(function () { return MatAutocompleteField; }),
1140
1163
  multi: true
1141
1164
  };
1142
- var noop = function () { };
1143
- var ɵ0 = noop;
1165
+ var noop$7 = function () { };
1166
+ var ɵ0$a = noop$7;
1144
1167
  var MatAutocompleteField = /** @class */ (function () {
1145
1168
  function MatAutocompleteField(cd, formGroupDir) {
1146
1169
  this.cd = cd;
1147
1170
  this.formGroupDir = formGroupDir;
1148
- this._onChangeCallback = noop;
1149
- this._onTouchedCallback = noop;
1171
+ this._onChangeCallback = noop$7;
1172
+ this._onTouchedCallback = noop$7;
1150
1173
  this._subscription = new rxjs.Subscription();
1151
1174
  this._filter$ = new rxjs.BehaviorSubject(undefined);
1152
1175
  this._reload$ = new rxjs.Subject();
@@ -1810,7 +1833,7 @@
1810
1833
  // eslint-disable-next-line @angular-eslint/component-selector
1811
1834
  selector: 'mat-autocomplete-field',
1812
1835
  template: "<ion-grid class=\"ion-no-padding\">\n <ion-row>\n <ion-col class=\"ion-no-padding\">\n <mat-form-field *ngIf=\"_readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n [title]=\"displayValue\"\n class=\"mat-form-field-disabled\">\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <!-- readonly -->\n <ng-container>\n <input matInput hidden type=\"text\"\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\" readonly>\n <ion-text>{{displayWith(value)}}</ion-text>\n </ng-container>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n\n </mat-form-field>\n\n <ng-template #writable>\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-disabled]=\"disabled\"\n [title]=\"displayValue\">\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <!-- Basic select -->\n <mat-select #matSelect\n *ngIf=\"!searchable; else searchableTemplate\"\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\"\n [tabindex]=\"_tabindex\"\n [panelClass]=\"classList\"\n [style.width]=\"panelWidth\"\n (focus)=\"filterMatSelectFocusEvent($event)\"\n (blur)=\"filterMatSelectBlurEvent($event)\"\n (keydown.escape)=\"onKeydownEscape.emit($event)\"\n [compareWith]=\"compareWith\"\n [multiple]=\"multiple\"\n [required]=\"required\">\n <mat-select-trigger>{{ displayWith(value) }}</mat-select-trigger>\n\n <!-- header -->\n <ion-row class=\"mat-autocomplete-header ion-no-padding\">\n <ion-col *ngFor=\"let attr of displayAttributes; index as i; last as isLast\" [size]=\"displayColumnSizes[i]\">\n <ion-label [innerHTML]=\"displayColumnNames[i] | translate\"></ion-label>\n </ion-col>\n </ion-row>\n\n <!-- None option -->\n <mat-option *ngIf=\"!required\" class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding\">\n <ion-col class=\"ion-no-padding\">\n <ion-label><i translate>COMMON.EMPTY_OPTION</i></ion-label>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <ng-container *ngIf=\"$filteredItems | async; let items\">\n <!-- No item option -->\n <mat-option *ngIf=\"items | isEmptyArray\" class=\"ion-padding text-italic\" disabled>\n <ion-label>{{noResultMessage | translate}}</ion-label>\n </mat-option>\n\n <!-- options -->\n <mat-option *ngFor=\"let item of items\" [value]=\"item\" class=\"ion-no-padding\">\n <ion-row [classList]=\"item.classList\">\n <ion-col *ngFor=\"let path of displayAttributes; index as i;\"\n [size]=\"displayColumnSizes[i]\">\n <ion-text>{{item | propertyGet: path }}</ion-text>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <!-- More item -->\n <mat-option *ngIf=\"_moreItemsCount\" (ngInit)=\"_initMatSelectInfiniteScroll()\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-container>\n </mat-select>\n\n\n <!--\n NOTE :\n - \"selectInputContent($event) || onFocus.emit($event)\" : call onFocus only when to the input is empty (nothing to select)\n -->\n <ng-template #searchableTemplate>\n <input matInput #matInputText type=\"text\"\n [matAutocomplete]=\"autocomplete\"\n [matAutocompletePosition]=\"matAutocompletePosition\"\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [appAutofocus]=\"autofocus\"\n [tabindex]=\"_tabindex\"\n [required]=\"required\"\n (click)=\"onClick.emit($event)\"\n (focus)=\"filterInputTextFocusInEvent($event)\"\n (blur)=\"filterInputTextBlurEvent($event)\"\n (keydown.escape)=\"onKeydownEscape.emit($event)\"\n (keyup.enter)=\"onKeyupEnter.emit($event)\"\n (keyup.arrowdown)=\"!autocomplete.opened && onDropButtonClick.emit($event)\">\n\n <!-- autocomplete -->\n <mat-autocomplete #autocomplete=\"matAutocomplete\"\n autoActiveFirstOption\n [displayWith]=\"displayWith\"\n [class]=\"classList\"\n [class.cdk-visually-hidden]=\"!searchable\"\n [panelWidth]=\"panelWidth\">\n\n <ion-row class=\"mat-autocomplete-header ion-no-padding\">\n <ion-col *ngFor=\"let attr of displayAttributes; index as i; last as last\" [size]=\"displayColumnSizes[i]\">\n <ion-label [innerHTML]=\"displayColumnNames[i] | translate\"></ion-label>\n <ion-text color=\"light\" *ngIf=\"last && itemCount; let count \" class=\"ion-float-end ion-padding-end\"><i>{{'COMMON.RESULT_COUNT'|translate: {count: count} }}</i></ion-text>\n </ion-col>\n </ion-row>\n\n <ng-container *ngIf=\"$filteredItems | async; else loadingTemplate; let items\">\n <!-- No item option -->\n <mat-option *ngIf=\"items | isEmptyArray\" class=\"ion-padding text-italic\" disabled>\n <ion-label>{{noResultMessage | translate}}</ion-label>\n </mat-option>\n\n <mat-option *ngFor=\"let item of items\" [value]=\"item\" class=\"ion-no-padding\">\n <ion-row [classList]=\"item.classList\">\n <ion-col *ngFor=\"let path of displayAttributes; index as i;\"\n [size]=\"displayColumnSizes[i]\">\n <ion-text [innerHTML]=\"item | propertyGet: path | highlight: { search: formControl.value, withAccent: highlightAccent }\"></ion-text>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <!-- More item -->\n <mat-option *ngIf=\"_moreItemsCount\" (ngInit)=\"_initAutocompleteInfiniteScroll()\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-container>\n\n <!-- Loading spinner -->\n <ng-template #loadingTemplate>\n <mat-option *ngIf=\"(matInputText.value | strLength) >= suggestLengthThreshold; else waitMoreCharacterTemplate\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-template>\n\n <!-- Need more characters -->\n <ng-template #waitMoreCharacterTemplate>\n <mat-option class=\"ion-padding text-italic\" disabled>\n <ion-label>\n {{'INFO.PLEASE_TYPE_MORE_CHARACTERS'|translate:{minLength: suggestLengthThreshold} }}\n </ion-label>\n </mat-option>\n </ng-template>\n </mat-autocomplete>\n\n </ng-template>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('entity')\" translate>ERROR.FIELD_INVALID</mat-error>\n <ng-content select=\"[matError]\"></ng-content>\n\n </mat-form-field>\n </ng-template>\n </ion-col>\n <ion-col size=\"auto\" class=\"ion-align-self-center\">\n <ng-content select=\"[matAfter]\"></ng-content>\n </ion-col>\n </ion-row>\n\n</ion-grid>\n\n<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n\n\n<ng-template #matSuffixTemplate>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"searchable\"\n (click)=\"onDropButtonClick.emit($event)\"\n [hidden]=\"disabled\">\n <mat-icon class=\"large select-arrow\">arrow_drop_down</mat-icon>\n </button>\n <button matSuffix type=\"button\" mat-icon-button tabindex=\"-1\"\n *ngIf=\"enabled && mobile && !searchable && !multiple\"\n [title]=\"'COMMON.BTN_SEARCH'|translate\"\n (click)=\"toggleSearch($event)\">\n <mat-icon>search</mat-icon>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clearValue($event)\"\n [hidden]=\"disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <ng-content select=\"[matSuffix]\"></ng-content>\n</ng-template>\n",
1813
- providers: [DEFAULT_VALUE_ACCESSOR],
1836
+ providers: [DEFAULT_VALUE_ACCESSOR$6],
1814
1837
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
1815
1838
  styles: [":host{display:inline-block;position:relative}:host.ion-text-wrap ion-label{white-space:normal!important}button[hidden]{display:none}mat-icon.select-arrow{color:rgba(0,0,0,.47);font-size:150%}.fact-scroll-viewport{height:100%;width:100%}.fact-item{height:54px;display:flex}.fact-item .fact-date{min-width:100px;text-align:center;font-size:24pt}.fact-item .fact-date,.fact-item .fact-text{height:100%;align-items:center;justify-content:center;display:flex}.fact-item .fact-text{border-radius:10px}cdk-virtual-scroll-viewport{border:1px solid #000}cdk-virtual-scroll-viewport li{list-style:none}"]
1816
1839
  },] }
@@ -1888,7 +1911,7 @@
1888
1911
  };
1889
1912
  return DateFormatPipe;
1890
1913
  }());
1891
- DateFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DateFormatPipe_Factory() { return new DateFormatPipe(i0.ɵɵinject(i1$1.MomentDateAdapter), i0.ɵɵinject(i1$2.TranslateService)); }, token: DateFormatPipe, providedIn: "root" });
1914
+ DateFormatPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function DateFormatPipe_Factory() { return new DateFormatPipe(i0__namespace.ɵɵinject(i1__namespace.MomentDateAdapter), i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: DateFormatPipe, providedIn: "root" });
1892
1915
  DateFormatPipe.decorators = [
1893
1916
  { type: i0.Pipe, args: [{
1894
1917
  name: 'dateFormat'
@@ -1900,7 +1923,7 @@
1900
1923
  { type: i1$2.TranslateService }
1901
1924
  ]; };
1902
1925
 
1903
- var moment = momentImported__namespace;
1926
+ var moment$6 = momentImported__namespace;
1904
1927
  var DateDiffDurationPipe = /** @class */ (function () {
1905
1928
  function DateDiffDurationPipe(dateAdapter, translate) {
1906
1929
  var _this = this;
@@ -1917,10 +1940,10 @@
1917
1940
  return this.format(startDate, endDate);
1918
1941
  };
1919
1942
  DateDiffDurationPipe.prototype.format = function (startDate, endDate) {
1920
- var duration = moment.duration(endDate.diff(startDate));
1943
+ var duration = moment$6.duration(endDate.diff(startDate));
1921
1944
  if (duration.asMinutes() < 0)
1922
1945
  return '';
1923
- var timeDuration = moment(0)
1946
+ var timeDuration = moment$6(0)
1924
1947
  .hour(duration.hours())
1925
1948
  .minute(duration.minutes());
1926
1949
  var days = Math.floor(duration.asDays());
@@ -1928,7 +1951,7 @@
1928
1951
  };
1929
1952
  return DateDiffDurationPipe;
1930
1953
  }());
1931
- DateDiffDurationPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DateDiffDurationPipe_Factory() { return new DateDiffDurationPipe(i0.ɵɵinject(i1$3.DateAdapter), i0.ɵɵinject(i1$2.TranslateService)); }, token: DateDiffDurationPipe, providedIn: "root" });
1954
+ DateDiffDurationPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function DateDiffDurationPipe_Factory() { return new DateDiffDurationPipe(i0__namespace.ɵɵinject(i1__namespace$2.DateAdapter), i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: DateDiffDurationPipe, providedIn: "root" });
1932
1955
  DateDiffDurationPipe.decorators = [
1933
1956
  { type: i0.Pipe, args: [{
1934
1957
  name: 'dateDiffDuration'
@@ -1950,7 +1973,7 @@
1950
1973
  };
1951
1974
  return DateFromNowPipe;
1952
1975
  }());
1953
- DateFromNowPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(i0.ɵɵinject(i1$1.MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
1976
+ DateFromNowPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(i0__namespace.ɵɵinject(i1__namespace.MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
1954
1977
  DateFromNowPipe.decorators = [
1955
1978
  { type: i0.Pipe, args: [{
1956
1979
  name: 'dateFromNow'
@@ -2019,7 +2042,7 @@
2019
2042
  value *= -1;
2020
2043
  }
2021
2044
  }
2022
- var degrees = roundFloat(value, opts.maxDecimals).toString();
2045
+ var degrees = roundFloat$1(value, opts.maxDecimals).toString();
2023
2046
  // Add sign
2024
2047
  var sign = negative ? '-' : '+';
2025
2048
  if (opts.placeholderChar) {
@@ -2070,7 +2093,7 @@
2070
2093
  }
2071
2094
  var degrees = Math.trunc(value);
2072
2095
  var minutes = Math.trunc((value - degrees) * 60);
2073
- var seconds = roundFloat(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
2096
+ var seconds = roundFloat$1(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
2074
2097
  while (seconds >= 60) {
2075
2098
  seconds -= 60;
2076
2099
  minutes += 1;
@@ -2138,7 +2161,7 @@
2138
2161
  }
2139
2162
  }
2140
2163
  var degrees = Math.trunc(value);
2141
- var minutes = roundFloat((value - degrees) * 60, opts.maxDecimals);
2164
+ var minutes = roundFloat$1((value - degrees) * 60, opts.maxDecimals);
2142
2165
  while (minutes >= 60) {
2143
2166
  minutes -= 60;
2144
2167
  degrees += 1;
@@ -2189,15 +2212,15 @@
2189
2212
  return NaN;
2190
2213
  }
2191
2214
  if (pattern === 'DD')
2192
- return roundFloat(degrees, maxDecimals);
2215
+ return roundFloat$1(degrees, maxDecimals);
2193
2216
  var minutes = (pattern === 'DDMMSS' || pattern === 'DDMM') && parts[1] && parseFloat(parts[1].replace(/,/g, '.')) || 0;
2194
2217
  var seconds = (pattern === 'DDMMSS') && parts[2] && parseFloat(parts[2].replace(/,/g, '.')) || 0;
2195
2218
  var direction = ((pattern === 'DDMMSS') && parts[3]) || ((pattern === 'DDMM') && parts[2]) || undefined;
2196
2219
  var sign = (direction && (direction === 's' || direction === 'S' || direction === 'w' || direction === 'W')) ? -1 : 1;
2197
2220
  degrees = sign * (degrees + minutes / 60 + seconds / (60 * 60));
2198
- return roundFloat(degrees, maxDecimals);
2221
+ return roundFloat$1(degrees, maxDecimals);
2199
2222
  }
2200
- function roundFloat(input, maxDecimals) {
2223
+ function roundFloat$1(input, maxDecimals) {
2201
2224
  if (maxDecimals > 0) {
2202
2225
  var powDecimal = Math.pow(10, maxDecimals);
2203
2226
  return Math.trunc(input * powDecimal + 0.5) / powDecimal;
@@ -2220,7 +2243,7 @@
2220
2243
  };
2221
2244
  return LatLongFormatPipe;
2222
2245
  }());
2223
- LatLongFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
2246
+ LatLongFormatPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
2224
2247
  LatLongFormatPipe.decorators = [
2225
2248
  { type: i0.Pipe, args: [{
2226
2249
  name: 'latLongFormat'
@@ -2233,7 +2256,7 @@
2233
2256
  }
2234
2257
  return LatitudeFormatPipe;
2235
2258
  }());
2236
- LatitudeFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
2259
+ LatitudeFormatPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
2237
2260
  LatitudeFormatPipe.decorators = [
2238
2261
  { type: i0.Pipe, args: [{
2239
2262
  name: 'latitudeFormat'
@@ -2246,7 +2269,7 @@
2246
2269
  }
2247
2270
  return LongitudeFormatPipe;
2248
2271
  }());
2249
- LongitudeFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
2272
+ LongitudeFormatPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
2250
2273
  LongitudeFormatPipe.decorators = [
2251
2274
  { type: i0.Pipe, args: [{
2252
2275
  name: 'longitudeFormat'
@@ -2269,7 +2292,7 @@
2269
2292
  };
2270
2293
  return NumberFormatPipe;
2271
2294
  }());
2272
- NumberFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
2295
+ NumberFormatPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
2273
2296
  NumberFormatPipe.decorators = [
2274
2297
  { type: i0.Pipe, args: [{
2275
2298
  name: 'numberFormat'
@@ -2312,7 +2335,7 @@
2312
2335
  };
2313
2336
  return HighlightPipe;
2314
2337
  }());
2315
- HighlightPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
2338
+ HighlightPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
2316
2339
  HighlightPipe.decorators = [
2317
2340
  { type: i0.Pipe, args: [{
2318
2341
  name: 'highlight'
@@ -2380,7 +2403,7 @@
2380
2403
  { type: i0.Pipe, args: [{ name: 'fileSize' },] }
2381
2404
  ];
2382
2405
 
2383
- var moment$1 = momentImported__namespace;
2406
+ var moment$5 = momentImported__namespace;
2384
2407
  var DATE_UNIX_TIMESTAMP = 'X';
2385
2408
  var DATE_UNIX_MS_TIMESTAMP = 'x';
2386
2409
  var DateUtils = /** @class */ (function () {
@@ -2415,32 +2438,32 @@
2415
2438
  if (!value || momentImported.isMoment(value))
2416
2439
  return value;
2417
2440
  // Parse the input value, as a ISO date time
2418
- var date = moment$1(value, DATE_ISO_PATTERN);
2441
+ var date = moment$5(value, DATE_ISO_PATTERN);
2419
2442
  if (date.isValid())
2420
2443
  return date;
2421
2444
  // Not valid: trying to convert from unix timestamp
2422
2445
  if (typeof value === 'string') {
2423
2446
  console.warn('Wrong date format - Trying to convert from local time: ' + value);
2424
2447
  if (value.length === 10) {
2425
- return moment$1(value, DATE_UNIX_TIMESTAMP);
2448
+ return moment$5(value, DATE_UNIX_TIMESTAMP);
2426
2449
  }
2427
2450
  else if (value.length === 13) {
2428
- return moment$1(value, DATE_UNIX_MS_TIMESTAMP);
2451
+ return moment$5(value, DATE_UNIX_MS_TIMESTAMP);
2429
2452
  }
2430
2453
  }
2431
2454
  console.warn('Unable to parse date: ' + value);
2432
2455
  return undefined;
2433
2456
  }
2434
2457
  function fromUnixTimestamp(timeInSec) {
2435
- return moment$1(timeInSec, DATE_UNIX_TIMESTAMP);
2458
+ return moment$5(timeInSec, DATE_UNIX_TIMESTAMP);
2436
2459
  }
2437
2460
  function fromUnixMsTimestamp(timeInMs) {
2438
- return moment$1(timeInMs, DATE_UNIX_MS_TIMESTAMP);
2461
+ return moment$5(timeInMs, DATE_UNIX_MS_TIMESTAMP);
2439
2462
  }
2440
2463
  function toDuration(value, unit) {
2441
2464
  if (!value)
2442
2465
  return undefined;
2443
- var duration = moment$1.duration(value, unit);
2466
+ var duration = moment$5.duration(value, unit);
2444
2467
  // fix 990+ ms
2445
2468
  if (duration.milliseconds() >= 990) {
2446
2469
  duration.add(1000 - duration.milliseconds(), 'ms');
@@ -2470,7 +2493,7 @@
2470
2493
  };
2471
2494
  return DurationPipe;
2472
2495
  }());
2473
- DurationPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(i0.ɵɵinject(i1$2.TranslateService)); }, token: DurationPipe, providedIn: "root" });
2496
+ DurationPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: DurationPipe, providedIn: "root" });
2474
2497
  DurationPipe.decorators = [
2475
2498
  { type: i0.Pipe, args: [{
2476
2499
  name: 'duration'
@@ -2494,7 +2517,7 @@
2494
2517
  };
2495
2518
  return MathAbsPipe;
2496
2519
  }());
2497
- MathAbsPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
2520
+ MathAbsPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
2498
2521
  MathAbsPipe.decorators = [
2499
2522
  { type: i0.Pipe, args: [{
2500
2523
  name: 'mathAbs'
@@ -2509,7 +2532,7 @@
2509
2532
  };
2510
2533
  return EvenPipe;
2511
2534
  }());
2512
- EvenPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
2535
+ EvenPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
2513
2536
  EvenPipe.decorators = [
2514
2537
  { type: i0.Pipe, args: [{
2515
2538
  name: 'even'
@@ -2524,7 +2547,7 @@
2524
2547
  };
2525
2548
  return OddPipe;
2526
2549
  }());
2527
- OddPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
2550
+ OddPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
2528
2551
  OddPipe.decorators = [
2529
2552
  { type: i0.Pipe, args: [{
2530
2553
  name: 'odd'
@@ -2656,7 +2679,7 @@
2656
2679
  };
2657
2680
  return MapGetPipe;
2658
2681
  }());
2659
- MapGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
2682
+ MapGetPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
2660
2683
  MapGetPipe.decorators = [
2661
2684
  { type: i0.Pipe, args: [{
2662
2685
  name: 'mapGet'
@@ -2673,7 +2696,7 @@
2673
2696
  };
2674
2697
  return MapKeysPipe;
2675
2698
  }());
2676
- MapKeysPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
2699
+ MapKeysPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
2677
2700
  MapKeysPipe.decorators = [
2678
2701
  { type: i0.Pipe, args: [{
2679
2702
  name: 'mapKeys'
@@ -2690,7 +2713,7 @@
2690
2713
  };
2691
2714
  return MapValuesPipe;
2692
2715
  }());
2693
- MapValuesPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
2716
+ MapValuesPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
2694
2717
  MapValuesPipe.decorators = [
2695
2718
  { type: i0.Pipe, args: [{
2696
2719
  name: 'mapValues'
@@ -2706,7 +2729,7 @@
2706
2729
  };
2707
2730
  return IsNotNilOrBlankPipe;
2708
2731
  }());
2709
- IsNotNilOrBlankPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
2732
+ IsNotNilOrBlankPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
2710
2733
  IsNotNilOrBlankPipe.decorators = [
2711
2734
  { type: i0.Pipe, args: [{
2712
2735
  name: 'isNotNilOrBlank'
@@ -2721,7 +2744,7 @@
2721
2744
  };
2722
2745
  return IsNilOrBlankPipe;
2723
2746
  }());
2724
- IsNilOrBlankPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
2747
+ IsNilOrBlankPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
2725
2748
  IsNilOrBlankPipe.decorators = [
2726
2749
  { type: i0.Pipe, args: [{
2727
2750
  name: 'isNilOrBlank'
@@ -2736,7 +2759,7 @@
2736
2759
  };
2737
2760
  return ToStringPipe;
2738
2761
  }());
2739
- ToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
2762
+ ToStringPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
2740
2763
  ToStringPipe.decorators = [
2741
2764
  { type: i0.Pipe, args: [{
2742
2765
  name: 'toString'
@@ -2751,7 +2774,7 @@
2751
2774
  };
2752
2775
  return StrLengthPipe;
2753
2776
  }());
2754
- StrLengthPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
2777
+ StrLengthPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
2755
2778
  StrLengthPipe.decorators = [
2756
2779
  { type: i0.Pipe, args: [{
2757
2780
  name: 'strLength'
@@ -2804,7 +2827,7 @@
2804
2827
  };
2805
2828
  return TranslateContextService;
2806
2829
  }());
2807
- TranslateContextService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(i0.ɵɵinject(i1$2.TranslateService)); }, token: TranslateContextService, providedIn: "root" });
2830
+ TranslateContextService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: TranslateContextService, providedIn: "root" });
2808
2831
  TranslateContextService.decorators = [
2809
2832
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
2810
2833
  ];
@@ -2821,7 +2844,7 @@
2821
2844
  };
2822
2845
  return TranslateContextPipe;
2823
2846
  }());
2824
- TranslateContextPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslateContextPipe_Factory() { return new TranslateContextPipe(i0.ɵɵinject(TranslateContextService)); }, token: TranslateContextPipe, providedIn: "root" });
2847
+ TranslateContextPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function TranslateContextPipe_Factory() { return new TranslateContextPipe(i0__namespace.ɵɵinject(TranslateContextService)); }, token: TranslateContextPipe, providedIn: "root" });
2825
2848
  TranslateContextPipe.decorators = [
2826
2849
  { type: i0.Pipe, args: [{
2827
2850
  name: 'translateContext'
@@ -2841,7 +2864,7 @@
2841
2864
  };
2842
2865
  return TranslatablePipe;
2843
2866
  }());
2844
- TranslatablePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslatablePipe_Factory() { return new TranslatablePipe(); }, token: TranslatablePipe, providedIn: "root" });
2867
+ TranslatablePipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function TranslatablePipe_Factory() { return new TranslatablePipe(); }, token: TranslatablePipe, providedIn: "root" });
2845
2868
  TranslatablePipe.decorators = [
2846
2869
  { type: i0.Pipe, args: [{
2847
2870
  name: 'translatable'
@@ -2861,7 +2884,7 @@
2861
2884
  };
2862
2885
  return PropertyGetPipe;
2863
2886
  }());
2864
- PropertyGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
2887
+ PropertyGetPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
2865
2888
  PropertyGetPipe.decorators = [
2866
2889
  { type: i0.Pipe, args: [{
2867
2890
  name: 'propertyGet'
@@ -2887,14 +2910,14 @@
2887
2910
  ngInit: [{ type: i0.Output }]
2888
2911
  };
2889
2912
 
2890
- var moment$2 = momentImported__namespace;
2913
+ var moment$4 = momentImported__namespace;
2891
2914
  // @dynamic
2892
2915
  var SharedValidators = /** @class */ (function () {
2893
2916
  function SharedValidators() {
2894
2917
  }
2895
2918
  SharedValidators.validDate = function (control) {
2896
2919
  var value = control.value;
2897
- var date = !value || moment$2.isMoment(value) ? value : moment$2(control.value, DATE_ISO_PATTERN);
2920
+ var date = !value || moment$4.isMoment(value) ? value : moment$4(control.value, DATE_ISO_PATTERN);
2898
2921
  if (date && (!date.isValid() || date.year() < 1970)) {
2899
2922
  return { validDate: true };
2900
2923
  }
@@ -3105,23 +3128,22 @@
3105
3128
  };
3106
3129
  };
3107
3130
  SharedFormGroupValidators.dateMaxDuration = function (startDateField, endDateField, maxDuration, durationUnit) {
3131
+ var maxDurationError = { dateMaxDuration: true };
3108
3132
  return function (group) {
3109
- var endField = group.get(endDateField);
3110
3133
  var startDate = fromDateISOString(group.get(startDateField).value);
3134
+ var endField = group.get(endDateField);
3111
3135
  var endDate = fromDateISOString(endField.value);
3112
3136
  if (isNotNil(startDate) && isNotNil(endDate) && Math.abs(startDate.diff(endDate, durationUnit)) > maxDuration) {
3137
+ console.log('TODO error !');
3113
3138
  // Update end field
3114
- var endFieldErrors = endField.errors || {};
3115
- endFieldErrors['dateMaxDuration'] = true;
3116
- endField.setErrors(endFieldErrors);
3117
3139
  endField.markAsTouched({ onlySelf: true });
3140
+ endField.markAsPending();
3141
+ endField.setErrors(Object.assign(Object.assign({}, endField.errors), maxDurationError));
3118
3142
  // Return the error (should be apply to the parent form)
3119
- return { dateMaxDuration: true };
3143
+ return maxDurationError;
3120
3144
  }
3121
3145
  // OK: remove the existing on the end field
3122
- else {
3123
- SharedValidators.clearError(endField, 'dateMaxDuration');
3124
- }
3146
+ SharedValidators.clearError(endField, 'dateMaxDuration');
3125
3147
  return null;
3126
3148
  };
3127
3149
  };
@@ -3996,8 +4018,8 @@
3996
4018
  }, "");
3997
4019
  };
3998
4020
  FormErrorAdapter.prototype.translateControlPath = function (path, opts) {
3999
- if (opts === null || opts === void 0 ? void 0 : opts.pathTranslateService) {
4000
- return opts === null || opts === void 0 ? void 0 : opts.pathTranslateService.translateControlPath(path);
4021
+ if (opts === null || opts === void 0 ? void 0 : opts.controlPathTranslator) {
4022
+ return opts === null || opts === void 0 ? void 0 : opts.controlPathTranslator.translateControlPath(path);
4001
4023
  }
4002
4024
  var i18nKey = (opts && opts.i18nPrefix || '') + changeCaseToUnderscore(path).toUpperCase();
4003
4025
  return this.translate.instant(i18nKey);
@@ -4021,7 +4043,7 @@
4021
4043
  };
4022
4044
  return FormErrorAdapter;
4023
4045
  }());
4024
- FormErrorAdapter.ɵprov = i0.ɵɵdefineInjectable({ factory: function FormErrorAdapter_Factory() { return new FormErrorAdapter(i0.ɵɵinject(i1$2.TranslateService), i0.ɵɵinject(APP_FORM_ERROR_I18N_KEYS, 8)); }, token: FormErrorAdapter, providedIn: "root" });
4046
+ FormErrorAdapter.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function FormErrorAdapter_Factory() { return new FormErrorAdapter(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService), i0__namespace.ɵɵinject(APP_FORM_ERROR_I18N_KEYS, 8)); }, token: FormErrorAdapter, providedIn: "root" });
4025
4047
  FormErrorAdapter.decorators = [
4026
4048
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
4027
4049
  ];
@@ -4303,9 +4325,9 @@
4303
4325
  var hour = parseInt(durationParts[0] || '0');
4304
4326
  var minute = parseInt(durationParts[1] || '0');
4305
4327
  var value = hour + (minute + 0.5) / 60;
4306
- return roundFloat$1(value, maxDecimals);
4328
+ return roundFloat(value, maxDecimals);
4307
4329
  }
4308
- function roundFloat$1(input, maxDecimals) {
4330
+ function roundFloat(input, maxDecimals) {
4309
4331
  if (maxDecimals > 0) {
4310
4332
  var powDecimal = Math.pow(10, maxDecimals);
4311
4333
  return Math.trunc(input * powDecimal + 0.5) / powDecimal;
@@ -4329,9 +4351,9 @@
4329
4351
  DD: [/[+-]/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '°']
4330
4352
  }
4331
4353
  };
4332
- var noop$1 = function () {
4354
+ var noop$6 = function () {
4333
4355
  };
4334
- var ɵ0$1 = noop$1;
4356
+ var ɵ0$9 = noop$6;
4335
4357
  var MatLatLongField = /** @class */ (function () {
4336
4358
  function MatLatLongField(platform, translate, formBuilder, cd, formGroupDir) {
4337
4359
  this.platform = platform;
@@ -4339,8 +4361,8 @@
4339
4361
  this.formBuilder = formBuilder;
4340
4362
  this.cd = cd;
4341
4363
  this.formGroupDir = formGroupDir;
4342
- this._onChangeCallback = noop$1;
4343
- this._onTouchedCallback = noop$1;
4364
+ this._onChangeCallback = noop$6;
4365
+ this._onTouchedCallback = noop$6;
4344
4366
  this._subscription = new rxjs.Subscription();
4345
4367
  this.disabling = false;
4346
4368
  this.writing = false;
@@ -4691,14 +4713,14 @@
4691
4713
  },] }
4692
4714
  ];
4693
4715
 
4694
- var DEFAULT_VALUE_ACCESSOR$1 = {
4716
+ var DEFAULT_VALUE_ACCESSOR$5 = {
4695
4717
  provide: i1.NG_VALUE_ACCESSOR,
4696
4718
  useExisting: i0.forwardRef(function () { return MatDate; }),
4697
4719
  multi: true
4698
4720
  };
4699
- var DAY_MASK = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
4700
- var noop$2 = function () { };
4701
- var ɵ0$2 = noop$2;
4721
+ var DAY_MASK$2 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
4722
+ var noop$5 = function () { };
4723
+ var ɵ0$8 = noop$5;
4702
4724
  var MatDate = /** @class */ (function () {
4703
4725
  function MatDate(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
4704
4726
  this.dateAdapter = dateAdapter;
@@ -4707,12 +4729,12 @@
4707
4729
  this.cd = cd;
4708
4730
  this.keyboard = keyboard;
4709
4731
  this.formGroupDir = formGroupDir;
4710
- this._onChangeCallback = noop$2;
4711
- this._onTouchedCallback = noop$2;
4732
+ this._onChangeCallback = noop$5;
4733
+ this._onTouchedCallback = noop$5;
4712
4734
  this._subscription = new rxjs.Subscription();
4713
4735
  this.writing = true;
4714
4736
  this.disabling = false;
4715
- this.dayMask = DAY_MASK;
4737
+ this.dayMask = DAY_MASK$2;
4716
4738
  this.disabled = false;
4717
4739
  this.floatLabel = 'auto';
4718
4740
  this.readonly = false;
@@ -4981,7 +5003,7 @@
4981
5003
  selector: 'mat-date-field',
4982
5004
  template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly else writable\">\n <input matInput hidden type=\"text\" readonly=\"true\" [formControl]=\"formControl\">\n <ion-text>{{formControl.value|dateFormat: {pattern: displayPattern} }}</ion-text>\n</mat-form-field>\n\n<ng-template #writable>\n <mat-form-field [floatLabel]=\"floatLabel\">\n\n <mat-label>{{placeholder}}</mat-label>\n\n <div matPrefix><ng-content select=\"[matPrefix]\"></ng-content></div>\n\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"dayControl\"\n [textMask]=\"{mask: dayMask, keepCharPositions: true, placeholderChar: placeholderChar}\"\n [placeholder]=\"'COMMON.DATE_PLACEHOLDER'|translate\"\n (blur)=\"checkIfTouched()\"\n (keyup.arrowdown)=\"openDatePicker($event, datePicker)\"\n (keyup.escape)=\"preventEvent($event)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [appAutofocus]=\"autofocus\">\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"dayControl\"\n (click)=\"openDatePickerIfMobile($event, datePicker)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n readonly>\n\n <!-- Hide the final control -->\n <input matInput type=\"text\"\n [formControl]=\"formControl\"\n hidden\n [matDatepicker]=\"datePicker\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n (click)=\"openDatePicker($event, datePicker)\"\n [disabled]=\"formControl.disabled\">\n <div *ngIf=\"mobile; then iconDate; else iconDesktop\"></div>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"writeValue(null)\"\n [hidden]=\"formControl.disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('validDate')\" translate>ERROR.FIELD_NOT_VALID_DATE</mat-error>\n <mat-error *ngIf=\"formControl.hasError('dateIsAfter')\">{{'ERROR.FIELD_NOT_VALID_DATE_AFTER' | translate: formControl.errors.dateIsAfter }}</mat-error>\n <mat-error *ngIf=\"formControl.hasError('dateRange')\" translate>ERROR.FIELD_NOT_VALID_DATE_RANGE</mat-error>\n <mat-error *ngIf=\"!formControl.hasError('dateRange') && formControl.hasError('dateMaxDuration')\" translate>ERROR.FIELD_NOT_VALID_DATE_MAX_DURATION</mat-error>\n <mat-error *ngIf=\"!formControl.hasError('dateRange') && formControl.hasError('dateMinDuration')\" translate>ERROR.FIELD_NOT_VALID_DATE_MIN_DURATION</mat-error>\n <mat-error *ngIf=\"formControl.hasError('msg')\">{{formControl.errors.msg}}</mat-error>\n </mat-form-field>\n\n <mat-datepicker #datePicker\n [touchUi]=\"mobile\"\n [disabled]=\"formControl.disabled\"\n [startAt]=\"startDate\"></mat-datepicker>\n\n <ng-template #iconDesktop>\n <mat-icon>keyboard_arrow_down</mat-icon>\n </ng-template>\n\n <ng-template #iconDate>\n <mat-icon>date_range</mat-icon>\n </ng-template>\n\n</ng-template>\n\n",
4983
5005
  providers: [
4984
- DEFAULT_VALUE_ACCESSOR$1,
5006
+ DEFAULT_VALUE_ACCESSOR$5,
4985
5007
  ],
4986
5008
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
4987
5009
  styles: [":host{display:inline-block;width:100%;position:relative}:host [no-padding]{--ion-grid-column-padding:0}:host [nowrap]{flex-wrap:nowrap}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}mat-form-field .datetime-md,mat-form-field ion-datetime{padding:0!important}ion-col.day{min-width:100px}ion-col.day .mat-form-field-subscript-wrapper{overflow:visible;right:-64px;width:calc(100% + 64px)}ion-col.day .mat-form-field-subscript-wrapper .mat-form-field-hint-wrapper{display:flex}ion-col.day .mat-form-field-subscript-wrapper .mat-form-field-hint-wrapper .mat-form-field-hint-spacer{flex:1 0 1em}ion-col.hour{min-width:55px;max-width:65px}ion-col.hour mat-form-field{width:100%}ion-col.hour mat-form-field input[type=text],ion-col.hour mat-form-field mat-label{text-align:left;min-width:50px}mat-form-field.mat-form-field-disabled ion-col.day{min-width:100px}.hour .mat-form-field-label{max-width:40px}.hour mat-form-field.mat-form-field-should-float .mat-form-field-placeholder{max-width:inherit}mat-error{text-align:right;width:100%}"]
@@ -5014,17 +5036,17 @@
5014
5036
  matInputs: [{ type: i0.ViewChildren, args: ['matInput',] }]
5015
5037
  };
5016
5038
 
5017
- var DEFAULT_VALUE_ACCESSOR$2 = {
5039
+ var DEFAULT_VALUE_ACCESSOR$4 = {
5018
5040
  provide: i1.NG_VALUE_ACCESSOR,
5019
5041
  useExisting: i0.forwardRef(function () { return MatDateTime; }),
5020
5042
  multi: true
5021
5043
  };
5022
5044
  var DAY_MASK$1 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
5023
5045
  var HOUR_REGEXP = /^[012][0-9][:][012345][0-9]$/;
5024
- var HOUR_MASK = [/[012]/, /\d/, ':', /[012345]/, /\d/];
5025
- var noop$3 = function () {
5046
+ var HOUR_MASK$1 = [/[012]/, /\d/, ':', /[012345]/, /\d/];
5047
+ var noop$4 = function () {
5026
5048
  };
5027
- var ɵ0$3 = noop$3;
5049
+ var ɵ0$7 = noop$4;
5028
5050
  var MatDateTime = /** @class */ (function () {
5029
5051
  function MatDateTime(platform, dateAdapter, translate, formBuilder, keyboard, cd, formGroupDir) {
5030
5052
  this.platform = platform;
@@ -5034,14 +5056,14 @@
5034
5056
  this.keyboard = keyboard;
5035
5057
  this.cd = cd;
5036
5058
  this.formGroupDir = formGroupDir;
5037
- this._onChangeCallback = noop$3;
5038
- this._onTouchedCallback = noop$3;
5059
+ this._onChangeCallback = noop$4;
5060
+ this._onTouchedCallback = noop$4;
5039
5061
  this._subscription = new rxjs.Subscription();
5040
5062
  this.writing = true;
5041
5063
  this.disabling = false;
5042
5064
  this._readonly = false;
5043
5065
  this.dayMask = DAY_MASK$1;
5044
- this.hourMask = HOUR_MASK;
5066
+ this.hourMask = HOUR_MASK$1;
5045
5067
  this.floatLabel = 'auto';
5046
5068
  this.compact = false;
5047
5069
  this.placeholderChar = DEFAULT_PLACEHOLDER_CHAR;
@@ -5397,7 +5419,7 @@
5397
5419
  selector: 'mat-date-time-field',
5398
5420
  template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled\">\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <input matInput hidden type=\"text\"\n readonly\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <ion-text>{{formControl.value|dateFormat: {pattern: displayPattern} }}</ion-text>\n</mat-form-field>\n\n<!-- writable + time -->\n<ng-template #writable >\n <ion-grid class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding no-wrap\" nowrap>\n\n <!-- day -->\n <ion-col class=\"day ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-invalid]=\"formControl.touched && formControl.invalid\">\n\n <mat-label>{{placeholder}}</mat-label>\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"dateFormControl\"\n [textMask]=\"{mask: dayMask, keepCharPositions: true, placeholderChar: placeholderChar}\"\n [placeholder]=\"'COMMON.DATE_PLACEHOLDER'|translate\"\n (blur)=\"checkIfTouched()\"\n (keyup.arrowdown)=\"openDatePicker($event, datePicker)\"\n (keyup.escape)=\"preventEvent($event)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [appAutofocus]=\"autofocus\">\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"dateFormControl\"\n (click)=\"openDatePickerIfMobile($event, datePicker)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n readonly>\n <input matInput type=\"text\" [formControl]=\"formControl\"\n hidden\n [matDatepicker]=\"datePicker\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n <button type=\"button\" mat-icon-button tabindex=\"-1\" matSuffix #datePickerButton2 (click)=\"openDatePicker($event, datePicker)\" [disabled]=\"formControl.disabled\">\n <div *ngIf=\"mobile; then iconDate; else iconDesktop\"></div>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clear()\"\n [hidden]=\"formControl.disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-datepicker #datePicker\n [touchUi]=\"mobile\"\n [disabled]=\"formControl.disabled\"\n [startAt]=\"startDate\"></mat-datepicker>\n <div class=\"mat-form-field-subscript mat-form-field-subscript-wrapper\" >\n <!-- errors -->\n <ng-container [ngSwitch]=\"formControl.touched && formControl.errors|mapKeys|arrayFirst\">\n <mat-error *ngSwitchCase=\"'required'\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngSwitchCase=\"'validDate'\" translate>ERROR.FIELD_NOT_VALID_DATE_TIME</mat-error>\n <mat-error *ngSwitchCase=\"'dateIsAfter'\">{{'ERROR.FIELD_NOT_VALID_DATE_AFTER' | translate: formControl.errors.dateIsAfter }}</mat-error>\n <mat-error *ngSwitchCase=\"'dateRange'\" translate>ERROR.FIELD_NOT_VALID_DATE_RANGE</mat-error>\n <mat-error *ngSwitchCase=\"'dateMaxDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MAX_DURATION</mat-error>\n <mat-error *ngSwitchCase=\"'dateMinDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MIN_DURATION</mat-error>\n <mat-error *ngSwitchCase=\"'msg'\">{{(formControl.errors.msg?.key || formControl.errors.msg) | translate: formControl.errors.msg?.params}}</mat-error>\n </ng-container>\n <ng-content select=\"mat-error\"></ng-content>\n\n <!-- mat hint -->\n <div class=\"mat-form-field-hint-wrapper\" [class.cdk-visually-hidden]=\"formControl.invalid\">\n <div class=\"mat-form-field-hint-spacer\"></div>\n <ng-content select=\"mat-hint\"></ng-content>\n </div>\n </div>\n\n </ion-col>\n\n <!-- hour -->\n <ion-col class=\"hour ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-invalid]=\"formControl.touched && (timeFormControl.invalid || formControl.invalid)\">\n <mat-label *ngIf=\"placeholder && floatLabel != 'never'\" translate>COMMON.TIME</mat-label>\n <input matInput #matInput type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"timeFormControl\"\n autocomplete=\"off\"\n min=\"0\" max=\"23\"\n [textMask]=\"{mask: hourMask, keepCharPositions: true, placeholderChar: placeholderChar, guide: true}\"\n [placeholder]=\"'COMMON.TIME_PLACEHOLDER'|translate\"\n [required]=\"required\"\n (keyup.arrowdown)=\"openTimePicker($event)\"\n (keyup.escape)=\"preventEvent($event)\"\n (blur)=\"checkIfTouched()\"\n [tabindex]=\"tabindex !== undefined ? tabindex+1 : undefined\">\n\n <input matInput #matInput type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"timeFormControl\"\n (click)=\"openTimePickerIfMobile($event)\"\n readonly>\n\n <input matInput type=\"text\"\n [formControl]=\"timeFormControl\"\n hidden\n [ngxTimepicker]=\"timePicker\"\n [format]=\"24\">\n\n <button matSuffix type=\"button\" mat-icon-button\n tabindex=\"-1\"\n *ngIf=\"!compact && !mobile\"\n [disabled]=\"formControl.disabled\"\n (click)=\"openTimePicker($event)\" >\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n <button matSuffix type=\"button\" mat-icon-button\n tabindex=\"-1\"\n *ngIf=\"!compact && mobile\"\n [disabled]=\"formControl.disabled\"\n (click)=\"openTimePickerIfMobile($event)\">\n <mat-icon>access_time</mat-icon>\n </button>\n\n <ngx-material-timepicker #timePicker [@.disabled]=\"true\"\n (timeSet)=\"onTimePickerChange($event)\"\n [ESC]=\"!mobile\"\n [defaultTime]=\"'00:00'\"\n [cancelBtnTmpl]=\"timePickerCancelButton\"\n [confirmBtnTmpl]=\"timePickerOkButton\"\n [preventOverlayClick]=\"mobile\"\n [enableKeyboardInput]=\"false\"\n [disableAnimation]=\"true\">\n <!-- cancel button -->\n <ng-template #timePickerCancelButton>\n <ion-button fill=\"clear\" color=\"dark\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n </ng-template>\n\n <!-- confirm button -->\n <ng-template #timePickerOkButton>\n <ion-button fill=\"solid\" color=\"tertiary\">\n <ion-label translate>COMMON.BTN_VALIDATE</ion-label>\n </ion-button>\n </ng-template>\n\n </ngx-material-timepicker>\n </mat-form-field>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n\n</ng-template>\n\n<ng-template #iconDesktop>\n <mat-icon>keyboard_arrow_down</mat-icon>\n</ng-template>\n\n<ng-template #iconDate>\n <mat-icon>date_range</mat-icon>\n</ng-template>\n\n<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n",
5399
5421
  providers: [
5400
- DEFAULT_VALUE_ACCESSOR$2,
5422
+ DEFAULT_VALUE_ACCESSOR$4,
5401
5423
  ],
5402
5424
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
5403
5425
  styles: [":host{display:inline-block;width:100%;position:relative;--ion-grid-column-padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}mat-form-field .datetime-md{padding:0!important}ion-row.no-wrap{flex-wrap:nowrap}ion-col.day{min-width:100px}ion-col.day .mat-form-field-subscript-wrapper{overflow:visible;right:-64px;width:calc(100% + 64px)}ion-col.day .mat-form-field-subscript-wrapper .mat-form-field-hint-wrapper{display:flex}ion-col.day .mat-form-field-subscript-wrapper .mat-form-field-hint-wrapper .mat-form-field-hint-spacer{flex:1 0 1em}ion-col.hour{min-width:55px;max-width:65px}ion-col.hour mat-form-field{width:100%}ion-col.hour mat-form-field input[type=text],ion-col.hour mat-form-field mat-label{text-align:left;min-width:50px}mat-form-field.mat-form-field-disabled ion-col.day{min-width:100px}.hour .mat-form-field-label{max-width:40px}.hour mat-form-field.mat-form-field-should-float .mat-form-field-placeholder{max-width:inherit}mat-error{text-align:right;width:100%}"]
@@ -5436,10 +5458,10 @@
5436
5458
  useExisting: i0.forwardRef(function () { return MatDateShort; }),
5437
5459
  multi: true
5438
5460
  };
5439
- var DAY_MASK$2 = [/\d/, /\d/, /\d/, /\d/];
5440
- var noop$4 = function () {
5461
+ var DAY_MASK = [/\d/, /\d/, /\d/, /\d/];
5462
+ var noop$3 = function () {
5441
5463
  };
5442
- var ɵ0$4 = noop$4;
5464
+ var ɵ0$6 = noop$3;
5443
5465
  var MatDateShort = /** @class */ (function () {
5444
5466
  function MatDateShort(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
5445
5467
  this.dateAdapter = dateAdapter;
@@ -5448,11 +5470,11 @@
5448
5470
  this.cd = cd;
5449
5471
  this.keyboard = keyboard;
5450
5472
  this.formGroupDir = formGroupDir;
5451
- this._onChangeCallback = noop$4;
5452
- this._onTouchedCallback = noop$4;
5473
+ this._onChangeCallback = noop$3;
5474
+ this._onTouchedCallback = noop$3;
5453
5475
  this.writing = true;
5454
5476
  this.disabling = false;
5455
- this.dayMask = DAY_MASK$2;
5477
+ this.dayMask = DAY_MASK;
5456
5478
  this.disabled = false;
5457
5479
  this.floatLabel = 'auto';
5458
5480
  this.readonly = false;
@@ -5800,16 +5822,16 @@
5800
5822
  },] }
5801
5823
  ];
5802
5824
 
5803
- var DEFAULT_VALUE_ACCESSOR$4 = {
5825
+ var DEFAULT_VALUE_ACCESSOR$2 = {
5804
5826
  provide: i1.NG_VALUE_ACCESSOR,
5805
5827
  useExisting: i0.forwardRef(function () { return MatDuration; }),
5806
5828
  multi: true
5807
5829
  };
5808
5830
  var HOUR_TIME_PATTERN = /[0-9]\d\d:[0-5]\d/;
5809
- var HOUR_MASK$1 = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
5810
- var noop$5 = function () {
5831
+ var HOUR_MASK = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
5832
+ var noop$2 = function () {
5811
5833
  };
5812
- var ɵ0$5 = noop$5;
5834
+ var ɵ0$5 = noop$2;
5813
5835
  var MatDuration = /** @class */ (function () {
5814
5836
  function MatDuration(platform, dateAdapter, translate, formBuilder, cd, formGroupDir) {
5815
5837
  this.dateAdapter = dateAdapter;
@@ -5818,11 +5840,11 @@
5818
5840
  this.cd = cd;
5819
5841
  this.formGroupDir = formGroupDir;
5820
5842
  this._subscription = new rxjs.Subscription();
5821
- this._onChangeCallback = noop$5;
5822
- this._onTouchedCallback = noop$5;
5843
+ this._onChangeCallback = noop$2;
5844
+ this._onTouchedCallback = noop$2;
5823
5845
  this.writing = true;
5824
5846
  this.disabling = false;
5825
- this.hourMask = HOUR_MASK$1;
5847
+ this.hourMask = HOUR_MASK;
5826
5848
  this.disabled = false;
5827
5849
  this.floatLabel = 'auto';
5828
5850
  this.readonly = false;
@@ -6015,7 +6037,7 @@
6015
6037
  selector: 'mat-duration-field',
6016
6038
  template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly else writable\">\n <input matInput hidden type=\"text\" readonly=\"true\" [formControl]=\"formControl\">\n <ion-text>{{ formControl.value|duration }}</ion-text>\n</mat-form-field>\n\n<!-- writable -->\n<ng-template #writable>\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-disabled]=\"formControl.disabled\"\n [class.mat-form-field-invalid]=\"formControl.touched && formControl.invalid\">\n <mat-label *ngIf=\"placeholder && floatLabel != 'never'\" translate>COMMON.TIME</mat-label>\n\n <div matPrefix><ng-content select=\"[matPrefix]\"></ng-content></div>\n\n <input matInput #matInput type=\"text\"\n autocomplete=\"off\"\n [formControl]=\"textControl\"\n [textMask]=\"{mask: hourMask, keepCharPositions: true, placeholderChar: placeholderChar, guide: true}\"\n [placeholder]=\"'COMMON.DURATION_PLACEHOLDER'|translate\"\n [required]=\"required\"\n (keydown.tab)=\"moveCaretToSeparator($event, true)\"\n (keydown.shift.tab)=\"moveCaretToSeparator($event, false)\"\n (keyup.escape)=\"preventEvent($event)\"\n (blur)=\"checkIfTouched()\"\n [tabindex]=\"tabindex !== undefined ? tabindex+1 : undefined\">\n\n\n <!-- errors -->\n <mat-error *ngIf=\"!formControl.hasError('required') && textControl.hasError('pattern')\" translate>ERROR.FIELD_NOT_VALID_PATTERN</mat-error>\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('min')\">\n {{(compact ? 'ERROR.FIELD_MIN_COMPACT' : 'ERROR.FIELD_MIN') | translate:formControl.errors.min }}</mat-error>\n <mat-error *ngIf=\"formControl.hasError('max')\">\n {{(compact ? 'ERROR.FIELD_MAX_COMPACT' : 'ERROR.FIELD_MAX') | translate:formControl.errors.max }}</mat-error>\n\n <ng-content select=\"mat-error\"></ng-content>\n </mat-form-field>\n</ng-template>\n\n",
6017
6039
  providers: [
6018
- DEFAULT_VALUE_ACCESSOR$4,
6040
+ DEFAULT_VALUE_ACCESSOR$2,
6019
6041
  ],
6020
6042
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
6021
6043
  styles: [":host{display:inline-block;min-width:140px;position:relative;--ion-grid-column-padding:0}:host,mat-form-field{width:100%}mat-form-field .mat-form-field-subscript-wrapper{overflow:visible;top:100%}mat-form-field .mat-form-field-subscript-wrapper .mat-form-field-hint-wrapper{display:flex}mat-form-field .mat-form-field-subscript-wrapper .mat-form-field-hint-wrapper .mat-form-field-hint-spacer{flex:1 0 1em}mat-error{text-align:right;width:100%}"]
@@ -6075,22 +6097,22 @@
6075
6097
  },] }
6076
6098
  ];
6077
6099
 
6078
- var DEFAULT_VALUE_ACCESSOR$5 = {
6100
+ var DEFAULT_VALUE_ACCESSOR$1 = {
6079
6101
  provide: i1.NG_VALUE_ACCESSOR,
6080
6102
  useExisting: i0.forwardRef(function () { return MatBooleanField; }),
6081
6103
  multi: true
6082
6104
  };
6083
- var noop$6 = function () {
6105
+ var noop$1 = function () {
6084
6106
  };
6085
- var ɵ0$6 = noop$6;
6107
+ var ɵ0$4 = noop$1;
6086
6108
  var MatBooleanField = /** @class */ (function () {
6087
6109
  function MatBooleanField(translate, formBuilder, cd, formGroupDir) {
6088
6110
  this.translate = translate;
6089
6111
  this.formBuilder = formBuilder;
6090
6112
  this.cd = cd;
6091
6113
  this.formGroupDir = formGroupDir;
6092
- this._onChangeCallback = noop$6;
6093
- this._onTouchedCallback = noop$6;
6114
+ this._onChangeCallback = noop$1;
6115
+ this._onTouchedCallback = noop$1;
6094
6116
  this._writing = false;
6095
6117
  this.showRadio = false;
6096
6118
  this.disabled = false;
@@ -6276,7 +6298,7 @@
6276
6298
  selector: 'mat-boolean-field',
6277
6299
  template: "<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled {{classList}}\">\n <input matInput hidden type=\"text\" readonly\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <ion-text>{{(formControl.value == null && 'COMMON.EMPTY_OPTION' || (formControl.value === true && yesLabel) || noLabel) | translate }}</ion-text>\n</mat-form-field>\n\n<ng-template #writable>\n <ng-container [ngSwitch]=\"style\">\n\n <!-- Radio -->\n <mat-form-field *ngSwitchCase=\"'radio'\"\n [floatLabel]=\"showRadio && (!floatLabel || floatLabel === 'auto') ? 'always': floatLabel\"\n class=\"mat-boolean-field mat-boolean-field-radio {{classList}}\">\n <mat-label *ngIf=\"placeholder && floatLabel!=='never'\">\n {{placeholder}}\n <span [hidden]=\"showRadio\">({{yesLabel|translate}}/{{'COMMON.NO'|translate}})</span>\n </mat-label>\n\n <input matInput #fakeInput type=\"text\" readonly=\"true\"\n [formControl]=\"formControl\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showRadio\"\n [tabindex]=\"tabindex\">\n\n <!-- radio button -->\n <mat-radio-group [hidden]=\"!showRadio\"\n [formControl]=\"formControl\"\n (change)=\"onRadioValueChanged($event)\">\n <mat-radio-button #yesButton [value]=\"true\">\n <span>{{yesLabel|translate}}</span>\n </mat-radio-button>&nbsp;\n <mat-radio-button #noButton [value]=\"false\">\n <span>{{noLabel|translate}}</span>\n </mat-radio-button>\n </mat-radio-group>\n\n <div matSuffix #injectMatSuffix></div>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n\n <!-- Checkbox -->\n <mat-form-field *ngSwitchCase=\"'checkbox'\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-boolean-field mat-boolean-field-checkbox {{classList}}\">\n <mat-label *ngIf=\"placeholder && !showRadio\">\n {{placeholder}}\n </mat-label>\n\n <input matInput #matInput\n [formControl]=\"formControl\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showRadio\"\n [tabindex]=\"tabindex\">\n\n <ion-label>&nbsp;</ion-label>\n\n <!-- checkbox, when compact -->\n <mat-checkbox #checkboxButton\n [formControl]=\"formControl\"\n (change)=\"onCheckboxValueChanged($event)\"\n [indeterminate]=\"value===undefined\"\n [hidden]=\"!showRadio\"\n [tabindex]=\"tabindex\">\n </mat-checkbox>\n\n <div matSuffix #injectMatSuffix></div>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n\n <!-- Buttons -->\n <mat-form-field *ngSwitchCase=\"'button'\"\n [floatLabel]=\"floatLabel === 'never' ? 'never' : 'always'\"\n class=\"mat-boolean-field mat-boolean-field-button {{classList}}\">\n <input matInput type=\"text\" hidden\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [required]=\"required\">\n <div class=\"mat-form-field-buttons\"\n [style.--buttons-col-count]=\"buttonsColCount\"\n *ngIf=\"!formControl.disabled; else disabledLabel\">\n <!-- yes -->\n <ion-button class=\"mat-form-field-button\"\n [tabindex]=\"_tabindex\"\n (click)=\"writeValue(true, $event)\"\n (keyup.enter)=\"writeValue(true, $event)\"\n [color]=\"_value == null ? 'tertiary' : (_value === true) ? 'accent' : 'light'\">\n <ion-icon *ngIf=\"showButtonIcons && yesIcon; let icon\" slot=\"start\" [name]=\"icon\"></ion-icon>\n {{yesLabel|translate}}\n </ion-button>\n\n <!-- No button -->\n <ion-button class=\"mat-form-field-button\"\n [tabindex]=\"_tabindex !== undefined ? (_tabindex + 1) : undefined\"\n (click)=\"writeValue(false, $event)\"\n (keyup.enter)=\"writeValue(false, $event)\"\n [color]=\"_value == null ? 'tertiary' : (_value === false) ? 'accent' : 'light'\">\n <ion-icon *ngIf=\"showButtonIcons && noIcon; let icon\" slot=\"start\" [name]=\"icon\"></ion-icon>\n {{noLabel|translate}}\n </ion-button>\n </div>\n <ng-template #disabledLabel>\n <ion-label><i translate>COMMON.EMPTY_OPTION</i></ion-label>\n </ng-template>\n\n <div matSuffix #injectMatSuffix></div>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n </ng-container>\n\n <div class=\"cdk-visually-hidden\">\n <div #suffix><ng-content select=\"[matSuffix]\"></ng-content></div>\n </div>\n\n</ng-template>\n\n\n",
6278
6300
  providers: [
6279
- DEFAULT_VALUE_ACCESSOR$5
6301
+ DEFAULT_VALUE_ACCESSOR$1
6280
6302
  ],
6281
6303
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
6282
6304
  styles: [":host{width:100%}.mat-form-field.mat-boolean-field-radio{margin-top:-2px}.mat-form-field.mat-boolean-field-button{margin-top:-4px}.mat-form-field .mat-form-field-buttons{width:100%;display:flex;flex-flow:row wrap;justify-content:flex-start;align-items:center}.mat-form-field .mat-form-field-buttons .mat-form-field-button{--flex-basis:calc(100% / var(--buttons-col-count, 2));flex:0 1 var(--flex-basis);max-width:min(var(--flex-basis),150px);white-space:normal;padding:0 2px;height:40px}"]
@@ -6365,6 +6387,7 @@
6365
6387
  return MatNumpadEvent;
6366
6388
  }(KeyboardEvent));
6367
6389
 
6390
+ exports.AnimationState = void 0;
6368
6391
  (function (AnimationState) {
6369
6392
  AnimationState["ENTER"] = "enter";
6370
6393
  AnimationState["ENTER_INPUT"] = "enter-input";
@@ -6532,7 +6555,7 @@
6532
6555
  };
6533
6556
  return MatNumpadDomService;
6534
6557
  }());
6535
- MatNumpadDomService.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatNumpadDomService_Factory() { return new MatNumpadDomService(i0.ɵɵinject(i0.ComponentFactoryResolver), i0.ɵɵinject(i0.ApplicationRef), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i1$4.DOCUMENT, 8)); }, token: MatNumpadDomService, providedIn: "root" });
6558
+ MatNumpadDomService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MatNumpadDomService_Factory() { return new MatNumpadDomService(i0__namespace.ɵɵinject(i0__namespace.ComponentFactoryResolver), i0__namespace.ɵɵinject(i0__namespace.ApplicationRef), i0__namespace.ɵɵinject(i0__namespace.INJECTOR), i0__namespace.ɵɵinject(i1__namespace$3.DOCUMENT, 8)); }, token: MatNumpadDomService, providedIn: "root" });
6536
6559
  MatNumpadDomService.decorators = [
6537
6560
  { type: i0.Injectable, args: [{
6538
6561
  providedIn: 'root'
@@ -6938,7 +6961,7 @@
6938
6961
  },] }
6939
6962
  ];
6940
6963
 
6941
- var DEFAULT_VALUE_ACCESSOR$6 = {
6964
+ var DEFAULT_VALUE_ACCESSOR = {
6942
6965
  provide: i1.NG_VALUE_ACCESSOR,
6943
6966
  useExisting: i0.forwardRef(function () { return MatSwipeField; }),
6944
6967
  multi: true
@@ -7258,7 +7281,7 @@
7258
7281
  { type: i0.Component, args: [{
7259
7282
  selector: 'mat-swipe-field',
7260
7283
  template: "<mat-form-field [floatLabel]=\"showSlides && (!floatLabel || floatLabel === 'auto') ? 'always': floatLabel\"\n [class]=\"classList\"\n [class.mat-form-field-disabled]=\"disabled\">\n <mat-label *ngIf=\"placeholder && floatLabel!=='never'\">\n {{placeholder}}\n </mat-label>\n <input matInput #fakeInput type=\"text\"\n [formControl]=\"formControl\"\n [readonly]=\"true\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showSlides\"\n [tabindex]=\"tabindex\">\n\n <div class=\"slides-container\" [class.hidden]=\"!showSlides\">\n <ion-slides #slides\n [options]=\"slidesOptions\"\n (ionSlidesDidLoad)=\"slidesLoaded()\"\n (ionSlideReachStart)=\"reachStart(true)\"\n (ionSlideReachEnd)=\"reachEnd(true)\"\n (ionSlideNextEnd)=\"reachStart(false)\"\n (ionSlidePrevEnd)=\"reachEnd(false)\"\n (ionSlideDidChange)=\"slideChanged()\"\n >\n <ion-slide *ngFor=\"let item of $items | async\">\n <ion-label>{{ displayWith(item) }}</ion-label>\n </ion-slide>\n\n </ion-slides>\n </div>\n\n <button #prevButton\n mat-icon-button\n type=\"button\"\n class=\"button-prev\"\n [hidden]=\"!showSlides\"\n [disabled]=\"previousDisabled\"\n (click)=\"previous()\">\n <mat-icon>chevron_left</mat-icon>\n </button>\n <button #nextButton\n mat-icon-button\n type=\"button\"\n class=\"button-next\"\n [hidden]=\"!showSlides\"\n [disabled]=\"nextDisabled\"\n (click)=\"next()\">\n <mat-icon>chevron_right</mat-icon>\n </button>\n\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clearValue($event)\"\n [hidden]=\"disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('entity')\" translate>ERROR.FIELD_INVALID</mat-error>\n\n</mat-form-field>\n",
7261
- providers: [DEFAULT_VALUE_ACCESSOR$6],
7284
+ providers: [DEFAULT_VALUE_ACCESSOR],
7262
7285
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
7263
7286
  styles: [":host{display:inline-block;width:100%;position:relative}input.hidden{display:none}.slides-container .swiper-slide{font-size:16px!important}.slides-container.hidden{visibility:hidden;height:0!important}.button-next,.button-prev{position:absolute;top:calc(50% - 20px);z-index:10}.button-prev{left:0;right:auto}.button-next{left:auto;right:0}"]
7264
7287
  },] }
@@ -7816,7 +7839,7 @@
7816
7839
  };
7817
7840
  return ProgressBarService;
7818
7841
  }());
7819
- ProgressBarService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
7842
+ ProgressBarService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
7820
7843
  ProgressBarService.decorators = [
7821
7844
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
7822
7845
  ];
@@ -7863,7 +7886,7 @@
7863
7886
  };
7864
7887
  return AppGestureConfig;
7865
7888
  }(i1$6.HammerGestureConfig));
7866
- AppGestureConfig.ɵprov = i0.ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
7889
+ AppGestureConfig.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
7867
7890
  AppGestureConfig.decorators = [
7868
7891
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
7869
7892
  ];
@@ -8128,7 +8151,7 @@
8128
8151
  };
8129
8152
  return MatPaginatorI18n;
8130
8153
  }(paginator.MatPaginatorIntl));
8131
- MatPaginatorI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(i0.ɵɵinject(i1$2.TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
8154
+ MatPaginatorI18n.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
8132
8155
  MatPaginatorI18n.decorators = [
8133
8156
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
8134
8157
  ];
@@ -8220,17 +8243,17 @@
8220
8243
  return rgbArrayToHex(rgb.map(function (v) { return 255 - v; }));
8221
8244
  }
8222
8245
 
8223
- var noop$7 = function () {
8246
+ var noop = function () {
8224
8247
  };
8225
- var ɵ0$7 = noop$7;
8248
+ var ɵ0$3 = noop;
8226
8249
  var AppFormField = /** @class */ (function () {
8227
8250
  function AppFormField(translate, cd, injector, formGroupDir) {
8228
8251
  this.translate = translate;
8229
8252
  this.cd = cd;
8230
8253
  this.injector = injector;
8231
8254
  this.formGroupDir = formGroupDir;
8232
- this._onChangeCallback = noop$7;
8233
- this._onTouchedCallback = noop$7;
8255
+ this._onChangeCallback = noop;
8256
+ this._onTouchedCallback = noop;
8234
8257
  this.readonly = false;
8235
8258
  this.compact = false;
8236
8259
  this.floatLabel = 'auto';
@@ -8767,7 +8790,7 @@
8767
8790
  };
8768
8791
  return AudioProvider;
8769
8792
  }(StartableService));
8770
- AudioProvider.ɵprov = i0.ɵɵdefineInjectable({ factory: function AudioProvider_Factory() { return new AudioProvider(i0.ɵɵinject(i1$5.Platform), i0.ɵɵinject(i2$2.NativeAudio, 8), i0.ɵɵinject(i3$1.Vibration, 8), i0.ɵɵinject(i4.AudioManagement, 8)); }, token: AudioProvider, providedIn: "root" });
8793
+ AudioProvider.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function AudioProvider_Factory() { return new AudioProvider(i0__namespace.ɵɵinject(i1__namespace$4.Platform), i0__namespace.ɵɵinject(i2__namespace.NativeAudio, 8), i0__namespace.ɵɵinject(i3__namespace.Vibration, 8), i0__namespace.ɵɵinject(i4__namespace.AudioManagement, 8)); }, token: AudioProvider, providedIn: "root" });
8771
8794
  AudioProvider.decorators = [
8772
8795
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
8773
8796
  ];
@@ -8867,7 +8890,7 @@
8867
8890
  };
8868
8891
  return Hotkeys;
8869
8892
  }());
8870
- Hotkeys.ɵprov = i0.ɵɵdefineInjectable({ factory: function Hotkeys_Factory() { return new Hotkeys(i0.ɵɵinject(i1$6.EventManager), i0.ɵɵinject(i2.MatDialog), i0.ɵɵinject(i1$4.DOCUMENT), i0.ɵɵinject(i1$5.ModalController)); }, token: Hotkeys, providedIn: "root" });
8893
+ Hotkeys.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function Hotkeys_Factory() { return new Hotkeys(i0__namespace.ɵɵinject(i1__namespace$5.EventManager), i0__namespace.ɵɵinject(i2__namespace$1.MatDialog), i0__namespace.ɵɵinject(i1__namespace$3.DOCUMENT), i0__namespace.ɵɵinject(i1__namespace$4.ModalController)); }, token: Hotkeys, providedIn: "root" });
8871
8894
  Hotkeys.decorators = [
8872
8895
  { type: i0.Injectable, args: [{
8873
8896
  providedIn: 'root'
@@ -9071,7 +9094,7 @@
9071
9094
  return Base64ImageReader;
9072
9095
  }());
9073
9096
 
9074
- var uuidv4 = uuidv4Imported__namespace;
9097
+ var uuidv4$1 = uuidv4Imported__namespace;
9075
9098
  var FileService = /** @class */ (function () {
9076
9099
  function FileService(platform,
9077
9100
  //private transfer: FileTransfer,
@@ -9117,7 +9140,7 @@
9117
9140
  lastSlashIndex = source.lastIndexOf('/');
9118
9141
  if (lastSlashIndex === -1)
9119
9142
  throw new Error('Invalid URL: ' + source);
9120
- fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4();
9143
+ fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4$1();
9121
9144
  if (!(responseType === 'file' && this.canUseFileSystem)) return [3 /*break*/, 4];
9122
9145
  console.warn("WARN: [file] Fetching image {" + source + "} in local file...");
9123
9146
  targetFilePath = this._imageDirectory + fileName;
@@ -9180,7 +9203,7 @@
9180
9203
  };
9181
9204
  return FileService;
9182
9205
  }());
9183
- FileService.ɵprov = i0.ɵɵdefineInjectable({ factory: function FileService_Factory() { return new FileService(i0.ɵɵinject(i1$5.Platform), i0.ɵɵinject(i2$1.HttpClient), i0.ɵɵinject(ENVIRONMENT)); }, token: FileService, providedIn: "root" });
9206
+ FileService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function FileService_Factory() { return new FileService(i0__namespace.ɵɵinject(i1__namespace$4.Platform), i0__namespace.ɵɵinject(i2__namespace$2.HttpClient), i0__namespace.ɵɵinject(ENVIRONMENT)); }, token: FileService, providedIn: "root" });
9184
9207
  FileService.decorators = [
9185
9208
  { type: i0.Injectable, args: [{
9186
9209
  providedIn: 'root',
@@ -9343,7 +9366,7 @@
9343
9366
  Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
9344
9367
 
9345
9368
  var scrypt = require('scrypt-async');
9346
- var sha256 = require('hash.js/lib/hash/sha/256');
9369
+ var sha256$1 = require('hash.js/lib/hash/sha/256');
9347
9370
  var sha512 = require('hash.js/lib/hash/sha/512');
9348
9371
  var nacl = {
9349
9372
  sign: tweetnacl.sign,
@@ -9449,7 +9472,7 @@
9449
9472
  * Hash (using SHA256) a message
9450
9473
  */
9451
9474
  CryptoService.prototype.sha256 = function (message) {
9452
- return sha256().update(message).digest('hex');
9475
+ return sha256$1().update(message).digest('hex');
9453
9476
  };
9454
9477
  /**
9455
9478
  * Hash (using SHA512) a message
@@ -9463,7 +9486,7 @@
9463
9486
  };
9464
9487
  return CryptoService;
9465
9488
  }());
9466
- CryptoService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
9489
+ CryptoService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
9467
9490
  CryptoService.decorators = [
9468
9491
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
9469
9492
  ];
@@ -10884,7 +10907,7 @@
10884
10907
  };
10885
10908
  return LocalSettingsService;
10886
10909
  }(StartableService));
10887
- LocalSettingsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LocalSettingsService_Factory() { return new LocalSettingsService(i0.ɵɵinject(i1$2.TranslateService), i0.ɵɵinject(i1$5.Platform), i0.ɵɵinject(i3$2.Storage), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(APP_LOCAL_SETTINGS, 8), i0.ɵɵinject(APP_LOCAL_SETTINGS_OPTIONS, 8)); }, token: LocalSettingsService, providedIn: "root" });
10910
+ LocalSettingsService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function LocalSettingsService_Factory() { return new LocalSettingsService(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService), i0__namespace.ɵɵinject(i1__namespace$4.Platform), i0__namespace.ɵɵinject(i3__namespace$1.Storage), i0__namespace.ɵɵinject(ENVIRONMENT), i0__namespace.ɵɵinject(APP_LOCAL_SETTINGS, 8), i0__namespace.ɵɵinject(APP_LOCAL_SETTINGS_OPTIONS, 8)); }, token: LocalSettingsService, providedIn: "root" });
10888
10911
  LocalSettingsService.decorators = [
10889
10912
  { type: i0.Injectable, args: [{
10890
10913
  providedIn: 'root',
@@ -11689,7 +11712,7 @@
11689
11712
  };
11690
11713
  return NetworkService;
11691
11714
  }(StartableService));
11692
- NetworkService.ɵprov = i0.ɵɵdefineInjectable({ factory: function NetworkService_Factory() { return new NetworkService(i0.ɵɵinject(i1$4.DOCUMENT), i0.ɵɵinject(i1$5.Platform), i0.ɵɵinject(i1$5.ModalController), i0.ɵɵinject(CryptoService), i0.ɵɵinject(i3$2.Storage), i0.ɵɵinject(LocalSettingsService), i0.ɵɵinject(i6.CacheService), i0.ɵɵinject(i2$1.HttpClient), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(i9.Network, 8), i0.ɵɵinject(i10.SplashScreen, 8), i0.ɵɵinject(i1$2.TranslateService, 8), i0.ɵɵinject(i1$5.ToastController, 8)); }, token: NetworkService, providedIn: "root" });
11715
+ NetworkService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function NetworkService_Factory() { return new NetworkService(i0__namespace.ɵɵinject(i1__namespace$3.DOCUMENT), i0__namespace.ɵɵinject(i1__namespace$4.Platform), i0__namespace.ɵɵinject(i1__namespace$4.ModalController), i0__namespace.ɵɵinject(CryptoService), i0__namespace.ɵɵinject(i3__namespace$1.Storage), i0__namespace.ɵɵinject(LocalSettingsService), i0__namespace.ɵɵinject(i6__namespace.CacheService), i0__namespace.ɵɵinject(i2__namespace$2.HttpClient), i0__namespace.ɵɵinject(ENVIRONMENT), i0__namespace.ɵɵinject(i9__namespace.Network, 8), i0__namespace.ɵɵinject(i10__namespace.SplashScreen, 8), i0__namespace.ɵɵinject(i1__namespace$1.TranslateService, 8), i0__namespace.ɵɵinject(i1__namespace$4.ToastController, 8)); }, token: NetworkService, providedIn: "root" });
11693
11716
  NetworkService.decorators = [
11694
11717
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
11695
11718
  ];
@@ -11709,7 +11732,7 @@
11709
11732
  { type: i1$5.ToastController, decorators: [{ type: i0.Optional }] }
11710
11733
  ]; };
11711
11734
 
11712
- var ErrorCodes = {
11735
+ var ErrorCodes$2 = {
11713
11736
  UNKNOWN_ERROR: 0,
11714
11737
  LOAD_ACCOUNT_ERROR: 1,
11715
11738
  BAD_PASSWORD: 2,
@@ -12117,7 +12140,7 @@
12117
12140
  case 13:
12118
12141
  err_1 = _a.sent();
12119
12142
  console.error(err_1);
12120
- throw { code: ErrorCodes.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err_1 };
12143
+ throw { code: ErrorCodes$2.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err_1 };
12121
12144
  case 14:
12122
12145
  // Emit update event
12123
12146
  if (!opts || opts.emitEvent !== false) {
@@ -12891,7 +12914,7 @@
12891
12914
  }(StartableService));
12892
12915
  EntitiesStorage.TRASH_PREFIX = 'Trash#';
12893
12916
  EntitiesStorage.REMOTE_PREFIX = 'Remote#';
12894
- EntitiesStorage.ɵprov = i0.ɵɵdefineInjectable({ factory: function EntitiesStorage_Factory() { return new EntitiesStorage(i0.ɵɵinject(i1$5.Platform), i0.ɵɵinject(ProgressBarService), i0.ɵɵinject(i3$2.Storage), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(APP_LOCAL_STORAGE_TYPE_POLICIES, 8)); }, token: EntitiesStorage, providedIn: "root" });
12917
+ EntitiesStorage.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function EntitiesStorage_Factory() { return new EntitiesStorage(i0__namespace.ɵɵinject(i1__namespace$4.Platform), i0__namespace.ɵɵinject(ProgressBarService), i0__namespace.ɵɵinject(i3__namespace$1.Storage), i0__namespace.ɵɵinject(ENVIRONMENT), i0__namespace.ɵɵinject(APP_LOCAL_STORAGE_TYPE_POLICIES, 8)); }, token: EntitiesStorage, providedIn: "root" });
12895
12918
  EntitiesStorage.decorators = [
12896
12919
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
12897
12920
  ];
@@ -13008,10 +13031,10 @@
13008
13031
  function referentialsToString(values, properties, separator) {
13009
13032
  return (values || []).map(function (v) { return referentialToString(v, properties); }).join(separator || ', ');
13010
13033
  }
13011
- var ɵ0$8 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
13034
+ var ɵ0$2 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
13012
13035
  var StatusList = Object.freeze([
13013
13036
  {
13014
- id: ɵ0$8,
13037
+ id: ɵ0$2,
13015
13038
  icon: 'checkmark',
13016
13039
  label: 'REFERENTIAL.STATUS_ENUM.ENABLE'
13017
13040
  },
@@ -13314,7 +13337,7 @@
13314
13337
  (data.lastName || '')) || '';
13315
13338
  }
13316
13339
 
13317
- var uuidv4$1 = uuidv4Imported__namespace;
13340
+ var uuidv4 = uuidv4Imported__namespace;
13318
13341
  var _global = typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : {});
13319
13342
  var NativeWebSocket = _global.WebSocket || _global.MozWebSocket;
13320
13343
  /**
@@ -13358,7 +13381,7 @@
13358
13381
  // Skip if not tracked
13359
13382
  if (!context || !context.tracked)
13360
13383
  return forward(operation);
13361
- var id = context.serializationKey || uuidv4$1();
13384
+ var id = context.serializationKey || uuidv4();
13362
13385
  console.debug("[apollo-tracker-link] Watching tracked query {" + operation.operationName + "#" + id + "}");
13363
13386
  // Clean context, before calling JSON.stringify (remove unused attributes)
13364
13387
  var cleanContext = Object.assign(Object.assign({}, context), { optimisticResponse: null, cache: null });
@@ -13993,14 +14016,14 @@
13993
14016
  mutationLinks = void 0;
13994
14017
  // Add queue to store tracked queries, when offline
13995
14018
  if (enableTrackMutationQueries) {
13996
- serializingLink = new SerializingLink__default['default']();
14019
+ serializingLink = new SerializingLink__default["default"]();
13997
14020
  trackerLink = createTrackerLink({
13998
14021
  storage: storage,
13999
14022
  onNetworkStatusChange: this._networkStatusChanged$,
14000
14023
  debounce: 1000,
14001
14024
  debug: true
14002
14025
  });
14003
- queueLink_1 = new QueueLink__default['default']();
14026
+ queueLink_1 = new QueueLink__default["default"]();
14004
14027
  this._subscription.add(this._networkStatusChanged$
14005
14028
  .subscribe(function (type) {
14006
14029
  // Network is offline: start buffering into queue
@@ -14015,7 +14038,7 @@
14015
14038
  }
14016
14039
  }));
14017
14040
  mutationLinks = [
14018
- loggerLink__default['default'],
14041
+ loggerLink__default["default"],
14019
14042
  queueLink_1,
14020
14043
  trackerLink,
14021
14044
  queueLink_1,
@@ -14124,7 +14147,7 @@
14124
14147
  (err.networkError && ((err.networkError.error && this.toAppError(err.networkError.error))
14125
14148
  || this.toAppError(err.networkError)
14126
14149
  || (err.networkError.error && this.createAppErrorByCode(err.networkError.error.status))
14127
- || this.createAppErrorByCode(ErrorCodes.UNKNOWN_NETWORK_ERROR)))
14150
+ || this.createAppErrorByCode(ErrorCodes$2.UNKNOWN_NETWORK_ERROR)))
14128
14151
  // If graphQL: try to convert the first error found
14129
14152
  || (err.graphQLErrors && err.graphQLErrors.length && this.toAppError(err.graphQLErrors[0]))
14130
14153
  || this.toAppError(err)
@@ -14132,7 +14155,7 @@
14132
14155
  || (err.graphQLErrors && err.graphQLErrors[0])
14133
14156
  || err;
14134
14157
  console.error('[graphql] ' + (error && error.message || error), error.stack || '');
14135
- if (error && error.code === ErrorCodes.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
14158
+ if (error && error.code === ErrorCodes$2.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
14136
14159
  console.error('[graphql] original error: ' + err.networkError.message);
14137
14160
  this.onNetworkError.next(error);
14138
14161
  }
@@ -14168,7 +14191,7 @@
14168
14191
  return 'ERROR.UNAUTHORIZED';
14169
14192
  case ServerErrorCodes.FORBIDDEN:
14170
14193
  return 'ERROR.FORBIDDEN';
14171
- case ErrorCodes.UNKNOWN_NETWORK_ERROR:
14194
+ case ErrorCodes$2.UNKNOWN_NETWORK_ERROR:
14172
14195
  return 'ERROR.UNKNOWN_NETWORK_ERROR';
14173
14196
  case ServerErrorCodes.BAD_UPDATE_DATE:
14174
14197
  return 'ERROR.BAD_UPDATE_DATE';
@@ -14197,7 +14220,7 @@
14197
14220
  };
14198
14221
  return GraphqlService;
14199
14222
  }(StartableService));
14200
- GraphqlService.ɵprov = i0.ɵɵdefineInjectable({ factory: function GraphqlService_Factory() { return new GraphqlService(i0.ɵɵinject(i1$5.Platform), i0.ɵɵinject(i2$3.Apollo), i0.ɵɵinject(i3$3.HttpLink), i0.ɵɵinject(NetworkService), i0.ɵɵinject(i3$2.Storage), i0.ɵɵinject(CryptoService), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(APP_GRAPHQL_TYPE_POLICIES, 8)); }, token: GraphqlService, providedIn: "root" });
14223
+ GraphqlService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function GraphqlService_Factory() { return new GraphqlService(i0__namespace.ɵɵinject(i1__namespace$4.Platform), i0__namespace.ɵɵinject(i2__namespace$3.Apollo), i0__namespace.ɵɵinject(i3__namespace$2.HttpLink), i0__namespace.ɵɵinject(NetworkService), i0__namespace.ɵɵinject(i3__namespace$1.Storage), i0__namespace.ɵɵinject(CryptoService), i0__namespace.ɵɵinject(ENVIRONMENT), i0__namespace.ɵɵinject(APP_GRAPHQL_TYPE_POLICIES, 8)); }, token: GraphqlService, providedIn: "root" });
14201
14224
  GraphqlService.decorators = [
14202
14225
  { type: i0.Injectable, args: [{
14203
14226
  providedIn: 'root'
@@ -14214,7 +14237,7 @@
14214
14237
  { type: undefined, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [APP_GRAPHQL_TYPE_POLICIES,] }] }
14215
14238
  ]; };
14216
14239
 
14217
- var sha256$1 = require('hash.js/lib/hash/sha/256');
14240
+ var sha256 = require('hash.js/lib/hash/sha/256');
14218
14241
  var BaseGraphqlServiceOptions = /** @class */ (function () {
14219
14242
  function BaseGraphqlServiceOptions() {
14220
14243
  }
@@ -14381,8 +14404,8 @@
14381
14404
  };
14382
14405
  /* -- protected methods -- */
14383
14406
  BaseGraphqlService.prototype.computeMutableWatchQueryId = function (opts) {
14384
- var queryName = opts.queryName || sha256$1().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
14385
- var variablesKey = opts.variables && sha256$1().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
14407
+ var queryName = opts.queryName || sha256().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
14408
+ var variablesKey = opts.variables && sha256().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
14386
14409
  return [queryName, opts.arrayFieldName, variablesKey].join('|');
14387
14410
  };
14388
14411
  BaseGraphqlService.prototype.findMutableWatchQueries = function (opts) {
@@ -14448,17 +14471,17 @@
14448
14471
  /* ------------------------------------
14449
14472
  * GraphQL queries
14450
14473
  * ------------------------------------*/
14451
- var Fragments = {
14452
- account: core.gql(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n fragment AccountFragment on AccountVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n settings {\n id\n locale\n latLongFormat\n content\n nonce\n updateDate\n __typename\n }\n department {\n id\n label\n name\n __typename\n }\n __typename\n }\n "], ["\n fragment AccountFragment on AccountVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n settings {\n id\n locale\n latLongFormat\n content\n nonce\n updateDate\n __typename\n }\n department {\n id\n label\n name\n __typename\n }\n __typename\n }\n "])))
14474
+ var Fragments$1 = {
14475
+ account: core.gql(templateObject_1$4 || (templateObject_1$4 = __makeTemplateObject(["\n fragment AccountFragment on AccountVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n settings {\n id\n locale\n latLongFormat\n content\n nonce\n updateDate\n __typename\n }\n department {\n id\n label\n name\n __typename\n }\n __typename\n }\n "], ["\n fragment AccountFragment on AccountVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n settings {\n id\n locale\n latLongFormat\n content\n nonce\n updateDate\n __typename\n }\n department {\n id\n label\n name\n __typename\n }\n __typename\n }\n "])))
14453
14476
  };
14454
14477
  // Load account query
14455
- var LoadQuery = core.gql(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n query Account {\n data: account {\n ...AccountFragment\n }\n }\n ", "\n"], ["\n query Account {\n data: account {\n ...AccountFragment\n }\n }\n ", "\n"])), Fragments.account);
14478
+ var LoadQuery$1 = core.gql(templateObject_2$4 || (templateObject_2$4 = __makeTemplateObject(["\n query Account {\n data: account {\n ...AccountFragment\n }\n }\n ", "\n"], ["\n query Account {\n data: account {\n ...AccountFragment\n }\n }\n ", "\n"])), Fragments$1.account);
14456
14479
  // Check email query
14457
- var IsEmailExistsQuery = core.gql(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n query IsEmailExists($email: String, $hash: String){\n isEmailExists(email: $email, hash: $hash)\n }\n"], ["\n query IsEmailExists($email: String, $hash: String){\n isEmailExists(email: $email, hash: $hash)\n }\n"])));
14480
+ var IsEmailExistsQuery = core.gql(templateObject_3$3 || (templateObject_3$3 = __makeTemplateObject(["\n query IsEmailExists($email: String, $hash: String){\n isEmailExists(email: $email, hash: $hash)\n }\n"], ["\n query IsEmailExists($email: String, $hash: String){\n isEmailExists(email: $email, hash: $hash)\n }\n"])));
14458
14481
  // Save (create or update) account mutation
14459
- var SaveMutation = core.gql(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n mutation SaveAccount($data:AccountVOInput){\n data: saveAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n"], ["\n mutation SaveAccount($data:AccountVOInput){\n data: saveAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n"])), Fragments.account);
14482
+ var SaveMutation$1 = core.gql(templateObject_4$3 || (templateObject_4$3 = __makeTemplateObject(["\n mutation SaveAccount($data:AccountVOInput){\n data: saveAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n"], ["\n mutation SaveAccount($data:AccountVOInput){\n data: saveAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n"])), Fragments$1.account);
14460
14483
  // Create account mutation
14461
- var CreateMutation = core.gql(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n mutation CreateAccount($data:AccountVOInput){\n data: createAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n"], ["\n mutation CreateAccount($data:AccountVOInput){\n data: createAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n"])), Fragments.account);
14484
+ var CreateMutation = core.gql(templateObject_5$2 || (templateObject_5$2 = __makeTemplateObject(["\n mutation CreateAccount($data:AccountVOInput){\n data: createAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n"], ["\n mutation CreateAccount($data:AccountVOInput){\n data: createAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n"])), Fragments$1.account);
14462
14485
  // Sent confirmation email
14463
14486
  var SendConfirmEmailMutation = core.gql(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n mutation sendAccountConfirmationEmail($email:String, $locale:String){\n sendAccountConfirmationEmail(email: $email, locale: $locale)\n }\n"], ["\n mutation sendAccountConfirmationEmail($email:String, $locale:String){\n sendAccountConfirmationEmail(email: $email, locale: $locale)\n }\n"])));
14464
14487
  // Confirm account email
@@ -14847,7 +14870,7 @@
14847
14870
  error_3 = _b.sent();
14848
14871
  console.error(error_3);
14849
14872
  this.resetData();
14850
- throw { code: ErrorCodes.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
14873
+ throw { code: ErrorCodes$2.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
14851
14874
  case 4:
14852
14875
  // Store pubkey+keypair
14853
14876
  this._data.pubkey = Base58.encode(keypair.publicKey);
@@ -14883,7 +14906,7 @@
14883
14906
  return [3 /*break*/, 18];
14884
14907
  case 11:
14885
14908
  err_1 = _b.sent();
14886
- if (!(err_1 && +(err_1.code) === ErrorCodes.LOAD_ACCOUNT_ERROR)) return [3 /*break*/, 17];
14909
+ if (!(err_1 && +(err_1.code) === ErrorCodes$2.LOAD_ACCOUNT_ERROR)) return [3 /*break*/, 17];
14887
14910
  if (!(data.username.indexOf('@') !== -1)) return [3 /*break*/, 16];
14888
14911
  isEmailExists = void 0;
14889
14912
  _b.label = 12;
@@ -14899,12 +14922,12 @@
14899
14922
  case 15:
14900
14923
  // Email not exists (no account)
14901
14924
  if (!isEmailExists) {
14902
- throw { code: ErrorCodes.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
14925
+ throw { code: ErrorCodes$2.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
14903
14926
  }
14904
14927
  _b.label = 16;
14905
14928
  case 16:
14906
14929
  // Email exists, so error = 'bad password'
14907
- throw { code: ErrorCodes.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
14930
+ throw { code: ErrorCodes$2.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
14908
14931
  case 17: throw err_1; // resend the first error
14909
14932
  case 18:
14910
14933
  _b.trys.push([18, 20, , 21]);
@@ -15076,8 +15099,8 @@
15076
15099
  _b.label = 3;
15077
15100
  case 3: return [3 /*break*/, 6];
15078
15101
  case 4: return [4 /*yield*/, this.graphql.query({
15079
- query: LoadQuery,
15080
- error: { code: ErrorCodes.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
15102
+ query: LoadQuery$1,
15103
+ error: { code: ErrorCodes$2.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
15081
15104
  fetchPolicy: opts && opts.fetchPolicy || 'no-cache' || undefined
15082
15105
  })];
15083
15106
  case 5:
@@ -15115,7 +15138,7 @@
15115
15138
  case 1:
15116
15139
  isEmailExists = _b.sent();
15117
15140
  if (isEmailExists) {
15118
- throw { code: ErrorCodes.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
15141
+ throw { code: ErrorCodes$2.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
15119
15142
  }
15120
15143
  return [2 /*return*/];
15121
15144
  }
@@ -15165,7 +15188,7 @@
15165
15188
  locale: locale
15166
15189
  },
15167
15190
  error: {
15168
- code: ErrorCodes.SENT_CONFIRMATION_EMAIL_FAILED,
15191
+ code: ErrorCodes$2.SENT_CONFIRMATION_EMAIL_FAILED,
15169
15192
  message: 'ERROR.SENT_ACCOUNT_CONFIRMATION_EMAIL_FAILED'
15170
15193
  }
15171
15194
  })];
@@ -15188,7 +15211,7 @@
15188
15211
  code: code
15189
15212
  },
15190
15213
  error: {
15191
- code: ErrorCodes.CONFIRM_EMAIL_FAILED,
15214
+ code: ErrorCodes$2.CONFIRM_EMAIL_FAILED,
15192
15215
  message: 'ERROR.CONFIRM_ACCOUNT_EMAIL_FAILED'
15193
15216
  }
15194
15217
  })];
@@ -15211,7 +15234,7 @@
15211
15234
  interval: 10
15212
15235
  },
15213
15236
  error: {
15214
- code: ErrorCodes.SUBSCRIBE_ACCOUNT_ERROR,
15237
+ code: ErrorCodes$2.SUBSCRIBE_ACCOUNT_ERROR,
15215
15238
  message: 'ERROR.ACCOUNT.SUBSCRIBE_ACCOUNT_ERROR'
15216
15239
  }
15217
15240
  }).subscribe({
@@ -15365,7 +15388,7 @@
15365
15388
  throw error_6;
15366
15389
  console.error(error_6);
15367
15390
  throw {
15368
- code: ErrorCodes.LOAD_ACCOUNT_ERROR,
15391
+ code: ErrorCodes$2.LOAD_ACCOUNT_ERROR,
15369
15392
  message: 'ERROR.LOAD_ACCOUNT_ERROR'
15370
15393
  };
15371
15394
  case 4: return [2 /*return*/];
@@ -15539,7 +15562,7 @@
15539
15562
  case 1:
15540
15563
  existingAccount = _b.sent();
15541
15564
  if (!existingAccount || !existingAccount.updateDate) {
15542
- throw { code: ErrorCodes.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
15565
+ throw { code: ErrorCodes$2.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
15543
15566
  }
15544
15567
  this.copyIdAndUpdateDate(existingAccount, account);
15545
15568
  _b.label = 2;
@@ -15548,10 +15571,10 @@
15548
15571
  // User not allow to change his profiles
15549
15572
  delete json.profiles;
15550
15573
  return [4 /*yield*/, this.graphql.mutate({
15551
- mutation: isNew ? CreateMutation : SaveMutation,
15574
+ mutation: isNew ? CreateMutation : SaveMutation$1,
15552
15575
  variables: { data: json },
15553
15576
  error: {
15554
- code: ErrorCodes.SAVE_ACCOUNT_ERROR,
15577
+ code: ErrorCodes$2.SAVE_ACCOUNT_ERROR,
15555
15578
  message: 'ERROR.SAVE_ACCOUNT_ERROR'
15556
15579
  }
15557
15580
  })];
@@ -15579,7 +15602,7 @@
15579
15602
  if (counter > 4) {
15580
15603
  if (this._debug)
15581
15604
  console.debug("[account] Failed to authentication on pod (after " + counter + " attempts)");
15582
- throw { code: ErrorCodes.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
15605
+ throw { code: ErrorCodes$2.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
15583
15606
  }
15584
15607
  if (!token) return [3 /*break*/, 2];
15585
15608
  return [4 /*yield*/, this.graphql.query({
@@ -15588,7 +15611,7 @@
15588
15611
  token: token
15589
15612
  },
15590
15613
  error: {
15591
- code: ErrorCodes.UNAUTHORIZED,
15614
+ code: ErrorCodes$2.UNAUTHORIZED,
15592
15615
  message: 'ERROR.UNAUTHORIZED'
15593
15616
  },
15594
15617
  fetchPolicy: 'no-cache'
@@ -15605,7 +15628,7 @@
15605
15628
  _b.label = 2;
15606
15629
  case 2:
15607
15630
  challengeError = {
15608
- code: ErrorCodes.AUTH_CHALLENGE_ERROR,
15631
+ code: ErrorCodes$2.AUTH_CHALLENGE_ERROR,
15609
15632
  message: 'ERROR.AUTH_CHALLENGE_ERROR'
15610
15633
  };
15611
15634
  return [4 /*yield*/, this.graphql.query({
@@ -15647,7 +15670,7 @@
15647
15670
  };
15648
15671
  return AccountService;
15649
15672
  }(BaseGraphqlService));
15650
- AccountService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountService_Factory() { return new AccountService(i0.ɵɵinject(CryptoService), i0.ɵɵinject(NetworkService), i0.ɵɵinject(GraphqlService), i0.ɵɵinject(LocalSettingsService), i0.ɵɵinject(i3$2.Storage), i0.ɵɵinject(FileService), i0.ɵɵinject(ENVIRONMENT)); }, token: AccountService, providedIn: "root" });
15673
+ AccountService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function AccountService_Factory() { return new AccountService(i0__namespace.ɵɵinject(CryptoService), i0__namespace.ɵɵinject(NetworkService), i0__namespace.ɵɵinject(GraphqlService), i0__namespace.ɵɵinject(LocalSettingsService), i0__namespace.ɵɵinject(i3__namespace$1.Storage), i0__namespace.ɵɵinject(FileService), i0__namespace.ɵɵinject(ENVIRONMENT)); }, token: AccountService, providedIn: "root" });
15651
15674
  AccountService.decorators = [
15652
15675
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
15653
15676
  ];
@@ -15660,7 +15683,7 @@
15660
15683
  { type: FileService },
15661
15684
  { type: undefined, decorators: [{ type: i0.Inject, args: [ENVIRONMENT,] }] }
15662
15685
  ]; };
15663
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10;
15686
+ var templateObject_1$4, templateObject_2$4, templateObject_3$3, templateObject_4$3, templateObject_5$2, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10;
15664
15687
 
15665
15688
  var Software_1, Configuration_1;
15666
15689
  // @dynamic
@@ -15912,13 +15935,13 @@
15912
15935
  /* ------------------------------------
15913
15936
  * GraphQL queries
15914
15937
  * ------------------------------------*/
15915
- var Fragments$1 = {
15916
- config: core.gql(templateObject_1$1 || (templateObject_1$1 = __makeTemplateObject(["\n fragment ConfigFragment on ConfigurationVO {\n id\n label\n name\n description\n comments\n properties\n smallLogo\n largeLogo\n backgroundImages\n partners {\n id\n label\n name\n logo\n siteUrl\n __typename\n }\n updateDate\n creationDate\n statusId\n __typename\n }\n "], ["\n fragment ConfigFragment on ConfigurationVO {\n id\n label\n name\n description\n comments\n properties\n smallLogo\n largeLogo\n backgroundImages\n partners {\n id\n label\n name\n logo\n siteUrl\n __typename\n }\n updateDate\n creationDate\n statusId\n __typename\n }\n "])))
15938
+ var Fragments = {
15939
+ config: core.gql(templateObject_1$3 || (templateObject_1$3 = __makeTemplateObject(["\n fragment ConfigFragment on ConfigurationVO {\n id\n label\n name\n description\n comments\n properties\n smallLogo\n largeLogo\n backgroundImages\n partners {\n id\n label\n name\n logo\n siteUrl\n __typename\n }\n updateDate\n creationDate\n statusId\n __typename\n }\n "], ["\n fragment ConfigFragment on ConfigurationVO {\n id\n label\n name\n description\n comments\n properties\n smallLogo\n largeLogo\n backgroundImages\n partners {\n id\n label\n name\n logo\n siteUrl\n __typename\n }\n updateDate\n creationDate\n statusId\n __typename\n }\n "])))
15917
15940
  };
15918
- var LoadQuery$1 = core.gql(templateObject_2$1 || (templateObject_2$1 = __makeTemplateObject(["\nquery Configuration{\n data: configuration{\n ...ConfigFragment\n }\n}\n ", "\n"], ["\nquery Configuration{\n data: configuration{\n ...ConfigFragment\n }\n}\n ", "\n"])), Fragments$1.config);
15941
+ var LoadQuery = core.gql(templateObject_2$3 || (templateObject_2$3 = __makeTemplateObject(["\nquery Configuration{\n data: configuration{\n ...ConfigFragment\n }\n}\n ", "\n"], ["\nquery Configuration{\n data: configuration{\n ...ConfigFragment\n }\n}\n ", "\n"])), Fragments.config);
15919
15942
  // Save (create or update) account mutation
15920
- var SaveMutation$1 = core.gql(templateObject_3$1 || (templateObject_3$1 = __makeTemplateObject(["\n mutation SaveConfiguration($data: ConfigurationVOInput){\n data: saveConfiguration(config: $data){\n ...ConfigFragment\n }\n }\n ", "\n"], ["\n mutation SaveConfiguration($data: ConfigurationVOInput){\n data: saveConfiguration(config: $data){\n ...ConfigFragment\n }\n }\n ", "\n"])), Fragments$1.config);
15921
- var ClearCache = core.gql(templateObject_4$1 || (templateObject_4$1 = __makeTemplateObject(["\n query ClearCache($name: String) {\n clearCache(name: $name)\n }\n"], ["\n query ClearCache($name: String) {\n clearCache(name: $name)\n }\n"])));
15943
+ var SaveMutation = core.gql(templateObject_3$2 || (templateObject_3$2 = __makeTemplateObject(["\n mutation SaveConfiguration($data: ConfigurationVOInput){\n data: saveConfiguration(config: $data){\n ...ConfigFragment\n }\n }\n ", "\n"], ["\n mutation SaveConfiguration($data: ConfigurationVOInput){\n data: saveConfiguration(config: $data){\n ...ConfigFragment\n }\n }\n ", "\n"])), Fragments.config);
15944
+ var ClearCache = core.gql(templateObject_4$2 || (templateObject_4$2 = __makeTemplateObject(["\n query ClearCache($name: String) {\n clearCache(name: $name)\n }\n"], ["\n query ClearCache($name: String) {\n clearCache(name: $name)\n }\n"])));
15922
15945
  var CacheStatistics = core.gql(templateObject_5$1 || (templateObject_5$1 = __makeTemplateObject(["\n query CacheStatistics {\n cacheStatistics\n }\n"], ["\n query CacheStatistics {\n cacheStatistics\n }\n"])));
15923
15946
  var APP_CONFIG_OPTIONS = new i0.InjectionToken('defaultOptions');
15924
15947
  var ConfigService = /** @class */ (function (_super) {
@@ -16029,12 +16052,12 @@
16029
16052
  case 0:
16030
16053
  now = Date.now();
16031
16054
  console.debug('[config] Loading Pod configuration...');
16032
- query = opts && opts.query || LoadQuery$1;
16055
+ query = opts && opts.query || LoadQuery;
16033
16056
  variables = opts && opts.variables || undefined;
16034
16057
  return [4 /*yield*/, this.graphql.query({
16035
16058
  query: query,
16036
16059
  variables: variables,
16037
- error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
16060
+ error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
16038
16061
  fetchPolicy: opts && opts.fetchPolicy || undefined /*default*/
16039
16062
  })];
16040
16063
  case 1:
@@ -16068,12 +16091,12 @@
16068
16091
  console.debug('[config] Saving Pod configuration...', config);
16069
16092
  json = config.asObject();
16070
16093
  return [4 /*yield*/, this.graphql.mutate({
16071
- mutation: SaveMutation$1,
16094
+ mutation: SaveMutation,
16072
16095
  variables: {
16073
16096
  data: json
16074
16097
  },
16075
16098
  error: {
16076
- code: ErrorCodes.SAVE_CONFIG_ERROR,
16099
+ code: ErrorCodes$2.SAVE_CONFIG_ERROR,
16077
16100
  message: 'ERROR.SAVE_CONFIG_ERROR'
16078
16101
  }
16079
16102
  })];
@@ -16108,7 +16131,7 @@
16108
16131
  return [4 /*yield*/, this.graphql.query({
16109
16132
  query: CacheStatistics,
16110
16133
  variables: null,
16111
- error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
16134
+ error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
16112
16135
  fetchPolicy: 'network-only'
16113
16136
  })];
16114
16137
  case 1:
@@ -16132,7 +16155,7 @@
16132
16155
  return [4 /*yield*/, this.graphql.query({
16133
16156
  query: ClearCache,
16134
16157
  variables: variables,
16135
- error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
16158
+ error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
16136
16159
  fetchPolicy: 'network-only'
16137
16160
  })];
16138
16161
  case 1:
@@ -16332,7 +16355,7 @@
16332
16355
  };
16333
16356
  return ConfigService;
16334
16357
  }(BaseGraphqlService));
16335
- ConfigService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ConfigService_Factory() { return new ConfigService(i0.ɵɵinject(i1$5.Platform), i0.ɵɵinject(GraphqlService), i0.ɵɵinject(i3$2.Storage), i0.ɵɵinject(NetworkService), i0.ɵɵinject(FileService), i0.ɵɵinject(i1$5.ToastController), i0.ɵɵinject(i1$2.TranslateService), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(APP_CONFIG_OPTIONS, 8)); }, token: ConfigService, providedIn: "root" });
16358
+ ConfigService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function ConfigService_Factory() { return new ConfigService(i0__namespace.ɵɵinject(i1__namespace$4.Platform), i0__namespace.ɵɵinject(GraphqlService), i0__namespace.ɵɵinject(i3__namespace$1.Storage), i0__namespace.ɵɵinject(NetworkService), i0__namespace.ɵɵinject(FileService), i0__namespace.ɵɵinject(i1__namespace$4.ToastController), i0__namespace.ɵɵinject(i1__namespace$1.TranslateService), i0__namespace.ɵɵinject(ENVIRONMENT), i0__namespace.ɵɵinject(APP_CONFIG_OPTIONS, 8)); }, token: ConfigService, providedIn: "root" });
16336
16359
  ConfigService.decorators = [
16337
16360
  { type: i0.Injectable, args: [{
16338
16361
  providedIn: 'root',
@@ -16350,9 +16373,9 @@
16350
16373
  { type: undefined, decorators: [{ type: i0.Inject, args: [ENVIRONMENT,] }] },
16351
16374
  { type: undefined, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [APP_CONFIG_OPTIONS,] }] }
16352
16375
  ]; };
16353
- var templateObject_1$1, templateObject_2$1, templateObject_3$1, templateObject_4$1, templateObject_5$1;
16376
+ var templateObject_1$3, templateObject_2$3, templateObject_3$2, templateObject_4$2, templateObject_5$1;
16354
16377
 
16355
- var moment$4 = momentImported__namespace;
16378
+ var moment$2 = momentImported__namespace;
16356
16379
  var PlatformService = /** @class */ (function () {
16357
16380
  function PlatformService(platform, cdkPlatform, toastController, translate, dateAdapter, entitiesStorage, settings, networkService, accountService, configService, cache, storage, audioProvider, environment, statusBar, keyboard, splashScreen, browser, downloader) {
16358
16381
  this.platform = platform;
@@ -16577,16 +16600,16 @@
16577
16600
  }
16578
16601
  // config moment lib
16579
16602
  try {
16580
- moment$4.locale(event.lang);
16603
+ moment$2.locale(event.lang);
16581
16604
  console.debug('[platform] Use locale {' + event.lang + '}');
16582
16605
  }
16583
16606
  // If error, fallback to en
16584
16607
  catch (err) {
16585
- moment$4.locale('en');
16608
+ moment$2.locale('en');
16586
16609
  console.warn('[platform] Unknown local for moment lib. Using default [en]');
16587
16610
  }
16588
16611
  // Config date adapter
16589
- _this.dateAdapter.setLocale(moment$4.locale());
16612
+ _this.dateAdapter.setLocale(moment$2.locale());
16590
16613
  }
16591
16614
  });
16592
16615
  this.settings.onChange.subscribe(function (data) {
@@ -16771,7 +16794,7 @@
16771
16794
  };
16772
16795
  return PlatformService;
16773
16796
  }());
16774
- PlatformService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PlatformService_Factory() { return new PlatformService(i0.ɵɵinject(i1$5.Platform), i0.ɵɵinject(i2$4.Platform), i0.ɵɵinject(i1$5.ToastController), i0.ɵɵinject(i1$2.TranslateService), i0.ɵɵinject(i1$1.MomentDateAdapter), i0.ɵɵinject(EntitiesStorage), i0.ɵɵinject(LocalSettingsService), i0.ɵɵinject(NetworkService), i0.ɵɵinject(AccountService), i0.ɵɵinject(ConfigService), i0.ɵɵinject(i6.CacheService), i0.ɵɵinject(i3$2.Storage), i0.ɵɵinject(AudioProvider), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(i14.StatusBar, 8), i0.ɵɵinject(i15.Keyboard, 8), i0.ɵɵinject(i10.SplashScreen, 8), i0.ɵɵinject(i17.InAppBrowser, 8), i0.ɵɵinject(i18.Downloader, 8)); }, token: PlatformService, providedIn: "root" });
16797
+ PlatformService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function PlatformService_Factory() { return new PlatformService(i0__namespace.ɵɵinject(i1__namespace$4.Platform), i0__namespace.ɵɵinject(i2__namespace$4.Platform), i0__namespace.ɵɵinject(i1__namespace$4.ToastController), i0__namespace.ɵɵinject(i1__namespace$1.TranslateService), i0__namespace.ɵɵinject(i1__namespace.MomentDateAdapter), i0__namespace.ɵɵinject(EntitiesStorage), i0__namespace.ɵɵinject(LocalSettingsService), i0__namespace.ɵɵinject(NetworkService), i0__namespace.ɵɵinject(AccountService), i0__namespace.ɵɵinject(ConfigService), i0__namespace.ɵɵinject(i6__namespace.CacheService), i0__namespace.ɵɵinject(i3__namespace$1.Storage), i0__namespace.ɵɵinject(AudioProvider), i0__namespace.ɵɵinject(ENVIRONMENT), i0__namespace.ɵɵinject(i14__namespace.StatusBar, 8), i0__namespace.ɵɵinject(i15__namespace.Keyboard, 8), i0__namespace.ɵɵinject(i10__namespace.SplashScreen, 8), i0__namespace.ɵɵinject(i17__namespace.InAppBrowser, 8), i0__namespace.ɵɵinject(i18__namespace.Downloader, 8)); }, token: PlatformService, providedIn: "root" });
16775
16798
  PlatformService.decorators = [
16776
16799
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
16777
16800
  ];
@@ -16869,7 +16892,7 @@
16869
16892
  };
16870
16893
  return MatStepperI18n;
16871
16894
  }(stepper.MatStepperIntl));
16872
- MatStepperI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(i0.ɵɵinject(i1$2.TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
16895
+ MatStepperI18n.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
16873
16896
  MatStepperI18n.decorators = [
16874
16897
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
16875
16898
  ];
@@ -18061,7 +18084,7 @@
18061
18084
  return 1;
18062
18085
  }
18063
18086
  }
18064
- var ɵ0$9 = function (defaultStateSize) { return [
18087
+ var ɵ0$1 = function (defaultStateSize) { return [
18065
18088
  Math.round((rgbArrayMap.red[0] - 50) / defaultStateSize),
18066
18089
  Math.round((255 - rgbArrayMap.red[1]) / defaultStateSize),
18067
18090
  Math.round((255 - rgbArrayMap.red[2]) / defaultStateSize)
@@ -18069,7 +18092,7 @@
18069
18092
  var SCALE_OPTIONS_DEFAULT = {
18070
18093
  startColor: rgbArrayMap.red,
18071
18094
  startStates: [0, 2, 3],
18072
- startStepsFn: ɵ0$9
18095
+ startStepsFn: ɵ0$1
18073
18096
  };
18074
18097
  /**
18075
18098
  * Internal function, that create a colors scale, using iteration
@@ -18161,24 +18184,24 @@
18161
18184
  return result;
18162
18185
  }
18163
18186
 
18164
- var EntityTestClass = /** @class */ (function () {
18187
+ var EntityTestClass$1 = /** @class */ (function () {
18165
18188
  function EntityTestClass() {
18166
18189
  }
18167
18190
  return EntityTestClass;
18168
18191
  }());
18169
- var FAKE_ENTITIES = [
18192
+ var FAKE_ENTITIES$1 = [
18170
18193
  { id: 1, label: 'AAA', name: 'Item A', description: 'Very long description A', comments: 'Very very long comments... again for A' },
18171
18194
  { id: 2, label: 'BBB', name: 'Item B', description: 'Very long description B', comments: 'Very very long comments... again for B' },
18172
18195
  { id: 3, label: 'CCC', name: 'Item C', description: 'Very long description C', comments: 'Very very long comments... again for C' }
18173
18196
  ];
18174
- function deepCopy(values, size) {
18197
+ function deepCopy$1(values, size) {
18175
18198
  if (isNil(size)) {
18176
- return (values || FAKE_ENTITIES).map(function (entity) { return Object.assign({}, entity); });
18199
+ return (values || FAKE_ENTITIES$1).map(function (entity) { return Object.assign({}, entity); });
18177
18200
  }
18178
18201
  var result = [];
18179
18202
  var i = 1;
18180
18203
  while (result.length < size) {
18181
- result = result.concat((values || FAKE_ENTITIES).map(function (entity) {
18204
+ result = result.concat((values || FAKE_ENTITIES$1).map(function (entity) {
18182
18205
  var name = entity.name + ' #' + i;
18183
18206
  return Object.assign(Object.assign({}, entity), { id: i++, name: name });
18184
18207
  }));
@@ -18188,7 +18211,7 @@
18188
18211
  var AutocompleteTestPage = /** @class */ (function () {
18189
18212
  function AutocompleteTestPage(formBuilder) {
18190
18213
  this.formBuilder = formBuilder;
18191
- this._items = deepCopy(FAKE_ENTITIES, 100);
18214
+ this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
18192
18215
  this.$items = new rxjs.BehaviorSubject(undefined);
18193
18216
  this.autocompleteFields = new MatAutocompleteConfigHolder();
18194
18217
  this.memoryHide = false;
@@ -18233,7 +18256,7 @@
18233
18256
  });
18234
18257
  // From items
18235
18258
  this.autocompleteFields.add('entity-items-large', {
18236
- items: FAKE_ENTITIES.slice(),
18259
+ items: FAKE_ENTITIES$1.slice(),
18237
18260
  attributes: ['label', 'name', 'description', 'comments'],
18238
18261
  displayWith: this.entityToString
18239
18262
  });
@@ -18246,12 +18269,12 @@
18246
18269
  var _this = this;
18247
18270
  return __generator(this, function (_a) {
18248
18271
  data = {
18249
- entity: deepCopy(FAKE_ENTITIES)[0],
18272
+ entity: deepCopy$1(FAKE_ENTITIES$1)[0],
18250
18273
  // This item is NOT in the items list => i should be displayed anyway
18251
18274
  missingEntity: {
18252
18275
  id: -1, label: '??', name: 'Missing item'
18253
18276
  },
18254
- disableEntity: deepCopy(FAKE_ENTITIES)[2]
18277
+ disableEntity: deepCopy$1(FAKE_ENTITIES$1)[2]
18255
18278
  };
18256
18279
  this.form.setValue(data);
18257
18280
  // Load observables
@@ -18449,13 +18472,13 @@
18449
18472
  { type: Array, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [APP_TESTING_PAGES,] }] }
18450
18473
  ]; };
18451
18474
 
18452
- var moment$5 = momentImported__namespace;
18475
+ var moment$1 = momentImported__namespace;
18453
18476
  var SwipeTestPage = /** @class */ (function () {
18454
18477
  function SwipeTestPage(formBuilder, dateFormatPipe) {
18455
18478
  this.formBuilder = formBuilder;
18456
18479
  this.dateFormatPipe = dateFormatPipe;
18457
18480
  this.$dates = new rxjs.BehaviorSubject(undefined);
18458
- this._today = moment$5().startOf('day');
18481
+ this._today = moment$1().startOf('day');
18459
18482
  this.form = formBuilder.group({
18460
18483
  empty: [null, i1.Validators.required],
18461
18484
  date: [null, i1.Validators.compose([i1.Validators.required, SharedValidators.validDate])],
@@ -18469,7 +18492,7 @@
18469
18492
  var _this = this;
18470
18493
  var dates = [];
18471
18494
  for (var d = 0; d < 7; d++) {
18472
- dates[d] = moment$5(this._today).add(d - 3, 'day');
18495
+ dates[d] = moment$1(this._today).add(d - 3, 'day');
18473
18496
  }
18474
18497
  this.$dates.next(dates);
18475
18498
  this.loadData();
@@ -18516,7 +18539,7 @@
18516
18539
  { type: DateFormatPipe }
18517
18540
  ]; };
18518
18541
 
18519
- var moment$6 = momentImported__namespace;
18542
+ var moment = momentImported__namespace;
18520
18543
  var DateTimeTestPage = /** @class */ (function () {
18521
18544
  function DateTimeTestPage(platform, formBuilder, cd) {
18522
18545
  this.platform = platform;
@@ -18552,7 +18575,7 @@
18552
18575
  var now, data;
18553
18576
  var _this = this;
18554
18577
  return __generator(this, function (_a) {
18555
- now = moment$6();
18578
+ now = moment();
18556
18579
  data = {
18557
18580
  empty: toDateISOString(now.clone().add(2, 'hours')),
18558
18581
  enable: toDateISOString(now),
@@ -18617,23 +18640,23 @@
18617
18640
  { type: i0.ChangeDetectorRef }
18618
18641
  ]; };
18619
18642
 
18620
- var EntityTestClass$1 = /** @class */ (function () {
18643
+ var EntityTestClass = /** @class */ (function () {
18621
18644
  function EntityTestClass() {
18622
18645
  }
18623
18646
  return EntityTestClass;
18624
18647
  }());
18625
- var FAKE_ENTITIES$1 = [
18648
+ var FAKE_ENTITIES = [
18626
18649
  { id: 1, label: 'AAA', name: 'Item A' },
18627
18650
  { id: 2, label: 'BBB', name: 'Item B' },
18628
18651
  { id: 3, label: 'CCC', name: 'Item C' }
18629
18652
  ];
18630
- function deepCopy$1(values) {
18631
- return (values || FAKE_ENTITIES$1).map(function (entity) { return Object.assign({}, entity); });
18653
+ function deepCopy(values) {
18654
+ return (values || FAKE_ENTITIES).map(function (entity) { return Object.assign({}, entity); });
18632
18655
  }
18633
18656
  var ChipsTestPage = /** @class */ (function () {
18634
18657
  function ChipsTestPage(formBuilder) {
18635
18658
  this.formBuilder = formBuilder;
18636
- this._items = deepCopy$1(FAKE_ENTITIES$1);
18659
+ this._items = deepCopy(FAKE_ENTITIES);
18637
18660
  this._$items = new rxjs.BehaviorSubject(undefined);
18638
18661
  this.autocompleteFields = new MatAutocompleteConfigHolder();
18639
18662
  this.form = formBuilder.group({
@@ -18653,7 +18676,7 @@
18653
18676
  });
18654
18677
  // From items
18655
18678
  this.autocompleteFields.add('entity-items', {
18656
- items: FAKE_ENTITIES$1.slice(),
18679
+ items: FAKE_ENTITIES.slice(),
18657
18680
  attributes: ['label', 'name'],
18658
18681
  displayWith: this.entityToString
18659
18682
  });
@@ -18676,8 +18699,8 @@
18676
18699
  data = {
18677
18700
  entity: [],
18678
18701
  // THis item is NOT in the items list => i should be displayed anyway
18679
- entityInitial: FAKE_ENTITIES$1.slice(1, 2),
18680
- disableEntity: FAKE_ENTITIES$1.slice(1, 2)
18702
+ entityInitial: FAKE_ENTITIES.slice(1, 2),
18703
+ disableEntity: FAKE_ENTITIES.slice(1, 2)
18681
18704
  };
18682
18705
  this.form.setValue(data);
18683
18706
  return [2 /*return*/];
@@ -18687,7 +18710,7 @@
18687
18710
  ChipsTestPage.prototype.loadItems = function () {
18688
18711
  return __awaiter(this, void 0, void 0, function () {
18689
18712
  return __generator(this, function (_a) {
18690
- this._$items.next(deepCopy$1(FAKE_ENTITIES$1));
18713
+ this._$items.next(deepCopy(FAKE_ENTITIES));
18691
18714
  return [2 /*return*/];
18692
18715
  });
18693
18716
  });
@@ -18724,7 +18747,7 @@
18724
18747
  { type: i1.FormBuilder }
18725
18748
  ]; };
18726
18749
 
18727
- var routes = [
18750
+ var routes$1 = [
18728
18751
  {
18729
18752
  path: '',
18730
18753
  pathMatch: 'full',
@@ -18774,7 +18797,7 @@
18774
18797
  i1.ReactiveFormsModule,
18775
18798
  SharedMaterialModule,
18776
18799
  i1$2.TranslateModule.forChild(),
18777
- i3.RouterModule.forChild(routes)
18800
+ i3.RouterModule.forChild(routes$1)
18778
18801
  ],
18779
18802
  declarations: [
18780
18803
  MaterialTestingPage,
@@ -18885,20 +18908,22 @@
18885
18908
 
18886
18909
  // eslint-disable-next-line @angular-eslint/directive-class-suffix
18887
18910
  var AppForm = /** @class */ (function () {
18888
- function AppForm(dateAdapter, form, settings) {
18889
- this.dateAdapter = dateAdapter;
18890
- this.settings = settings;
18891
- this._subscription = new rxjs.Subscription();
18911
+ function AppForm(injector, form) {
18912
+ var _this = this;
18913
+ this.error = null;
18892
18914
  this._enable = false;
18893
18915
  this._loading = true;
18894
- this.error = null;
18916
+ this.i18nFieldPrefix = null;
18917
+ this._subscription = new rxjs.Subscription();
18895
18918
  this.debug = false;
18896
18919
  this.onCancel = new i0.EventEmitter();
18897
18920
  this.onSubmit = new i0.EventEmitter();
18898
18921
  if (form)
18899
18922
  this.setForm(form);
18900
- this.autocompleteHelper = new MatAutocompleteConfigHolder(settings && {
18901
- getUserAttributes: function (a, b) { return settings.getFieldDisplayAttributes(a, b); }
18923
+ this.settings = injector.get(LocalSettingsService);
18924
+ this.errorTranslator = injector.get(FormErrorAdapter);
18925
+ this.autocompleteHelper = new MatAutocompleteConfigHolder(this.settings && {
18926
+ getUserAttributes: function (a, b) { return _this.settings.getFieldDisplayAttributes(a, b); }
18902
18927
  });
18903
18928
  this.autocompleteFields = this.autocompleteHelper.fields;
18904
18929
  }
@@ -18998,6 +19023,9 @@
18998
19023
  });
18999
19024
  AppForm.prototype.ngOnInit = function () {
19000
19025
  this._enable ? this.enable() : this.disable();
19026
+ this.errorTranslatorOptions = this.errorTranslatorOptions || {
19027
+ controlPathTranslator: this
19028
+ };
19001
19029
  };
19002
19030
  AppForm.prototype.ngOnDestroy = function () {
19003
19031
  this._subscription.unsubscribe();
@@ -19107,7 +19135,18 @@
19107
19135
  if (!opts || opts.emitEvent !== false)
19108
19136
  this.markForCheck();
19109
19137
  };
19138
+ AppForm.prototype.translateControlPath = function (path) {
19139
+ return this.getFieldName(path);
19140
+ };
19110
19141
  /* -- protected methods -- */
19142
+ AppForm.prototype.getFormError = function (form, opts) {
19143
+ if (!form || !this.errorTranslator)
19144
+ return undefined;
19145
+ return this.errorTranslator.translateErrors(this.form, Object.assign({ controlPathTranslator: this }, opts));
19146
+ };
19147
+ AppForm.prototype.getFieldName = function (path) {
19148
+ return (this.i18nFieldPrefix || '') + changeCaseToUnderscore(path).toUpperCase();
19149
+ };
19111
19150
  AppForm.prototype.registerSubscription = function (sub) {
19112
19151
  return this._subscription.add(sub);
19113
19152
  };
@@ -19124,13 +19163,13 @@
19124
19163
  { type: i0.Directive }
19125
19164
  ];
19126
19165
  AppForm.ctorParameters = function () { return [
19127
- { type: undefined },
19128
- { type: i1.FormGroup },
19129
- { type: LocalSettingsService }
19166
+ { type: i0.Injector },
19167
+ { type: i1.FormGroup }
19130
19168
  ]; };
19131
19169
  AppForm.propDecorators = {
19132
19170
  debug: [{ type: i0.Input }],
19133
19171
  tabindex: [{ type: i0.Input }],
19172
+ errorTranslatorOptions: [{ type: i0.Input }],
19134
19173
  form: [{ type: i0.Input }],
19135
19174
  onCancel: [{ type: i0.Output }],
19136
19175
  onSubmit: [{ type: i0.Output }]
@@ -19138,12 +19177,12 @@
19138
19177
 
19139
19178
  var AuthForm = /** @class */ (function (_super) {
19140
19179
  __extends(AuthForm, _super);
19141
- function AuthForm(platform, dateAdapter, formBuilder, settings, configService, modalCtrl, network, cd, environment) {
19142
- var _this = _super.call(this, dateAdapter, formBuilder.group({
19180
+ function AuthForm(injector, platform, formBuilder, settings, configService, modalCtrl, network, cd, environment) {
19181
+ var _this = _super.call(this, injector, formBuilder.group({
19143
19182
  username: [null, i1.Validators.required],
19144
19183
  password: [null, i1.Validators.required],
19145
19184
  offline: [network.offline]
19146
- }), settings) || this;
19185
+ })) || this;
19147
19186
  _this.configService = configService;
19148
19187
  _this.modalCtrl = modalCtrl;
19149
19188
  _this.network = network;
@@ -19247,8 +19286,8 @@
19247
19286
  },] }
19248
19287
  ];
19249
19288
  AuthForm.ctorParameters = function () { return [
19289
+ { type: i0.Injector },
19250
19290
  { type: PlatformService },
19251
- { type: i1$3.DateAdapter },
19252
19291
  { type: i1.FormBuilder },
19253
19292
  { type: LocalSettingsService },
19254
19293
  { type: ConfigService },
@@ -19892,7 +19931,7 @@
19892
19931
  };
19893
19932
  return UserSettingsValidatorService;
19894
19933
  }(AppValidatorService));
19895
- UserSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(i0.ɵɵinject(i1.FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
19934
+ UserSettingsValidatorService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(i0__namespace.ɵɵinject(i1__namespace$6.FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
19896
19935
  UserSettingsValidatorService.decorators = [
19897
19936
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
19898
19937
  ];
@@ -19940,7 +19979,7 @@
19940
19979
  };
19941
19980
  return AccountValidatorService;
19942
19981
  }(AppValidatorService));
19943
- AccountValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(i0.ɵɵinject(i1.FormBuilder), i0.ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
19982
+ AccountValidatorService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(i0__namespace.ɵɵinject(i1__namespace$6.FormBuilder), i0__namespace.ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
19944
19983
  AccountValidatorService.decorators = [
19945
19984
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
19946
19985
  ];
@@ -19951,9 +19990,8 @@
19951
19990
 
19952
19991
  var AccountPage = /** @class */ (function (_super) {
19953
19992
  __extends(AccountPage, _super);
19954
- function AccountPage(dateAdapter, router, formBuilder, accountService, validatorService, settingsValidatorService, translate, settings, cd, locales) {
19955
- var _this = _super.call(this, dateAdapter, validatorService.getFormGroup(accountService.account), settings) || this;
19956
- _this.dateAdapter = dateAdapter;
19993
+ function AccountPage(injector, router, formBuilder, accountService, validatorService, settingsValidatorService, translate, settings, cd, locales) {
19994
+ var _this = _super.call(this, injector, validatorService.getFormGroup(accountService.account)) || this;
19957
19995
  _this.router = router;
19958
19996
  _this.formBuilder = formBuilder;
19959
19997
  _this.accountService = accountService;
@@ -20149,7 +20187,7 @@
20149
20187
  },] }
20150
20188
  ];
20151
20189
  AccountPage.ctorParameters = function () { return [
20152
- { type: i1$3.DateAdapter },
20190
+ { type: i0.Injector },
20153
20191
  { type: i3.Router },
20154
20192
  { type: i1.FormBuilder },
20155
20193
  { type: AccountService },
@@ -20537,7 +20575,7 @@
20537
20575
  };
20538
20576
  return LocalSettingsValidatorService;
20539
20577
  }(AppValidatorService));
20540
- LocalSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(i0.ɵɵinject(i1.FormBuilder), i0.ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
20578
+ LocalSettingsValidatorService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(i0__namespace.ɵɵinject(i1__namespace$6.FormBuilder), i0__namespace.ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
20541
20579
  LocalSettingsValidatorService.decorators = [
20542
20580
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
20543
20581
  ];
@@ -20548,9 +20586,8 @@
20548
20586
 
20549
20587
  var SettingsPage = /** @class */ (function (_super_1) {
20550
20588
  __extends(SettingsPage, _super_1);
20551
- function SettingsPage(dateAdapter, platform, router, validatorService, alertCtrl, translate, formBuilder, accountService, settings, cd, network, locales) {
20552
- var _this = _super_1.call(this, dateAdapter, validatorService.getFormGroup(), settings) || this;
20553
- _this.dateAdapter = dateAdapter;
20589
+ function SettingsPage(injector, platform, router, validatorService, alertCtrl, translate, formBuilder, accountService, settings, cd, network, locales) {
20590
+ var _this = _super_1.call(this, injector, validatorService.getFormGroup()) || this;
20554
20591
  _this.platform = platform;
20555
20592
  _this.router = router;
20556
20593
  _this.validatorService = validatorService;
@@ -20904,7 +20941,7 @@
20904
20941
  },] }
20905
20942
  ];
20906
20943
  SettingsPage.ctorParameters = function () { return [
20907
- { type: i1$3.DateAdapter },
20944
+ { type: i0.Injector },
20908
20945
  { type: PlatformService },
20909
20946
  { type: i3.Router },
20910
20947
  { type: LocalSettingsValidatorService },
@@ -20921,8 +20958,7 @@
20921
20958
  var AppPropertiesForm = /** @class */ (function (_super) {
20922
20959
  __extends(AppPropertiesForm, _super);
20923
20960
  function AppPropertiesForm(injector, formBuilder, dateAdapter, settings, cd, formGroupDir) {
20924
- var _this = _super.call(this, dateAdapter, null, settings) || this;
20925
- _this.injector = injector;
20961
+ var _this = _super.call(this, injector, null) || this;
20926
20962
  _this.formBuilder = formBuilder;
20927
20963
  _this.dateAdapter = dateAdapter;
20928
20964
  _this.settings = settings;
@@ -21046,7 +21082,7 @@
21046
21082
  var AppListForm = /** @class */ (function (_super) {
21047
21083
  __extends(AppListForm, _super);
21048
21084
  function AppListForm(injector, formBuilder, dateAdapter, settings, cd, formGroupDir) {
21049
- var _this = _super.call(this, dateAdapter, null, settings) || this;
21085
+ var _this = _super.call(this, injector, null) || this;
21050
21086
  _this.injector = injector;
21051
21087
  _this.formBuilder = formBuilder;
21052
21088
  _this.dateAdapter = dateAdapter;
@@ -21321,7 +21357,7 @@
21321
21357
  };
21322
21358
  return IsOnFieldModePipe;
21323
21359
  }());
21324
- IsOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
21360
+ IsOnFieldModePipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
21325
21361
  IsOnFieldModePipe.decorators = [
21326
21362
  { type: i0.Pipe, args: [{
21327
21363
  name: 'isOnField'
@@ -21336,7 +21372,7 @@
21336
21372
  };
21337
21373
  return IsNotOnFieldModePipe;
21338
21374
  }());
21339
- IsNotOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
21375
+ IsNotOnFieldModePipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
21340
21376
  IsNotOnFieldModePipe.decorators = [
21341
21377
  { type: i0.Pipe, args: [{
21342
21378
  name: 'isNotOnField'
@@ -21354,7 +21390,7 @@
21354
21390
  };
21355
21391
  return PersonToStringPipe;
21356
21392
  }());
21357
- PersonToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
21393
+ PersonToStringPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
21358
21394
  PersonToStringPipe.decorators = [
21359
21395
  { type: i0.Pipe, args: [{
21360
21396
  name: 'personToString'
@@ -21766,7 +21802,7 @@
21766
21802
  };
21767
21803
  return IsLoginAccountPipe;
21768
21804
  }());
21769
- IsLoginAccountPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
21805
+ IsLoginAccountPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
21770
21806
  IsLoginAccountPipe.decorators = [
21771
21807
  { type: i0.Pipe, args: [{
21772
21808
  name: 'isLogin'
@@ -21781,7 +21817,7 @@
21781
21817
  };
21782
21818
  return AccountToStringPipe;
21783
21819
  }());
21784
- AccountToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
21820
+ AccountToStringPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
21785
21821
  AccountToStringPipe.decorators = [
21786
21822
  { type: i0.Pipe, args: [{
21787
21823
  name: 'accountToString'
@@ -21799,7 +21835,7 @@
21799
21835
  };
21800
21836
  return DepartmentToStringPipe;
21801
21837
  }());
21802
- DepartmentToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
21838
+ DepartmentToStringPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
21803
21839
  DepartmentToStringPipe.decorators = [
21804
21840
  { type: i0.Pipe, args: [{
21805
21841
  name: 'departmentToString'
@@ -21834,7 +21870,7 @@
21834
21870
  };
21835
21871
  return MenuService;
21836
21872
  }());
21837
- MenuService.ɵprov = i0.ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
21873
+ MenuService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
21838
21874
  MenuService.decorators = [
21839
21875
  { type: i0.Injectable, args: [{
21840
21876
  providedIn: 'root'
@@ -22413,7 +22449,7 @@
22413
22449
  };
22414
22450
  return AuthGuardService;
22415
22451
  }());
22416
- AuthGuardService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AuthGuardService_Factory() { return new AuthGuardService(i0.ɵɵinject(AccountService), i0.ɵɵinject(i1$5.ModalController), i0.ɵɵinject(i3.Router), i0.ɵɵinject(ENVIRONMENT)); }, token: AuthGuardService, providedIn: "root" });
22452
+ AuthGuardService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function AuthGuardService_Factory() { return new AuthGuardService(i0__namespace.ɵɵinject(AccountService), i0__namespace.ɵɵinject(i1__namespace$4.ModalController), i0__namespace.ɵɵinject(i3__namespace$3.Router), i0__namespace.ɵɵinject(ENVIRONMENT)); }, token: AuthGuardService, providedIn: "root" });
22417
22453
  AuthGuardService.decorators = [
22418
22454
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
22419
22455
  ];
@@ -22464,7 +22500,7 @@
22464
22500
  query: query,
22465
22501
  variables: { id: id },
22466
22502
  fetchPolicy: opts && opts.fetchPolicy || undefined,
22467
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
22503
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
22468
22504
  })
22469
22505
  .pipe(operators.map(function (_b) {
22470
22506
  var data = _b.data;
@@ -22486,7 +22522,7 @@
22486
22522
  query: query,
22487
22523
  variables: { id: id },
22488
22524
  fetchPolicy: opts && opts.fetchPolicy || undefined,
22489
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
22525
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
22490
22526
  })];
22491
22527
  case 1:
22492
22528
  data = (_b.sent()).data;
@@ -22522,7 +22558,7 @@
22522
22558
  totalFieldName: withTotal ? 'total' : undefined,
22523
22559
  insertFilterFn: filter && filter.asFilterFn(),
22524
22560
  variables: variables,
22525
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
22561
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
22526
22562
  fetchPolicy: opts && opts.fetchPolicy || undefined
22527
22563
  })
22528
22564
  .pipe(operators.map(function (_b) {
@@ -22564,7 +22600,7 @@
22564
22600
  return [4 /*yield*/, this.graphql.query({
22565
22601
  query: query,
22566
22602
  variables: variables,
22567
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
22603
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
22568
22604
  fetchPolicy: opts && opts.fetchPolicy || 'network-only'
22569
22605
  })];
22570
22606
  case 1:
@@ -22612,7 +22648,7 @@
22612
22648
  variables: {
22613
22649
  filter: filter && filter.asPodObject()
22614
22650
  },
22615
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
22651
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
22616
22652
  fetchPolicy: opts && opts.fetchPolicy || 'network-only'
22617
22653
  })];
22618
22654
  case 3:
@@ -22654,7 +22690,7 @@
22654
22690
  variables: {
22655
22691
  data: json
22656
22692
  },
22657
- error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
22693
+ error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
22658
22694
  update: function (proxy, _b) {
22659
22695
  var data = _b.data;
22660
22696
  var savedEntities = data && data.data;
@@ -22721,7 +22757,7 @@
22721
22757
  variables: {
22722
22758
  data: json
22723
22759
  },
22724
- error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
22760
+ error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
22725
22761
  update: function (cache, _b) {
22726
22762
  var data = _b.data;
22727
22763
  // Update entity
@@ -22779,7 +22815,7 @@
22779
22815
  refetchQueries: this.getRefetchQueriesForMutation(opts),
22780
22816
  awaitRefetchQueries: opts && opts.awaitRefetchQueries,
22781
22817
  variables: { ids: ids },
22782
- error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
22818
+ error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
22783
22819
  update: function (cache, res) {
22784
22820
  // Remove from cache
22785
22821
  if (_this.watchQueriesUpdatePolicy === 'update-cache') {
@@ -22832,7 +22868,7 @@
22832
22868
  refetchQueries: this.getRefetchQueriesForMutation(opts),
22833
22869
  awaitRefetchQueries: opts && opts.awaitRefetchQueries,
22834
22870
  variables: { id: id },
22835
- error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
22871
+ error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
22836
22872
  update: function (proxy, res) {
22837
22873
  // Remove from cache
22838
22874
  if (_this.watchQueriesUpdatePolicy === 'update-cache') {
@@ -22871,7 +22907,7 @@
22871
22907
  query: opts && opts.query || this.subscriptions.listenChanges,
22872
22908
  variables: variables,
22873
22909
  error: {
22874
- code: ErrorCodes.SUBSCRIBE_DATA_ERROR,
22910
+ code: ErrorCodes$2.SUBSCRIBE_DATA_ERROR,
22875
22911
  message: 'ERROR.SUBSCRIBE_DATA_ERROR'
22876
22912
  }
22877
22913
  })
@@ -23080,7 +23116,7 @@
23080
23116
  if (this._debug)
23081
23117
  invalidRows.forEach(function (row) { return AppTableUtils.logRowErrors(row, "[table-datasource] " + _this._logTypeName + " row #" + row.id); });
23082
23118
  // Stop with an error
23083
- throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
23119
+ throw { code: ErrorCodes$2.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
23084
23120
  }
23085
23121
  this._editingRowCount = 0;
23086
23122
  data = void 0;
@@ -23154,14 +23190,10 @@
23154
23190
  this._stopWatching$.next();
23155
23191
  };
23156
23192
  EntitiesTableDataSource.prototype.waitIdle = function (debounceTimeMs) {
23157
- return __awaiter(this, void 0, void 0, function () {
23158
- return __generator(this, function (_a) {
23159
- return [2 /*return*/, firstFalsePromise(this.loadingSubject
23160
- .asObservable()
23161
- .pipe(operators.debounceTime(debounceTimeMs || 100) // if not started yet, wait
23162
- ))];
23163
- });
23164
- });
23193
+ return firstFalsePromise(this.loadingSubject
23194
+ .asObservable()
23195
+ .pipe(operators.debounceTime(debounceTimeMs || 100) // if not started yet, wait
23196
+ ));
23165
23197
  };
23166
23198
  EntitiesTableDataSource.prototype.confirmCreate = function (row) {
23167
23199
  if (!_super_1.prototype.confirmCreate.call(this, row))
@@ -23695,7 +23727,7 @@
23695
23727
  this.saveBeforeSort = toBoolean(this.saveBeforeSort, !this.readOnly); // force to false when readonly
23696
23728
  this.saveBeforeFilter = toBoolean(this.saveBeforeFilter, !this.readOnly); // force to false when readonly
23697
23729
  this.keepEditedRowOnSave = toBoolean(this.keepEditedRowOnSave, this.inlineEdition);
23698
- this.translateErrorOptions = this.translateErrorOptions || { separator: ', ', pathTranslateService: this }; // Can be override in subclasses constructors
23730
+ this.errorTranslatorOptions = this.errorTranslatorOptions || { separator: ', ', controlPathTranslator: this }; // Can be override in subclasses constructors
23699
23731
  // Check ask user confirmation is possible
23700
23732
  if (this.confirmBeforeDelete && !this.alertCtrl)
23701
23733
  throw Error('Missing \'alertCtrl\' or \'injector\' in component\'s constructor.');
@@ -23912,7 +23944,7 @@
23912
23944
  if (previousRow && (previousRow.id === -1) && ((_a = previousRow.validator) === null || _a === void 0 ? void 0 : _a.invalid) && !((_b = previousRow.validator) === null || _b === void 0 ? void 0 : _b.dirty)) {
23913
23945
  this.deleteNewRow(event, previousRow);
23914
23946
  // Wait deletion is done, then edit previous row (by id, because of reloading)
23915
- firstFalsePromise(this.loadingSubject)
23947
+ this.waitIdle()
23916
23948
  .then(function () { return _this.editRowById(event, row.id, { focusColumn: _this.lastUserColumn }); });
23917
23949
  return true;
23918
23950
  }
@@ -24038,14 +24070,14 @@
24038
24070
  case 0:
24039
24071
  opts = Object.assign({ keepEditing: this.keepEditedRowOnSave }, opts);
24040
24072
  if (this.readOnly) {
24041
- throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
24073
+ throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
24042
24074
  }
24043
24075
  this.resetError();
24044
24076
  // Keep edited row id (should be done BEFORE confirmEditCreate() )
24045
24077
  this.previouslyEditedRowId = opts.keepEditing && ((_a = this.editedRow) === null || _a === void 0 ? void 0 : _a.editing) ? this.editedRow.id : undefined;
24046
24078
  previouslyEditedData = isNotNil(this.previouslyEditedRowId) && this.editedRow.currentData || ((_b = this.singleSelectedRow) === null || _b === void 0 ? void 0 : _b.currentData);
24047
24079
  if (!this.confirmEditCreate()) {
24048
- throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
24080
+ throw { code: ErrorCodes$2.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
24049
24081
  }
24050
24082
  // Mark as saving
24051
24083
  this.markAsSaving();
@@ -24198,7 +24230,7 @@
24198
24230
  switch (_d.label) {
24199
24231
  case 0:
24200
24232
  if (this.readOnly) {
24201
- throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
24233
+ throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
24202
24234
  }
24203
24235
  if (event === null || event === void 0 ? void 0 : event.defaultPrevented)
24204
24236
  return [2 /*return*/, 0]; // SKip
@@ -24258,25 +24290,46 @@
24258
24290
  });
24259
24291
  };
24260
24292
  AppTable.prototype.selectRowById = function (id) {
24261
- var _this = this;
24262
- if (id === undefined)
24263
- return Promise.resolve(false);
24264
- return firstFalsePromise(this.loadingSubject)
24265
- .then(function () { return _this.dataSource.getRow(id); })
24266
- .then(function (row) { return row && _this.clickRow(null, row); });
24293
+ return __awaiter(this, void 0, void 0, function () {
24294
+ var row;
24295
+ return __generator(this, function (_d) {
24296
+ switch (_d.label) {
24297
+ case 0:
24298
+ if (id === undefined)
24299
+ return [2 /*return*/, false];
24300
+ return [4 /*yield*/, this.waitIdle()];
24301
+ case 1:
24302
+ _d.sent();
24303
+ row = this.dataSource.getRow(id);
24304
+ return [2 /*return*/, this.clickRow(null, row)];
24305
+ }
24306
+ });
24307
+ });
24267
24308
  };
24268
24309
  /**
24269
24310
  * Try to select row by data. Will use dataEquals() (that call EntityUtils.equals()) to find same row's data
24270
24311
  * @param data
24271
24312
  */
24272
24313
  AppTable.prototype.selectRowByData = function (data) {
24273
- var _this = this;
24274
- if (data === undefined)
24275
- return Promise.resolve(false);
24276
- return firstFalsePromise(this.loadingSubject)
24277
- .then(function () { return _this.dataSource.getRows(); })
24278
- .then(function (rows) { return rows.find(function (row) { return _this.equals(row.currentData, data); }); })
24279
- .then(function (row) { return row && _this.clickRow(null, row); });
24314
+ return __awaiter(this, void 0, void 0, function () {
24315
+ var row;
24316
+ var _this = this;
24317
+ return __generator(this, function (_d) {
24318
+ switch (_d.label) {
24319
+ case 0:
24320
+ if (data === undefined)
24321
+ return [2 /*return*/, Promise.resolve(false)];
24322
+ return [4 /*yield*/, this.waitIdle()];
24323
+ case 1:
24324
+ _d.sent();
24325
+ return [4 /*yield*/, this.dataSource.getRows()];
24326
+ case 2:
24327
+ row = ((_d.sent()) || [])
24328
+ .find(function (row) { return _this.equals(row.currentData, data); });
24329
+ return [2 /*return*/, row && this.clickRow(null, row)];
24330
+ }
24331
+ });
24332
+ });
24280
24333
  };
24281
24334
  AppTable.prototype.clickRow = function (event, row) {
24282
24335
  var _this = this;
@@ -24284,7 +24337,7 @@
24284
24337
  // Wait while loading, and loop
24285
24338
  if (this.debug)
24286
24339
  console.debug("[table] Waiting before apply clickRow() (datasource is busy)...");
24287
- firstFalsePromise(this.loadingSubject).then(function () { return _this.clickRow(event, row); });
24340
+ this.waitIdle().then(function () { return _this.clickRow(event, row); });
24288
24341
  return false;
24289
24342
  }
24290
24343
  // DEBUG
@@ -24310,6 +24363,9 @@
24310
24363
  AppTable.prototype.moveRow = function (id, direction) {
24311
24364
  this.dataSource.move(id, direction);
24312
24365
  };
24366
+ AppTable.prototype.waitIdle = function () {
24367
+ return firstFalsePromise(this.loadingSubject);
24368
+ };
24313
24369
  AppTable.prototype.openSelectColumnsModal = function (event) {
24314
24370
  return __awaiter(this, void 0, void 0, function () {
24315
24371
  var columns, hasTopModal, modal, data, userColumns;
@@ -24361,7 +24417,7 @@
24361
24417
  setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {
24362
24418
  return __generator(this, function (_d) {
24363
24419
  switch (_d.label) {
24364
- case 0: return [4 /*yield*/, firstFalsePromise(this.loadingSubject)];
24420
+ case 0: return [4 /*yield*/, this.waitIdle()];
24365
24421
  case 1:
24366
24422
  _d.sent();
24367
24423
  event.target.complete();
@@ -24748,7 +24804,7 @@
24748
24804
  return this._autocompleteConfigHolder.add(fieldName, options);
24749
24805
  };
24750
24806
  AppTable.prototype.getI18nColumnName = function (columnName) {
24751
- return this.i18nColumnPrefix + changeCaseToUnderscore(columnName).toUpperCase();
24807
+ return (this.i18nColumnPrefix || '') + changeCaseToUnderscore(columnName).toUpperCase();
24752
24808
  };
24753
24809
  AppTable.prototype.generateTableId = function () {
24754
24810
  return this.location.path(true).replace(/[?].*$/g, '').replace(/\/[\d]+/g, '_id') + '_' + this.constructor.name;
@@ -24867,7 +24923,7 @@
24867
24923
  row = row || this.editedRow;
24868
24924
  if (!row || !this.formErrorAdapter)
24869
24925
  return undefined;
24870
- return this.formErrorAdapter.translateErrors(row.validator, Object.assign(Object.assign({}, this.translateErrorOptions), opts));
24926
+ return this.formErrorAdapter.translateErrors(row.validator, Object.assign(Object.assign({}, this.errorTranslatorOptions), opts));
24871
24927
  };
24872
24928
  AppTable.prototype.setError = function (value, opts) {
24873
24929
  if (this.errorSubject.value !== value) {
@@ -25712,6 +25768,7 @@
25712
25768
  enableListenChanges: (injector.get(ENVIRONMENT).listenRemoteChanges === true), pathIdAttribute: 'id', autoLoad: true, autoUpdateRoute: true, i18nPrefix: ''
25713
25769
  }, options);
25714
25770
  _this.settings = injector.get(LocalSettingsService);
25771
+ _this.formErrorAdapter = injector.get(FormErrorAdapter);
25715
25772
  _this.cd = injector.get(i0.ChangeDetectorRef);
25716
25773
  _this.dateFormat = injector.get(DateFormatPipe);
25717
25774
  _this.toastController = injector.get(i1$5.ToastController);
@@ -25813,7 +25870,6 @@
25813
25870
  /**
25814
25871
  * Load data from the snapshot route
25815
25872
  *
25816
- * @param route
25817
25873
  * @protected
25818
25874
  */
25819
25875
  AppEntityEditor.prototype.loadFromRoute = function () {
@@ -25865,7 +25921,7 @@
25865
25921
  case 4:
25866
25922
  data = _b.sent();
25867
25923
  if (!data)
25868
- throw { code: ErrorCodes.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
25924
+ throw { code: ErrorCodes$2.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
25869
25925
  this._usageMode = this.computeUsageMode(data);
25870
25926
  return [4 /*yield*/, this.onEntityLoaded(data, opts)];
25871
25927
  case 5:
@@ -25922,7 +25978,7 @@
25922
25978
  idChanged = isNotNil(data.id)
25923
25979
  && this.previousDataId !== undefined // Ignore if first loading (=undefined)
25924
25980
  && this.previousDataId !== data.id;
25925
- opts = Object.assign({ updateRoute: this._autoUpdateRoute && idChanged && !this.loading, openTabIndex: this._autoOpenNextTab && idChanged && isNil(this.previousDataId) && this.selectedTabIndex + 1 < this.tabCount ? this.selectedTabIndex + 1 : undefined }, opts);
25981
+ opts = Object.assign({ updateRoute: this._autoUpdateRoute && idChanged && !this.loading, openTabIndex: this._autoOpenNextTab && idChanged && this.computeNextTabIndex() }, opts);
25926
25982
  this.data = data;
25927
25983
  this.previousDataId = data.id || null;
25928
25984
  promiseOrVoid = this.setValue(data);
@@ -25943,7 +25999,7 @@
25943
25999
  .then(function () { return _this.updateTitle(data); });
25944
26000
  }
25945
26001
  else {
25946
- // Update the tag group index
26002
+ // Update the next tab
25947
26003
  this.updateTabIndex(opts.openTabIndex);
25948
26004
  // Update the title.
25949
26005
  this.updateTitle(data);
@@ -25978,7 +26034,7 @@
25978
26034
  switch (_b.label) {
25979
26035
  case 0:
25980
26036
  this.queryParams = this.queryParams || {};
25981
- // Open the tab group
26037
+ // Open the next tab
25982
26038
  this.updateTabIndex(opts && opts.openTabIndex);
25983
26039
  // Save the opened tab into the queryParams
25984
26040
  this.queryParams.tab = this.selectedTabIndex;
@@ -26011,12 +26067,9 @@
26011
26067
  * Update the route location, and open the next tab
26012
26068
  */
26013
26069
  AppEntityEditor.prototype.updateTabIndex = function (tabIndex) {
26014
- // Open the second tab
26015
- if (isNotNil(tabIndex)) {
26016
- if (this.selectedTabIndex !== tabIndex) {
26017
- this.selectedTabIndex = tabIndex;
26018
- this.markForCheck();
26019
- }
26070
+ if (isNotNil(tabIndex) && tabIndex > this.selectedTabIndex) {
26071
+ this.selectedTabIndex = tabIndex;
26072
+ this.markForCheck();
26020
26073
  }
26021
26074
  };
26022
26075
  AppEntityEditor.prototype.saveAndClose = function (event, options) {
@@ -26050,7 +26103,13 @@
26050
26103
  });
26051
26104
  });
26052
26105
  };
26053
- AppEntityEditor.prototype.save = function (event, options) {
26106
+ /**
26107
+ * Save the editor, by calling the dataService.save().
26108
+ * Ensure that editor if valid. If not, display an error
26109
+ * @param event
26110
+ * @param opts
26111
+ */
26112
+ AppEntityEditor.prototype.save = function (event, opts) {
26054
26113
  return __awaiter(this, void 0, void 0, function () {
26055
26114
  var data, updatedData, err_2;
26056
26115
  return __generator(this, function (_b) {
@@ -26088,14 +26147,14 @@
26088
26147
  case 3:
26089
26148
  data = _b.sent();
26090
26149
  this.disable();
26091
- return [4 /*yield*/, this.dataService.save(data, options)];
26150
+ return [4 /*yield*/, this.dataService.save(data, opts)];
26092
26151
  case 4:
26093
26152
  updatedData = _b.sent();
26094
26153
  return [4 /*yield*/, this.onEntitySaved(updatedData)];
26095
26154
  case 5:
26096
26155
  _b.sent();
26097
26156
  // Update the view (e.g metadata)
26098
- return [4 /*yield*/, this.updateView(updatedData, options)];
26157
+ return [4 /*yield*/, this.updateView(updatedData, opts)];
26099
26158
  case 6:
26100
26159
  // Update the view (e.g metadata)
26101
26160
  _b.sent();
@@ -26253,7 +26312,7 @@
26253
26312
  });
26254
26313
  };
26255
26314
  AppEntityEditor.prototype.setError = function (err) {
26256
- console.error('[data-editor] ' + err && err.message || err, err);
26315
+ console.error('[entity-editor] Error: ' + err && err.message || '', err);
26257
26316
  var userMessage = err && err.message && this.translate.instant(err.message) || err;
26258
26317
  // Add details error (if any) under the main message
26259
26318
  var detailMessage = err && err.details && (err.details.message || err.details) || undefined;
@@ -26265,6 +26324,10 @@
26265
26324
  this.error = userMessage;
26266
26325
  };
26267
26326
  /* -- protected methods -- */
26327
+ AppEntityEditor.prototype.computeNextTabIndex = function () {
26328
+ var nextTabIndex = this.selectedTabIndex + 1;
26329
+ return nextTabIndex < this.tabCount ? nextTabIndex : this.selectedTabIndex;
26330
+ };
26268
26331
  AppEntityEditor.prototype.unload = function () {
26269
26332
  return __awaiter(this, void 0, void 0, function () {
26270
26333
  return __generator(this, function (_b) {
@@ -26595,10 +26658,10 @@
26595
26658
  exports.UserEventFilter = __decorate([
26596
26659
  EntityClass({ typename: 'UserEventVO' })
26597
26660
  ], exports.UserEventFilter);
26598
- var SaveQuery = core.gql(templateObject_1$3 || (templateObject_1$3 = __makeTemplateObject(["\n mutation SaveUserEvent($data: UserEventVOInput){\n data: saveUserEvent(userEvent: $data){\n ...UserEventFragment\n }\n }\n ", "\n"], ["\n mutation SaveUserEvent($data: UserEventVOInput){\n data: saveUserEvent(userEvent: $data){\n ...UserEventFragment\n }\n }\n ", "\n"])), SocialFragments.userEvent);
26599
- var LoadAllQuery = core.gql(templateObject_2$3 || (templateObject_2$3 = __makeTemplateObject(["\n query UserEvents($filter: UserEventFilterVOInput, $page: PageInput){\n data: userEvents(filter: $filter, page: $page){\n ...LightUserEventFragment\n }\n }\n ", "\n"], ["\n query UserEvents($filter: UserEventFilterVOInput, $page: PageInput){\n data: userEvents(filter: $filter, page: $page){\n ...LightUserEventFragment\n }\n }\n ", "\n"])), SocialFragments.lightUserEvent);
26600
- var DeleteByIdsMutation = core.gql(templateObject_3$2 || (templateObject_3$2 = __makeTemplateObject(["\n mutation DeleteUserEvents($ids:[Int]){\n deleteUserEvents(ids: $ids)\n }\n"], ["\n mutation DeleteUserEvents($ids:[Int]){\n deleteUserEvents(ids: $ids)\n }\n"])));
26601
- var LoadAllWithContentQuery = core.gql(templateObject_4$2 || (templateObject_4$2 = __makeTemplateObject(["\n query UserEventsWithContent($filter: UserEventFilterVOInput, $page: PageInput){\n data: userEvents(filter: $filter, page: $page){\n ...UserEventFragment\n }\n }\n ", "\n"], ["\n query UserEventsWithContent($filter: UserEventFilterVOInput, $page: PageInput){\n data: userEvents(filter: $filter, page: $page){\n ...UserEventFragment\n }\n }\n ", "\n"])), SocialFragments.userEvent);
26661
+ var SaveQuery = core.gql(templateObject_1$1 || (templateObject_1$1 = __makeTemplateObject(["\n mutation SaveUserEvent($data: UserEventVOInput){\n data: saveUserEvent(userEvent: $data){\n ...UserEventFragment\n }\n }\n ", "\n"], ["\n mutation SaveUserEvent($data: UserEventVOInput){\n data: saveUserEvent(userEvent: $data){\n ...UserEventFragment\n }\n }\n ", "\n"])), SocialFragments.userEvent);
26662
+ var LoadAllQuery = core.gql(templateObject_2$1 || (templateObject_2$1 = __makeTemplateObject(["\n query UserEvents($filter: UserEventFilterVOInput, $page: PageInput){\n data: userEvents(filter: $filter, page: $page){\n ...LightUserEventFragment\n }\n }\n ", "\n"], ["\n query UserEvents($filter: UserEventFilterVOInput, $page: PageInput){\n data: userEvents(filter: $filter, page: $page){\n ...LightUserEventFragment\n }\n }\n ", "\n"])), SocialFragments.lightUserEvent);
26663
+ var DeleteByIdsMutation = core.gql(templateObject_3$1 || (templateObject_3$1 = __makeTemplateObject(["\n mutation DeleteUserEvents($ids:[Int]){\n deleteUserEvents(ids: $ids)\n }\n"], ["\n mutation DeleteUserEvents($ids:[Int]){\n deleteUserEvents(ids: $ids)\n }\n"])));
26664
+ var LoadAllWithContentQuery = core.gql(templateObject_4$1 || (templateObject_4$1 = __makeTemplateObject(["\n query UserEventsWithContent($filter: UserEventFilterVOInput, $page: PageInput){\n data: userEvents(filter: $filter, page: $page){\n ...UserEventFragment\n }\n }\n ", "\n"], ["\n query UserEventsWithContent($filter: UserEventFilterVOInput, $page: PageInput){\n data: userEvents(filter: $filter, page: $page){\n ...UserEventFragment\n }\n }\n ", "\n"])), SocialFragments.userEvent);
26602
26665
  var UserEventService = /** @class */ (function (_super) {
26603
26666
  __extends(UserEventService, _super);
26604
26667
  function UserEventService(graphql, accountService, network, translate, toastController, environment) {
@@ -26919,7 +26982,7 @@
26919
26982
  };
26920
26983
  return UserEventService;
26921
26984
  }(BaseGraphqlService));
26922
- UserEventService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UserEventService_Factory() { return new UserEventService(i0.ɵɵinject(GraphqlService), i0.ɵɵinject(AccountService), i0.ɵɵinject(NetworkService), i0.ɵɵinject(i1$2.TranslateService), i0.ɵɵinject(i1$5.ToastController), i0.ɵɵinject(ENVIRONMENT)); }, token: UserEventService, providedIn: "root" });
26985
+ UserEventService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function UserEventService_Factory() { return new UserEventService(i0__namespace.ɵɵinject(GraphqlService), i0__namespace.ɵɵinject(AccountService), i0__namespace.ɵɵinject(NetworkService), i0__namespace.ɵɵinject(i1__namespace$1.TranslateService), i0__namespace.ɵɵinject(i1__namespace$4.ToastController), i0__namespace.ɵɵinject(ENVIRONMENT)); }, token: UserEventService, providedIn: "root" });
26923
26986
  UserEventService.decorators = [
26924
26987
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
26925
26988
  ];
@@ -26931,7 +26994,7 @@
26931
26994
  { type: i1$5.ToastController },
26932
26995
  { type: undefined, decorators: [{ type: i0.Inject, args: [ENVIRONMENT,] }] }
26933
26996
  ]; };
26934
- var templateObject_1$3, templateObject_2$3, templateObject_3$2, templateObject_4$2;
26997
+ var templateObject_1$1, templateObject_2$1, templateObject_3$1, templateObject_4$1;
26935
26998
 
26936
26999
  var ICONS_MAP = {
26937
27000
  DEBUG_DATA: { matIcon: 'bug_report' },
@@ -27194,16 +27257,16 @@
27194
27257
  ], exports.PersonFilter);
27195
27258
 
27196
27259
  var PersonFragments = {
27197
- person: core.gql(templateObject_1$4 || (templateObject_1$4 = __makeTemplateObject(["fragment PersonFragment on PersonVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n username\n usernameExtranet\n department {\n id\n label\n name\n logo\n __typename\n }\n __typename\n }"], ["fragment PersonFragment on PersonVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n username\n usernameExtranet\n department {\n id\n label\n name\n logo\n __typename\n }\n __typename\n }"])))
27260
+ person: core.gql(templateObject_1 || (templateObject_1 = __makeTemplateObject(["fragment PersonFragment on PersonVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n username\n usernameExtranet\n department {\n id\n label\n name\n logo\n __typename\n }\n __typename\n }"], ["fragment PersonFragment on PersonVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n username\n usernameExtranet\n department {\n id\n label\n name\n logo\n __typename\n }\n __typename\n }"])))
27198
27261
  };
27199
27262
  // Load persons query
27200
27263
  var PersonQueries = {
27201
- loadAll: core.gql(templateObject_2$4 || (templateObject_2$4 = __makeTemplateObject(["\n query Persons($offset: Int, $size: Int, $sortBy: String, $sortDirection: String, $filter: PersonFilterVOInput){\n data: persons(filter: $filter, offset: $offset, size: $size, sortBy: $sortBy, sortDirection: $sortDirection){\n ...PersonFragment\n }\n }\n ", ""], ["\n query Persons($offset: Int, $size: Int, $sortBy: String, $sortDirection: String, $filter: PersonFilterVOInput){\n data: persons(filter: $filter, offset: $offset, size: $size, sortBy: $sortBy, sortDirection: $sortDirection){\n ...PersonFragment\n }\n }\n ", ""])), PersonFragments.person),
27202
- loadAllWithTotal: core.gql(templateObject_3$3 || (templateObject_3$3 = __makeTemplateObject(["\n query PersonsWithTotal($offset: Int, $size: Int, $sortBy: String, $sortDirection: String, $filter: PersonFilterVOInput){\n data: persons(filter: $filter, offset: $offset, size: $size, sortBy: $sortBy, sortDirection: $sortDirection){\n ...PersonFragment\n }\n total: personsCount(filter: $filter)\n }\n ", ""], ["\n query PersonsWithTotal($offset: Int, $size: Int, $sortBy: String, $sortDirection: String, $filter: PersonFilterVOInput){\n data: persons(filter: $filter, offset: $offset, size: $size, sortBy: $sortBy, sortDirection: $sortDirection){\n ...PersonFragment\n }\n total: personsCount(filter: $filter)\n }\n ", ""])), PersonFragments.person)
27264
+ loadAll: core.gql(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n query Persons($offset: Int, $size: Int, $sortBy: String, $sortDirection: String, $filter: PersonFilterVOInput){\n data: persons(filter: $filter, offset: $offset, size: $size, sortBy: $sortBy, sortDirection: $sortDirection){\n ...PersonFragment\n }\n }\n ", ""], ["\n query Persons($offset: Int, $size: Int, $sortBy: String, $sortDirection: String, $filter: PersonFilterVOInput){\n data: persons(filter: $filter, offset: $offset, size: $size, sortBy: $sortBy, sortDirection: $sortDirection){\n ...PersonFragment\n }\n }\n ", ""])), PersonFragments.person),
27265
+ loadAllWithTotal: core.gql(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n query PersonsWithTotal($offset: Int, $size: Int, $sortBy: String, $sortDirection: String, $filter: PersonFilterVOInput){\n data: persons(filter: $filter, offset: $offset, size: $size, sortBy: $sortBy, sortDirection: $sortDirection){\n ...PersonFragment\n }\n total: personsCount(filter: $filter)\n }\n ", ""], ["\n query PersonsWithTotal($offset: Int, $size: Int, $sortBy: String, $sortDirection: String, $filter: PersonFilterVOInput){\n data: persons(filter: $filter, offset: $offset, size: $size, sortBy: $sortBy, sortDirection: $sortDirection){\n ...PersonFragment\n }\n total: personsCount(filter: $filter)\n }\n ", ""])), PersonFragments.person)
27203
27266
  };
27204
27267
  var PersonMutations = {
27205
- saveAll: core.gql(templateObject_4$3 || (templateObject_4$3 = __makeTemplateObject(["\n mutation savePersons($data:[PersonVOInput]){\n data: savePersons(persons: $data){\n ...PersonFragment\n }\n }\n ", ""], ["\n mutation savePersons($data:[PersonVOInput]){\n data: savePersons(persons: $data){\n ...PersonFragment\n }\n }\n ", ""])), PersonFragments.person),
27206
- deleteAll: core.gql(templateObject_5$2 || (templateObject_5$2 = __makeTemplateObject(["\n mutation deletePersons($ids:[Int]){\n deletePersons(ids: $ids)\n }"], ["\n mutation deletePersons($ids:[Int]){\n deletePersons(ids: $ids)\n }"])))
27268
+ saveAll: core.gql(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n mutation savePersons($data:[PersonVOInput]){\n data: savePersons(persons: $data){\n ...PersonFragment\n }\n }\n ", ""], ["\n mutation savePersons($data:[PersonVOInput]){\n data: savePersons(persons: $data){\n ...PersonFragment\n }\n }\n ", ""])), PersonFragments.person),
27269
+ deleteAll: core.gql(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n mutation deletePersons($ids:[Int]){\n deletePersons(ids: $ids)\n }"], ["\n mutation deletePersons($ids:[Int]){\n deletePersons(ids: $ids)\n }"])))
27207
27270
  };
27208
27271
  var PersonService = /** @class */ (function (_super_1) {
27209
27272
  __extends(PersonService, _super_1);
@@ -27327,7 +27390,7 @@
27327
27390
  };
27328
27391
  return PersonService;
27329
27392
  }(BaseEntityService));
27330
- PersonService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonService_Factory() { return new PersonService(i0.ɵɵinject(GraphqlService), i0.ɵɵinject(PlatformService), i0.ɵɵinject(NetworkService), i0.ɵɵinject(EntitiesStorage)); }, token: PersonService, providedIn: "root" });
27393
+ PersonService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function PersonService_Factory() { return new PersonService(i0__namespace.ɵɵinject(GraphqlService), i0__namespace.ɵɵinject(PlatformService), i0__namespace.ɵɵinject(NetworkService), i0__namespace.ɵɵinject(EntitiesStorage)); }, token: PersonService, providedIn: "root" });
27331
27394
  PersonService.decorators = [
27332
27395
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
27333
27396
  ];
@@ -27337,7 +27400,7 @@
27337
27400
  { type: NetworkService },
27338
27401
  { type: EntitiesStorage }
27339
27402
  ]; };
27340
- var templateObject_1$4, templateObject_2$4, templateObject_3$3, templateObject_4$3, templateObject_5$2;
27403
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
27341
27404
 
27342
27405
  var PersonValidatorService = /** @class */ (function () {
27343
27406
  function PersonValidatorService(formBuilder, accountValidatorService) {
@@ -27360,7 +27423,7 @@
27360
27423
  };
27361
27424
  return PersonValidatorService;
27362
27425
  }());
27363
- PersonValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(i0.ɵɵinject(i1.FormBuilder), i0.ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
27426
+ PersonValidatorService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(i0__namespace.ɵɵinject(i1__namespace$6.FormBuilder), i0__namespace.ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
27364
27427
  PersonValidatorService.decorators = [
27365
27428
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
27366
27429
  ];
@@ -27583,16 +27646,16 @@
27583
27646
  ];
27584
27647
  AdminModule.ctorParameters = function () { return []; };
27585
27648
 
27586
- var ɵ0$a = {
27649
+ var ɵ0 = {
27587
27650
  profile: 'ADMIN'
27588
27651
  };
27589
- var routes$1 = [
27652
+ var routes = [
27590
27653
  {
27591
27654
  path: 'users',
27592
27655
  pathMatch: 'full',
27593
27656
  component: UsersPage,
27594
27657
  canActivate: [AuthGuardService],
27595
- data: ɵ0$a
27658
+ data: ɵ0
27596
27659
  }
27597
27660
  ];
27598
27661
  var AdminRoutingModule = /** @class */ (function () {
@@ -27605,13 +27668,13 @@
27605
27668
  imports: [
27606
27669
  SharedRoutingModule,
27607
27670
  AdminModule,
27608
- i3.RouterModule.forChild(routes$1)
27671
+ i3.RouterModule.forChild(routes)
27609
27672
  ],
27610
27673
  exports: [i3.RouterModule]
27611
27674
  },] }
27612
27675
  ];
27613
27676
 
27614
- var ErrorCodes$2 = {
27677
+ var ErrorCodes = {
27615
27678
  LOAD_PERSONS_ERROR: 100,
27616
27679
  SAVE_PERSONS_ERROR: 101,
27617
27680
  DELETE_PERSONS_ERROR: 102,
@@ -27721,7 +27784,7 @@
27721
27784
  exports.EntityStore = EntityStore;
27722
27785
  exports.EntityUtils = EntityUtils;
27723
27786
  exports.Environment = Environment;
27724
- exports.ErrorCodes = ErrorCodes$2;
27787
+ exports.ErrorCodes = ErrorCodes;
27725
27788
  exports.EvenPipe = EvenPipe;
27726
27789
  exports.FileService = FileService;
27727
27790
  exports.FileSizePipe = FileSizePipe;
@@ -27731,7 +27794,7 @@
27731
27794
  exports.FormErrorAdapter = FormErrorAdapter;
27732
27795
  exports.FormErrorTranslatePipe = FormErrorTranslatePipe;
27733
27796
  exports.FormFieldValuesHolder = FormFieldValuesHolder;
27734
- exports.Fragments = Fragments$1;
27797
+ exports.Fragments = Fragments;
27735
27798
  exports.GraphqlService = GraphqlService;
27736
27799
  exports.HAMMER_PRESS_TIME = HAMMER_PRESS_TIME;
27737
27800
  exports.HAMMER_TAP_TIME = HAMMER_TAP_TIME;
@@ -27979,17 +28042,17 @@
27979
28042
  exports.waitFor = waitFor;
27980
28043
  exports.waitIdle = waitIdle;
27981
28044
  exports.waitWhilePending = waitWhilePending;
27982
- exports0 = ɵ0$5;
27983
- exports.ɵa = CustomReuseStrategy;
27984
- exports.ɵb = MatNumpadDomService;
27985
- exports.ɵc = isFocusableElement;
27986
- exports.ɵd = RegisterForm;
27987
- exports.ɵe = AccountValidatorService;
27988
- exports.ɵf = RegisterModal;
27989
- exports.ɵg = UserSettingsValidatorService;
27990
- exports.ɵh = LocalSettingsValidatorService;
28045
+ exports["ɵ0"] = ɵ0$5;
28046
+ exports["ɵa"] = CustomReuseStrategy;
28047
+ exports["ɵb"] = MatNumpadDomService;
28048
+ exports["ɵc"] = isFocusableElement;
28049
+ exports["ɵd"] = RegisterForm;
28050
+ exports["ɵe"] = AccountValidatorService;
28051
+ exports["ɵf"] = RegisterModal;
28052
+ exports["ɵg"] = UserSettingsValidatorService;
28053
+ exports["ɵh"] = LocalSettingsValidatorService;
27991
28054
 
27992
28055
  Object.defineProperty(exports, '__esModule', { value: true });
27993
28056
 
27994
- })));
28057
+ }));
27995
28058
  //# sourceMappingURL=sumaris-net.ngx-components.umd.js.map