@sumaris-net/ngx-components 1.6.5 → 1.6.10

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 (28) hide show
  1. package/bundles/sumaris-net.ngx-components.umd.js +348 -373
  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 +3 -0
  6. package/esm2015/public_api.js +3 -3
  7. package/esm2015/src/app/core/auth/form/form-auth.js +2 -2
  8. package/esm2015/src/app/core/services/model/filter.model.js +1 -1
  9. package/esm2015/src/app/core/services/model/referential.model.js +1 -1
  10. package/esm2015/src/app/core/table/table.class.js +8 -8
  11. package/esm2015/src/app/shared/form/field.component.js +2 -2
  12. package/esm2015/src/app/shared/material/autocomplete/material.autocomplete.js +2 -2
  13. package/esm2015/src/app/shared/material/boolean/material.boolean.js +3 -4
  14. package/esm2015/src/app/shared/material/datetime/material.date.js +42 -42
  15. package/esm2015/src/app/shared/material/datetime/material.dateshort.js +2 -2
  16. package/esm2015/src/app/shared/material/datetime/material.datetime.js +32 -32
  17. package/esm2015/src/app/shared/material/duration/material.duration.js +2 -2
  18. package/fesm2015/sumaris-net.ngx-components.js +340 -356
  19. package/fesm2015/sumaris-net.ngx-components.js.map +1 -1
  20. package/package.json +1 -1
  21. package/public_api.d.ts +2 -2
  22. package/src/app/core/services/model/filter.model.d.ts +1 -1
  23. package/src/app/core/services/model/referential.model.d.ts +3 -3
  24. package/src/app/core/table/table.class.d.ts +4 -4
  25. package/src/app/shared/material/boolean/material.boolean.d.ts +0 -1
  26. package/src/app/shared/material/datetime/material.date.d.ts +6 -6
  27. package/src/app/shared/material/datetime/material.datetime.d.ts +11 -11
  28. 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['ionic-native'].downloader.ngx, global['ionic-native']['status-bar'].ngx.index, global['ionic-native'].keyboard.ngx.index, global['ionic-native']['in-app-browser'].ngx.index, global['ionic-native'].downloader.ngx.index, 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,45 +15,22 @@
15
15
  var d = Object.getOwnPropertyDescriptor(e, k);
16
16
  Object.defineProperty(n, k, d.get ? d : {
17
17
  enumerable: true,
18
- get: function () { return e[k]; }
18
+ get: function () {
19
+ return e[k];
20
+ }
19
21
  });
20
22
  }
21
23
  });
22
24
  }
23
- n["default"] = e;
25
+ n['default'] = e;
24
26
  return Object.freeze(n);
25
27
  }
26
28
 
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);
34
29
  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);
42
30
  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);
49
31
  var QueueLink__default = /*#__PURE__*/_interopDefaultLegacy(QueueLink);
50
32
  var SerializingLink__default = /*#__PURE__*/_interopDefaultLegacy(SerializingLink);
51
33
  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);
57
34
 
58
35
  var ENVIRONMENT = new i0.InjectionToken('ENV');
59
36
  var Environment = /** @class */ (function () {
@@ -1278,14 +1255,14 @@
1278
1255
  };
1279
1256
  return MatAutocompleteConfigHolder;
1280
1257
  }());
1281
- var noop$8 = function (_) { };
1282
- var ɵ0$b = noop$8;
1258
+ var noop = function (_) { };
1259
+ var ɵ0 = noop;
1283
1260
  var MatAutocompleteField = /** @class */ (function () {
1284
1261
  function MatAutocompleteField(cd, formGroupDir) {
1285
1262
  this.cd = cd;
1286
1263
  this.formGroupDir = formGroupDir;
1287
- this._onChangeCallback = noop$8;
1288
- this._onTouchedCallback = noop$8;
1264
+ this._onChangeCallback = noop;
1265
+ this._onTouchedCallback = noop;
1289
1266
  this.logPrefix = '[mat-autocomplete] ';
1290
1267
  this.formControlName = null;
1291
1268
  this.required = false;
@@ -1992,7 +1969,7 @@
1992
1969
  { type: i0.Component, args: [{
1993
1970
  // eslint-disable-next-line @angular-eslint/component-selector
1994
1971
  selector: 'mat-autocomplete-field',
1995
- 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)=\"keydownEscape.emit($event)\"\n (keyup.enter)=\"keyupEnter.emit($event)\"\n [compareWith]=\"equals\"\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)=\"clicked.emit($event)\"\n (focus)=\"filterInputTextFocusEvent($event)\"\n (blur)=\"filterInputTextBlurEvent($event)\"\n (keydown.escape)=\"keydownEscape.emit($event)\"\n (keyup.enter)=\"keyupEnter.emit($event)\"\n (keyup.arrowdown)=\"dropButtonClick.emit($event)\">\n\n <!-- autocomplete -->\n <mat-autocomplete #autocomplete=\"matAutocomplete\"\n autoActiveFirstOption\n [displayWith]=\"displayWith\"\n [class]=\"classList\"\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><i>{{noResultMessage | translate}}</i></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</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)=\"dropButtonClick.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",
1972
+ template: "<ion-grid class=\"ion-no-padding\">\n <ion-row>\n <ion-col class=\"ion-no-padding\">\n <!-- readonly -->\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 <input matInput hidden type=\"text\"\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\" readonly>\n <ion-text>{{displayWith(value)}}</ion-text>\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)=\"keydownEscape.emit($event)\"\n (keyup.enter)=\"keyupEnter.emit($event)\"\n [compareWith]=\"equals\"\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)=\"clicked.emit($event)\"\n (focus)=\"filterInputTextFocusEvent($event)\"\n (blur)=\"filterInputTextBlurEvent($event)\"\n (keydown.escape)=\"keydownEscape.emit($event)\"\n (keyup.enter)=\"keyupEnter.emit($event)\"\n (keyup.arrowdown)=\"dropButtonClick.emit($event)\">\n\n <!-- autocomplete -->\n <mat-autocomplete #autocomplete=\"matAutocomplete\"\n autoActiveFirstOption\n [displayWith]=\"displayWith\"\n [class]=\"classList\"\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><i>{{noResultMessage | translate}}</i></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</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)=\"dropButtonClick.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",
1996
1973
  providers: [{
1997
1974
  provide: i1.NG_VALUE_ACCESSOR,
1998
1975
  multi: true,
@@ -2075,7 +2052,7 @@
2075
2052
  };
2076
2053
  return DateFormatPipe;
2077
2054
  }());
2078
- 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" });
2055
+ 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" });
2079
2056
  DateFormatPipe.decorators = [
2080
2057
  { type: i0.Pipe, args: [{
2081
2058
  name: 'dateFormat'
@@ -2087,7 +2064,7 @@
2087
2064
  { type: i1$2.TranslateService }
2088
2065
  ]; };
2089
2066
 
2090
- var moment$6 = momentImported__namespace;
2067
+ var moment = momentImported__namespace;
2091
2068
  var DateDiffDurationPipe = /** @class */ (function () {
2092
2069
  function DateDiffDurationPipe(dateAdapter, translate) {
2093
2070
  var _this = this;
@@ -2104,10 +2081,10 @@
2104
2081
  return this.format(startDate, endDate);
2105
2082
  };
2106
2083
  DateDiffDurationPipe.prototype.format = function (startDate, endDate) {
2107
- var duration = moment$6.duration(endDate.diff(startDate));
2084
+ var duration = moment.duration(endDate.diff(startDate));
2108
2085
  if (duration.asMinutes() < 0)
2109
2086
  return '';
2110
- var timeDuration = moment$6(0)
2087
+ var timeDuration = moment(0)
2111
2088
  .hour(duration.hours())
2112
2089
  .minute(duration.minutes());
2113
2090
  var days = Math.floor(duration.asDays());
@@ -2115,7 +2092,7 @@
2115
2092
  };
2116
2093
  return DateDiffDurationPipe;
2117
2094
  }());
2118
- 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" });
2095
+ 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" });
2119
2096
  DateDiffDurationPipe.decorators = [
2120
2097
  { type: i0.Pipe, args: [{
2121
2098
  name: 'dateDiffDuration'
@@ -2137,7 +2114,7 @@
2137
2114
  };
2138
2115
  return DateFromNowPipe;
2139
2116
  }());
2140
- DateFromNowPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(i0__namespace.ɵɵinject(i1__namespace.MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
2117
+ DateFromNowPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(i0.ɵɵinject(i1$1.MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
2141
2118
  DateFromNowPipe.decorators = [
2142
2119
  { type: i0.Pipe, args: [{
2143
2120
  name: 'dateFromNow'
@@ -2206,7 +2183,7 @@
2206
2183
  value *= -1;
2207
2184
  }
2208
2185
  }
2209
- var degrees = roundFloat$1(value, opts.maxDecimals).toString();
2186
+ var degrees = roundFloat(value, opts.maxDecimals).toString();
2210
2187
  // Add sign
2211
2188
  var sign = negative ? '-' : '+';
2212
2189
  if (opts.placeholderChar) {
@@ -2257,7 +2234,7 @@
2257
2234
  }
2258
2235
  var degrees = Math.trunc(value);
2259
2236
  var minutes = Math.trunc((value - degrees) * 60);
2260
- var seconds = roundFloat$1(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
2237
+ var seconds = roundFloat(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
2261
2238
  while (seconds >= 60) {
2262
2239
  seconds -= 60;
2263
2240
  minutes += 1;
@@ -2325,7 +2302,7 @@
2325
2302
  }
2326
2303
  }
2327
2304
  var degrees = Math.trunc(value);
2328
- var minutes = roundFloat$1((value - degrees) * 60, opts.maxDecimals);
2305
+ var minutes = roundFloat((value - degrees) * 60, opts.maxDecimals);
2329
2306
  while (minutes >= 60) {
2330
2307
  minutes -= 60;
2331
2308
  degrees += 1;
@@ -2376,15 +2353,15 @@
2376
2353
  return NaN;
2377
2354
  }
2378
2355
  if (pattern === 'DD')
2379
- return roundFloat$1(degrees, maxDecimals);
2356
+ return roundFloat(degrees, maxDecimals);
2380
2357
  var minutes = (pattern === 'DDMMSS' || pattern === 'DDMM') && parts[1] && parseFloat(parts[1].replace(/,/g, '.')) || 0;
2381
2358
  var seconds = (pattern === 'DDMMSS') && parts[2] && parseFloat(parts[2].replace(/,/g, '.')) || 0;
2382
2359
  var direction = ((pattern === 'DDMMSS') && parts[3]) || ((pattern === 'DDMM') && parts[2]) || undefined;
2383
2360
  var sign = (direction && (direction === 's' || direction === 'S' || direction === 'w' || direction === 'W')) ? -1 : 1;
2384
2361
  degrees = sign * (degrees + minutes / 60 + seconds / (60 * 60));
2385
- return roundFloat$1(degrees, maxDecimals);
2362
+ return roundFloat(degrees, maxDecimals);
2386
2363
  }
2387
- function roundFloat$1(input, maxDecimals) {
2364
+ function roundFloat(input, maxDecimals) {
2388
2365
  if (maxDecimals > 0) {
2389
2366
  var powDecimal = Math.pow(10, maxDecimals);
2390
2367
  return Math.trunc(input * powDecimal + 0.5) / powDecimal;
@@ -2407,7 +2384,7 @@
2407
2384
  };
2408
2385
  return LatLongFormatPipe;
2409
2386
  }());
2410
- LatLongFormatPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
2387
+ LatLongFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
2411
2388
  LatLongFormatPipe.decorators = [
2412
2389
  { type: i0.Pipe, args: [{
2413
2390
  name: 'latLongFormat'
@@ -2420,7 +2397,7 @@
2420
2397
  }
2421
2398
  return LatitudeFormatPipe;
2422
2399
  }());
2423
- LatitudeFormatPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
2400
+ LatitudeFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
2424
2401
  LatitudeFormatPipe.decorators = [
2425
2402
  { type: i0.Pipe, args: [{
2426
2403
  name: 'latitudeFormat'
@@ -2433,7 +2410,7 @@
2433
2410
  }
2434
2411
  return LongitudeFormatPipe;
2435
2412
  }());
2436
- LongitudeFormatPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
2413
+ LongitudeFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
2437
2414
  LongitudeFormatPipe.decorators = [
2438
2415
  { type: i0.Pipe, args: [{
2439
2416
  name: 'longitudeFormat'
@@ -2456,7 +2433,7 @@
2456
2433
  };
2457
2434
  return NumberFormatPipe;
2458
2435
  }());
2459
- NumberFormatPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
2436
+ NumberFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
2460
2437
  NumberFormatPipe.decorators = [
2461
2438
  { type: i0.Pipe, args: [{
2462
2439
  name: 'numberFormat'
@@ -2499,7 +2476,7 @@
2499
2476
  };
2500
2477
  return HighlightPipe;
2501
2478
  }());
2502
- HighlightPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
2479
+ HighlightPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
2503
2480
  HighlightPipe.decorators = [
2504
2481
  { type: i0.Pipe, args: [{
2505
2482
  name: 'highlight'
@@ -2567,7 +2544,7 @@
2567
2544
  { type: i0.Pipe, args: [{ name: 'fileSize' },] }
2568
2545
  ];
2569
2546
 
2570
- var moment$5 = momentImported__namespace;
2547
+ var moment$1 = momentImported__namespace;
2571
2548
  var DATE_UNIX_TIMESTAMP = 'X';
2572
2549
  var DATE_UNIX_MS_TIMESTAMP = 'x';
2573
2550
  var DateUtils = /** @class */ (function () {
@@ -2610,32 +2587,32 @@
2610
2587
  if (!value || momentImported.isMoment(value))
2611
2588
  return value;
2612
2589
  // Parse the input value, as a ISO date time
2613
- var date = moment$5(value, DATE_ISO_PATTERN);
2590
+ var date = moment$1(value, DATE_ISO_PATTERN);
2614
2591
  if (date.isValid())
2615
2592
  return date;
2616
2593
  // Not valid: trying to convert from unix timestamp
2617
2594
  if (typeof value === 'string') {
2618
2595
  console.warn('Wrong date format - Trying to convert from local time: ' + value);
2619
2596
  if (value.length === 10) {
2620
- return moment$5(value, DATE_UNIX_TIMESTAMP);
2597
+ return moment$1(value, DATE_UNIX_TIMESTAMP);
2621
2598
  }
2622
2599
  else if (value.length === 13) {
2623
- return moment$5(value, DATE_UNIX_MS_TIMESTAMP);
2600
+ return moment$1(value, DATE_UNIX_MS_TIMESTAMP);
2624
2601
  }
2625
2602
  }
2626
2603
  console.warn('Unable to parse date: ' + value);
2627
2604
  return undefined;
2628
2605
  }
2629
2606
  function fromUnixTimestamp(timeInSec) {
2630
- return moment$5(timeInSec, DATE_UNIX_TIMESTAMP);
2607
+ return moment$1(timeInSec, DATE_UNIX_TIMESTAMP);
2631
2608
  }
2632
2609
  function fromUnixMsTimestamp(timeInMs) {
2633
- return moment$5(timeInMs, DATE_UNIX_MS_TIMESTAMP);
2610
+ return moment$1(timeInMs, DATE_UNIX_MS_TIMESTAMP);
2634
2611
  }
2635
2612
  function toDuration(value, unit) {
2636
2613
  if (!value)
2637
2614
  return undefined;
2638
- var duration = moment$5.duration(value, unit);
2615
+ var duration = moment$1.duration(value, unit);
2639
2616
  // fix 990+ ms
2640
2617
  if (duration.milliseconds() >= 990) {
2641
2618
  duration.add(1000 - duration.milliseconds(), 'ms');
@@ -2665,7 +2642,7 @@
2665
2642
  };
2666
2643
  return DurationPipe;
2667
2644
  }());
2668
- DurationPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: DurationPipe, providedIn: "root" });
2645
+ DurationPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(i0.ɵɵinject(i1$2.TranslateService)); }, token: DurationPipe, providedIn: "root" });
2669
2646
  DurationPipe.decorators = [
2670
2647
  { type: i0.Pipe, args: [{
2671
2648
  name: 'duration'
@@ -2689,7 +2666,7 @@
2689
2666
  };
2690
2667
  return MathAbsPipe;
2691
2668
  }());
2692
- MathAbsPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
2669
+ MathAbsPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
2693
2670
  MathAbsPipe.decorators = [
2694
2671
  { type: i0.Pipe, args: [{
2695
2672
  name: 'mathAbs'
@@ -2704,7 +2681,7 @@
2704
2681
  };
2705
2682
  return EvenPipe;
2706
2683
  }());
2707
- EvenPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
2684
+ EvenPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
2708
2685
  EvenPipe.decorators = [
2709
2686
  { type: i0.Pipe, args: [{
2710
2687
  name: 'even'
@@ -2719,7 +2696,7 @@
2719
2696
  };
2720
2697
  return OddPipe;
2721
2698
  }());
2722
- OddPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
2699
+ OddPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
2723
2700
  OddPipe.decorators = [
2724
2701
  { type: i0.Pipe, args: [{
2725
2702
  name: 'odd'
@@ -2851,7 +2828,7 @@
2851
2828
  };
2852
2829
  return MapGetPipe;
2853
2830
  }());
2854
- MapGetPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
2831
+ MapGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
2855
2832
  MapGetPipe.decorators = [
2856
2833
  { type: i0.Pipe, args: [{
2857
2834
  name: 'mapGet'
@@ -2868,7 +2845,7 @@
2868
2845
  };
2869
2846
  return MapKeysPipe;
2870
2847
  }());
2871
- MapKeysPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
2848
+ MapKeysPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
2872
2849
  MapKeysPipe.decorators = [
2873
2850
  { type: i0.Pipe, args: [{
2874
2851
  name: 'mapKeys'
@@ -2885,7 +2862,7 @@
2885
2862
  };
2886
2863
  return MapValuesPipe;
2887
2864
  }());
2888
- MapValuesPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
2865
+ MapValuesPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
2889
2866
  MapValuesPipe.decorators = [
2890
2867
  { type: i0.Pipe, args: [{
2891
2868
  name: 'mapValues'
@@ -2901,7 +2878,7 @@
2901
2878
  };
2902
2879
  return IsNotNilOrBlankPipe;
2903
2880
  }());
2904
- IsNotNilOrBlankPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
2881
+ IsNotNilOrBlankPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
2905
2882
  IsNotNilOrBlankPipe.decorators = [
2906
2883
  { type: i0.Pipe, args: [{
2907
2884
  name: 'isNotNilOrBlank'
@@ -2916,7 +2893,7 @@
2916
2893
  };
2917
2894
  return IsNilOrBlankPipe;
2918
2895
  }());
2919
- IsNilOrBlankPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
2896
+ IsNilOrBlankPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
2920
2897
  IsNilOrBlankPipe.decorators = [
2921
2898
  { type: i0.Pipe, args: [{
2922
2899
  name: 'isNilOrBlank'
@@ -2931,7 +2908,7 @@
2931
2908
  };
2932
2909
  return ToStringPipe;
2933
2910
  }());
2934
- ToStringPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
2911
+ ToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
2935
2912
  ToStringPipe.decorators = [
2936
2913
  { type: i0.Pipe, args: [{
2937
2914
  name: 'toString'
@@ -2946,7 +2923,7 @@
2946
2923
  };
2947
2924
  return StrLengthPipe;
2948
2925
  }());
2949
- StrLengthPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
2926
+ StrLengthPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
2950
2927
  StrLengthPipe.decorators = [
2951
2928
  { type: i0.Pipe, args: [{
2952
2929
  name: 'strLength'
@@ -3037,7 +3014,7 @@
3037
3014
  };
3038
3015
  return TranslateContextService;
3039
3016
  }());
3040
- TranslateContextService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: TranslateContextService, providedIn: "root" });
3017
+ TranslateContextService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(i0.ɵɵinject(i1$2.TranslateService)); }, token: TranslateContextService, providedIn: "root" });
3041
3018
  TranslateContextService.decorators = [
3042
3019
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
3043
3020
  ];
@@ -3100,7 +3077,7 @@
3100
3077
  };
3101
3078
  return PropertyGetPipe;
3102
3079
  }());
3103
- PropertyGetPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
3080
+ PropertyGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
3104
3081
  PropertyGetPipe.decorators = [
3105
3082
  { type: i0.Pipe, args: [{
3106
3083
  name: 'propertyGet'
@@ -3126,7 +3103,7 @@
3126
3103
  ngInit: [{ type: i0.Output }]
3127
3104
  };
3128
3105
 
3129
- var moment$4 = momentImported__namespace;
3106
+ var moment$2 = momentImported__namespace;
3130
3107
  // @dynamic
3131
3108
  var SharedValidators = /** @class */ (function () {
3132
3109
  function SharedValidators() {
@@ -3145,7 +3122,7 @@
3145
3122
  };
3146
3123
  SharedValidators.validDate = function (control) {
3147
3124
  var value = control.value;
3148
- var date = !value || moment$4.isMoment(value) ? value : moment$4(control.value, DATE_ISO_PATTERN);
3125
+ var date = !value || moment$2.isMoment(value) ? value : moment$2(control.value, DATE_ISO_PATTERN);
3149
3126
  if (date && (!date.isValid() || date.year() < 1970)) {
3150
3127
  return { validDate: true };
3151
3128
  }
@@ -4311,7 +4288,7 @@
4311
4288
  };
4312
4289
  return FormErrorTranslator;
4313
4290
  }());
4314
- FormErrorTranslator.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function FormErrorTranslator_Factory() { return new FormErrorTranslator(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService), i0__namespace.ɵɵinject(APP_FORM_ERROR_I18N_KEYS, 8)); }, token: FormErrorTranslator, providedIn: "root" });
4291
+ FormErrorTranslator.ɵprov = i0.ɵɵdefineInjectable({ factory: function FormErrorTranslator_Factory() { return new FormErrorTranslator(i0.ɵɵinject(i1$2.TranslateService), i0.ɵɵinject(APP_FORM_ERROR_I18N_KEYS, 8)); }, token: FormErrorTranslator, providedIn: "root" });
4315
4292
  FormErrorTranslator.decorators = [
4316
4293
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
4317
4294
  ];
@@ -4644,9 +4621,9 @@
4644
4621
  var hour = parseInt(durationParts[0] || '0');
4645
4622
  var minute = parseInt(durationParts[1] || '0');
4646
4623
  var value = hour + (minute + 0.5) / 60;
4647
- return roundFloat(value, maxDecimals);
4624
+ return roundFloat$1(value, maxDecimals);
4648
4625
  }
4649
- function roundFloat(input, maxDecimals) {
4626
+ function roundFloat$1(input, maxDecimals) {
4650
4627
  if (maxDecimals > 0) {
4651
4628
  var powDecimal = Math.pow(10, maxDecimals);
4652
4629
  return Math.trunc(input * powDecimal + 0.5) / powDecimal;
@@ -4670,9 +4647,9 @@
4670
4647
  DD: [/[+-]/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '°']
4671
4648
  }
4672
4649
  };
4673
- var noop$7 = function () {
4650
+ var noop$1 = function () {
4674
4651
  };
4675
- var ɵ0$a = noop$7;
4652
+ var ɵ0$1 = noop$1;
4676
4653
  var MatLatLongField = /** @class */ (function () {
4677
4654
  function MatLatLongField(platform, translate, formBuilder, cd, formGroupDir) {
4678
4655
  this.platform = platform;
@@ -4680,8 +4657,8 @@
4680
4657
  this.formBuilder = formBuilder;
4681
4658
  this.cd = cd;
4682
4659
  this.formGroupDir = formGroupDir;
4683
- this._onChangeCallback = noop$7;
4684
- this._onTouchedCallback = noop$7;
4660
+ this._onChangeCallback = noop$1;
4661
+ this._onTouchedCallback = noop$1;
4685
4662
  this._subscription = new rxjs.Subscription();
4686
4663
  this.disabling = false;
4687
4664
  this.writing = false;
@@ -5032,14 +5009,14 @@
5032
5009
  },] }
5033
5010
  ];
5034
5011
 
5035
- var DEFAULT_VALUE_ACCESSOR$5 = {
5012
+ var DEFAULT_VALUE_ACCESSOR = {
5036
5013
  provide: i1.NG_VALUE_ACCESSOR,
5037
5014
  useExisting: i0.forwardRef(function () { return MatDate; }),
5038
5015
  multi: true
5039
5016
  };
5040
- var DAY_MASK$2 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
5041
- var noop$6 = function () { };
5042
- var ɵ0$9 = noop$6;
5017
+ var DAY_MASK = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
5018
+ var noop$2 = function () { };
5019
+ var ɵ0$2 = noop$2;
5043
5020
  var MatDate = /** @class */ (function () {
5044
5021
  function MatDate(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
5045
5022
  this.dateAdapter = dateAdapter;
@@ -5048,12 +5025,12 @@
5048
5025
  this.cd = cd;
5049
5026
  this.keyboard = keyboard;
5050
5027
  this.formGroupDir = formGroupDir;
5051
- this._onChangeCallback = noop$6;
5052
- this._onTouchedCallback = noop$6;
5028
+ this._onChangeCallback = noop$2;
5029
+ this._onTouchedCallback = noop$2;
5053
5030
  this._subscription = new rxjs.Subscription();
5054
5031
  this.writing = true;
5055
5032
  this.disabling = false;
5056
- this.dayMask = DAY_MASK$2;
5033
+ this.dayMask = DAY_MASK;
5057
5034
  this.disabled = false;
5058
5035
  this.floatLabel = 'auto';
5059
5036
  this.readonly = false;
@@ -5091,7 +5068,7 @@
5091
5068
  var _this = this;
5092
5069
  this.formControl = this.formControl || this.formControlName && this.formGroupDir && this.formGroupDir.form.get(this.formControlName);
5093
5070
  if (!this.formControl)
5094
- throw new Error('Missing mandatory attribute \'formControl\' or \'formControlName\' in <mat-date-time-field>.');
5071
+ throw new Error('Missing mandatory attribute \'formControl\' or \'formControlName\' in <mat-date-field>.');
5095
5072
  this.required = toBoolean(this.required, this.formControl.validator === i1.Validators.required);
5096
5073
  // Redirect errors from main control, into day sub control
5097
5074
  var $error = new rxjs.BehaviorSubject(null);
@@ -5188,44 +5165,6 @@
5188
5165
  this.markForCheck();
5189
5166
  this._onChangeCallback(dateStr);
5190
5167
  };
5191
- MatDate.prototype.updatePattern = function (pattern) {
5192
- pattern = pattern !== 'COMMON.DATE_PATTERN' ? pattern : 'L';
5193
- if (this.displayPattern !== pattern) {
5194
- this.displayPattern = pattern;
5195
- this.dayPattern = pattern;
5196
- this.markForCheck();
5197
- }
5198
- };
5199
- MatDate.prototype.onFormChange = function (dayValue) {
5200
- if (this.writing)
5201
- return; // Skip if call by self
5202
- this.writing = true;
5203
- // Make to remove placeholder chars
5204
- while (dayValue && dayValue.indexOf(this.placeholderChar) !== -1) {
5205
- dayValue = dayValue.replace(this.placeholderChar, '');
5206
- }
5207
- var date;
5208
- // Parse day string
5209
- date = dayValue && this.dateAdapter.parse(dayValue, this.dayPattern) || null;
5210
- // Reset time
5211
- date = date && date.utc(true).hour(0).minute(0).seconds(0).millisecond(0);
5212
- // update date picker
5213
- this._value = date && this.dateAdapter.parse(date.clone(), DATE_ISO_PATTERN);
5214
- // Get the model value
5215
- var dateStr = date && date.isValid() && this.dateAdapter.format(date, DATE_ISO_PATTERN).replace('+00:00', 'Z') || date;
5216
- //console.debug("[mat-date-time] Setting date: ", dateStr);
5217
- this.formControl.patchValue(dateStr, { emitEvent: false });
5218
- //this.formControl.updateValueAndValidity();
5219
- this.writing = false;
5220
- this.markForCheck();
5221
- this._onChangeCallback(dateStr);
5222
- };
5223
- MatDate.prototype.checkIfTouched = function () {
5224
- if (this.dayControl.touched) {
5225
- this.markForCheck();
5226
- this._onTouchedCallback();
5227
- }
5228
- };
5229
5168
  MatDate.prototype.openDatePickerIfMobile = function (event, datePicker) {
5230
5169
  return __awaiter(this, void 0, void 0, function () {
5231
5170
  return __generator(this, function (_a) {
@@ -5275,7 +5214,45 @@
5275
5214
  }
5276
5215
  });
5277
5216
  };
5278
- /* -- protected method -- */
5217
+ /* -- private method -- */
5218
+ MatDate.prototype.updatePattern = function (pattern) {
5219
+ pattern = pattern !== 'COMMON.DATE_PATTERN' ? pattern : 'L';
5220
+ if (this.displayPattern !== pattern) {
5221
+ this.displayPattern = pattern;
5222
+ this.dayPattern = pattern;
5223
+ this.markForCheck();
5224
+ }
5225
+ };
5226
+ MatDate.prototype.onFormChange = function (dayValue) {
5227
+ if (this.writing)
5228
+ return; // Skip if call by self
5229
+ this.writing = true;
5230
+ // Make to remove placeholder chars
5231
+ while (dayValue && dayValue.indexOf(this.placeholderChar) !== -1) {
5232
+ dayValue = dayValue.replace(this.placeholderChar, '');
5233
+ }
5234
+ var date;
5235
+ // Parse day string
5236
+ date = dayValue && this.dateAdapter.parse(dayValue, this.dayPattern) || null;
5237
+ // Reset time
5238
+ date = date && date.utc(true).hour(0).minute(0).seconds(0).millisecond(0);
5239
+ // update date picker
5240
+ this._value = date && this.dateAdapter.parse(date.clone(), DATE_ISO_PATTERN);
5241
+ // Get the model value
5242
+ var dateStr = date && date.isValid() && this.dateAdapter.format(date, DATE_ISO_PATTERN).replace('+00:00', 'Z') || date;
5243
+ //console.debug("[mat-date-time] Setting date: ", dateStr);
5244
+ this.formControl.patchValue(dateStr, { emitEvent: false });
5245
+ //this.formControl.updateValueAndValidity();
5246
+ this.writing = false;
5247
+ this.markForCheck();
5248
+ this._onChangeCallback(dateStr);
5249
+ };
5250
+ MatDate.prototype.checkIfTouched = function () {
5251
+ if (this.dayControl.touched) {
5252
+ this.markForCheck();
5253
+ this._onTouchedCallback();
5254
+ }
5255
+ };
5279
5256
  MatDate.prototype.waitKeyboardHide = function (waitKeyboardDelay) {
5280
5257
  return __awaiter(this, void 0, void 0, function () {
5281
5258
  return __generator(this, function (_a) {
@@ -5322,7 +5299,7 @@
5322
5299
  selector: 'mat-date-field',
5323
5300
  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",
5324
5301
  providers: [
5325
- DEFAULT_VALUE_ACCESSOR$5,
5302
+ DEFAULT_VALUE_ACCESSOR,
5326
5303
  ],
5327
5304
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
5328
5305
  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%}"]
@@ -5355,34 +5332,34 @@
5355
5332
  matInputs: [{ type: i0.ViewChildren, args: ['matInput',] }]
5356
5333
  };
5357
5334
 
5358
- var DEFAULT_VALUE_ACCESSOR$4 = {
5335
+ var DEFAULT_VALUE_ACCESSOR$1 = {
5359
5336
  provide: i1.NG_VALUE_ACCESSOR,
5360
5337
  useExisting: i0.forwardRef(function () { return MatDateTime; }),
5361
5338
  multi: true
5362
5339
  };
5363
5340
  var DAY_MASK$1 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
5364
5341
  var HOUR_REGEXP = /^[012][0-9][:][012345][0-9]$/;
5365
- var HOUR_MASK$1 = [/[012]/, /\d/, ':', /[012345]/, /\d/];
5366
- var noop$5 = function () {
5342
+ var HOUR_MASK = [/[012]/, /\d/, ':', /[012345]/, /\d/];
5343
+ var noop$3 = function () {
5367
5344
  };
5368
- var ɵ0$8 = noop$5;
5345
+ var ɵ0$3 = noop$3;
5369
5346
  var MatDateTime = /** @class */ (function () {
5370
- function MatDateTime(platform, dateAdapter, translate, formBuilder, keyboard, cd, formGroupDir) {
5347
+ function MatDateTime(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
5371
5348
  this.platform = platform;
5372
5349
  this.dateAdapter = dateAdapter;
5373
5350
  this.translate = translate;
5374
5351
  this.formBuilder = formBuilder;
5375
- this.keyboard = keyboard;
5376
5352
  this.cd = cd;
5353
+ this.keyboard = keyboard;
5377
5354
  this.formGroupDir = formGroupDir;
5378
- this._onChangeCallback = noop$5;
5379
- this._onTouchedCallback = noop$5;
5355
+ this._onChangeCallback = noop$3;
5356
+ this._onTouchedCallback = noop$3;
5380
5357
  this._subscription = new rxjs.Subscription();
5381
5358
  this.writing = true;
5382
5359
  this.disabling = false;
5383
5360
  this._readonly = false;
5384
5361
  this.dayMask = DAY_MASK$1;
5385
- this.hourMask = HOUR_MASK$1;
5362
+ this.hourMask = HOUR_MASK;
5386
5363
  this.floatLabel = 'auto';
5387
5364
  this.compact = false;
5388
5365
  this.placeholderChar = DEFAULT_PLACEHOLDER_CHAR;
@@ -5426,7 +5403,7 @@
5426
5403
  MatDateTime.prototype.ngOnInit = function () {
5427
5404
  var _this = this;
5428
5405
  this.mobile = isNil(this.mobile) ? this.platform.is('mobile') : this.mobile;
5429
- this.waitHideKeyboardDelay = this.mobile && KEYBOARD_HIDE_DELAY_MS || 0;
5406
+ this.keyboardHideDelay = this.mobile && KEYBOARD_HIDE_DELAY_MS || 0;
5430
5407
  this.formControl = this.formControl || this.formControlName && this.formGroupDir && this.formGroupDir.form.get(this.formControlName);
5431
5408
  if (!this.formControl)
5432
5409
  throw new Error('Missing mandatory attribute \'formControl\' or \'formControlName\' in <mat-date-time-field>.');
@@ -5550,10 +5527,6 @@
5550
5527
  this.disabling = false;
5551
5528
  this.markForCheck();
5552
5529
  };
5553
- MatDateTime.prototype.updatePattern = function (patterns) {
5554
- this.displayPattern = (patterns['COMMON.DATE_TIME_PATTERN'] !== 'COMMON.DATE_TIME_PATTERN' ? patterns['COMMON.DATE_TIME_PATTERN'] : 'L LT');
5555
- this.dayPattern = (patterns['COMMON.DATE_PATTERN'] !== 'COMMON.DATE_PATTERN' ? patterns['COMMON.DATE_PATTERN'] : 'L');
5556
- };
5557
5530
  MatDateTime.prototype.onDatePickerChange = function (event) {
5558
5531
  // Make sure event is valid
5559
5532
  if (!event || (event.value !== null && !momentImported.isMoment(event.value))) {
@@ -5594,7 +5567,7 @@
5594
5567
  return [2 /*return*/];
5595
5568
  this.preventEvent(event);
5596
5569
  // Make sure the keyboard is closed
5597
- return [4 /*yield*/, this.hideKeyboard(false)];
5570
+ return [4 /*yield*/, this.waitKeyboardHide(false)];
5598
5571
  case 1:
5599
5572
  // Make sure the keyboard is closed
5600
5573
  _a.sent();
@@ -5624,7 +5597,7 @@
5624
5597
  return [2 /*return*/];
5625
5598
  this.preventEvent(event);
5626
5599
  // Make sure the keyboard is closed
5627
- return [4 /*yield*/, this.hideKeyboard(true)];
5600
+ return [4 /*yield*/, this.waitKeyboardHide(true)];
5628
5601
  case 1:
5629
5602
  // Make sure the keyboard is closed
5630
5603
  _a.sent();
@@ -5649,12 +5622,6 @@
5649
5622
  event.stopPropagation();
5650
5623
  event.returnValue = false;
5651
5624
  };
5652
- MatDateTime.prototype.checkIfTouched = function () {
5653
- if (this.dateFormControl.touched || this.timeFormControl.touched) {
5654
- this._onTouchedCallback();
5655
- this.markForCheck();
5656
- }
5657
- };
5658
5625
  MatDateTime.prototype.focus = function () {
5659
5626
  var _this = this;
5660
5627
  if (!this.matInputs.length)
@@ -5671,26 +5638,24 @@
5671
5638
  this.markAsTouched();
5672
5639
  this.markAsDirty();
5673
5640
  };
5674
- /* -- protected method -- */
5675
- MatDateTime.prototype.emitChange = function (value) {
5676
- // Get the model value
5677
- var dateStr = toDateISOString(value) || null;
5678
- if (this.formControl.value !== dateStr) {
5679
- // DEBUG
5680
- //console.debug('[matèdate-time] Emit new value: ' + dateStr);
5681
- // Changes comes from inside function: use the callback
5682
- this._onChangeCallback(dateStr);
5683
- // Check if need to update controls
5684
- this.checkIfTouched();
5641
+ /* -- private method -- */
5642
+ MatDateTime.prototype.updatePattern = function (patterns) {
5643
+ this.displayPattern = (patterns['COMMON.DATE_TIME_PATTERN'] !== 'COMMON.DATE_TIME_PATTERN' ? patterns['COMMON.DATE_TIME_PATTERN'] : 'L LT');
5644
+ this.dayPattern = (patterns['COMMON.DATE_PATTERN'] !== 'COMMON.DATE_PATTERN' ? patterns['COMMON.DATE_PATTERN'] : 'L');
5645
+ };
5646
+ MatDateTime.prototype.checkIfTouched = function () {
5647
+ if (this.dateFormControl.touched || this.timeFormControl.touched) {
5648
+ this._onTouchedCallback();
5649
+ this.markForCheck();
5685
5650
  }
5686
5651
  };
5687
- MatDateTime.prototype.hideKeyboard = function (waitIsHidden) {
5652
+ MatDateTime.prototype.waitKeyboardHide = function (waitKeyboardDelay) {
5688
5653
  return __awaiter(this, void 0, void 0, function () {
5689
5654
  return __generator(this, function (_a) {
5690
5655
  switch (_a.label) {
5691
5656
  case 0:
5692
- if (!this.keyboard.isVisible)
5693
- return [2 /*return*/]; // ok, already hidden
5657
+ if (!this.keyboard || !this.keyboard.isVisible)
5658
+ return [2 /*return*/]; // ok, already hidden (or not accessible)
5694
5659
  // Force keyboard to be hide
5695
5660
  this.keyboard.hide();
5696
5661
  // Wait hide occur
@@ -5698,8 +5663,8 @@
5698
5663
  case 1:
5699
5664
  // Wait hide occur
5700
5665
  _a.sent();
5701
- if (!(this.waitHideKeyboardDelay > 0 && waitIsHidden)) return [3 /*break*/, 3];
5702
- return [4 /*yield*/, sleep(this.waitHideKeyboardDelay)];
5666
+ if (!(this.keyboardHideDelay > 0 && waitKeyboardDelay)) return [3 /*break*/, 3];
5667
+ return [4 /*yield*/, sleep(this.keyboardHideDelay)];
5703
5668
  case 2:
5704
5669
  _a.sent();
5705
5670
  _a.label = 3;
@@ -5708,6 +5673,18 @@
5708
5673
  });
5709
5674
  });
5710
5675
  };
5676
+ MatDateTime.prototype.emitChange = function (value) {
5677
+ // Get the model value
5678
+ var dateStr = toDateISOString(value) || null;
5679
+ if (this.formControl.value !== dateStr) {
5680
+ // DEBUG
5681
+ //console.debug('[matèdate-time] Emit new value: ' + dateStr);
5682
+ // Changes comes from inside function: use the callback
5683
+ this._onChangeCallback(dateStr);
5684
+ // Check if need to update controls
5685
+ this.checkIfTouched();
5686
+ }
5687
+ };
5711
5688
  MatDateTime.prototype.updateTabIndex = function () {
5712
5689
  var _this = this;
5713
5690
  if (isNil(this._tabindex) || this._tabindex === -1)
@@ -5739,7 +5716,7 @@
5739
5716
  selector: 'mat-date-time-field',
5740
5717
  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",
5741
5718
  providers: [
5742
- DEFAULT_VALUE_ACCESSOR$4,
5719
+ DEFAULT_VALUE_ACCESSOR$1,
5743
5720
  ],
5744
5721
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
5745
5722
  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%}"]
@@ -5750,8 +5727,8 @@
5750
5727
  { type: i1$3.DateAdapter },
5751
5728
  { type: i1$2.TranslateService },
5752
5729
  { type: i1.FormBuilder },
5753
- { type: ngx.Keyboard },
5754
5730
  { type: i0.ChangeDetectorRef },
5731
+ { type: ngx.Keyboard, decorators: [{ type: i0.Optional }] },
5755
5732
  { type: i1.FormGroupDirective, decorators: [{ type: i0.Optional }] }
5756
5733
  ]; };
5757
5734
  MatDateTime.propDecorators = {
@@ -5773,15 +5750,15 @@
5773
5750
  matInputs: [{ type: i0.ViewChildren, args: ['matInput',] }]
5774
5751
  };
5775
5752
 
5776
- var DEFAULT_VALUE_ACCESSOR$3 = {
5753
+ var DEFAULT_VALUE_ACCESSOR$2 = {
5777
5754
  provide: i1.NG_VALUE_ACCESSOR,
5778
5755
  useExisting: i0.forwardRef(function () { return MatDateShort; }),
5779
5756
  multi: true
5780
5757
  };
5781
- var DAY_MASK = [/\d/, /\d/, /\d/, /\d/];
5758
+ var DAY_MASK$2 = [/\d/, /\d/, /\d/, /\d/];
5782
5759
  var noop$4 = function () {
5783
5760
  };
5784
- var ɵ0$7 = noop$4;
5761
+ var ɵ0$4 = noop$4;
5785
5762
  var MatDateShort = /** @class */ (function () {
5786
5763
  function MatDateShort(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
5787
5764
  this.dateAdapter = dateAdapter;
@@ -5794,7 +5771,7 @@
5794
5771
  this._onTouchedCallback = noop$4;
5795
5772
  this.writing = true;
5796
5773
  this.disabling = false;
5797
- this.dayMask = DAY_MASK;
5774
+ this.dayMask = DAY_MASK$2;
5798
5775
  this.disabled = false;
5799
5776
  this.floatLabel = 'auto';
5800
5777
  this.readonly = false;
@@ -5831,7 +5808,7 @@
5831
5808
  var _this = this;
5832
5809
  this.formControl = this.formControl || this.formControlName && this.formGroupDir && this.formGroupDir.form.get(this.formControlName);
5833
5810
  if (!this.formControl)
5834
- throw new Error('Missing mandatory attribute \'formControl\' or \'formControlName\' in <mat-date-time-field>.');
5811
+ throw new Error('Missing mandatory attribute \'formControl\' or \'formControlName\' in <mat-date-short-field>.');
5835
5812
  // Redirect errors from main control, into day sub control
5836
5813
  var $error = new rxjs.BehaviorSubject(null);
5837
5814
  this.required = toBoolean(this.required, this.formControl.validator === i1.Validators.required);
@@ -6071,7 +6048,7 @@
6071
6048
  selector: 'mat-date-short-field',
6072
6049
  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_YEAR_PLACEHOLDER'|translate\"\n (blur)=\"checkIfTouched()\"\n (keyup.arrowdown)=\"openDatePicker($event, datePicker1)\"\n (keyup.escape)=\"preventEvent($event)\"\n (click)=\"matInput.select()\"\n [required]=\"required\"\n [tabindex]=\"tabindex\">\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"dayControl\"\n (click)=\"openDatePickerIfMobile($event, datePicker1)\"\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]=\"datePicker1\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n (click)=\"openDatePicker($event, datePicker1)\"\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 <ng-content select=\"mat-error\"></ng-content>\n </mat-form-field>\n\n <mat-datepicker #datePicker1\n startView=\"multi-year\"\n [touchUi]=\"mobile\"\n [disabled]=\"formControl.disabled\"\n (yearSelected)=\"closeDatePicker($event, datePicker1)\"\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",
6073
6050
  providers: [
6074
- DEFAULT_VALUE_ACCESSOR$3,
6051
+ DEFAULT_VALUE_ACCESSOR$2,
6075
6052
  ],
6076
6053
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
6077
6054
  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%}"]
@@ -6142,16 +6119,16 @@
6142
6119
  },] }
6143
6120
  ];
6144
6121
 
6145
- var DEFAULT_VALUE_ACCESSOR$2 = {
6122
+ var DEFAULT_VALUE_ACCESSOR$3 = {
6146
6123
  provide: i1.NG_VALUE_ACCESSOR,
6147
6124
  useExisting: i0.forwardRef(function () { return MatDuration; }),
6148
6125
  multi: true
6149
6126
  };
6150
6127
  var HOUR_TIME_PATTERN = /[0-9]\d\d:[0-5]\d/;
6151
- var HOUR_MASK = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
6152
- var noop$3 = function () {
6128
+ var HOUR_MASK$1 = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
6129
+ var noop$5 = function () {
6153
6130
  };
6154
- var ɵ0$6 = noop$3;
6131
+ var ɵ0$5 = noop$5;
6155
6132
  var MatDuration = /** @class */ (function () {
6156
6133
  function MatDuration(platform, dateAdapter, translate, formBuilder, cd, formGroupDir) {
6157
6134
  this.dateAdapter = dateAdapter;
@@ -6160,11 +6137,11 @@
6160
6137
  this.cd = cd;
6161
6138
  this.formGroupDir = formGroupDir;
6162
6139
  this._subscription = new rxjs.Subscription();
6163
- this._onChangeCallback = noop$3;
6164
- this._onTouchedCallback = noop$3;
6140
+ this._onChangeCallback = noop$5;
6141
+ this._onTouchedCallback = noop$5;
6165
6142
  this.writing = true;
6166
6143
  this.disabling = false;
6167
- this.hourMask = HOUR_MASK;
6144
+ this.hourMask = HOUR_MASK$1;
6168
6145
  this.disabled = false;
6169
6146
  this.floatLabel = 'auto';
6170
6147
  this.readonly = false;
@@ -6208,7 +6185,7 @@
6208
6185
  }
6209
6186
  this.formControl = this.formControl || this.formControlName && this.formGroupDir && this.formGroupDir.form.get(this.formControlName);
6210
6187
  if (!this.formControl)
6211
- throw new Error('Missing mandatory attribute \'formControl\' or \'formControlName\' in <mat-date-time-field>.');
6188
+ throw new Error('Missing mandatory attribute \'formControl\' or \'formControlName\' in <mat-duration-field>.');
6212
6189
  this.required = toBoolean(this.required, this.formControl.validator === i1.Validators.required);
6213
6190
  // Redirect errors from main control, into day sub control
6214
6191
  var $error = new rxjs.BehaviorSubject(null);
@@ -6357,7 +6334,7 @@
6357
6334
  selector: 'mat-duration-field',
6358
6335
  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",
6359
6336
  providers: [
6360
- DEFAULT_VALUE_ACCESSOR$2,
6337
+ DEFAULT_VALUE_ACCESSOR$3,
6361
6338
  ],
6362
6339
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
6363
6340
  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%}"]
@@ -6417,22 +6394,22 @@
6417
6394
  },] }
6418
6395
  ];
6419
6396
 
6420
- var DEFAULT_VALUE_ACCESSOR$1 = {
6397
+ var DEFAULT_VALUE_ACCESSOR$4 = {
6421
6398
  provide: i1.NG_VALUE_ACCESSOR,
6422
6399
  useExisting: i0.forwardRef(function () { return MatBooleanField; }),
6423
6400
  multi: true
6424
6401
  };
6425
- var noop$2 = function () {
6402
+ var noop$6 = function () {
6426
6403
  };
6427
- var ɵ0$5 = noop$2;
6404
+ var ɵ0$6 = noop$6;
6428
6405
  var MatBooleanField = /** @class */ (function () {
6429
6406
  function MatBooleanField(translate, formBuilder, cd, formGroupDir) {
6430
6407
  this.translate = translate;
6431
6408
  this.formBuilder = formBuilder;
6432
6409
  this.cd = cd;
6433
6410
  this.formGroupDir = formGroupDir;
6434
- this._onChangeCallback = noop$2;
6435
- this._onTouchedCallback = noop$2;
6411
+ this._onChangeCallback = noop$6;
6412
+ this._onTouchedCallback = noop$6;
6436
6413
  this._writing = false;
6437
6414
  this.showRadio = false;
6438
6415
  this.disabled = false;
@@ -6605,9 +6582,9 @@
6605
6582
  MatBooleanField.decorators = [
6606
6583
  { type: i0.Component, args: [{
6607
6584
  selector: 'mat-boolean-field',
6608
- template: "<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled {{classList}}\">\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\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 <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\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 <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\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 <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\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 <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\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 <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\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 <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\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 <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n\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<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n<ng-template #matSuffixTemplate>\n <ng-content select=\"[matSuffix]\"></ng-content>\n</ng-template>\n",
6585
+ template: "<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled {{classList}}\">\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\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 <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\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 <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\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 <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\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 <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\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 <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\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 <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\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 <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n\n </mat-form-field>\n </ng-container>\n\n</ng-template>\n\n\n<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n<ng-template #matSuffixTemplate>\n <ng-content select=\"[matSuffix]\"></ng-content>\n</ng-template>\n",
6609
6586
  providers: [
6610
- DEFAULT_VALUE_ACCESSOR$1
6587
+ DEFAULT_VALUE_ACCESSOR$4
6611
6588
  ],
6612
6589
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
6613
6590
  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}"]
@@ -6643,8 +6620,7 @@
6643
6620
  yesButton: [{ type: i0.ViewChild, args: ['yesButton',] }],
6644
6621
  noButton: [{ type: i0.ViewChild, args: ['noButton',] }],
6645
6622
  checkboxButton: [{ type: i0.ViewChild, args: ['checkboxButton',] }],
6646
- fakeInput: [{ type: i0.ViewChild, args: ['fakeInput',] }],
6647
- suffixDiv: [{ type: i0.ViewChild, args: ['suffix', { static: false },] }]
6623
+ fakeInput: [{ type: i0.ViewChild, args: ['fakeInput',] }]
6648
6624
  };
6649
6625
 
6650
6626
  var SharedMatBooleanModule = /** @class */ (function () {
@@ -6695,7 +6671,6 @@
6695
6671
  return MatNumpadEvent;
6696
6672
  }(KeyboardEvent));
6697
6673
 
6698
- exports.AnimationState = void 0;
6699
6674
  (function (AnimationState) {
6700
6675
  AnimationState["ENTER"] = "enter";
6701
6676
  AnimationState["ENTER_INPUT"] = "enter-input";
@@ -6863,7 +6838,7 @@
6863
6838
  };
6864
6839
  return MatNumpadDomService;
6865
6840
  }());
6866
- 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" });
6841
+ 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" });
6867
6842
  MatNumpadDomService.decorators = [
6868
6843
  { type: i0.Injectable, args: [{
6869
6844
  providedIn: 'root'
@@ -7269,7 +7244,7 @@
7269
7244
  },] }
7270
7245
  ];
7271
7246
 
7272
- var DEFAULT_VALUE_ACCESSOR = {
7247
+ var DEFAULT_VALUE_ACCESSOR$5 = {
7273
7248
  provide: i1.NG_VALUE_ACCESSOR,
7274
7249
  useExisting: i0.forwardRef(function () { return MatSwipeField; }),
7275
7250
  multi: true
@@ -7589,7 +7564,7 @@
7589
7564
  { type: i0.Component, args: [{
7590
7565
  selector: 'mat-swipe-field',
7591
7566
  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",
7592
- providers: [DEFAULT_VALUE_ACCESSOR],
7567
+ providers: [DEFAULT_VALUE_ACCESSOR$5],
7593
7568
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
7594
7569
  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}"]
7595
7570
  },] }
@@ -7650,14 +7625,14 @@
7650
7625
  },] }
7651
7626
  ];
7652
7627
 
7653
- var noop$1 = function () { };
7654
- var ɵ0$4 = noop$1;
7628
+ var noop$7 = function () { };
7629
+ var ɵ0$7 = noop$7;
7655
7630
  var MatChipsField = /** @class */ (function () {
7656
7631
  function MatChipsField(cd, formGroupDir) {
7657
7632
  this.cd = cd;
7658
7633
  this.formGroupDir = formGroupDir;
7659
- this._onChangeCallback = noop$1;
7660
- this._onTouchedCallback = noop$1;
7634
+ this._onChangeCallback = noop$7;
7635
+ this._onTouchedCallback = noop$7;
7661
7636
  this.logPrefix = '[mat-chips] ';
7662
7637
  this.formControlName = null;
7663
7638
  this.required = false;
@@ -8521,7 +8496,7 @@
8521
8496
  };
8522
8497
  return ProgressBarService;
8523
8498
  }());
8524
- ProgressBarService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
8499
+ ProgressBarService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
8525
8500
  ProgressBarService.decorators = [
8526
8501
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
8527
8502
  ];
@@ -8568,7 +8543,7 @@
8568
8543
  };
8569
8544
  return AppGestureConfig;
8570
8545
  }(i1$6.HammerGestureConfig));
8571
- AppGestureConfig.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
8546
+ AppGestureConfig.ɵprov = i0.ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
8572
8547
  AppGestureConfig.decorators = [
8573
8548
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
8574
8549
  ];
@@ -8835,7 +8810,7 @@
8835
8810
  };
8836
8811
  return MatPaginatorI18n;
8837
8812
  }(paginator.MatPaginatorIntl));
8838
- MatPaginatorI18n.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
8813
+ MatPaginatorI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(i0.ɵɵinject(i1$2.TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
8839
8814
  MatPaginatorI18n.decorators = [
8840
8815
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
8841
8816
  ];
@@ -8927,17 +8902,17 @@
8927
8902
  return rgbArrayToHex(rgb.map(function (v) { return 255 - v; }));
8928
8903
  }
8929
8904
 
8930
- var noop = function () {
8905
+ var noop$8 = function () {
8931
8906
  };
8932
- var ɵ0$3 = noop;
8907
+ var ɵ0$8 = noop$8;
8933
8908
  var AppFormField = /** @class */ (function () {
8934
8909
  function AppFormField(translate, cd, injector, formGroupDir) {
8935
8910
  this.translate = translate;
8936
8911
  this.cd = cd;
8937
8912
  this.injector = injector;
8938
8913
  this.formGroupDir = formGroupDir;
8939
- this._onChangeCallback = noop;
8940
- this._onTouchedCallback = noop;
8914
+ this._onChangeCallback = noop$8;
8915
+ this._onTouchedCallback = noop$8;
8941
8916
  this.readonly = false;
8942
8917
  this.compact = false;
8943
8918
  this.floatLabel = 'auto';
@@ -9101,7 +9076,7 @@
9101
9076
  AppFormField.decorators = [
9102
9077
  { type: i0.Component, args: [{
9103
9078
  selector: 'app-form-field',
9104
- template: "<ng-container [ngSwitch]=\"type\">\n\n <!-- integer -->\n <mat-form-field *ngSwitchCase=\"'integer'\" [floatLabel]=\"floatLabel\" [class]=\"classList\">\n <input matInput #matInput\n type=\"number\"\n autocomplete=\"off\"\n [readonly]=\"readonly\"\n [min]=\"definition.minValue\"\n [max]=\"definition.maxValue\"\n pattern=\"-?[0-9]*\"\n step=\"1\"\n [appAutofocus]=\"autofocus\"\n [placeholder]=\"placeholder\"\n (keyup.enter)=\"onKeyupEnter.emit($event)\"\n (keypress)=\"filterNumberInput($event, false)\"\n [formControl]=\"formControl\"\n [required]=\"required\"\n [tabIndex]=\"tabindex\"\n (click)=\"selectInputContent($event)\">\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 <mat-error *ngIf=\"formControl.hasError('pattern')\">\n {{'ERROR.FIELD_NOT_VALID_INTEGER'| translate }}</mat-error>\n <mat-error *ngIf=\"formControl.hasError('integer')\">\n {{'ERROR.FIELD_NOT_VALID_INTEGER'| translate }}</mat-error>\n\n <div matSuffix>\n <ng-content select=\"[matSuffix]\"></ng-content>\n </div>\n </mat-form-field>\n\n <!-- double -->\n <mat-form-field *ngSwitchCase=\"'double'\" [floatLabel]=\"floatLabel\" [class]=\"classList\">\n\n <input matInput #matInput\n type=\"number\"\n decimal=\"true\"\n autocomplete=\"off\"\n [min]=\"definition.minValue\"\n [max]=\"definition.maxValue\"\n [appAutofocus]=\"autofocus\"\n [readonly]=\"readonly\"\n [placeholder]=\"placeholder\"\n [step]=\"numberInputStep\"\n (keypress)=\"filterNumberInput($event, true)\"\n [formControl]=\"formControl\"\n [required]=\"required\"\n [tabIndex]=\"tabindex\"\n (click)=\"selectInputContent($event)\">\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 <mat-error *ngIf=\"formControl.hasError('maxDecimals')\">\n {{ (compact ? 'ERROR.FIELD_MAXIMUM_DECIMALS_COMPACT' : 'ERROR.FIELD_MAXIMUM_DECIMALS')| translate:{max:\n definition.maximumNumberDecimals} }}</mat-error>\n <div matSuffix>\n <ng-content select=\"[matSuffix]\"></ng-content>\n </div>\n </mat-form-field>\n\n <!-- boolean -->\n <mat-boolean-field *ngSwitchCase=\"'boolean'\" #matInput\n [class]=\"classList\"\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [floatLabel]=\"floatLabel\"\n [required]=\"required\"\n [compact]=\"compact\"\n [tabindex]=\"tabindex\"\n [readonly]=\"readonly\">\n <div matSuffix>\n <ng-content select=\"[matSuffix]\"></ng-content>\n </div>\n </mat-boolean-field>\n\n <!-- date -->\n <mat-date-field *ngSwitchCase=\"'date'\" #matInput\n [class]=\"classList\"\n [formControl]=\"formControl\"\n [placeholder]=\"compact ? ('COMMON.DATE_PLACEHOLDER'|translate): placeholder\"\n [floatLabel]=\"floatLabel\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [compact]=\"compact\"\n [tabindex]=\"tabindex\"\n [autofocus]=\"autofocus\">\n <div matSuffix>\n <ng-content select=\"[matSuffix]\"></ng-content>\n </div>\n </mat-date-field>\n\n <!-- date time -->\n <mat-date-time-field *ngSwitchCase=\"'dateTime'\"\n [class]=\"classList\"\n [formControl]=\"formControl\"\n [placeholder]=\"compact ? ('COMMON.DATE_TIME_PLACEHOLDER'|translate): placeholder\"\n [floatLabel]=\"floatLabel\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [compact]=\"compact\"\n [tabindex]=\"tabindex\"\n [autofocus]=\"autofocus\">\n <div matSuffix>\n <ng-content select=\"[matSuffix]\"></ng-content>\n </div>\n </mat-date-time-field>\n\n <!-- enum -->\n <mat-form-field *ngSwitchCase=\"'enum'\" [floatLabel]=\"floatLabel\" [class]=\"classList\">\n <mat-select [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n (keyup.enter)=\"onKeyupEnter.emit($event)\">\n <mat-option *ngFor=\"let item of definition.values\" [value]=\"item.key || item\">{{ (item.value || item) | translate }}</mat-option>\n </mat-select>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n\n <div matSuffix>\n <ng-content select=\"[matSuffix]\"></ng-content>\n </div>\n </mat-form-field>\n\n <!-- color -->\n <mat-form-field *ngSwitchCase=\"'color'\" [floatLabel]=\"floatLabel\" [class]=\"classList\">\n\n <ion-icon margin-right name=\"color-fill\" matPrefix></ion-icon>\n\n <input matInput autocomplete=\"off\"\n [appAutofocus]=\"autofocus\"\n [formControl]=\"formControl\"\n [style.color]=\"getColorContrast(formControl.value)\"\n [style.background]=\"formControl.value\"\n [colorPicker]=\"formControl.value\"\n (colorPickerChange)=\"writeValue($event)\"\n [cpSaveClickOutside]=\"true\"\n cpPosition=\"top\"\n cpOutputFormat=\"hex\"\n [cpOKButton]=\"false\"\n [required]=\"required\"/>\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n\n <!-- string -->\n <mat-form-field *ngSwitchCase=\"'string'\" [floatLabel]=\"floatLabel\" [class]=\"classList\">\n <input matInput #matInput\n autocomplete=\"off\"\n [appAutofocus]=\"autofocus\"\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [tabIndex]=\"tabindex\"\n (click)=\"selectInputContent($event)\"\n (keypress)=\"filterAlphanumericalInput($event)\"\n (keyup.enter)=\"onKeyupEnter.emit($event)\">\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <div matSuffix>\n <ng-content select=\"[matSuffix]\"></ng-content>\n </div>\n </mat-form-field>\n\n <!-- auto-complete -->\n <mat-autocomplete-field *ngSwitchCase=\"'entity'\"\n [class]=\"classList\"\n [autofocus]=\"autofocus\"\n [placeholder]=\"placeholder\"\n [floatLabel]=\"floatLabel\"\n [formControl]=\"formControl\"\n [config]=\"definition.autocomplete\"\n [required]=\"required\"\n [displayWith]=\"getDisplayValueFn(definition)\">\n <ng-content select=\"[matPrefix]\"></ng-content>\n <ng-content select=\"[matSuffix]\"></ng-content>\n </mat-autocomplete-field>\n\n <!-- multi auto-complete -->\n <mat-chips-field *ngSwitchCase=\"'entities'\"\n [class]=\"classList\"\n [placeholder]=\"placeholder\"\n [floatLabel]=\"floatLabel\"\n [formControl]=\"formControl\"\n [config]=\"definition.autocomplete\"\n [required]=\"required\"\n [displayWith]=\"getDisplayValueFn(definition)\">\n <ng-content select=\"[matPrefix]\"></ng-content>\n <ng-content select=\"[matSuffix]\"></ng-content>\n </mat-chips-field>\n\n <!-- other -->\n <div *ngSwitchDefault>\n <mat-error *ngIf=\"type\">Unknown type {{type}} for option {{definition.key}}. Please report this error.</mat-error>\n <mat-error *ngIf=\"!type\">Error on option field. Please check console log for details.</mat-error>\n <div matSuffix>\n <ng-content select=\"[matSuffix]\"></ng-content>\n </div>\n </div>\n\n</ng-container>\n",
9079
+ template: "<ng-container [ngSwitch]=\"type\">\n\n <!-- integer -->\n <mat-form-field *ngSwitchCase=\"'integer'\" [floatLabel]=\"floatLabel\" [class]=\"classList\">\n <input matInput #matInput\n type=\"number\"\n autocomplete=\"off\"\n [readonly]=\"readonly\"\n [min]=\"definition.minValue\"\n [max]=\"definition.maxValue\"\n pattern=\"-?[0-9]*\"\n step=\"1\"\n [appAutofocus]=\"autofocus\"\n [placeholder]=\"placeholder\"\n (keyup.enter)=\"onKeyupEnter.emit($event)\"\n (keypress)=\"filterNumberInput($event, false)\"\n [formControl]=\"formControl\"\n [required]=\"required\"\n [tabIndex]=\"tabindex\"\n (click)=\"selectInputContent($event)\">\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 <mat-error *ngIf=\"formControl.hasError('pattern')\">\n {{'ERROR.FIELD_NOT_VALID_INTEGER'| translate }}</mat-error>\n <mat-error *ngIf=\"formControl.hasError('integer')\">\n {{'ERROR.FIELD_NOT_VALID_INTEGER'| translate }}</mat-error>\n\n <div matSuffix>\n <ng-content select=\"[matSuffix]\"></ng-content>\n </div>\n </mat-form-field>\n\n <!-- double -->\n <mat-form-field *ngSwitchCase=\"'double'\" [floatLabel]=\"floatLabel\" [class]=\"classList\">\n\n <input matInput #matInput\n type=\"number\"\n decimal=\"true\"\n autocomplete=\"off\"\n [min]=\"definition.minValue\"\n [max]=\"definition.maxValue\"\n [appAutofocus]=\"autofocus\"\n [readonly]=\"readonly\"\n [placeholder]=\"placeholder\"\n [step]=\"numberInputStep\"\n (keypress)=\"filterNumberInput($event, true)\"\n [formControl]=\"formControl\"\n [required]=\"required\"\n [tabIndex]=\"tabindex\"\n (click)=\"selectInputContent($event)\">\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 <mat-error *ngIf=\"formControl.hasError('maxDecimals')\">\n {{ (compact ? 'ERROR.FIELD_MAXIMUM_DECIMALS_COMPACT' : 'ERROR.FIELD_MAXIMUM_DECIMALS')| translate:{max:\n definition.maximumNumberDecimals} }}</mat-error>\n <div matSuffix>\n <ng-content select=\"[matSuffix]\"></ng-content>\n </div>\n </mat-form-field>\n\n <!-- boolean -->\n <mat-boolean-field *ngSwitchCase=\"'boolean'\" #matInput\n [class]=\"classList\"\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [floatLabel]=\"floatLabel\"\n [required]=\"required\"\n [compact]=\"compact\"\n [tabindex]=\"tabindex\"\n [readonly]=\"readonly\">\n <div matSuffix>\n <ng-content select=\"[matSuffix]\"></ng-content>\n </div>\n </mat-boolean-field>\n\n <!-- date -->\n <mat-date-field *ngSwitchCase=\"'date'\" #matInput\n [class]=\"classList\"\n [formControl]=\"formControl\"\n [placeholder]=\"compact ? ('COMMON.DATE_PLACEHOLDER'|translate): placeholder\"\n [floatLabel]=\"floatLabel\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [compact]=\"compact\"\n [tabindex]=\"tabindex\"\n [autofocus]=\"autofocus\">\n <div matSuffix>\n <ng-content select=\"[matSuffix]\"></ng-content>\n </div>\n </mat-date-field>\n\n <!-- date time -->\n <mat-date-time-field *ngSwitchCase=\"'dateTime'\" #matInput\n [class]=\"classList\"\n [formControl]=\"formControl\"\n [placeholder]=\"compact ? ('COMMON.DATE_TIME_PLACEHOLDER'|translate): placeholder\"\n [floatLabel]=\"floatLabel\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [compact]=\"compact\"\n [tabindex]=\"tabindex\"\n [autofocus]=\"autofocus\">\n <div matSuffix>\n <ng-content select=\"[matSuffix]\"></ng-content>\n </div>\n </mat-date-time-field>\n\n <!-- enum -->\n <mat-form-field *ngSwitchCase=\"'enum'\" [floatLabel]=\"floatLabel\" [class]=\"classList\">\n <mat-select [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n (keyup.enter)=\"onKeyupEnter.emit($event)\">\n <mat-option *ngFor=\"let item of definition.values\" [value]=\"item.key || item\">{{ (item.value || item) | translate }}</mat-option>\n </mat-select>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n\n <div matSuffix>\n <ng-content select=\"[matSuffix]\"></ng-content>\n </div>\n </mat-form-field>\n\n <!-- color -->\n <mat-form-field *ngSwitchCase=\"'color'\" [floatLabel]=\"floatLabel\" [class]=\"classList\">\n\n <ion-icon margin-right name=\"color-fill\" matPrefix></ion-icon>\n\n <input matInput autocomplete=\"off\"\n [appAutofocus]=\"autofocus\"\n [formControl]=\"formControl\"\n [style.color]=\"getColorContrast(formControl.value)\"\n [style.background]=\"formControl.value\"\n [colorPicker]=\"formControl.value\"\n (colorPickerChange)=\"writeValue($event)\"\n [cpSaveClickOutside]=\"true\"\n cpPosition=\"top\"\n cpOutputFormat=\"hex\"\n [cpOKButton]=\"false\"\n [required]=\"required\"/>\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n\n <!-- string -->\n <mat-form-field *ngSwitchCase=\"'string'\" [floatLabel]=\"floatLabel\" [class]=\"classList\">\n <input matInput #matInput\n autocomplete=\"off\"\n [appAutofocus]=\"autofocus\"\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [tabIndex]=\"tabindex\"\n (click)=\"selectInputContent($event)\"\n (keypress)=\"filterAlphanumericalInput($event)\"\n (keyup.enter)=\"onKeyupEnter.emit($event)\">\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <div matSuffix>\n <ng-content select=\"[matSuffix]\"></ng-content>\n </div>\n </mat-form-field>\n\n <!-- auto-complete -->\n <mat-autocomplete-field *ngSwitchCase=\"'entity'\"\n [class]=\"classList\"\n [autofocus]=\"autofocus\"\n [placeholder]=\"placeholder\"\n [floatLabel]=\"floatLabel\"\n [formControl]=\"formControl\"\n [config]=\"definition.autocomplete\"\n [required]=\"required\"\n [displayWith]=\"getDisplayValueFn(definition)\">\n <ng-content select=\"[matPrefix]\"></ng-content>\n <ng-content select=\"[matSuffix]\"></ng-content>\n </mat-autocomplete-field>\n\n <!-- multi auto-complete -->\n <mat-chips-field *ngSwitchCase=\"'entities'\"\n [class]=\"classList\"\n [placeholder]=\"placeholder\"\n [floatLabel]=\"floatLabel\"\n [formControl]=\"formControl\"\n [config]=\"definition.autocomplete\"\n [required]=\"required\"\n [displayWith]=\"getDisplayValueFn(definition)\">\n <ng-content select=\"[matPrefix]\"></ng-content>\n <ng-content select=\"[matSuffix]\"></ng-content>\n </mat-chips-field>\n\n <!-- other -->\n <div *ngSwitchDefault>\n <mat-error *ngIf=\"type\">Unknown type {{type}} for option {{definition.key}}. Please report this error.</mat-error>\n <mat-error *ngIf=\"!type\">Error on option field. Please check console log for details.</mat-error>\n <div matSuffix>\n <ng-content select=\"[matSuffix]\"></ng-content>\n </div>\n </div>\n\n</ng-container>\n",
9105
9080
  providers: [
9106
9081
  {
9107
9082
  provide: i1.NG_VALUE_ACCESSOR,
@@ -9492,7 +9467,7 @@
9492
9467
  };
9493
9468
  return AudioProvider;
9494
9469
  }(StartableService));
9495
- 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" });
9470
+ 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" });
9496
9471
  AudioProvider.decorators = [
9497
9472
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
9498
9473
  ];
@@ -9592,7 +9567,7 @@
9592
9567
  };
9593
9568
  return Hotkeys;
9594
9569
  }());
9595
- 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" });
9570
+ 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" });
9596
9571
  Hotkeys.decorators = [
9597
9572
  { type: i0.Injectable, args: [{
9598
9573
  providedIn: 'root'
@@ -9796,7 +9771,7 @@
9796
9771
  return Base64ImageReader;
9797
9772
  }());
9798
9773
 
9799
- var uuidv4$1 = uuidv4Imported__namespace;
9774
+ var uuidv4 = uuidv4Imported__namespace;
9800
9775
  var FileService = /** @class */ (function () {
9801
9776
  function FileService(platform,
9802
9777
  //private transfer: FileTransfer,
@@ -9842,7 +9817,7 @@
9842
9817
  lastSlashIndex = source.lastIndexOf('/');
9843
9818
  if (lastSlashIndex === -1)
9844
9819
  throw new Error('Invalid URL: ' + source);
9845
- fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4$1();
9820
+ fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4();
9846
9821
  if (!(responseType === 'file' && this.canUseFileSystem)) return [3 /*break*/, 4];
9847
9822
  console.warn("WARN: [file] Fetching image {" + source + "} in local file...");
9848
9823
  targetFilePath = this._imageDirectory + fileName;
@@ -9905,7 +9880,7 @@
9905
9880
  };
9906
9881
  return FileService;
9907
9882
  }());
9908
- 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" });
9883
+ 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" });
9909
9884
  FileService.decorators = [
9910
9885
  { type: i0.Injectable, args: [{
9911
9886
  providedIn: 'root',
@@ -10072,7 +10047,7 @@
10072
10047
  Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
10073
10048
 
10074
10049
  var scrypt = require('scrypt-async');
10075
- var sha256$1 = require('hash.js/lib/hash/sha/256');
10050
+ var sha256 = require('hash.js/lib/hash/sha/256');
10076
10051
  var sha512 = require('hash.js/lib/hash/sha/512');
10077
10052
  var nacl = {
10078
10053
  sign: tweetnacl.sign,
@@ -10178,7 +10153,7 @@
10178
10153
  * Hash (using SHA256) a message
10179
10154
  */
10180
10155
  CryptoService.prototype.sha256 = function (message) {
10181
- return sha256$1().update(message).digest('hex');
10156
+ return sha256().update(message).digest('hex');
10182
10157
  };
10183
10158
  /**
10184
10159
  * Hash (using SHA512) a message
@@ -10192,7 +10167,7 @@
10192
10167
  };
10193
10168
  return CryptoService;
10194
10169
  }());
10195
- CryptoService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
10170
+ CryptoService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
10196
10171
  CryptoService.decorators = [
10197
10172
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
10198
10173
  ];
@@ -11621,7 +11596,7 @@
11621
11596
  };
11622
11597
  return LocalSettingsService;
11623
11598
  }(StartableService));
11624
- 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" });
11599
+ 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" });
11625
11600
  LocalSettingsService.decorators = [
11626
11601
  { type: i0.Injectable, args: [{
11627
11602
  providedIn: 'root',
@@ -12424,7 +12399,7 @@
12424
12399
  };
12425
12400
  return NetworkService;
12426
12401
  }(StartableService));
12427
- 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" });
12402
+ 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" });
12428
12403
  NetworkService.decorators = [
12429
12404
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
12430
12405
  ];
@@ -12444,7 +12419,7 @@
12444
12419
  { type: i1$5.ToastController, decorators: [{ type: i0.Optional }] }
12445
12420
  ]; };
12446
12421
 
12447
- var ErrorCodes$2 = {
12422
+ var ErrorCodes = {
12448
12423
  UNKNOWN_ERROR: 0,
12449
12424
  LOAD_ACCOUNT_ERROR: 1,
12450
12425
  BAD_PASSWORD: 2,
@@ -12861,7 +12836,7 @@
12861
12836
  case 13:
12862
12837
  err_1 = _b.sent();
12863
12838
  console.error(err_1);
12864
- throw { code: ErrorCodes$2.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err_1 };
12839
+ throw { code: ErrorCodes.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err_1 };
12865
12840
  case 14:
12866
12841
  // Emit update event
12867
12842
  if (!opts || opts.emitEvent !== false) {
@@ -13638,7 +13613,7 @@
13638
13613
  }(StartableService));
13639
13614
  EntitiesStorage.TRASH_PREFIX = 'Trash#';
13640
13615
  EntitiesStorage.REMOTE_PREFIX = 'Remote#';
13641
- 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" });
13616
+ 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" });
13642
13617
  EntitiesStorage.decorators = [
13643
13618
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
13644
13619
  ];
@@ -13794,10 +13769,10 @@
13794
13769
  function referentialsToString(values, properties, separator) {
13795
13770
  return (values || []).map(function (v) { return referentialToString(v, properties); }).join(separator || ', ');
13796
13771
  }
13797
- var ɵ0$2 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
13772
+ var ɵ0$9 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
13798
13773
  var StatusList = Object.freeze([
13799
13774
  {
13800
- id: ɵ0$2,
13775
+ id: ɵ0$9,
13801
13776
  icon: 'checkmark',
13802
13777
  label: 'REFERENTIAL.STATUS_ENUM.ENABLE'
13803
13778
  },
@@ -14100,7 +14075,7 @@
14100
14075
  (data.lastName || '')) || '';
14101
14076
  }
14102
14077
 
14103
- var uuidv4 = uuidv4Imported__namespace;
14078
+ var uuidv4$1 = uuidv4Imported__namespace;
14104
14079
  var _global = typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : {});
14105
14080
  var NativeWebSocket = _global.WebSocket || _global.MozWebSocket;
14106
14081
  /**
@@ -14144,7 +14119,7 @@
14144
14119
  // Skip if not tracked
14145
14120
  if (!context || !context.tracked)
14146
14121
  return forward(operation);
14147
- var id = context.serializationKey || uuidv4();
14122
+ var id = context.serializationKey || uuidv4$1();
14148
14123
  console.debug("[apollo-tracker-link] Watching tracked query {" + operation.operationName + "#" + id + "}");
14149
14124
  // Clean context, before calling JSON.stringify (remove unused attributes)
14150
14125
  var cleanContext = Object.assign(Object.assign({}, context), { optimisticResponse: null, cache: null });
@@ -14777,14 +14752,14 @@
14777
14752
  mutationLinks = void 0;
14778
14753
  // Add queue to store tracked queries, when offline
14779
14754
  if (enableTrackMutationQueries) {
14780
- serializingLink = new SerializingLink__default["default"]();
14755
+ serializingLink = new SerializingLink__default['default']();
14781
14756
  trackerLink = createTrackerLink({
14782
14757
  storage: storage,
14783
14758
  onNetworkStatusChange: this._networkStatusChanged$,
14784
14759
  debounce: 1000,
14785
14760
  debug: true
14786
14761
  });
14787
- queueLink_1 = new QueueLink__default["default"]();
14762
+ queueLink_1 = new QueueLink__default['default']();
14788
14763
  this.registerSubscription(this._networkStatusChanged$
14789
14764
  .subscribe(function (type) {
14790
14765
  // Network is offline: start buffering into queue
@@ -14799,7 +14774,7 @@
14799
14774
  }
14800
14775
  }));
14801
14776
  mutationLinks = [
14802
- loggerLink__default["default"],
14777
+ loggerLink__default['default'],
14803
14778
  queueLink_1,
14804
14779
  trackerLink,
14805
14780
  queueLink_1,
@@ -14906,7 +14881,7 @@
14906
14881
  (err.networkError && ((err.networkError.error && this.toAppError(err.networkError.error))
14907
14882
  || this.toAppError(err.networkError)
14908
14883
  || (err.networkError.error && this.createAppErrorByCode(err.networkError.error.status))
14909
- || this.createAppErrorByCode(ErrorCodes$2.UNKNOWN_NETWORK_ERROR)))
14884
+ || this.createAppErrorByCode(ErrorCodes.UNKNOWN_NETWORK_ERROR)))
14910
14885
  // If graphQL: try to convert the first error found
14911
14886
  || (err.graphQLErrors && err.graphQLErrors.length && this.toAppError(err.graphQLErrors[0]))
14912
14887
  || this.toAppError(err)
@@ -14914,7 +14889,7 @@
14914
14889
  || (err.graphQLErrors && err.graphQLErrors[0])
14915
14890
  || err;
14916
14891
  console.error('[graphql] ' + (error && error.message || error), error.stack || '');
14917
- if (error && error.code === ErrorCodes$2.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
14892
+ if (error && error.code === ErrorCodes.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
14918
14893
  console.error('[graphql] original error: ' + err.networkError.message);
14919
14894
  this.onNetworkError.next(error);
14920
14895
  }
@@ -14950,7 +14925,7 @@
14950
14925
  return 'ERROR.UNAUTHORIZED';
14951
14926
  case ServerErrorCodes.FORBIDDEN:
14952
14927
  return 'ERROR.FORBIDDEN';
14953
- case ErrorCodes$2.UNKNOWN_NETWORK_ERROR:
14928
+ case ErrorCodes.UNKNOWN_NETWORK_ERROR:
14954
14929
  return 'ERROR.UNKNOWN_NETWORK_ERROR';
14955
14930
  case ServerErrorCodes.BAD_UPDATE_DATE:
14956
14931
  return 'ERROR.BAD_UPDATE_DATE';
@@ -14982,7 +14957,7 @@
14982
14957
  };
14983
14958
  return GraphqlService;
14984
14959
  }(StartableService));
14985
- 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" });
14960
+ 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" });
14986
14961
  GraphqlService.decorators = [
14987
14962
  { type: i0.Injectable, args: [{
14988
14963
  providedIn: 'root'
@@ -14999,7 +14974,7 @@
14999
14974
  { type: undefined, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [APP_GRAPHQL_TYPE_POLICIES,] }] }
15000
14975
  ]; };
15001
14976
 
15002
- var sha256 = require('hash.js/lib/hash/sha/256');
14977
+ var sha256$1 = require('hash.js/lib/hash/sha/256');
15003
14978
  var BaseGraphqlServiceOptions = /** @class */ (function () {
15004
14979
  function BaseGraphqlServiceOptions() {
15005
14980
  }
@@ -15169,8 +15144,8 @@
15169
15144
  };
15170
15145
  /* -- protected methods -- */
15171
15146
  BaseGraphqlService.prototype.computeMutableWatchQueryId = function (opts) {
15172
- var queryName = opts.queryName || sha256().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
15173
- var variablesKey = opts.variables && sha256().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
15147
+ var queryName = opts.queryName || sha256$1().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
15148
+ var variablesKey = opts.variables && sha256$1().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
15174
15149
  return [queryName, opts.arrayFieldName, variablesKey].join('|');
15175
15150
  };
15176
15151
  BaseGraphqlService.prototype.findMutableWatchQueries = function (opts) {
@@ -15239,19 +15214,19 @@
15239
15214
  /* ------------------------------------
15240
15215
  * GraphQL queries
15241
15216
  * ------------------------------------*/
15242
- var Fragments$1 = {
15243
- 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 ...UserSettingsFragment\n }\n department {\n id\n label\n name\n __typename\n }\n __typename\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 ...UserSettingsFragment\n }\n department {\n id\n label\n name\n __typename\n }\n __typename\n }"]))),
15244
- settings: core.gql(templateObject_2$4 || (templateObject_2$4 = __makeTemplateObject(["fragment UserSettingsFragment on UserSettingsVO {\n id\n locale\n latLongFormat\n content\n nonce\n updateDate\n __typename\n }"], ["fragment UserSettingsFragment on UserSettingsVO {\n id\n locale\n latLongFormat\n content\n nonce\n updateDate\n __typename\n }"])))
15217
+ var Fragments = {
15218
+ 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 ...UserSettingsFragment\n }\n department {\n id\n label\n name\n __typename\n }\n __typename\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 ...UserSettingsFragment\n }\n department {\n id\n label\n name\n __typename\n }\n __typename\n }"]))),
15219
+ settings: core.gql(templateObject_2 || (templateObject_2 = __makeTemplateObject(["fragment UserSettingsFragment on UserSettingsVO {\n id\n locale\n latLongFormat\n content\n nonce\n updateDate\n __typename\n }"], ["fragment UserSettingsFragment on UserSettingsVO {\n id\n locale\n latLongFormat\n content\n nonce\n updateDate\n __typename\n }"])))
15245
15220
  };
15246
15221
  // Load account query
15247
- var LoadQuery$1 = core.gql(templateObject_3$3 || (templateObject_3$3 = __makeTemplateObject(["\n query Account {\n data: account {\n ...AccountFragment\n }\n }\n ", "\n ", "\n"], ["\n query Account {\n data: account {\n ...AccountFragment\n }\n }\n ", "\n ", "\n"])), Fragments$1.account, Fragments$1.settings);
15222
+ var LoadQuery = core.gql(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n query Account {\n data: account {\n ...AccountFragment\n }\n }\n ", "\n ", "\n"], ["\n query Account {\n data: account {\n ...AccountFragment\n }\n }\n ", "\n ", "\n"])), Fragments.account, Fragments.settings);
15248
15223
  // Check email query
15249
- var IsEmailExistsQuery = core.gql(templateObject_4$3 || (templateObject_4$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"])));
15224
+ var IsEmailExistsQuery = core.gql(templateObject_4 || (templateObject_4 = __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"])));
15250
15225
  // Save (create or update) account mutation
15251
15226
  var AccountMutations = {
15252
- save: core.gql(templateObject_5$2 || (templateObject_5$2 = __makeTemplateObject([" mutation SaveAccount($data:AccountVOInput){\n data: saveAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n ", ""], [" mutation SaveAccount($data:AccountVOInput){\n data: saveAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n ", ""])), Fragments$1.account, Fragments$1.settings),
15253
- create: core.gql(templateObject_6 || (templateObject_6 = __makeTemplateObject(["mutation CreateAccount($data:AccountVOInput){\n data: createAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n ", ""], ["mutation CreateAccount($data:AccountVOInput){\n data: createAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n ", ""])), Fragments$1.account, Fragments$1.settings),
15254
- saveSettings: core.gql(templateObject_7 || (templateObject_7 = __makeTemplateObject(["mutation SaveSettings($data:UserSettingsVOInput){\n data: saveSettings(settings: $data){\n ...UserSettingsFragment\n }\n }\n ", ""], ["mutation SaveSettings($data:UserSettingsVOInput){\n data: saveSettings(settings: $data){\n ...UserSettingsFragment\n }\n }\n ", ""])), Fragments$1.settings)
15227
+ save: core.gql(templateObject_5 || (templateObject_5 = __makeTemplateObject([" mutation SaveAccount($data:AccountVOInput){\n data: saveAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n ", ""], [" mutation SaveAccount($data:AccountVOInput){\n data: saveAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n ", ""])), Fragments.account, Fragments.settings),
15228
+ create: core.gql(templateObject_6 || (templateObject_6 = __makeTemplateObject(["mutation CreateAccount($data:AccountVOInput){\n data: createAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n ", ""], ["mutation CreateAccount($data:AccountVOInput){\n data: createAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n ", ""])), Fragments.account, Fragments.settings),
15229
+ saveSettings: core.gql(templateObject_7 || (templateObject_7 = __makeTemplateObject(["mutation SaveSettings($data:UserSettingsVOInput){\n data: saveSettings(settings: $data){\n ...UserSettingsFragment\n }\n }\n ", ""], ["mutation SaveSettings($data:UserSettingsVOInput){\n data: saveSettings(settings: $data){\n ...UserSettingsFragment\n }\n }\n ", ""])), Fragments.settings)
15255
15230
  };
15256
15231
  // Sent confirmation email
15257
15232
  var SendConfirmEmailMutation = core.gql(templateObject_8 || (templateObject_8 = __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"])));
@@ -15613,7 +15588,7 @@
15613
15588
  error_3 = _b.sent();
15614
15589
  console.error(error_3);
15615
15590
  this.resetData();
15616
- throw { code: ErrorCodes$2.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
15591
+ throw { code: ErrorCodes.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
15617
15592
  case 4:
15618
15593
  // Store pubkey+keypair
15619
15594
  this._cache.pubkey = Base58.encode(keypair.publicKey);
@@ -15649,7 +15624,7 @@
15649
15624
  return [3 /*break*/, 18];
15650
15625
  case 11:
15651
15626
  err_1 = _b.sent();
15652
- if (!(err_1 && +(err_1.code) === ErrorCodes$2.LOAD_ACCOUNT_ERROR)) return [3 /*break*/, 17];
15627
+ if (!(err_1 && +(err_1.code) === ErrorCodes.LOAD_ACCOUNT_ERROR)) return [3 /*break*/, 17];
15653
15628
  if (!(data.username.indexOf('@') !== -1)) return [3 /*break*/, 16];
15654
15629
  isEmailExists = void 0;
15655
15630
  _b.label = 12;
@@ -15665,12 +15640,12 @@
15665
15640
  case 15:
15666
15641
  // Email not exists (no account)
15667
15642
  if (!isEmailExists) {
15668
- throw { code: ErrorCodes$2.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
15643
+ throw { code: ErrorCodes.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
15669
15644
  }
15670
15645
  _b.label = 16;
15671
15646
  case 16:
15672
15647
  // Email exists, so error = 'bad password'
15673
- throw { code: ErrorCodes$2.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
15648
+ throw { code: ErrorCodes.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
15674
15649
  case 17: throw err_1; // resend the first error
15675
15650
  case 18:
15676
15651
  _b.trys.push([18, 20, , 21]);
@@ -15842,8 +15817,8 @@
15842
15817
  _b.label = 3;
15843
15818
  case 3: return [3 /*break*/, 6];
15844
15819
  case 4: return [4 /*yield*/, this.graphql.query({
15845
- query: LoadQuery$1,
15846
- error: { code: ErrorCodes$2.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
15820
+ query: LoadQuery,
15821
+ error: { code: ErrorCodes.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
15847
15822
  fetchPolicy: opts && opts.fetchPolicy || 'no-cache' || undefined
15848
15823
  })];
15849
15824
  case 5:
@@ -15881,7 +15856,7 @@
15881
15856
  case 1:
15882
15857
  isEmailExists = _b.sent();
15883
15858
  if (isEmailExists) {
15884
- throw { code: ErrorCodes$2.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
15859
+ throw { code: ErrorCodes.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
15885
15860
  }
15886
15861
  return [2 /*return*/];
15887
15862
  }
@@ -15931,7 +15906,7 @@
15931
15906
  locale: locale
15932
15907
  },
15933
15908
  error: {
15934
- code: ErrorCodes$2.SENT_CONFIRMATION_EMAIL_FAILED,
15909
+ code: ErrorCodes.SENT_CONFIRMATION_EMAIL_FAILED,
15935
15910
  message: 'ERROR.SENT_ACCOUNT_CONFIRMATION_EMAIL_FAILED'
15936
15911
  }
15937
15912
  })];
@@ -15954,7 +15929,7 @@
15954
15929
  code: code
15955
15930
  },
15956
15931
  error: {
15957
- code: ErrorCodes$2.CONFIRM_EMAIL_FAILED,
15932
+ code: ErrorCodes.CONFIRM_EMAIL_FAILED,
15958
15933
  message: 'ERROR.CONFIRM_ACCOUNT_EMAIL_FAILED'
15959
15934
  }
15960
15935
  })];
@@ -15977,7 +15952,7 @@
15977
15952
  interval: 10
15978
15953
  },
15979
15954
  error: {
15980
- code: ErrorCodes$2.SUBSCRIBE_ACCOUNT_ERROR,
15955
+ code: ErrorCodes.SUBSCRIBE_ACCOUNT_ERROR,
15981
15956
  message: 'ERROR.ACCOUNT.SUBSCRIBE_ACCOUNT_ERROR'
15982
15957
  }
15983
15958
  }).subscribe({
@@ -16117,7 +16092,7 @@
16117
16092
  throw error_6;
16118
16093
  console.error(error_6);
16119
16094
  throw {
16120
- code: ErrorCodes$2.LOAD_ACCOUNT_ERROR,
16095
+ code: ErrorCodes.LOAD_ACCOUNT_ERROR,
16121
16096
  message: 'ERROR.LOAD_ACCOUNT_ERROR'
16122
16097
  };
16123
16098
  case 6: return [2 /*return*/];
@@ -16326,7 +16301,7 @@
16326
16301
  case 1:
16327
16302
  existingAccount = _b.sent();
16328
16303
  if (!existingAccount || !existingAccount.updateDate) {
16329
- throw { code: ErrorCodes$2.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
16304
+ throw { code: ErrorCodes.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
16330
16305
  }
16331
16306
  this.copyIdAndUpdateDate(existingAccount, account);
16332
16307
  _b.label = 2;
@@ -16338,7 +16313,7 @@
16338
16313
  mutation: isNew ? AccountMutations.create : AccountMutations.save,
16339
16314
  variables: { data: json },
16340
16315
  error: {
16341
- code: ErrorCodes$2.SAVE_ACCOUNT_ERROR,
16316
+ code: ErrorCodes.SAVE_ACCOUNT_ERROR,
16342
16317
  message: 'ERROR.SAVE_ACCOUNT_ERROR'
16343
16318
  }
16344
16319
  })];
@@ -16372,7 +16347,7 @@
16372
16347
  mutation: AccountMutations.saveSettings,
16373
16348
  variables: { data: json },
16374
16349
  error: {
16375
- code: ErrorCodes$2.SAVE_SETTINGS_ERROR,
16350
+ code: ErrorCodes.SAVE_SETTINGS_ERROR,
16376
16351
  message: 'ERROR.SAVE_SETTINGS_ERROR'
16377
16352
  }
16378
16353
  })];
@@ -16403,7 +16378,7 @@
16403
16378
  if (counter > 4) {
16404
16379
  if (this._debug)
16405
16380
  console.debug("[account] Failed to authentication on pod (after " + counter + " attempts)");
16406
- throw { code: ErrorCodes$2.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
16381
+ throw { code: ErrorCodes.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
16407
16382
  }
16408
16383
  if (!token) return [3 /*break*/, 2];
16409
16384
  return [4 /*yield*/, this.graphql.query({
@@ -16412,7 +16387,7 @@
16412
16387
  token: token
16413
16388
  },
16414
16389
  error: {
16415
- code: ErrorCodes$2.UNAUTHORIZED,
16390
+ code: ErrorCodes.UNAUTHORIZED,
16416
16391
  message: 'ERROR.UNAUTHORIZED'
16417
16392
  },
16418
16393
  fetchPolicy: 'no-cache'
@@ -16429,7 +16404,7 @@
16429
16404
  _b.label = 2;
16430
16405
  case 2:
16431
16406
  challengeError = {
16432
- code: ErrorCodes$2.AUTH_CHALLENGE_ERROR,
16407
+ code: ErrorCodes.AUTH_CHALLENGE_ERROR,
16433
16408
  message: 'ERROR.AUTH_CHALLENGE_ERROR'
16434
16409
  };
16435
16410
  return [4 /*yield*/, this.graphql.query({
@@ -16476,7 +16451,7 @@
16476
16451
  };
16477
16452
  return AccountService;
16478
16453
  }(BaseGraphqlService));
16479
- 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" });
16454
+ 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" });
16480
16455
  AccountService.decorators = [
16481
16456
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
16482
16457
  ];
@@ -16489,7 +16464,7 @@
16489
16464
  { type: FileService },
16490
16465
  { type: undefined, decorators: [{ type: i0.Inject, args: [ENVIRONMENT,] }] }
16491
16466
  ]; };
16492
- 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, templateObject_11, templateObject_12;
16467
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12;
16493
16468
 
16494
16469
  var Software_1, Configuration_1;
16495
16470
  // @dynamic
@@ -16741,13 +16716,13 @@
16741
16716
  /* ------------------------------------
16742
16717
  * GraphQL queries
16743
16718
  * ------------------------------------*/
16744
- var Fragments = {
16745
- 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 "])))
16719
+ var Fragments$1 = {
16720
+ 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 "])))
16746
16721
  };
16747
- 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);
16722
+ 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);
16748
16723
  // Save (create or update) account mutation
16749
- 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);
16750
- 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"])));
16724
+ var SaveMutation = 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);
16725
+ 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"])));
16751
16726
  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"])));
16752
16727
  var APP_CONFIG_OPTIONS = new i0.InjectionToken('defaultOptions');
16753
16728
  var ConfigService = /** @class */ (function (_super) {
@@ -16806,12 +16781,12 @@
16806
16781
  case 0:
16807
16782
  now = Date.now();
16808
16783
  console.debug('[config] Loading Pod configuration...');
16809
- query = opts && opts.query || LoadQuery;
16784
+ query = opts && opts.query || LoadQuery$1;
16810
16785
  variables = opts && opts.variables || undefined;
16811
16786
  return [4 /*yield*/, this.graphql.query({
16812
16787
  query: query,
16813
16788
  variables: variables,
16814
- error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
16789
+ error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
16815
16790
  fetchPolicy: opts && opts.fetchPolicy || undefined /*default*/
16816
16791
  })];
16817
16792
  case 1:
@@ -16850,7 +16825,7 @@
16850
16825
  data: json
16851
16826
  },
16852
16827
  error: {
16853
- code: ErrorCodes$2.SAVE_CONFIG_ERROR,
16828
+ code: ErrorCodes.SAVE_CONFIG_ERROR,
16854
16829
  message: 'ERROR.SAVE_CONFIG_ERROR'
16855
16830
  }
16856
16831
  })];
@@ -16885,7 +16860,7 @@
16885
16860
  return [4 /*yield*/, this.graphql.query({
16886
16861
  query: CacheStatistics,
16887
16862
  variables: null,
16888
- error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
16863
+ error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
16889
16864
  fetchPolicy: 'network-only'
16890
16865
  })];
16891
16866
  case 1:
@@ -16909,7 +16884,7 @@
16909
16884
  return [4 /*yield*/, this.graphql.query({
16910
16885
  query: ClearCache,
16911
16886
  variables: variables,
16912
- error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
16887
+ error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
16913
16888
  fetchPolicy: 'network-only'
16914
16889
  })];
16915
16890
  case 1:
@@ -17109,7 +17084,7 @@
17109
17084
  };
17110
17085
  return ConfigService;
17111
17086
  }(BaseGraphqlService));
17112
- 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" });
17087
+ 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" });
17113
17088
  ConfigService.decorators = [
17114
17089
  { type: i0.Injectable, args: [{
17115
17090
  providedIn: 'root',
@@ -17127,9 +17102,9 @@
17127
17102
  { type: undefined, decorators: [{ type: i0.Inject, args: [ENVIRONMENT,] }] },
17128
17103
  { type: undefined, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [APP_CONFIG_OPTIONS,] }] }
17129
17104
  ]; };
17130
- var templateObject_1$3, templateObject_2$3, templateObject_3$2, templateObject_4$2, templateObject_5$1;
17105
+ var templateObject_1$1, templateObject_2$1, templateObject_3$1, templateObject_4$1, templateObject_5$1;
17131
17106
 
17132
- var moment$2 = momentImported__namespace;
17107
+ var moment$4 = momentImported__namespace;
17133
17108
  var PlatformService = /** @class */ (function (_super) {
17134
17109
  __extends(PlatformService, _super);
17135
17110
  function PlatformService(platform, cdkPlatform, toastController, translate, dateAdapter, entitiesStorage, settings, networkService, accountService, configService, cache, storage, audioProvider, environment, statusBar, keyboard, splashScreen, browser, downloader) {
@@ -17368,16 +17343,16 @@
17368
17343
  }
17369
17344
  // config moment lib
17370
17345
  try {
17371
- moment$2.locale(event.lang);
17346
+ moment$4.locale(event.lang);
17372
17347
  console.debug('[platform] Use locale {' + event.lang + '}');
17373
17348
  }
17374
17349
  // If error, fallback to en
17375
17350
  catch (err) {
17376
- moment$2.locale('en');
17351
+ moment$4.locale('en');
17377
17352
  console.warn('[platform] Unknown local for moment lib. Using default [en]');
17378
17353
  }
17379
17354
  // Config date adapter
17380
- _this.dateAdapter.setLocale(moment$2.locale());
17355
+ _this.dateAdapter.setLocale(moment$4.locale());
17381
17356
  }
17382
17357
  });
17383
17358
  this.settings.onChange.subscribe(function (data) {
@@ -17558,7 +17533,7 @@
17558
17533
  };
17559
17534
  return PlatformService;
17560
17535
  }(StartableService));
17561
- 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" });
17536
+ 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" });
17562
17537
  PlatformService.decorators = [
17563
17538
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
17564
17539
  ];
@@ -17656,7 +17631,7 @@
17656
17631
  };
17657
17632
  return MatStepperI18n;
17658
17633
  }(stepper.MatStepperIntl));
17659
- MatStepperI18n.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
17634
+ MatStepperI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(i0.ɵɵinject(i1$2.TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
17660
17635
  MatStepperI18n.decorators = [
17661
17636
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
17662
17637
  ];
@@ -18858,7 +18833,7 @@
18858
18833
  return 1;
18859
18834
  }
18860
18835
  }
18861
- var ɵ0$1 = function (defaultStateSize) { return [
18836
+ var ɵ0$a = function (defaultStateSize) { return [
18862
18837
  Math.round((rgbArrayMap.red[0] - 50) / defaultStateSize),
18863
18838
  Math.round((255 - rgbArrayMap.red[1]) / defaultStateSize),
18864
18839
  Math.round((255 - rgbArrayMap.red[2]) / defaultStateSize)
@@ -18866,7 +18841,7 @@
18866
18841
  var SCALE_OPTIONS_DEFAULT = {
18867
18842
  startColor: rgbArrayMap.red,
18868
18843
  startStates: [0, 2, 3],
18869
- startStepsFn: ɵ0$1
18844
+ startStepsFn: ɵ0$a
18870
18845
  };
18871
18846
  /**
18872
18847
  * Internal function, that create a colors scale, using iteration
@@ -18958,24 +18933,24 @@
18958
18933
  return result;
18959
18934
  }
18960
18935
 
18961
- var EntityTestClass$1 = /** @class */ (function () {
18936
+ var EntityTestClass = /** @class */ (function () {
18962
18937
  function EntityTestClass() {
18963
18938
  }
18964
18939
  return EntityTestClass;
18965
18940
  }());
18966
- var FAKE_ENTITIES$1 = [
18941
+ var FAKE_ENTITIES = [
18967
18942
  { id: 1, label: 'AAA', name: 'Item A', description: 'Very long description A', comments: 'Very very long comments... again for A' },
18968
18943
  { id: 2, label: 'BBB', name: 'Item B', description: 'Very long description B', comments: 'Very very long comments... again for B' },
18969
18944
  { id: 3, label: 'CCC', name: 'Item C', description: 'Very long description C', comments: 'Very very long comments... again for C' }
18970
18945
  ];
18971
- function deepCopy$1(values, size) {
18946
+ function deepCopy(values, size) {
18972
18947
  if (isNil(size)) {
18973
- return (values || FAKE_ENTITIES$1).map(function (entity) { return Object.assign({}, entity); });
18948
+ return (values || FAKE_ENTITIES).map(function (entity) { return Object.assign({}, entity); });
18974
18949
  }
18975
18950
  var result = [];
18976
18951
  var i = 1;
18977
18952
  while (result.length < size) {
18978
- result = result.concat((values || FAKE_ENTITIES$1).map(function (entity) {
18953
+ result = result.concat((values || FAKE_ENTITIES).map(function (entity) {
18979
18954
  var name = entity.name + ' #' + i;
18980
18955
  return Object.assign(Object.assign({}, entity), { id: i++, name: name });
18981
18956
  }));
@@ -18985,7 +18960,7 @@
18985
18960
  var AutocompleteTestPage = /** @class */ (function () {
18986
18961
  function AutocompleteTestPage(formBuilder) {
18987
18962
  this.formBuilder = formBuilder;
18988
- this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
18963
+ this._items = deepCopy(FAKE_ENTITIES, 100);
18989
18964
  this._$items = new rxjs.BehaviorSubject(undefined);
18990
18965
  this.autocompleteFields = new MatAutocompleteConfigHolder();
18991
18966
  this.memoryHide = false;
@@ -19030,7 +19005,7 @@
19030
19005
  });
19031
19006
  // From items
19032
19007
  this.autocompleteFields.add('entity-items-large', {
19033
- items: FAKE_ENTITIES$1.slice(),
19008
+ items: FAKE_ENTITIES.slice(),
19034
19009
  attributes: ['label', 'name', 'description', 'comments'],
19035
19010
  displayWith: this.entityToString
19036
19011
  });
@@ -19043,12 +19018,12 @@
19043
19018
  var _this = this;
19044
19019
  return __generator(this, function (_a) {
19045
19020
  data = {
19046
- entity: deepCopy$1(FAKE_ENTITIES$1)[0],
19021
+ entity: deepCopy(FAKE_ENTITIES)[0],
19047
19022
  // This item is NOT in the items list => i should be displayed anyway
19048
19023
  missingEntity: {
19049
19024
  id: -1, label: '??', name: 'Missing item'
19050
19025
  },
19051
- disableEntity: deepCopy$1(FAKE_ENTITIES$1)[2]
19026
+ disableEntity: deepCopy(FAKE_ENTITIES)[2]
19052
19027
  };
19053
19028
  this.form.setValue(data);
19054
19029
  // Load observables
@@ -19246,13 +19221,13 @@
19246
19221
  { type: Array, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [APP_TESTING_PAGES,] }] }
19247
19222
  ]; };
19248
19223
 
19249
- var moment$1 = momentImported__namespace;
19224
+ var moment$5 = momentImported__namespace;
19250
19225
  var SwipeTestPage = /** @class */ (function () {
19251
19226
  function SwipeTestPage(formBuilder, dateFormatPipe) {
19252
19227
  this.formBuilder = formBuilder;
19253
19228
  this.dateFormatPipe = dateFormatPipe;
19254
19229
  this.$dates = new rxjs.BehaviorSubject(undefined);
19255
- this._today = moment$1().startOf('day');
19230
+ this._today = moment$5().startOf('day');
19256
19231
  this.form = formBuilder.group({
19257
19232
  empty: [null, i1.Validators.required],
19258
19233
  date: [null, i1.Validators.compose([i1.Validators.required, SharedValidators.validDate])],
@@ -19266,7 +19241,7 @@
19266
19241
  var _this = this;
19267
19242
  var dates = [];
19268
19243
  for (var d = 0; d < 7; d++) {
19269
- dates[d] = moment$1(this._today).add(d - 3, 'day');
19244
+ dates[d] = moment$5(this._today).add(d - 3, 'day');
19270
19245
  }
19271
19246
  this.$dates.next(dates);
19272
19247
  this.loadData();
@@ -19313,7 +19288,7 @@
19313
19288
  { type: DateFormatPipe }
19314
19289
  ]; };
19315
19290
 
19316
- var moment = momentImported__namespace;
19291
+ var moment$6 = momentImported__namespace;
19317
19292
  var DateTimeTestPage = /** @class */ (function () {
19318
19293
  function DateTimeTestPage(platform, formBuilder, cd) {
19319
19294
  this.platform = platform;
@@ -19349,7 +19324,7 @@
19349
19324
  var now, data;
19350
19325
  var _this = this;
19351
19326
  return __generator(this, function (_a) {
19352
- now = moment();
19327
+ now = moment$6();
19353
19328
  data = {
19354
19329
  empty: toDateISOString(now.clone().add(2, 'hours')),
19355
19330
  enable: toDateISOString(now),
@@ -19414,12 +19389,12 @@
19414
19389
  { type: i0.ChangeDetectorRef }
19415
19390
  ]; };
19416
19391
 
19417
- var EntityTestClass = /** @class */ (function () {
19392
+ var EntityTestClass$1 = /** @class */ (function () {
19418
19393
  function EntityTestClass() {
19419
19394
  }
19420
19395
  return EntityTestClass;
19421
19396
  }());
19422
- var FAKE_ENTITIES = [
19397
+ var FAKE_ENTITIES$1 = [
19423
19398
  { id: 1, label: 'AAA', name: 'Item A' },
19424
19399
  { id: 2, label: 'BBB', name: 'Item B' },
19425
19400
  { id: 3, label: 'CCC', name: 'Item C' },
@@ -19428,14 +19403,14 @@
19428
19403
  { id: 6, label: 'FFF', name: 'Item F' },
19429
19404
  { id: 7, label: 'GGG', name: 'Item G' }
19430
19405
  ];
19431
- function deepCopy(values, size) {
19406
+ function deepCopy$1(values, size) {
19432
19407
  if (isNil(size)) {
19433
- return (values || FAKE_ENTITIES).map(function (entity) { return Object.assign({}, entity); });
19408
+ return (values || FAKE_ENTITIES$1).map(function (entity) { return Object.assign({}, entity); });
19434
19409
  }
19435
19410
  var result = [];
19436
19411
  var i = 1;
19437
19412
  while (result.length < size) {
19438
- result = result.concat((values || FAKE_ENTITIES).map(function (entity) {
19413
+ result = result.concat((values || FAKE_ENTITIES$1).map(function (entity) {
19439
19414
  var name = entity.name + ' #' + i;
19440
19415
  return Object.assign(Object.assign({}, entity), { id: i++, name: name });
19441
19416
  }));
@@ -19445,7 +19420,7 @@
19445
19420
  var ChipsTestPage = /** @class */ (function () {
19446
19421
  function ChipsTestPage(formBuilder) {
19447
19422
  this.formBuilder = formBuilder;
19448
- this._items = deepCopy(FAKE_ENTITIES, 100);
19423
+ this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
19449
19424
  this._$items = new rxjs.BehaviorSubject(undefined);
19450
19425
  this.autocompleteFields = new MatAutocompleteConfigHolder();
19451
19426
  this.form = formBuilder.group({
@@ -19488,7 +19463,7 @@
19488
19463
  var items, data;
19489
19464
  var _this = this;
19490
19465
  return __generator(this, function (_a) {
19491
- items = deepCopy(FAKE_ENTITIES);
19466
+ items = deepCopy$1(FAKE_ENTITIES$1);
19492
19467
  data = {
19493
19468
  entity: items.slice(0, 1),
19494
19469
  entityInitial: items.slice(1, 2),
@@ -19576,7 +19551,7 @@
19576
19551
  },] }
19577
19552
  ];
19578
19553
 
19579
- var routes$1 = [
19554
+ var routes = [
19580
19555
  {
19581
19556
  path: '',
19582
19557
  pathMatch: 'full',
@@ -19631,7 +19606,7 @@
19631
19606
  i1.ReactiveFormsModule,
19632
19607
  SharedMaterialModule,
19633
19608
  i1$2.TranslateModule.forChild(),
19634
- i3.RouterModule.forChild(routes$1)
19609
+ i3.RouterModule.forChild(routes)
19635
19610
  ],
19636
19611
  declarations: [
19637
19612
  MaterialTestingPage,
@@ -20107,7 +20082,7 @@
20107
20082
  _this.form.get('username').setValidators(i1.Validators.required);
20108
20083
  }
20109
20084
  // Enable/disable registration link
20110
- _this.canRegister = config.getProperty(CORE_CONFIG_OPTIONS.REGISTRATION_ENABLE);
20085
+ _this.canRegister = config.getPropertyAsBoolean(CORE_CONFIG_OPTIONS.REGISTRATION_ENABLE);
20111
20086
  _this.markForCheck();
20112
20087
  }));
20113
20088
  // For DEV only
@@ -20836,7 +20811,7 @@
20836
20811
  };
20837
20812
  return UserSettingsValidatorService;
20838
20813
  }(AppValidatorService));
20839
- UserSettingsValidatorService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(i0__namespace.ɵɵinject(i1__namespace$6.FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
20814
+ UserSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(i0.ɵɵinject(i1.FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
20840
20815
  UserSettingsValidatorService.decorators = [
20841
20816
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
20842
20817
  ];
@@ -20884,7 +20859,7 @@
20884
20859
  };
20885
20860
  return AccountValidatorService;
20886
20861
  }(AppValidatorService));
20887
- 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" });
20862
+ AccountValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(i0.ɵɵinject(i1.FormBuilder), i0.ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
20888
20863
  AccountValidatorService.decorators = [
20889
20864
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
20890
20865
  ];
@@ -21515,7 +21490,7 @@
21515
21490
  };
21516
21491
  return LocalSettingsValidatorService;
21517
21492
  }(AppValidatorService));
21518
- 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" });
21493
+ LocalSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(i0.ɵɵinject(i1.FormBuilder), i0.ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
21519
21494
  LocalSettingsValidatorService.decorators = [
21520
21495
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
21521
21496
  ];
@@ -22295,7 +22270,7 @@
22295
22270
  };
22296
22271
  return IsOnFieldModePipe;
22297
22272
  }());
22298
- IsOnFieldModePipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
22273
+ IsOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
22299
22274
  IsOnFieldModePipe.decorators = [
22300
22275
  { type: i0.Pipe, args: [{
22301
22276
  name: 'isOnField'
@@ -22310,7 +22285,7 @@
22310
22285
  };
22311
22286
  return IsNotOnFieldModePipe;
22312
22287
  }());
22313
- IsNotOnFieldModePipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
22288
+ IsNotOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
22314
22289
  IsNotOnFieldModePipe.decorators = [
22315
22290
  { type: i0.Pipe, args: [{
22316
22291
  name: 'isNotOnField'
@@ -22328,7 +22303,7 @@
22328
22303
  };
22329
22304
  return PersonToStringPipe;
22330
22305
  }());
22331
- PersonToStringPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
22306
+ PersonToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
22332
22307
  PersonToStringPipe.decorators = [
22333
22308
  { type: i0.Pipe, args: [{
22334
22309
  name: 'personToString'
@@ -22792,7 +22767,7 @@
22792
22767
  };
22793
22768
  return IsLoginAccountPipe;
22794
22769
  }());
22795
- IsLoginAccountPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
22770
+ IsLoginAccountPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
22796
22771
  IsLoginAccountPipe.decorators = [
22797
22772
  { type: i0.Pipe, args: [{
22798
22773
  name: 'isLogin'
@@ -22807,7 +22782,7 @@
22807
22782
  };
22808
22783
  return AccountToStringPipe;
22809
22784
  }());
22810
- AccountToStringPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
22785
+ AccountToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
22811
22786
  AccountToStringPipe.decorators = [
22812
22787
  { type: i0.Pipe, args: [{
22813
22788
  name: 'accountToString'
@@ -22825,7 +22800,7 @@
22825
22800
  };
22826
22801
  return DepartmentToStringPipe;
22827
22802
  }());
22828
- DepartmentToStringPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
22803
+ DepartmentToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
22829
22804
  DepartmentToStringPipe.decorators = [
22830
22805
  { type: i0.Pipe, args: [{
22831
22806
  name: 'departmentToString'
@@ -22860,7 +22835,7 @@
22860
22835
  };
22861
22836
  return MenuService;
22862
22837
  }());
22863
- MenuService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
22838
+ MenuService.ɵprov = i0.ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
22864
22839
  MenuService.decorators = [
22865
22840
  { type: i0.Injectable, args: [{
22866
22841
  providedIn: 'root'
@@ -23474,7 +23449,7 @@
23474
23449
  };
23475
23450
  return AuthGuardService;
23476
23451
  }());
23477
- 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" });
23452
+ 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" });
23478
23453
  AuthGuardService.decorators = [
23479
23454
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
23480
23455
  ];
@@ -23519,7 +23494,7 @@
23519
23494
  query: query,
23520
23495
  variables: { id: id },
23521
23496
  fetchPolicy: opts && opts.fetchPolicy || undefined,
23522
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
23497
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
23523
23498
  })
23524
23499
  .pipe(operators.map(function (_b) {
23525
23500
  var data = _b.data;
@@ -23541,7 +23516,7 @@
23541
23516
  query: query,
23542
23517
  variables: { id: id },
23543
23518
  fetchPolicy: opts && opts.fetchPolicy || undefined,
23544
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
23519
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
23545
23520
  })];
23546
23521
  case 1:
23547
23522
  data = (_b.sent()).data;
@@ -23577,7 +23552,7 @@
23577
23552
  totalFieldName: withTotal ? 'total' : undefined,
23578
23553
  insertFilterFn: filter && filter.asFilterFn(),
23579
23554
  variables: variables,
23580
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
23555
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
23581
23556
  fetchPolicy: opts && opts.fetchPolicy || undefined
23582
23557
  })
23583
23558
  .pipe(operators.map(function (_b) {
@@ -23619,7 +23594,7 @@
23619
23594
  return [4 /*yield*/, this.graphql.query({
23620
23595
  query: query,
23621
23596
  variables: variables,
23622
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
23597
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
23623
23598
  fetchPolicy: opts && opts.fetchPolicy || 'network-only'
23624
23599
  })];
23625
23600
  case 1:
@@ -23667,7 +23642,7 @@
23667
23642
  variables: {
23668
23643
  filter: filter && filter.asPodObject()
23669
23644
  },
23670
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
23645
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
23671
23646
  fetchPolicy: opts && opts.fetchPolicy || 'network-only'
23672
23647
  })];
23673
23648
  case 3:
@@ -23709,7 +23684,7 @@
23709
23684
  variables: {
23710
23685
  data: json
23711
23686
  },
23712
- error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
23687
+ error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
23713
23688
  update: function (proxy, _b) {
23714
23689
  var data = _b.data;
23715
23690
  var savedEntities = data && data.data;
@@ -23776,7 +23751,7 @@
23776
23751
  variables: {
23777
23752
  data: json
23778
23753
  },
23779
- error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
23754
+ error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
23780
23755
  update: function (cache, _b) {
23781
23756
  var data = _b.data;
23782
23757
  // Update entity
@@ -23834,7 +23809,7 @@
23834
23809
  refetchQueries: this.getRefetchQueriesForMutation(opts),
23835
23810
  awaitRefetchQueries: opts && opts.awaitRefetchQueries,
23836
23811
  variables: { ids: ids },
23837
- error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
23812
+ error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
23838
23813
  update: function (cache, res) {
23839
23814
  // Remove from cache
23840
23815
  if (_this.watchQueriesUpdatePolicy === 'update-cache') {
@@ -23887,7 +23862,7 @@
23887
23862
  refetchQueries: this.getRefetchQueriesForMutation(opts),
23888
23863
  awaitRefetchQueries: opts && opts.awaitRefetchQueries,
23889
23864
  variables: { id: id },
23890
- error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
23865
+ error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
23891
23866
  update: function (proxy, res) {
23892
23867
  // Remove from cache
23893
23868
  if (_this.watchQueriesUpdatePolicy === 'update-cache') {
@@ -23926,7 +23901,7 @@
23926
23901
  query: opts && opts.query || this.subscriptions.listenChanges,
23927
23902
  variables: variables,
23928
23903
  error: {
23929
- code: ErrorCodes$2.SUBSCRIBE_DATA_ERROR,
23904
+ code: ErrorCodes.SUBSCRIBE_DATA_ERROR,
23930
23905
  message: 'ERROR.SUBSCRIBE_DATA_ERROR'
23931
23906
  }
23932
23907
  })
@@ -24149,7 +24124,7 @@
24149
24124
  if (this._debug)
24150
24125
  invalidRows.forEach(function (row) { return AppTableUtils.logRowErrors(row, "[table-datasource] " + _this._logTypeName + " row #" + row.id); });
24151
24126
  // Stop with an error
24152
- throw { code: ErrorCodes$2.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
24127
+ throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
24153
24128
  }
24154
24129
  this._editingRowCount = 0;
24155
24130
  data = void 0;
@@ -24724,13 +24699,6 @@
24724
24699
  AppTable.prototype.markAsLoaded = function (opts) {
24725
24700
  this.setLoading(false, opts);
24726
24701
  };
24727
- AppTable.prototype.markRowAsDirty = function (row, opts) {
24728
- var _a;
24729
- row = row || this.editedRow;
24730
- if (row)
24731
- (_a = row.validator) === null || _a === void 0 ? void 0 : _a.markAsDirty(opts);
24732
- this.markAsDirty(opts);
24733
- };
24734
24702
  AppTable.prototype.markAsReady = function (opts) {
24735
24703
  if (this.readySubject.value !== true) {
24736
24704
  this.readySubject.next(true);
@@ -25166,14 +25134,14 @@
25166
25134
  case 0:
25167
25135
  opts = Object.assign({ keepEditing: this.keepEditedRowOnSave }, opts);
25168
25136
  if (this.readOnly) {
25169
- throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
25137
+ throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
25170
25138
  }
25171
25139
  this.resetError();
25172
25140
  // Keep edited row id (should be done BEFORE confirmEditCreate() )
25173
25141
  this.previouslyEditedRowId = opts.keepEditing && ((_a = this.editedRow) === null || _a === void 0 ? void 0 : _a.editing) ? this.editedRow.id : undefined;
25174
25142
  previouslyEditedData = isNotNil(this.previouslyEditedRowId) && this.editedRow.currentData || ((_b = this.singleSelectedRow) === null || _b === void 0 ? void 0 : _b.currentData);
25175
25143
  if (!this.confirmEditCreate()) {
25176
- throw { code: ErrorCodes$2.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
25144
+ throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
25177
25145
  }
25178
25146
  // Mark as saving
25179
25147
  this.markAsSaving();
@@ -25328,7 +25296,7 @@
25328
25296
  switch (_d.label) {
25329
25297
  case 0:
25330
25298
  if (this.readOnly) {
25331
- throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
25299
+ throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
25332
25300
  }
25333
25301
  if (event === null || event === void 0 ? void 0 : event.defaultPrevented)
25334
25302
  return [2 /*return*/, 0]; // SKip
@@ -26083,6 +26051,13 @@
26083
26051
  AppTable.prototype.equals = function (d1, d2) {
26084
26052
  return EntityUtils.equals(d1, d2, 'id');
26085
26053
  };
26054
+ AppTable.prototype.markRowAsDirty = function (row, opts) {
26055
+ var _a;
26056
+ row = row || this.editedRow;
26057
+ if (row)
26058
+ (_a = row.validator) === null || _a === void 0 ? void 0 : _a.markAsDirty(opts);
26059
+ this.markAsDirty(opts);
26060
+ };
26086
26061
  /* -- private method -- */
26087
26062
  AppTable.prototype.setLoading = function (value, opts) {
26088
26063
  if (this.loadingSubject.value !== value) {
@@ -27166,7 +27141,7 @@
27166
27141
  case 8:
27167
27142
  data = _b.sent();
27168
27143
  if (!data)
27169
- throw { code: ErrorCodes$2.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
27144
+ throw { code: ErrorCodes.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
27170
27145
  this._usageMode = this.computeUsageMode(data);
27171
27146
  return [4 /*yield*/, this.onEntityLoaded(data, opts)];
27172
27147
  case 9:
@@ -27910,10 +27885,10 @@
27910
27885
  exports.UserEventFilter = __decorate([
27911
27886
  EntityClass({ typename: 'UserEventVO' })
27912
27887
  ], exports.UserEventFilter);
27913
- 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);
27914
- 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);
27915
- 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"])));
27916
- 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);
27888
+ 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);
27889
+ 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);
27890
+ 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"])));
27891
+ 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);
27917
27892
  var UserEventService = /** @class */ (function (_super) {
27918
27893
  __extends(UserEventService, _super);
27919
27894
  function UserEventService(graphql, accountService, network, translate, toastController, environment) {
@@ -28234,7 +28209,7 @@
28234
28209
  };
28235
28210
  return UserEventService;
28236
28211
  }(BaseGraphqlService));
28237
- 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" });
28212
+ 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" });
28238
28213
  UserEventService.decorators = [
28239
28214
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
28240
28215
  ];
@@ -28246,7 +28221,7 @@
28246
28221
  { type: i1$5.ToastController },
28247
28222
  { type: undefined, decorators: [{ type: i0.Inject, args: [ENVIRONMENT,] }] }
28248
28223
  ]; };
28249
- var templateObject_1$1, templateObject_2$1, templateObject_3$1, templateObject_4$1;
28224
+ var templateObject_1$3, templateObject_2$3, templateObject_3$2, templateObject_4$2;
28250
28225
 
28251
28226
  var ICONS_MAP = {
28252
28227
  DEBUG_DATA: { matIcon: 'bug_report' },
@@ -28509,16 +28484,16 @@
28509
28484
  ], exports.PersonFilter);
28510
28485
 
28511
28486
  var PersonFragments = {
28512
- 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 }"])))
28487
+ 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 }"])))
28513
28488
  };
28514
28489
  // Load persons query
28515
28490
  var PersonQueries = {
28516
- 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),
28517
- 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)
28491
+ 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),
28492
+ 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)
28518
28493
  };
28519
28494
  var PersonMutations = {
28520
- 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),
28521
- 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 }"])))
28495
+ 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),
28496
+ 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 }"])))
28522
28497
  };
28523
28498
  var PersonService = /** @class */ (function (_super_1) {
28524
28499
  __extends(PersonService, _super_1);
@@ -28642,7 +28617,7 @@
28642
28617
  };
28643
28618
  return PersonService;
28644
28619
  }(BaseEntityService));
28645
- 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" });
28620
+ 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" });
28646
28621
  PersonService.decorators = [
28647
28622
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
28648
28623
  ];
@@ -28652,7 +28627,7 @@
28652
28627
  { type: NetworkService },
28653
28628
  { type: EntitiesStorage }
28654
28629
  ]; };
28655
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
28630
+ var templateObject_1$4, templateObject_2$4, templateObject_3$3, templateObject_4$3, templateObject_5$2;
28656
28631
 
28657
28632
  var PersonValidatorService = /** @class */ (function () {
28658
28633
  function PersonValidatorService(formBuilder, accountValidatorService) {
@@ -28675,7 +28650,7 @@
28675
28650
  };
28676
28651
  return PersonValidatorService;
28677
28652
  }());
28678
- 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" });
28653
+ PersonValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(i0.ɵɵinject(i1.FormBuilder), i0.ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
28679
28654
  PersonValidatorService.decorators = [
28680
28655
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
28681
28656
  ];
@@ -28898,16 +28873,16 @@
28898
28873
  ];
28899
28874
  AdminModule.ctorParameters = function () { return []; };
28900
28875
 
28901
- var ɵ0 = {
28876
+ var ɵ0$b = {
28902
28877
  profile: 'ADMIN'
28903
28878
  };
28904
- var routes = [
28879
+ var routes$1 = [
28905
28880
  {
28906
28881
  path: 'users',
28907
28882
  pathMatch: 'full',
28908
28883
  component: UsersPage,
28909
28884
  canActivate: [AuthGuardService],
28910
- data: ɵ0
28885
+ data: ɵ0$b
28911
28886
  }
28912
28887
  ];
28913
28888
  var AdminRoutingModule = /** @class */ (function () {
@@ -28920,13 +28895,13 @@
28920
28895
  imports: [
28921
28896
  SharedRoutingModule,
28922
28897
  AdminModule,
28923
- i3.RouterModule.forChild(routes)
28898
+ i3.RouterModule.forChild(routes$1)
28924
28899
  ],
28925
28900
  exports: [i3.RouterModule]
28926
28901
  },] }
28927
28902
  ];
28928
28903
 
28929
- var ErrorCodes = {
28904
+ var ErrorCodes$2 = {
28930
28905
  LOAD_PERSONS_ERROR: 100,
28931
28906
  SAVE_PERSONS_ERROR: 101,
28932
28907
  DELETE_PERSONS_ERROR: 102,
@@ -29037,7 +29012,7 @@
29037
29012
  exports.EntityStore = EntityStore;
29038
29013
  exports.EntityUtils = EntityUtils;
29039
29014
  exports.Environment = Environment;
29040
- exports.ErrorCodes = ErrorCodes;
29015
+ exports.ErrorCodes = ErrorCodes$2;
29041
29016
  exports.EvenPipe = EvenPipe;
29042
29017
  exports.FileService = FileService;
29043
29018
  exports.FileSizePipe = FileSizePipe;
@@ -29047,7 +29022,7 @@
29047
29022
  exports.FormErrorTranslatePipe = FormErrorTranslatePipe;
29048
29023
  exports.FormErrorTranslator = FormErrorTranslator;
29049
29024
  exports.FormFieldValuesHolder = FormFieldValuesHolder;
29050
- exports.Fragments = Fragments;
29025
+ exports.Fragments = Fragments$1;
29051
29026
  exports.GraphqlService = GraphqlService;
29052
29027
  exports.HAMMER_PRESS_TIME = HAMMER_PRESS_TIME;
29053
29028
  exports.HAMMER_TAP_TIME = HAMMER_TAP_TIME;
@@ -29299,20 +29274,20 @@
29299
29274
  exports.waitForTrue = waitForTrue;
29300
29275
  exports.waitIdle = waitIdle;
29301
29276
  exports.waitWhilePending = waitWhilePending;
29302
- exports["ɵa"] = CustomReuseStrategy;
29303
- exports["ɵb"] = MatNumpadDomService;
29304
- exports["ɵc"] = SharedMatBadgeIconModule;
29305
- exports["ɵd"] = MatBadgeIconDirective;
29306
- exports["ɵe"] = isFocusableElement;
29307
- exports["ɵf"] = MatBadgeIconTestPage;
29308
- exports["ɵg"] = RegisterForm;
29309
- exports["ɵh"] = AccountValidatorService;
29310
- exports["ɵi"] = RegisterModal;
29311
- exports["ɵj"] = UserSettingsValidatorService;
29312
- exports["ɵk"] = LocalSettingsValidatorService;
29313
- exports["ɵl"] = AppIconComponent;
29277
+ exports.ɵa = CustomReuseStrategy;
29278
+ exports.ɵb = MatNumpadDomService;
29279
+ exports.ɵc = SharedMatBadgeIconModule;
29280
+ exports.ɵd = MatBadgeIconDirective;
29281
+ exports.ɵe = isFocusableElement;
29282
+ exports.ɵf = MatBadgeIconTestPage;
29283
+ exports.ɵg = RegisterForm;
29284
+ exports.ɵh = AccountValidatorService;
29285
+ exports.ɵi = RegisterModal;
29286
+ exports.ɵj = UserSettingsValidatorService;
29287
+ exports.ɵk = LocalSettingsValidatorService;
29288
+ exports.ɵl = AppIconComponent;
29314
29289
 
29315
29290
  Object.defineProperty(exports, '__esModule', { value: true });
29316
29291
 
29317
- }));
29292
+ })));
29318
29293
  //# sourceMappingURL=sumaris-net.ngx-components.umd.js.map