@sumaris-net/ngx-components 0.23.2 → 0.24.0

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.
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
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/status-bar/ngx/index'), require('@ionic-native/keyboard/ngx/index'), require('@ionic-native/in-app-browser/ngx/index'), require('@e-is/ngx-material-table'), require('@angular/cdk/collections'), require('ngx-jdenticon'), require('tweetnacl-util'), require('scrypt-async'), require('hammerjs')) :
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/status-bar/ngx/index', '@ionic-native/keyboard/ngx/index', '@ionic-native/in-app-browser/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['ionic-native']['status-bar'].ngx.index, global['ionic-native'].keyboard.ngx.index, global['ionic-native']['in-app-browser'].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$6, i2$4, ngx$7, core, i2$3, ws, utilities, retry, QueueLink, SerializingLink, loggerLink, i3$3, apollo3CachePersist, i14, i15, i17, ngxMaterialTable, collections, ngxJdenticon) { 'use strict';
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
+ 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';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -26,11 +26,36 @@
26
26
  return Object.freeze(n);
27
27
  }
28
28
 
29
+ var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
30
+ var i1__namespace$3 = /*#__PURE__*/_interopNamespace(i1$4);
31
+ var i1__namespace$2 = /*#__PURE__*/_interopNamespace(i1$3);
32
+ var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2);
33
+ var i1__namespace$6 = /*#__PURE__*/_interopNamespace(i1);
34
+ var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1$2);
35
+ var i1__namespace$4 = /*#__PURE__*/_interopNamespace(i1$5);
29
36
  var momentImported__namespace = /*#__PURE__*/_interopNamespace(momentImported);
37
+ var i1__namespace = /*#__PURE__*/_interopNamespace(i1$1);
38
+ var i3__namespace$3 = /*#__PURE__*/_interopNamespace(i3);
39
+ var i1__namespace$5 = /*#__PURE__*/_interopNamespace(i1$6);
40
+ var i2__namespace$2 = /*#__PURE__*/_interopNamespace(i2$1);
41
+ var i2__namespace = /*#__PURE__*/_interopNamespace(i2$2);
42
+ var i3__namespace = /*#__PURE__*/_interopNamespace(i3$1);
43
+ var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
30
44
  var uuidv4Imported__namespace = /*#__PURE__*/_interopNamespace(uuidv4Imported);
45
+ var i3__namespace$1 = /*#__PURE__*/_interopNamespace(i3$2);
46
+ var i6__namespace = /*#__PURE__*/_interopNamespace(i6);
47
+ var i9__namespace = /*#__PURE__*/_interopNamespace(i9);
48
+ var i10__namespace = /*#__PURE__*/_interopNamespace(i10);
49
+ var i2__namespace$4 = /*#__PURE__*/_interopNamespace(i2$4);
50
+ var i2__namespace$3 = /*#__PURE__*/_interopNamespace(i2$3);
31
51
  var QueueLink__default = /*#__PURE__*/_interopDefaultLegacy(QueueLink);
32
52
  var SerializingLink__default = /*#__PURE__*/_interopDefaultLegacy(SerializingLink);
33
53
  var loggerLink__default = /*#__PURE__*/_interopDefaultLegacy(loggerLink);
54
+ var i3__namespace$2 = /*#__PURE__*/_interopNamespace(i3$3);
55
+ var i14__namespace = /*#__PURE__*/_interopNamespace(i14);
56
+ var i15__namespace = /*#__PURE__*/_interopNamespace(i15);
57
+ var i17__namespace = /*#__PURE__*/_interopNamespace(i17);
58
+ var i18__namespace = /*#__PURE__*/_interopNamespace(i18);
34
59
 
35
60
  var ENVIRONMENT = new i0.InjectionToken('ENV');
36
61
  var Environment = /** @class */ (function () {
@@ -1135,19 +1160,19 @@
1135
1160
  };
1136
1161
  return MatAutocompleteConfigHolder;
1137
1162
  }());
1138
- var DEFAULT_VALUE_ACCESSOR = {
1163
+ var DEFAULT_VALUE_ACCESSOR$6 = {
1139
1164
  provide: i1.NG_VALUE_ACCESSOR,
1140
1165
  useExisting: i0.forwardRef(function () { return MatAutocompleteField; }),
1141
1166
  multi: true
1142
1167
  };
1143
- var noop = function () { };
1144
- var ɵ0 = noop;
1168
+ var noop$7 = function () { };
1169
+ var ɵ0$a = noop$7;
1145
1170
  var MatAutocompleteField = /** @class */ (function () {
1146
1171
  function MatAutocompleteField(cd, formGroupDir) {
1147
1172
  this.cd = cd;
1148
1173
  this.formGroupDir = formGroupDir;
1149
- this._onChangeCallback = noop;
1150
- this._onTouchedCallback = noop;
1174
+ this._onChangeCallback = noop$7;
1175
+ this._onTouchedCallback = noop$7;
1151
1176
  this._subscription = new rxjs.Subscription();
1152
1177
  this._filter$ = new rxjs.BehaviorSubject(undefined);
1153
1178
  this._reload$ = new rxjs.Subject();
@@ -1804,7 +1829,7 @@
1804
1829
  // eslint-disable-next-line @angular-eslint/component-selector
1805
1830
  selector: 'mat-autocomplete-field',
1806
1831
  template: "<ion-grid class=\"ion-no-padding\">\n <ion-row>\n <ion-col class=\"ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-disabled]=\"disabled\"\n [title]=\"displayValue\">\n\n <div matPrefix><ng-content select=\"[matPrefix]\"></ng-content></div>\n\n <!-- readonly -->\n <ng-container *ngIf=\"_readonly; else writable\">\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 <ng-template #writable>\n\n <!-- Basic select -->\n <mat-select #matSelect\n *ngIf=\"!searchable; else searchableTemplate\"\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\"\n [tabindex]=\"_tabindex\"\n [panelClass]=\"classList\"\n [style.width]=\"panelWidth\"\n (focus)=\"filterMatSelectFocusEvent($event)\"\n (blur)=\"filterMatSelectBlurEvent($event)\"\n (keydown.escape)=\"onKeydownEscape.emit($event)\"\n [compareWith]=\"compareWith\"\n [multiple]=\"multiple\"\n [required]=\"required\">\n <mat-select-trigger>{{ displayWith(value) }}</mat-select-trigger>\n\n <!-- header -->\n <ion-row class=\"mat-autocomplete-header ion-no-padding\">\n <ion-col *ngFor=\"let attr of displayAttributes; index as i; last as isLast\" [size]=\"displayColumnSizes[i]\" >\n <ion-label [innerHTML]=\"displayColumnNames[i] | translate\"></ion-label>\n </ion-col>\n </ion-row>\n\n <!-- None option -->\n <mat-option *ngIf=\"!required\" class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding\">\n <ion-col class=\"ion-no-padding\">\n <ion-label><i translate>COMMON.EMPTY_OPTION</i></ion-label>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <ng-container *ngIf=\"$filteredItems | async; let items\">\n <!-- No item option -->\n <mat-option *ngIf=\"items | isEmptyArray\" class=\"ion-padding text-italic\" disabled>\n <ion-label>{{noResultMessage | translate}}</ion-label>\n </mat-option>\n\n <!-- options -->\n <mat-option *ngFor=\"let item of items\" [value]=\"item\" class=\"ion-no-padding\">\n <ion-row [classList]=\"item.classList\">\n <ion-col *ngFor=\"let path of displayAttributes; index as i;\"\n [size]=\"displayColumnSizes[i]\">\n <ion-text>{{item | propertyGet: path }}</ion-text>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <!-- More item -->\n <mat-option *ngIf=\"_moreItemsCount\" (ngInit)=\"_initMatSelectInfiniteScroll()\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-container>\n </mat-select>\n </ng-template>\n\n <!--\n NOTE :\n - \"selectInputContent($event) || onFocus.emit($event)\" : call onFocus only when to the input is empty (nothing to select)\n -->\n <ng-template #searchableTemplate>\n <input matInput #matInputText type=\"text\"\n [matAutocomplete]=\"autocomplete\"\n [matAutocompletePosition]=\"matAutocompletePosition\"\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [appAutofocus]=\"autofocus\"\n [tabindex]=\"_tabindex\"\n [required]=\"required\"\n (click)=\"onClick.emit($event)\"\n (focus)=\"filterInputTextFocusInEvent($event)\"\n (blur)=\"filterInputTextBlurEvent($event)\"\n (keydown.escape)=\"onKeydownEscape.emit($event)\"\n (keyup.enter)=\"onKeyupEnter.emit($event)\"\n (keyup.arrowdown)=\"!autocomplete.opened && onDropButtonClick.emit($event)\">\n\n <!-- autocomplete -->\n <mat-autocomplete #autocomplete=\"matAutocomplete\"\n autoActiveFirstOption\n [displayWith]=\"displayWith\"\n [class]=\"classList\"\n [class.cdk-visually-hidden]=\"!searchable\"\n [panelWidth]=\"panelWidth\">\n\n <ion-row class=\"mat-autocomplete-header ion-no-padding\">\n <ion-col *ngFor=\"let attr of displayAttributes; index as i; last as last\" [size]=\"displayColumnSizes[i]\" >\n <ion-label [innerHTML]=\"displayColumnNames[i] | translate\"></ion-label>\n <ion-text color=\"light\" *ngIf=\"last && itemCount; let count \" class=\"ion-float-end ion-padding-end\"><i>{{'COMMON.RESULT_COUNT'|translate: {count: count} }}</i></ion-text>\n </ion-col>\n </ion-row>\n\n <ng-container *ngIf=\"$filteredItems | async; else loadingTemplate; let items\">\n <!-- No item option -->\n <mat-option *ngIf=\"items | isEmptyArray\" class=\"ion-padding text-italic\" disabled>\n <ion-label>{{noResultMessage | translate}}</ion-label>\n </mat-option>\n\n <mat-option *ngFor=\"let item of items\" [value]=\"item\" class=\"ion-no-padding\" >\n <ion-row [classList]=\"item.classList\">\n <ion-col *ngFor=\"let path of displayAttributes; index as i;\"\n [size]=\"displayColumnSizes[i]\">\n <ion-text [innerHTML]=\"item | propertyGet: path | highlight: { search: formControl.value, withAccent: highlightAccent }\"></ion-text>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <!-- More item -->\n <mat-option *ngIf=\"_moreItemsCount\" (ngInit)=\"_initAutocompleteInfiniteScroll()\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-container>\n\n <!-- Loading spinner -->\n <ng-template #loadingTemplate>\n <mat-option *ngIf=\"(matInputText.value | strLength) >= suggestLengthThreshold; else waitMoreCharacterTemplate\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-template>\n\n <!-- Need more characters -->\n <ng-template #waitMoreCharacterTemplate>\n <mat-option class=\"ion-padding text-italic\" disabled>\n <ion-label>\n {{'INFO.PLEASE_TYPE_MORE_CHARACTERS'|translate:{minLength: suggestLengthThreshold} }}\n </ion-label>\n </mat-option>\n </ng-template>\n </mat-autocomplete>\n\n </ng-template>\n\n\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"searchable\"\n (click)=\"onDropButtonClick.emit($event)\"\n [hidden]=\"disabled\">\n <mat-icon class=\"large select-arrow\">arrow_drop_down</mat-icon>\n </button>\n <button matSuffix type=\"button\" mat-icon-button tabindex=\"-1\"\n *ngIf=\"enabled && mobile && !searchable && !multiple\"\n [title]=\"'COMMON.BTN_SEARCH'|translate\"\n (click)=\"toggleSearch($event)\">\n <mat-icon>search</mat-icon>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clearValue($event)\"\n [hidden]=\"disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <ng-content matSuffix select=\"[matSuffix]\"></ng-content>\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 </ion-col>\n <ion-col size=\"auto\" class=\"ion-align-self-center\">\n <ng-content select=\"[matAfter]\"></ng-content>\n </ion-col>\n </ion-row>\n\n</ion-grid>\n",
1807
- providers: [DEFAULT_VALUE_ACCESSOR],
1832
+ providers: [DEFAULT_VALUE_ACCESSOR$6],
1808
1833
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
1809
1834
  styles: [":host{display:inline-block;position:relative}:host.ion-text-wrap ion-label{white-space:normal!important}button[hidden]{display:none}mat-icon.select-arrow{color:rgba(0,0,0,.47);font-size:150%}.fact-scroll-viewport{height:100%;width:100%}.fact-item{height:54px;display:flex}.fact-item .fact-date{min-width:100px;text-align:center;font-size:24pt}.fact-item .fact-date,.fact-item .fact-text{height:100%;align-items:center;justify-content:center;display:flex}.fact-item .fact-text{border-radius:10px}cdk-virtual-scroll-viewport{border:1px solid #000}cdk-virtual-scroll-viewport li{list-style:none}"]
1810
1835
  },] }
@@ -1882,7 +1907,7 @@
1882
1907
  };
1883
1908
  return DateFormatPipe;
1884
1909
  }());
1885
- 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" });
1910
+ 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" });
1886
1911
  DateFormatPipe.decorators = [
1887
1912
  { type: i0.Pipe, args: [{
1888
1913
  name: 'dateFormat'
@@ -1894,7 +1919,7 @@
1894
1919
  { type: i1$2.TranslateService }
1895
1920
  ]; };
1896
1921
 
1897
- var moment = momentImported__namespace;
1922
+ var moment$6 = momentImported__namespace;
1898
1923
  var DateDiffDurationPipe = /** @class */ (function () {
1899
1924
  function DateDiffDurationPipe(dateAdapter, translate) {
1900
1925
  var _this = this;
@@ -1911,10 +1936,10 @@
1911
1936
  return this.format(startDate, endDate);
1912
1937
  };
1913
1938
  DateDiffDurationPipe.prototype.format = function (startDate, endDate) {
1914
- var duration = moment.duration(endDate.diff(startDate));
1939
+ var duration = moment$6.duration(endDate.diff(startDate));
1915
1940
  if (duration.asMinutes() < 0)
1916
1941
  return '';
1917
- var timeDuration = moment(0)
1942
+ var timeDuration = moment$6(0)
1918
1943
  .hour(duration.hours())
1919
1944
  .minute(duration.minutes());
1920
1945
  var days = Math.floor(duration.asDays());
@@ -1922,7 +1947,7 @@
1922
1947
  };
1923
1948
  return DateDiffDurationPipe;
1924
1949
  }());
1925
- 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" });
1950
+ 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" });
1926
1951
  DateDiffDurationPipe.decorators = [
1927
1952
  { type: i0.Pipe, args: [{
1928
1953
  name: 'dateDiffDuration'
@@ -1944,7 +1969,7 @@
1944
1969
  };
1945
1970
  return DateFromNowPipe;
1946
1971
  }());
1947
- DateFromNowPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(i0.ɵɵinject(i1$1.MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
1972
+ DateFromNowPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(i0__namespace.ɵɵinject(i1__namespace.MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
1948
1973
  DateFromNowPipe.decorators = [
1949
1974
  { type: i0.Pipe, args: [{
1950
1975
  name: 'dateFromNow'
@@ -2013,7 +2038,7 @@
2013
2038
  value *= -1;
2014
2039
  }
2015
2040
  }
2016
- var degrees = roundFloat(value, opts.maxDecimals).toString();
2041
+ var degrees = roundFloat$1(value, opts.maxDecimals).toString();
2017
2042
  // Add sign
2018
2043
  var sign = negative ? '-' : '+';
2019
2044
  if (opts.placeholderChar) {
@@ -2064,7 +2089,7 @@
2064
2089
  }
2065
2090
  var degrees = Math.trunc(value);
2066
2091
  var minutes = Math.trunc((value - degrees) * 60);
2067
- var seconds = roundFloat(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
2092
+ var seconds = roundFloat$1(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
2068
2093
  while (seconds >= 60) {
2069
2094
  seconds -= 60;
2070
2095
  minutes += 1;
@@ -2132,7 +2157,7 @@
2132
2157
  }
2133
2158
  }
2134
2159
  var degrees = Math.trunc(value);
2135
- var minutes = roundFloat((value - degrees) * 60, opts.maxDecimals);
2160
+ var minutes = roundFloat$1((value - degrees) * 60, opts.maxDecimals);
2136
2161
  while (minutes >= 60) {
2137
2162
  minutes -= 60;
2138
2163
  degrees += 1;
@@ -2183,15 +2208,15 @@
2183
2208
  return NaN;
2184
2209
  }
2185
2210
  if (pattern === 'DD')
2186
- return roundFloat(degrees, maxDecimals);
2211
+ return roundFloat$1(degrees, maxDecimals);
2187
2212
  var minutes = (pattern === 'DDMMSS' || pattern === 'DDMM') && parts[1] && parseFloat(parts[1].replace(/,/g, '.')) || 0;
2188
2213
  var seconds = (pattern === 'DDMMSS') && parts[2] && parseFloat(parts[2].replace(/,/g, '.')) || 0;
2189
2214
  var direction = ((pattern === 'DDMMSS') && parts[3]) || ((pattern === 'DDMM') && parts[2]) || undefined;
2190
2215
  var sign = (direction && (direction === 's' || direction === 'S' || direction === 'w' || direction === 'W')) ? -1 : 1;
2191
2216
  degrees = sign * (degrees + minutes / 60 + seconds / (60 * 60));
2192
- return roundFloat(degrees, maxDecimals);
2217
+ return roundFloat$1(degrees, maxDecimals);
2193
2218
  }
2194
- function roundFloat(input, maxDecimals) {
2219
+ function roundFloat$1(input, maxDecimals) {
2195
2220
  if (maxDecimals > 0) {
2196
2221
  var powDecimal = Math.pow(10, maxDecimals);
2197
2222
  return Math.trunc(input * powDecimal + 0.5) / powDecimal;
@@ -2214,7 +2239,7 @@
2214
2239
  };
2215
2240
  return LatLongFormatPipe;
2216
2241
  }());
2217
- LatLongFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
2242
+ LatLongFormatPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
2218
2243
  LatLongFormatPipe.decorators = [
2219
2244
  { type: i0.Pipe, args: [{
2220
2245
  name: 'latLongFormat'
@@ -2227,7 +2252,7 @@
2227
2252
  }
2228
2253
  return LatitudeFormatPipe;
2229
2254
  }());
2230
- LatitudeFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
2255
+ LatitudeFormatPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
2231
2256
  LatitudeFormatPipe.decorators = [
2232
2257
  { type: i0.Pipe, args: [{
2233
2258
  name: 'latitudeFormat'
@@ -2240,7 +2265,7 @@
2240
2265
  }
2241
2266
  return LongitudeFormatPipe;
2242
2267
  }());
2243
- LongitudeFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
2268
+ LongitudeFormatPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
2244
2269
  LongitudeFormatPipe.decorators = [
2245
2270
  { type: i0.Pipe, args: [{
2246
2271
  name: 'longitudeFormat'
@@ -2263,7 +2288,7 @@
2263
2288
  };
2264
2289
  return NumberFormatPipe;
2265
2290
  }());
2266
- NumberFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
2291
+ NumberFormatPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
2267
2292
  NumberFormatPipe.decorators = [
2268
2293
  { type: i0.Pipe, args: [{
2269
2294
  name: 'numberFormat'
@@ -2306,7 +2331,7 @@
2306
2331
  };
2307
2332
  return HighlightPipe;
2308
2333
  }());
2309
- HighlightPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
2334
+ HighlightPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
2310
2335
  HighlightPipe.decorators = [
2311
2336
  { type: i0.Pipe, args: [{
2312
2337
  name: 'highlight'
@@ -2374,7 +2399,7 @@
2374
2399
  { type: i0.Pipe, args: [{ name: 'fileSize' },] }
2375
2400
  ];
2376
2401
 
2377
- var moment$1 = momentImported__namespace;
2402
+ var moment$5 = momentImported__namespace;
2378
2403
  var DATE_UNIX_TIMESTAMP = 'X';
2379
2404
  var DATE_UNIX_MS_TIMESTAMP = 'x';
2380
2405
  var DateUtils = /** @class */ (function () {
@@ -2409,32 +2434,32 @@
2409
2434
  if (!value || momentImported.isMoment(value))
2410
2435
  return value;
2411
2436
  // Parse the input value, as a ISO date time
2412
- var date = moment$1(value, DATE_ISO_PATTERN);
2437
+ var date = moment$5(value, DATE_ISO_PATTERN);
2413
2438
  if (date.isValid())
2414
2439
  return date;
2415
2440
  // Not valid: trying to convert from unix timestamp
2416
2441
  if (typeof value === 'string') {
2417
2442
  console.warn('Wrong date format - Trying to convert from local time: ' + value);
2418
2443
  if (value.length === 10) {
2419
- return moment$1(value, DATE_UNIX_TIMESTAMP);
2444
+ return moment$5(value, DATE_UNIX_TIMESTAMP);
2420
2445
  }
2421
2446
  else if (value.length === 13) {
2422
- return moment$1(value, DATE_UNIX_MS_TIMESTAMP);
2447
+ return moment$5(value, DATE_UNIX_MS_TIMESTAMP);
2423
2448
  }
2424
2449
  }
2425
2450
  console.warn('Unable to parse date: ' + value);
2426
2451
  return undefined;
2427
2452
  }
2428
2453
  function fromUnixTimestamp(timeInSec) {
2429
- return moment$1(timeInSec, DATE_UNIX_TIMESTAMP);
2454
+ return moment$5(timeInSec, DATE_UNIX_TIMESTAMP);
2430
2455
  }
2431
2456
  function fromUnixMsTimestamp(timeInMs) {
2432
- return moment$1(timeInMs, DATE_UNIX_MS_TIMESTAMP);
2457
+ return moment$5(timeInMs, DATE_UNIX_MS_TIMESTAMP);
2433
2458
  }
2434
2459
  function toDuration(value, unit) {
2435
2460
  if (!value)
2436
2461
  return undefined;
2437
- var duration = moment$1.duration(value, unit);
2462
+ var duration = moment$5.duration(value, unit);
2438
2463
  // fix 990+ ms
2439
2464
  if (duration.milliseconds() >= 990) {
2440
2465
  duration.add(1000 - duration.milliseconds(), 'ms');
@@ -2464,7 +2489,7 @@
2464
2489
  };
2465
2490
  return DurationPipe;
2466
2491
  }());
2467
- DurationPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(i0.ɵɵinject(i1$2.TranslateService)); }, token: DurationPipe, providedIn: "root" });
2492
+ DurationPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: DurationPipe, providedIn: "root" });
2468
2493
  DurationPipe.decorators = [
2469
2494
  { type: i0.Pipe, args: [{
2470
2495
  name: 'duration'
@@ -2488,7 +2513,7 @@
2488
2513
  };
2489
2514
  return MathAbsPipe;
2490
2515
  }());
2491
- MathAbsPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
2516
+ MathAbsPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
2492
2517
  MathAbsPipe.decorators = [
2493
2518
  { type: i0.Pipe, args: [{
2494
2519
  name: 'mathAbs'
@@ -2503,7 +2528,7 @@
2503
2528
  };
2504
2529
  return EvenPipe;
2505
2530
  }());
2506
- EvenPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
2531
+ EvenPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
2507
2532
  EvenPipe.decorators = [
2508
2533
  { type: i0.Pipe, args: [{
2509
2534
  name: 'even'
@@ -2518,7 +2543,7 @@
2518
2543
  };
2519
2544
  return OddPipe;
2520
2545
  }());
2521
- OddPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
2546
+ OddPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
2522
2547
  OddPipe.decorators = [
2523
2548
  { type: i0.Pipe, args: [{
2524
2549
  name: 'odd'
@@ -2650,7 +2675,7 @@
2650
2675
  };
2651
2676
  return MapGetPipe;
2652
2677
  }());
2653
- MapGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
2678
+ MapGetPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
2654
2679
  MapGetPipe.decorators = [
2655
2680
  { type: i0.Pipe, args: [{
2656
2681
  name: 'mapGet'
@@ -2667,7 +2692,7 @@
2667
2692
  };
2668
2693
  return MapKeysPipe;
2669
2694
  }());
2670
- MapKeysPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
2695
+ MapKeysPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
2671
2696
  MapKeysPipe.decorators = [
2672
2697
  { type: i0.Pipe, args: [{
2673
2698
  name: 'mapKeys'
@@ -2684,7 +2709,7 @@
2684
2709
  };
2685
2710
  return MapValuesPipe;
2686
2711
  }());
2687
- MapValuesPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
2712
+ MapValuesPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
2688
2713
  MapValuesPipe.decorators = [
2689
2714
  { type: i0.Pipe, args: [{
2690
2715
  name: 'mapValues'
@@ -2700,7 +2725,7 @@
2700
2725
  };
2701
2726
  return IsNotNilOrBlankPipe;
2702
2727
  }());
2703
- IsNotNilOrBlankPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
2728
+ IsNotNilOrBlankPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
2704
2729
  IsNotNilOrBlankPipe.decorators = [
2705
2730
  { type: i0.Pipe, args: [{
2706
2731
  name: 'isNotNilOrBlank'
@@ -2715,7 +2740,7 @@
2715
2740
  };
2716
2741
  return IsNilOrBlankPipe;
2717
2742
  }());
2718
- IsNilOrBlankPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
2743
+ IsNilOrBlankPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
2719
2744
  IsNilOrBlankPipe.decorators = [
2720
2745
  { type: i0.Pipe, args: [{
2721
2746
  name: 'isNilOrBlank'
@@ -2730,7 +2755,7 @@
2730
2755
  };
2731
2756
  return ToStringPipe;
2732
2757
  }());
2733
- ToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
2758
+ ToStringPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
2734
2759
  ToStringPipe.decorators = [
2735
2760
  { type: i0.Pipe, args: [{
2736
2761
  name: 'toString'
@@ -2745,7 +2770,7 @@
2745
2770
  };
2746
2771
  return StrLengthPipe;
2747
2772
  }());
2748
- StrLengthPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
2773
+ StrLengthPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
2749
2774
  StrLengthPipe.decorators = [
2750
2775
  { type: i0.Pipe, args: [{
2751
2776
  name: 'strLength'
@@ -2798,7 +2823,7 @@
2798
2823
  };
2799
2824
  return TranslateContextService;
2800
2825
  }());
2801
- TranslateContextService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(i0.ɵɵinject(i1$2.TranslateService)); }, token: TranslateContextService, providedIn: "root" });
2826
+ TranslateContextService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: TranslateContextService, providedIn: "root" });
2802
2827
  TranslateContextService.decorators = [
2803
2828
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
2804
2829
  ];
@@ -2815,7 +2840,7 @@
2815
2840
  };
2816
2841
  return TranslateContextPipe;
2817
2842
  }());
2818
- TranslateContextPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslateContextPipe_Factory() { return new TranslateContextPipe(i0.ɵɵinject(TranslateContextService)); }, token: TranslateContextPipe, providedIn: "root" });
2843
+ TranslateContextPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function TranslateContextPipe_Factory() { return new TranslateContextPipe(i0__namespace.ɵɵinject(TranslateContextService)); }, token: TranslateContextPipe, providedIn: "root" });
2819
2844
  TranslateContextPipe.decorators = [
2820
2845
  { type: i0.Pipe, args: [{
2821
2846
  name: 'translateContext'
@@ -2835,7 +2860,7 @@
2835
2860
  };
2836
2861
  return TranslatablePipe;
2837
2862
  }());
2838
- TranslatablePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslatablePipe_Factory() { return new TranslatablePipe(); }, token: TranslatablePipe, providedIn: "root" });
2863
+ TranslatablePipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function TranslatablePipe_Factory() { return new TranslatablePipe(); }, token: TranslatablePipe, providedIn: "root" });
2839
2864
  TranslatablePipe.decorators = [
2840
2865
  { type: i0.Pipe, args: [{
2841
2866
  name: 'translatable'
@@ -2855,7 +2880,7 @@
2855
2880
  };
2856
2881
  return PropertyGetPipe;
2857
2882
  }());
2858
- PropertyGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
2883
+ PropertyGetPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
2859
2884
  PropertyGetPipe.decorators = [
2860
2885
  { type: i0.Pipe, args: [{
2861
2886
  name: 'propertyGet'
@@ -3112,14 +3137,14 @@
3112
3137
  },] }
3113
3138
  ];
3114
3139
 
3115
- var moment$2 = momentImported__namespace;
3140
+ var moment$4 = momentImported__namespace;
3116
3141
  // @dynamic
3117
3142
  var SharedValidators = /** @class */ (function () {
3118
3143
  function SharedValidators() {
3119
3144
  }
3120
3145
  SharedValidators.validDate = function (control) {
3121
3146
  var value = control.value;
3122
- var date = !value || moment$2.isMoment(value) ? value : moment$2(control.value, DATE_ISO_PATTERN);
3147
+ var date = !value || moment$4.isMoment(value) ? value : moment$4(control.value, DATE_ISO_PATTERN);
3123
3148
  if (date && (!date.isValid() || date.year() < 1970)) {
3124
3149
  return { validDate: true };
3125
3150
  }
@@ -3590,9 +3615,9 @@
3590
3615
  var hour = parseInt(durationParts[0] || '0');
3591
3616
  var minute = parseInt(durationParts[1] || '0');
3592
3617
  var value = hour + (minute + 0.5) / 60;
3593
- return roundFloat$1(value, maxDecimals);
3618
+ return roundFloat(value, maxDecimals);
3594
3619
  }
3595
- function roundFloat$1(input, maxDecimals) {
3620
+ function roundFloat(input, maxDecimals) {
3596
3621
  if (maxDecimals > 0) {
3597
3622
  var powDecimal = Math.pow(10, maxDecimals);
3598
3623
  return Math.trunc(input * powDecimal + 0.5) / powDecimal;
@@ -3616,9 +3641,9 @@
3616
3641
  DD: [/[+-]/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '°']
3617
3642
  }
3618
3643
  };
3619
- var noop$1 = function () {
3644
+ var noop$6 = function () {
3620
3645
  };
3621
- var ɵ0$1 = noop$1;
3646
+ var ɵ0$9 = noop$6;
3622
3647
  var MatLatLongField = /** @class */ (function () {
3623
3648
  function MatLatLongField(platform, translate, formBuilder, cd, formGroupDir) {
3624
3649
  this.platform = platform;
@@ -3626,8 +3651,8 @@
3626
3651
  this.formBuilder = formBuilder;
3627
3652
  this.cd = cd;
3628
3653
  this.formGroupDir = formGroupDir;
3629
- this._onChangeCallback = noop$1;
3630
- this._onTouchedCallback = noop$1;
3654
+ this._onChangeCallback = noop$6;
3655
+ this._onTouchedCallback = noop$6;
3631
3656
  this._subscription = new rxjs.Subscription();
3632
3657
  this.disabling = false;
3633
3658
  this.writing = false;
@@ -3980,14 +4005,14 @@
3980
4005
  },] }
3981
4006
  ];
3982
4007
 
3983
- var DEFAULT_VALUE_ACCESSOR$1 = {
4008
+ var DEFAULT_VALUE_ACCESSOR$5 = {
3984
4009
  provide: i1.NG_VALUE_ACCESSOR,
3985
4010
  useExisting: i0.forwardRef(function () { return MatDate; }),
3986
4011
  multi: true
3987
4012
  };
3988
- var DAY_MASK = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
3989
- var noop$2 = function () { };
3990
- var ɵ0$2 = noop$2;
4013
+ var DAY_MASK$2 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
4014
+ var noop$5 = function () { };
4015
+ var ɵ0$8 = noop$5;
3991
4016
  var MatDate = /** @class */ (function () {
3992
4017
  function MatDate(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
3993
4018
  this.dateAdapter = dateAdapter;
@@ -3996,12 +4021,12 @@
3996
4021
  this.cd = cd;
3997
4022
  this.keyboard = keyboard;
3998
4023
  this.formGroupDir = formGroupDir;
3999
- this._onChangeCallback = noop$2;
4000
- this._onTouchedCallback = noop$2;
4024
+ this._onChangeCallback = noop$5;
4025
+ this._onTouchedCallback = noop$5;
4001
4026
  this._subscription = new rxjs.Subscription();
4002
4027
  this.writing = true;
4003
4028
  this.disabling = false;
4004
- this.dayMask = DAY_MASK;
4029
+ this.dayMask = DAY_MASK$2;
4005
4030
  this.disabled = false;
4006
4031
  this.floatLabel = 'auto';
4007
4032
  this.readonly = false;
@@ -4270,7 +4295,7 @@
4270
4295
  selector: 'mat-date-field',
4271
4296
  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",
4272
4297
  providers: [
4273
- DEFAULT_VALUE_ACCESSOR$1,
4298
+ DEFAULT_VALUE_ACCESSOR$5,
4274
4299
  ],
4275
4300
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
4276
4301
  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%}"]
@@ -4303,17 +4328,17 @@
4303
4328
  matInputs: [{ type: i0.ViewChildren, args: ['matInput',] }]
4304
4329
  };
4305
4330
 
4306
- var DEFAULT_VALUE_ACCESSOR$2 = {
4331
+ var DEFAULT_VALUE_ACCESSOR$4 = {
4307
4332
  provide: i1.NG_VALUE_ACCESSOR,
4308
4333
  useExisting: i0.forwardRef(function () { return MatDateTime; }),
4309
4334
  multi: true
4310
4335
  };
4311
4336
  var DAY_MASK$1 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
4312
4337
  var HOUR_REGEXP = /^[012][0-9][:][012345][0-9]$/;
4313
- var HOUR_MASK = [/[012]/, /\d/, ':', /[012345]/, /\d/];
4314
- var noop$3 = function () {
4338
+ var HOUR_MASK$1 = [/[012]/, /\d/, ':', /[012345]/, /\d/];
4339
+ var noop$4 = function () {
4315
4340
  };
4316
- var ɵ0$3 = noop$3;
4341
+ var ɵ0$7 = noop$4;
4317
4342
  var MatDateTime = /** @class */ (function () {
4318
4343
  function MatDateTime(platform, dateAdapter, translate, formBuilder, keyboard, cd, formGroupDir) {
4319
4344
  this.platform = platform;
@@ -4323,14 +4348,14 @@
4323
4348
  this.keyboard = keyboard;
4324
4349
  this.cd = cd;
4325
4350
  this.formGroupDir = formGroupDir;
4326
- this._onChangeCallback = noop$3;
4327
- this._onTouchedCallback = noop$3;
4351
+ this._onChangeCallback = noop$4;
4352
+ this._onTouchedCallback = noop$4;
4328
4353
  this._subscription = new rxjs.Subscription();
4329
4354
  this.writing = true;
4330
4355
  this.disabling = false;
4331
4356
  this._onDestroy = new i0.EventEmitter();
4332
4357
  this.dayMask = DAY_MASK$1;
4333
- this.hourMask = HOUR_MASK;
4358
+ this.hourMask = HOUR_MASK$1;
4334
4359
  this.floatLabel = 'auto';
4335
4360
  this.readonly = false;
4336
4361
  this.compact = false;
@@ -4677,7 +4702,7 @@
4677
4702
  selector: 'mat-date-time-field',
4678
4703
  template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled\">\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><ng-content select=\"[matPrefix]\"></ng-content></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",
4679
4704
  providers: [
4680
- DEFAULT_VALUE_ACCESSOR$2,
4705
+ DEFAULT_VALUE_ACCESSOR$4,
4681
4706
  ],
4682
4707
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
4683
4708
  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%}"]
@@ -4716,10 +4741,10 @@
4716
4741
  useExisting: i0.forwardRef(function () { return MatDateShort; }),
4717
4742
  multi: true
4718
4743
  };
4719
- var DAY_MASK$2 = [/\d/, /\d/, /\d/, /\d/];
4720
- var noop$4 = function () {
4744
+ var DAY_MASK = [/\d/, /\d/, /\d/, /\d/];
4745
+ var noop$3 = function () {
4721
4746
  };
4722
- var ɵ0$4 = noop$4;
4747
+ var ɵ0$6 = noop$3;
4723
4748
  var MatDateShort = /** @class */ (function () {
4724
4749
  function MatDateShort(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
4725
4750
  this.dateAdapter = dateAdapter;
@@ -4728,11 +4753,11 @@
4728
4753
  this.cd = cd;
4729
4754
  this.keyboard = keyboard;
4730
4755
  this.formGroupDir = formGroupDir;
4731
- this._onChangeCallback = noop$4;
4732
- this._onTouchedCallback = noop$4;
4756
+ this._onChangeCallback = noop$3;
4757
+ this._onTouchedCallback = noop$3;
4733
4758
  this.writing = true;
4734
4759
  this.disabling = false;
4735
- this.dayMask = DAY_MASK$2;
4760
+ this.dayMask = DAY_MASK;
4736
4761
  this.disabled = false;
4737
4762
  this.floatLabel = 'auto';
4738
4763
  this.readonly = false;
@@ -5080,16 +5105,16 @@
5080
5105
  },] }
5081
5106
  ];
5082
5107
 
5083
- var DEFAULT_VALUE_ACCESSOR$4 = {
5108
+ var DEFAULT_VALUE_ACCESSOR$2 = {
5084
5109
  provide: i1.NG_VALUE_ACCESSOR,
5085
5110
  useExisting: i0.forwardRef(function () { return MatDuration; }),
5086
5111
  multi: true
5087
5112
  };
5088
5113
  var HOUR_TIME_PATTERN = /[0-9]\d\d:[0-5]\d/;
5089
- var HOUR_MASK$1 = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
5090
- var noop$5 = function () {
5114
+ var HOUR_MASK = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
5115
+ var noop$2 = function () {
5091
5116
  };
5092
- var ɵ0$5 = noop$5;
5117
+ var ɵ0$5 = noop$2;
5093
5118
  var MatDuration = /** @class */ (function () {
5094
5119
  function MatDuration(platform, dateAdapter, translate, formBuilder, cd, formGroupDir) {
5095
5120
  this.dateAdapter = dateAdapter;
@@ -5098,11 +5123,11 @@
5098
5123
  this.cd = cd;
5099
5124
  this.formGroupDir = formGroupDir;
5100
5125
  this._subscription = new rxjs.Subscription();
5101
- this._onChangeCallback = noop$5;
5102
- this._onTouchedCallback = noop$5;
5126
+ this._onChangeCallback = noop$2;
5127
+ this._onTouchedCallback = noop$2;
5103
5128
  this.writing = true;
5104
5129
  this.disabling = false;
5105
- this.hourMask = HOUR_MASK$1;
5130
+ this.hourMask = HOUR_MASK;
5106
5131
  this.disabled = false;
5107
5132
  this.floatLabel = 'auto';
5108
5133
  this.readonly = false;
@@ -5295,7 +5320,7 @@
5295
5320
  selector: 'mat-duration-field',
5296
5321
  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",
5297
5322
  providers: [
5298
- DEFAULT_VALUE_ACCESSOR$4,
5323
+ DEFAULT_VALUE_ACCESSOR$2,
5299
5324
  ],
5300
5325
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
5301
5326
  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%}"]
@@ -5355,22 +5380,22 @@
5355
5380
  },] }
5356
5381
  ];
5357
5382
 
5358
- var DEFAULT_VALUE_ACCESSOR$5 = {
5383
+ var DEFAULT_VALUE_ACCESSOR$1 = {
5359
5384
  provide: i1.NG_VALUE_ACCESSOR,
5360
5385
  useExisting: i0.forwardRef(function () { return MatBooleanField; }),
5361
5386
  multi: true
5362
5387
  };
5363
- var noop$6 = function () {
5388
+ var noop$1 = function () {
5364
5389
  };
5365
- var ɵ0$6 = noop$6;
5390
+ var ɵ0$4 = noop$1;
5366
5391
  var MatBooleanField = /** @class */ (function () {
5367
5392
  function MatBooleanField(translate, formBuilder, cd, formGroupDir) {
5368
5393
  this.translate = translate;
5369
5394
  this.formBuilder = formBuilder;
5370
5395
  this.cd = cd;
5371
5396
  this.formGroupDir = formGroupDir;
5372
- this._onChangeCallback = noop$6;
5373
- this._onTouchedCallback = noop$6;
5397
+ this._onChangeCallback = noop$1;
5398
+ this._onTouchedCallback = noop$1;
5374
5399
  this._writing = false;
5375
5400
  this.showRadio = false;
5376
5401
  this.disabled = false;
@@ -5556,10 +5581,10 @@
5556
5581
  selector: 'mat-boolean-field',
5557
5582
  template: "<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled {{classList}}\">\n <input matInput hidden type=\"text\" readonly\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <ion-text>{{(formControl.value == null && 'COMMON.EMPTY_OPTION' || (formControl.value === true && yesLabel) || noLabel) | translate }}</ion-text>\n</mat-form-field>\n\n<ng-template #writable>\n <ng-container [ngSwitch]=\"style\">\n\n <!-- Radio -->\n <mat-form-field *ngSwitchCase=\"'radio'\"\n [floatLabel]=\"showRadio && (!floatLabel || floatLabel === 'auto') ? 'always': floatLabel\"\n class=\"mat-boolean-field mat-boolean-field-radio {{classList}}\">\n <mat-label *ngIf=\"placeholder && floatLabel!=='never'\">\n {{placeholder}}\n <span [hidden]=\"showRadio\">({{yesLabel|translate}}/{{'COMMON.NO'|translate}})</span>\n </mat-label>\n\n <input matInput #fakeInput type=\"text\" readonly=\"true\"\n [formControl]=\"formControl\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showRadio\"\n [tabindex]=\"tabindex\">\n\n <!-- radio button -->\n <mat-radio-group [hidden]=\"!showRadio\"\n [formControl]=\"formControl\"\n (change)=\"onRadioValueChanged($event)\">\n <mat-radio-button #yesButton [value]=\"true\">\n <span>{{yesLabel|translate}}</span>\n </mat-radio-button>&nbsp;\n <mat-radio-button #noButton [value]=\"false\">\n <span>{{noLabel|translate}}</span>\n </mat-radio-button>\n </mat-radio-group>\n\n <div matSuffix #injectMatSuffix></div>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n\n <!-- Checkbox -->\n <mat-form-field *ngSwitchCase=\"'checkbox'\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-boolean-field mat-boolean-field-checkbox {{classList}}\">\n <mat-label *ngIf=\"placeholder && !showRadio\">\n {{placeholder}}\n </mat-label>\n\n <input matInput #matInput\n [formControl]=\"formControl\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showRadio\"\n [tabindex]=\"tabindex\">\n\n <ion-label>&nbsp;</ion-label>\n\n <!-- checkbox, when compact -->\n <mat-checkbox #checkboxButton\n [formControl]=\"formControl\"\n (change)=\"onCheckboxValueChanged($event)\"\n [indeterminate]=\"value===undefined\"\n [hidden]=\"!showRadio\"\n [tabindex]=\"tabindex\">\n </mat-checkbox>\n\n <div matSuffix #injectMatSuffix></div>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n\n <!-- Buttons -->\n <mat-form-field *ngSwitchCase=\"'button'\"\n [floatLabel]=\"floatLabel === 'never' ? 'never' : 'always'\"\n class=\"mat-boolean-field mat-boolean-field-button {{classList}}\">\n <input matInput type=\"text\" hidden\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [required]=\"required\">\n <div class=\"mat-form-field-buttons\"\n [style.--buttons-col-count]=\"buttonsColCount\"\n *ngIf=\"!formControl.disabled; else disabledLabel\">\n <!-- yes -->\n <ion-button class=\"mat-form-field-button\"\n [tabindex]=\"_tabindex\"\n (click)=\"writeValue(true, $event)\"\n (keyup.enter)=\"writeValue(true, $event)\"\n [color]=\"_value == null ? 'tertiary' : (_value === true) ? 'accent' : 'light'\">\n <ion-icon *ngIf=\"showButtonIcons && yesIcon; let icon\" slot=\"start\" [name]=\"icon\"></ion-icon>\n {{yesLabel|translate}}\n </ion-button>\n\n <!-- No button -->\n <ion-button class=\"mat-form-field-button\"\n [tabindex]=\"_tabindex !== undefined ? (_tabindex + 1) : undefined\"\n (click)=\"writeValue(false, $event)\"\n (keyup.enter)=\"writeValue(false, $event)\"\n [color]=\"_value == null ? 'tertiary' : (_value === false) ? 'accent' : 'light'\">\n <ion-icon *ngIf=\"showButtonIcons && noIcon; let icon\" slot=\"start\" [name]=\"icon\"></ion-icon>\n {{noLabel|translate}}\n </ion-button>\n </div>\n <ng-template #disabledLabel>\n <ion-label><i translate>COMMON.EMPTY_OPTION</i></ion-label>\n </ng-template>\n\n <div matSuffix #injectMatSuffix></div>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n </ng-container>\n\n <div class=\"cdk-visually-hidden\">\n <div #suffix><ng-content select=\"[matSuffix]\"></ng-content></div>\n </div>\n\n</ng-template>\n\n\n",
5558
5583
  providers: [
5559
- DEFAULT_VALUE_ACCESSOR$5
5584
+ DEFAULT_VALUE_ACCESSOR$1
5560
5585
  ],
5561
5586
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
5562
- 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}"]
5587
+ 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:calc(min(var(--flex-basis), 150px));white-space:normal;padding:0 2px;height:40px}"]
5563
5588
  },] }
5564
5589
  ];
5565
5590
  MatBooleanField.ctorParameters = function () { return [
@@ -5645,6 +5670,7 @@
5645
5670
  return MatNumpadEvent;
5646
5671
  }(KeyboardEvent));
5647
5672
 
5673
+ exports.AnimationState = void 0;
5648
5674
  (function (AnimationState) {
5649
5675
  AnimationState["ENTER"] = "enter";
5650
5676
  AnimationState["ENTER_INPUT"] = "enter-input";
@@ -5812,7 +5838,7 @@
5812
5838
  };
5813
5839
  return MatNumpadDomService;
5814
5840
  }());
5815
- 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" });
5841
+ 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" });
5816
5842
  MatNumpadDomService.decorators = [
5817
5843
  { type: i0.Injectable, args: [{
5818
5844
  providedIn: 'root'
@@ -6218,7 +6244,7 @@
6218
6244
  },] }
6219
6245
  ];
6220
6246
 
6221
- var DEFAULT_VALUE_ACCESSOR$6 = {
6247
+ var DEFAULT_VALUE_ACCESSOR = {
6222
6248
  provide: i1.NG_VALUE_ACCESSOR,
6223
6249
  useExisting: i0.forwardRef(function () { return MatSwipeField; }),
6224
6250
  multi: true
@@ -6538,7 +6564,7 @@
6538
6564
  { type: i0.Component, args: [{
6539
6565
  selector: 'mat-swipe-field',
6540
6566
  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",
6541
- providers: [DEFAULT_VALUE_ACCESSOR$6],
6567
+ providers: [DEFAULT_VALUE_ACCESSOR],
6542
6568
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
6543
6569
  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}"]
6544
6570
  },] }
@@ -7096,7 +7122,7 @@
7096
7122
  };
7097
7123
  return ProgressBarService;
7098
7124
  }());
7099
- ProgressBarService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
7125
+ ProgressBarService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
7100
7126
  ProgressBarService.decorators = [
7101
7127
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
7102
7128
  ];
@@ -7143,7 +7169,7 @@
7143
7169
  };
7144
7170
  return AppGestureConfig;
7145
7171
  }(i1$6.HammerGestureConfig));
7146
- AppGestureConfig.ɵprov = i0.ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
7172
+ AppGestureConfig.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
7147
7173
  AppGestureConfig.decorators = [
7148
7174
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
7149
7175
  ];
@@ -7408,7 +7434,7 @@
7408
7434
  };
7409
7435
  return MatPaginatorI18n;
7410
7436
  }(paginator.MatPaginatorIntl));
7411
- MatPaginatorI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(i0.ɵɵinject(i1$2.TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
7437
+ MatPaginatorI18n.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
7412
7438
  MatPaginatorI18n.decorators = [
7413
7439
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
7414
7440
  ];
@@ -7500,17 +7526,17 @@
7500
7526
  return rgbArrayToHex(rgb.map(function (v) { return 255 - v; }));
7501
7527
  }
7502
7528
 
7503
- var noop$7 = function () {
7529
+ var noop = function () {
7504
7530
  };
7505
- var ɵ0$7 = noop$7;
7531
+ var ɵ0$3 = noop;
7506
7532
  var AppFormField = /** @class */ (function () {
7507
7533
  function AppFormField(translate, cd, injector, formGroupDir) {
7508
7534
  this.translate = translate;
7509
7535
  this.cd = cd;
7510
7536
  this.injector = injector;
7511
7537
  this.formGroupDir = formGroupDir;
7512
- this._onChangeCallback = noop$7;
7513
- this._onTouchedCallback = noop$7;
7538
+ this._onChangeCallback = noop;
7539
+ this._onTouchedCallback = noop;
7514
7540
  this.readonly = false;
7515
7541
  this.compact = false;
7516
7542
  this.floatLabel = 'auto';
@@ -7969,7 +7995,7 @@
7969
7995
  };
7970
7996
  return AudioProvider;
7971
7997
  }());
7972
- 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" });
7998
+ 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" });
7973
7999
  AudioProvider.decorators = [
7974
8000
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
7975
8001
  ];
@@ -8069,7 +8095,7 @@
8069
8095
  };
8070
8096
  return Hotkeys;
8071
8097
  }());
8072
- 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" });
8098
+ 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" });
8073
8099
  Hotkeys.decorators = [
8074
8100
  { type: i0.Injectable, args: [{
8075
8101
  providedIn: 'root'
@@ -8273,7 +8299,7 @@
8273
8299
  return Base64ImageReader;
8274
8300
  }());
8275
8301
 
8276
- var uuidv4 = uuidv4Imported__namespace;
8302
+ var uuidv4$1 = uuidv4Imported__namespace;
8277
8303
  var FileService = /** @class */ (function () {
8278
8304
  function FileService(platform,
8279
8305
  //private transfer: FileTransfer,
@@ -8319,7 +8345,7 @@
8319
8345
  lastSlashIndex = source.lastIndexOf('/');
8320
8346
  if (lastSlashIndex === -1)
8321
8347
  throw new Error('Invalid URL: ' + source);
8322
- fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4();
8348
+ fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4$1();
8323
8349
  if (!(responseType === 'file' && this.canUseFileSystem)) return [3 /*break*/, 4];
8324
8350
  console.warn("WARN: [file] Fetching image {" + source + "} in local file...");
8325
8351
  targetFilePath = this._imageDirectory + fileName;
@@ -8382,7 +8408,7 @@
8382
8408
  };
8383
8409
  return FileService;
8384
8410
  }());
8385
- 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" });
8411
+ 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" });
8386
8412
  FileService.decorators = [
8387
8413
  { type: i0.Injectable, args: [{
8388
8414
  providedIn: 'root',
@@ -8545,7 +8571,7 @@
8545
8571
  Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
8546
8572
 
8547
8573
  var scrypt = require('scrypt-async');
8548
- var sha256 = require('hash.js/lib/hash/sha/256');
8574
+ var sha256$1 = require('hash.js/lib/hash/sha/256');
8549
8575
  var sha512 = require('hash.js/lib/hash/sha/512');
8550
8576
  var nacl = {
8551
8577
  sign: tweetnacl.sign,
@@ -8651,7 +8677,7 @@
8651
8677
  * Hash (using SHA256) a message
8652
8678
  */
8653
8679
  CryptoService.prototype.sha256 = function (message) {
8654
- return sha256().update(message).digest('hex');
8680
+ return sha256$1().update(message).digest('hex');
8655
8681
  };
8656
8682
  /**
8657
8683
  * Hash (using SHA512) a message
@@ -8665,7 +8691,7 @@
8665
8691
  };
8666
8692
  return CryptoService;
8667
8693
  }());
8668
- CryptoService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
8694
+ CryptoService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
8669
8695
  CryptoService.decorators = [
8670
8696
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
8671
8697
  ];
@@ -10078,7 +10104,7 @@
10078
10104
  };
10079
10105
  return LocalSettingsService;
10080
10106
  }());
10081
- 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" });
10107
+ 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" });
10082
10108
  LocalSettingsService.decorators = [
10083
10109
  { type: i0.Injectable, args: [{
10084
10110
  providedIn: 'root',
@@ -10923,7 +10949,7 @@
10923
10949
  };
10924
10950
  return NetworkService;
10925
10951
  }());
10926
- 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" });
10952
+ 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" });
10927
10953
  NetworkService.decorators = [
10928
10954
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
10929
10955
  ];
@@ -10943,7 +10969,7 @@
10943
10969
  { type: i1$5.ToastController, decorators: [{ type: i0.Optional }] }
10944
10970
  ]; };
10945
10971
 
10946
- var ErrorCodes = {
10972
+ var ErrorCodes$2 = {
10947
10973
  UNKNOWN_ERROR: 0,
10948
10974
  LOAD_ACCOUNT_ERROR: 1,
10949
10975
  BAD_PASSWORD: 2,
@@ -11351,7 +11377,7 @@
11351
11377
  case 13:
11352
11378
  err_1 = _a.sent();
11353
11379
  console.error(err_1);
11354
- throw { code: ErrorCodes.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err_1 };
11380
+ throw { code: ErrorCodes$2.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err_1 };
11355
11381
  case 14:
11356
11382
  // Emit update event
11357
11383
  if (!opts || opts.emitEvent !== false) {
@@ -12111,7 +12137,7 @@
12111
12137
  }());
12112
12138
  EntitiesStorage.TRASH_PREFIX = 'Trash#';
12113
12139
  EntitiesStorage.REMOTE_PREFIX = 'Remote#';
12114
- 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" });
12140
+ 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" });
12115
12141
  EntitiesStorage.decorators = [
12116
12142
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
12117
12143
  ];
@@ -12228,10 +12254,10 @@
12228
12254
  function referentialsToString(values, properties, separator) {
12229
12255
  return (values || []).map(function (v) { return referentialToString(v, properties); }).join(separator || ', ');
12230
12256
  }
12231
- var ɵ0$8 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
12257
+ var ɵ0$2 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
12232
12258
  var StatusList = Object.freeze([
12233
12259
  {
12234
- id: ɵ0$8,
12260
+ id: ɵ0$2,
12235
12261
  icon: 'checkmark',
12236
12262
  label: 'REFERENTIAL.STATUS_ENUM.ENABLE'
12237
12263
  },
@@ -12534,7 +12560,7 @@
12534
12560
  (data.lastName || '')) || '';
12535
12561
  }
12536
12562
 
12537
- var uuidv4$1 = uuidv4Imported__namespace;
12563
+ var uuidv4 = uuidv4Imported__namespace;
12538
12564
  var _global = typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : {});
12539
12565
  var NativeWebSocket = _global.WebSocket || _global.MozWebSocket;
12540
12566
  /**
@@ -12578,7 +12604,7 @@
12578
12604
  // Skip if not tracked
12579
12605
  if (!context || !context.tracked)
12580
12606
  return forward(operation);
12581
- var id = context.serializationKey || uuidv4$1();
12607
+ var id = context.serializationKey || uuidv4();
12582
12608
  console.debug("[apollo-tracker-link] Watching tracked query {" + operation.operationName + "#" + id + "}");
12583
12609
  // Clean context, before calling JSON.stringify (remove unused attributes)
12584
12610
  var cleanContext = Object.assign(Object.assign({}, context), { optimisticResponse: null, cache: null });
@@ -13389,7 +13415,7 @@
13389
13415
  (err.networkError && ((err.networkError.error && this.toAppError(err.networkError.error))
13390
13416
  || this.toAppError(err.networkError)
13391
13417
  || (err.networkError.error && this.createAppErrorByCode(err.networkError.error.status))
13392
- || this.createAppErrorByCode(ErrorCodes.UNKNOWN_NETWORK_ERROR)))
13418
+ || this.createAppErrorByCode(ErrorCodes$2.UNKNOWN_NETWORK_ERROR)))
13393
13419
  // If graphQL: try to convert the first error found
13394
13420
  || (err.graphQLErrors && err.graphQLErrors.length && this.toAppError(err.graphQLErrors[0]))
13395
13421
  || this.toAppError(err)
@@ -13397,7 +13423,7 @@
13397
13423
  || (err.graphQLErrors && err.graphQLErrors[0])
13398
13424
  || err;
13399
13425
  console.error('[graphql] ' + (error && error.message || error), error.stack || '');
13400
- if (error && error.code === ErrorCodes.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
13426
+ if (error && error.code === ErrorCodes$2.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
13401
13427
  console.error('[graphql] original error: ' + err.networkError.message);
13402
13428
  this.onNetworkError.next(error);
13403
13429
  }
@@ -13433,7 +13459,7 @@
13433
13459
  return 'ERROR.UNAUTHORIZED';
13434
13460
  case ServerErrorCodes.FORBIDDEN:
13435
13461
  return 'ERROR.FORBIDDEN';
13436
- case ErrorCodes.UNKNOWN_NETWORK_ERROR:
13462
+ case ErrorCodes$2.UNKNOWN_NETWORK_ERROR:
13437
13463
  return 'ERROR.UNKNOWN_NETWORK_ERROR';
13438
13464
  case ServerErrorCodes.BAD_UPDATE_DATE:
13439
13465
  return 'ERROR.BAD_UPDATE_DATE';
@@ -13478,7 +13504,7 @@
13478
13504
  };
13479
13505
  return GraphqlService;
13480
13506
  }());
13481
- 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" });
13507
+ 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" });
13482
13508
  GraphqlService.decorators = [
13483
13509
  { type: i0.Injectable, args: [{
13484
13510
  providedIn: 'root'
@@ -13495,7 +13521,7 @@
13495
13521
  { type: undefined, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [APP_GRAPHQL_TYPE_POLICIES,] }] }
13496
13522
  ]; };
13497
13523
 
13498
- var sha256$1 = require('hash.js/lib/hash/sha/256');
13524
+ var sha256 = require('hash.js/lib/hash/sha/256');
13499
13525
  var BaseGraphqlServiceOptions = /** @class */ (function () {
13500
13526
  function BaseGraphqlServiceOptions() {
13501
13527
  }
@@ -13662,8 +13688,8 @@
13662
13688
  };
13663
13689
  /* -- protected methods -- */
13664
13690
  BaseGraphqlService.prototype.computeMutableWatchQueryId = function (opts) {
13665
- var queryName = opts.queryName || sha256$1().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
13666
- var variablesKey = opts.variables && sha256$1().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
13691
+ var queryName = opts.queryName || sha256().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
13692
+ var variablesKey = opts.variables && sha256().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
13667
13693
  return [queryName, opts.arrayFieldName, variablesKey].join('|');
13668
13694
  };
13669
13695
  BaseGraphqlService.prototype.findMutableWatchQueries = function (opts) {
@@ -13729,17 +13755,17 @@
13729
13755
  /* ------------------------------------
13730
13756
  * GraphQL queries
13731
13757
  * ------------------------------------*/
13732
- var Fragments = {
13733
- account: core.gql(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n fragment AccountFragment on AccountVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n settings {\n id\n locale\n latLongFormat\n content\n nonce\n updateDate\n __typename\n }\n department {\n id\n label\n name\n __typename\n }\n __typename\n }\n "], ["\n fragment AccountFragment on AccountVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n settings {\n id\n locale\n latLongFormat\n content\n nonce\n updateDate\n __typename\n }\n department {\n id\n label\n name\n __typename\n }\n __typename\n }\n "])))
13758
+ var Fragments$1 = {
13759
+ account: core.gql(templateObject_1$4 || (templateObject_1$4 = __makeTemplateObject(["\n fragment AccountFragment on AccountVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n settings {\n id\n locale\n latLongFormat\n content\n nonce\n updateDate\n __typename\n }\n department {\n id\n label\n name\n __typename\n }\n __typename\n }\n "], ["\n fragment AccountFragment on AccountVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n settings {\n id\n locale\n latLongFormat\n content\n nonce\n updateDate\n __typename\n }\n department {\n id\n label\n name\n __typename\n }\n __typename\n }\n "])))
13734
13760
  };
13735
13761
  // Load account query
13736
- var LoadQuery = core.gql(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n query Account {\n data: account {\n ...AccountFragment\n }\n }\n ", "\n"], ["\n query Account {\n data: account {\n ...AccountFragment\n }\n }\n ", "\n"])), Fragments.account);
13762
+ var LoadQuery$1 = core.gql(templateObject_2$4 || (templateObject_2$4 = __makeTemplateObject(["\n query Account {\n data: account {\n ...AccountFragment\n }\n }\n ", "\n"], ["\n query Account {\n data: account {\n ...AccountFragment\n }\n }\n ", "\n"])), Fragments$1.account);
13737
13763
  // Check email query
13738
- var IsEmailExistsQuery = core.gql(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n query IsEmailExists($email: String, $hash: String){\n isEmailExists(email: $email, hash: $hash)\n }\n"], ["\n query IsEmailExists($email: String, $hash: String){\n isEmailExists(email: $email, hash: $hash)\n }\n"])));
13764
+ var IsEmailExistsQuery = core.gql(templateObject_3$3 || (templateObject_3$3 = __makeTemplateObject(["\n query IsEmailExists($email: String, $hash: String){\n isEmailExists(email: $email, hash: $hash)\n }\n"], ["\n query IsEmailExists($email: String, $hash: String){\n isEmailExists(email: $email, hash: $hash)\n }\n"])));
13739
13765
  // Save (create or update) account mutation
13740
- var SaveMutation = core.gql(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n mutation SaveAccount($data:AccountVOInput){\n data: saveAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n"], ["\n mutation SaveAccount($data:AccountVOInput){\n data: saveAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n"])), Fragments.account);
13766
+ var SaveMutation$1 = core.gql(templateObject_4$3 || (templateObject_4$3 = __makeTemplateObject(["\n mutation SaveAccount($data:AccountVOInput){\n data: saveAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n"], ["\n mutation SaveAccount($data:AccountVOInput){\n data: saveAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n"])), Fragments$1.account);
13741
13767
  // Create account mutation
13742
- var CreateMutation = core.gql(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n mutation CreateAccount($data:AccountVOInput){\n data: createAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n"], ["\n mutation CreateAccount($data:AccountVOInput){\n data: createAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n"])), Fragments.account);
13768
+ var CreateMutation = core.gql(templateObject_5$2 || (templateObject_5$2 = __makeTemplateObject(["\n mutation CreateAccount($data:AccountVOInput){\n data: createAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n"], ["\n mutation CreateAccount($data:AccountVOInput){\n data: createAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n"])), Fragments$1.account);
13743
13769
  // Sent confirmation email
13744
13770
  var SendConfirmEmailMutation = core.gql(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n mutation sendAccountConfirmationEmail($email:String, $locale:String){\n sendAccountConfirmationEmail(email: $email, locale: $locale)\n }\n"], ["\n mutation sendAccountConfirmationEmail($email:String, $locale:String){\n sendAccountConfirmationEmail(email: $email, locale: $locale)\n }\n"])));
13745
13771
  // Confirm account email
@@ -14138,7 +14164,7 @@
14138
14164
  error_3 = _b.sent();
14139
14165
  console.error(error_3);
14140
14166
  this.resetData();
14141
- throw { code: ErrorCodes.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
14167
+ throw { code: ErrorCodes$2.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
14142
14168
  case 4:
14143
14169
  // Store pubkey+keypair
14144
14170
  this.data.pubkey = Base58.encode(keypair.publicKey);
@@ -14174,7 +14200,7 @@
14174
14200
  return [3 /*break*/, 18];
14175
14201
  case 11:
14176
14202
  err_1 = _b.sent();
14177
- if (!(err_1 && +(err_1.code) === ErrorCodes.LOAD_ACCOUNT_ERROR)) return [3 /*break*/, 17];
14203
+ if (!(err_1 && +(err_1.code) === ErrorCodes$2.LOAD_ACCOUNT_ERROR)) return [3 /*break*/, 17];
14178
14204
  if (!(data.username.indexOf('@') !== -1)) return [3 /*break*/, 16];
14179
14205
  isEmailExists = void 0;
14180
14206
  _b.label = 12;
@@ -14190,12 +14216,12 @@
14190
14216
  case 15:
14191
14217
  // Email not exists (no account)
14192
14218
  if (!isEmailExists) {
14193
- throw { code: ErrorCodes.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
14219
+ throw { code: ErrorCodes$2.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
14194
14220
  }
14195
14221
  _b.label = 16;
14196
14222
  case 16:
14197
14223
  // Email exists, so error = 'bad password'
14198
- throw { code: ErrorCodes.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
14224
+ throw { code: ErrorCodes$2.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
14199
14225
  case 17: throw err_1; // resend the first error
14200
14226
  case 18:
14201
14227
  _b.trys.push([18, 20, , 21]);
@@ -14367,8 +14393,8 @@
14367
14393
  _b.label = 3;
14368
14394
  case 3: return [3 /*break*/, 6];
14369
14395
  case 4: return [4 /*yield*/, this.graphql.query({
14370
- query: LoadQuery,
14371
- error: { code: ErrorCodes.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
14396
+ query: LoadQuery$1,
14397
+ error: { code: ErrorCodes$2.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
14372
14398
  fetchPolicy: opts && opts.fetchPolicy || 'no-cache' || undefined
14373
14399
  })];
14374
14400
  case 5:
@@ -14406,7 +14432,7 @@
14406
14432
  case 1:
14407
14433
  isEmailExists = _b.sent();
14408
14434
  if (isEmailExists) {
14409
- throw { code: ErrorCodes.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
14435
+ throw { code: ErrorCodes$2.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
14410
14436
  }
14411
14437
  return [2 /*return*/];
14412
14438
  }
@@ -14456,7 +14482,7 @@
14456
14482
  locale: locale
14457
14483
  },
14458
14484
  error: {
14459
- code: ErrorCodes.SENT_CONFIRMATION_EMAIL_FAILED,
14485
+ code: ErrorCodes$2.SENT_CONFIRMATION_EMAIL_FAILED,
14460
14486
  message: 'ERROR.SENT_ACCOUNT_CONFIRMATION_EMAIL_FAILED'
14461
14487
  }
14462
14488
  })];
@@ -14479,7 +14505,7 @@
14479
14505
  code: code
14480
14506
  },
14481
14507
  error: {
14482
- code: ErrorCodes.CONFIRM_EMAIL_FAILED,
14508
+ code: ErrorCodes$2.CONFIRM_EMAIL_FAILED,
14483
14509
  message: 'ERROR.CONFIRM_ACCOUNT_EMAIL_FAILED'
14484
14510
  }
14485
14511
  })];
@@ -14501,7 +14527,7 @@
14501
14527
  interval: 10
14502
14528
  },
14503
14529
  error: {
14504
- code: ErrorCodes.SUBSCRIBE_ACCOUNT_ERROR,
14530
+ code: ErrorCodes$2.SUBSCRIBE_ACCOUNT_ERROR,
14505
14531
  message: 'ERROR.ACCOUNT.SUBSCRIBE_ACCOUNT_ERROR'
14506
14532
  }
14507
14533
  }).subscribe({
@@ -14647,7 +14673,7 @@
14647
14673
  throw error_6;
14648
14674
  console.error(error_6);
14649
14675
  throw {
14650
- code: ErrorCodes.LOAD_ACCOUNT_ERROR,
14676
+ code: ErrorCodes$2.LOAD_ACCOUNT_ERROR,
14651
14677
  message: 'ERROR.LOAD_ACCOUNT_ERROR'
14652
14678
  };
14653
14679
  case 4: return [2 /*return*/];
@@ -14821,7 +14847,7 @@
14821
14847
  case 1:
14822
14848
  existingAccount = _b.sent();
14823
14849
  if (!existingAccount || !existingAccount.updateDate) {
14824
- throw { code: ErrorCodes.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
14850
+ throw { code: ErrorCodes$2.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
14825
14851
  }
14826
14852
  this.copyIdAndUpdateDate(existingAccount, account);
14827
14853
  _b.label = 2;
@@ -14830,10 +14856,10 @@
14830
14856
  // User not allow to change his profiles
14831
14857
  delete json.profiles;
14832
14858
  return [4 /*yield*/, this.graphql.mutate({
14833
- mutation: isNew ? CreateMutation : SaveMutation,
14859
+ mutation: isNew ? CreateMutation : SaveMutation$1,
14834
14860
  variables: { data: json },
14835
14861
  error: {
14836
- code: ErrorCodes.SAVE_ACCOUNT_ERROR,
14862
+ code: ErrorCodes$2.SAVE_ACCOUNT_ERROR,
14837
14863
  message: 'ERROR.SAVE_ACCOUNT_ERROR'
14838
14864
  }
14839
14865
  })];
@@ -14861,7 +14887,7 @@
14861
14887
  if (counter > 4) {
14862
14888
  if (this._debug)
14863
14889
  console.debug("[account] Failed to authentication on pod (after " + counter + " attempts)");
14864
- throw { code: ErrorCodes.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
14890
+ throw { code: ErrorCodes$2.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
14865
14891
  }
14866
14892
  if (!token) return [3 /*break*/, 2];
14867
14893
  return [4 /*yield*/, this.graphql.query({
@@ -14870,7 +14896,7 @@
14870
14896
  token: token
14871
14897
  },
14872
14898
  error: {
14873
- code: ErrorCodes.UNAUTHORIZED,
14899
+ code: ErrorCodes$2.UNAUTHORIZED,
14874
14900
  message: 'ERROR.UNAUTHORIZED'
14875
14901
  },
14876
14902
  fetchPolicy: 'no-cache'
@@ -14887,7 +14913,7 @@
14887
14913
  _b.label = 2;
14888
14914
  case 2:
14889
14915
  challengeError = {
14890
- code: ErrorCodes.AUTH_CHALLENGE_ERROR,
14916
+ code: ErrorCodes$2.AUTH_CHALLENGE_ERROR,
14891
14917
  message: 'ERROR.AUTH_CHALLENGE_ERROR'
14892
14918
  };
14893
14919
  return [4 /*yield*/, this.graphql.query({
@@ -14929,7 +14955,7 @@
14929
14955
  };
14930
14956
  return AccountService;
14931
14957
  }(BaseGraphqlService));
14932
- 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" });
14958
+ 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" });
14933
14959
  AccountService.decorators = [
14934
14960
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
14935
14961
  ];
@@ -14942,7 +14968,7 @@
14942
14968
  { type: FileService },
14943
14969
  { type: undefined, decorators: [{ type: i0.Inject, args: [ENVIRONMENT,] }] }
14944
14970
  ]; };
14945
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10;
14971
+ 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;
14946
14972
 
14947
14973
  var Software_1, Configuration_1;
14948
14974
  // @dynamic
@@ -15194,13 +15220,13 @@
15194
15220
  /* ------------------------------------
15195
15221
  * GraphQL queries
15196
15222
  * ------------------------------------*/
15197
- var Fragments$1 = {
15198
- 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 "])))
15223
+ var Fragments = {
15224
+ 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 "])))
15199
15225
  };
15200
- 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);
15226
+ 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);
15201
15227
  // Save (create or update) account mutation
15202
- var SaveMutation$1 = core.gql(templateObject_3$1 || (templateObject_3$1 = __makeTemplateObject(["\n mutation SaveConfiguration($data: ConfigurationVOInput){\n data: saveConfiguration(config: $data){\n ...ConfigFragment\n }\n }\n ", "\n"], ["\n mutation SaveConfiguration($data: ConfigurationVOInput){\n data: saveConfiguration(config: $data){\n ...ConfigFragment\n }\n }\n ", "\n"])), Fragments$1.config);
15203
- 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"])));
15228
+ 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);
15229
+ 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"])));
15204
15230
  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"])));
15205
15231
  var APP_CONFIG_OPTIONS = new i0.InjectionToken('defaultOptions');
15206
15232
  var ConfigService = /** @class */ (function (_super) {
@@ -15293,12 +15319,12 @@
15293
15319
  case 0:
15294
15320
  now = Date.now();
15295
15321
  console.debug('[config] Loading Pod configuration...');
15296
- query = opts && opts.query || LoadQuery$1;
15322
+ query = opts && opts.query || LoadQuery;
15297
15323
  variables = opts && opts.variables || undefined;
15298
15324
  return [4 /*yield*/, this.graphql.query({
15299
15325
  query: query,
15300
15326
  variables: variables,
15301
- error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
15327
+ error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
15302
15328
  fetchPolicy: opts && opts.fetchPolicy || undefined /*default*/
15303
15329
  })];
15304
15330
  case 1:
@@ -15332,12 +15358,12 @@
15332
15358
  console.debug('[config] Saving Pod configuration...', config);
15333
15359
  json = config.asObject();
15334
15360
  return [4 /*yield*/, this.graphql.mutate({
15335
- mutation: SaveMutation$1,
15361
+ mutation: SaveMutation,
15336
15362
  variables: {
15337
15363
  data: json
15338
15364
  },
15339
15365
  error: {
15340
- code: ErrorCodes.SAVE_CONFIG_ERROR,
15366
+ code: ErrorCodes$2.SAVE_CONFIG_ERROR,
15341
15367
  message: 'ERROR.SAVE_CONFIG_ERROR'
15342
15368
  }
15343
15369
  })];
@@ -15372,7 +15398,7 @@
15372
15398
  return [4 /*yield*/, this.graphql.query({
15373
15399
  query: CacheStatistics,
15374
15400
  variables: null,
15375
- error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
15401
+ error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
15376
15402
  fetchPolicy: 'network-only'
15377
15403
  })];
15378
15404
  case 1:
@@ -15396,7 +15422,7 @@
15396
15422
  return [4 /*yield*/, this.graphql.query({
15397
15423
  query: ClearCache,
15398
15424
  variables: variables,
15399
- error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
15425
+ error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
15400
15426
  fetchPolicy: 'network-only'
15401
15427
  })];
15402
15428
  case 1:
@@ -15597,7 +15623,7 @@
15597
15623
  };
15598
15624
  return ConfigService;
15599
15625
  }(BaseGraphqlService));
15600
- 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" });
15626
+ 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" });
15601
15627
  ConfigService.decorators = [
15602
15628
  { type: i0.Injectable, args: [{
15603
15629
  providedIn: 'root',
@@ -15615,11 +15641,11 @@
15615
15641
  { type: undefined, decorators: [{ type: i0.Inject, args: [ENVIRONMENT,] }] },
15616
15642
  { type: undefined, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [APP_CONFIG_OPTIONS,] }] }
15617
15643
  ]; };
15618
- var templateObject_1$1, templateObject_2$1, templateObject_3$1, templateObject_4$1, templateObject_5$1;
15644
+ var templateObject_1$3, templateObject_2$3, templateObject_3$2, templateObject_4$2, templateObject_5$1;
15619
15645
 
15620
- var moment$4 = momentImported__namespace;
15646
+ var moment$2 = momentImported__namespace;
15621
15647
  var PlatformService = /** @class */ (function () {
15622
- function PlatformService(platform, cdkPlatform, toastController, translate, dateAdapter, entitiesStorage, settings, networkService, accountService, configService, cache, storage, audioProvider, environment, statusBar, keyboard, splashScreen, browser) {
15648
+ function PlatformService(platform, cdkPlatform, toastController, translate, dateAdapter, entitiesStorage, settings, networkService, accountService, configService, cache, storage, audioProvider, environment, statusBar, keyboard, splashScreen, browser, downloader) {
15623
15649
  this.platform = platform;
15624
15650
  this.cdkPlatform = cdkPlatform;
15625
15651
  this.toastController = toastController;
@@ -15638,6 +15664,7 @@
15638
15664
  this.keyboard = keyboard;
15639
15665
  this.splashScreen = splashScreen;
15640
15666
  this.browser = browser;
15667
+ this.downloader = downloader;
15641
15668
  this._started = false;
15642
15669
  this._debug = !environment.production;
15643
15670
  if (this._debug)
@@ -15668,6 +15695,9 @@
15668
15695
  PlatformService.prototype.isWebOrDesktop = function () {
15669
15696
  return !this.platform.is('mobile') || this.platform.is('mobileweb');
15670
15697
  };
15698
+ PlatformService.prototype.isAndroidCordova = function () {
15699
+ return this._android && this._cordova;
15700
+ };
15671
15701
  PlatformService.prototype.width = function () {
15672
15702
  return this.platform.width();
15673
15703
  };
@@ -15687,6 +15717,8 @@
15687
15717
  this._startPromise = this.platform.ready()
15688
15718
  .then(function () {
15689
15719
  _this._mobile = _this.platform.is('mobile');
15720
+ _this._cordova = _this.platform.is('cordova');
15721
+ _this._android = _this.platform.is('android');
15690
15722
  _this.configureCordovaPlugins(_this._mobile);
15691
15723
  _this.touchUi = _this._mobile || _this.platform.is('tablet') || _this.platform.is('phablet');
15692
15724
  // Force mobile in settings
@@ -15748,6 +15780,7 @@
15748
15780
  operators.filter(function () { return _this._started; }), operators.first()).toPromise();
15749
15781
  };
15750
15782
  PlatformService.prototype.open = function (url, target, features, replace) {
15783
+ console.info("[platform] Opening link: " + url);
15751
15784
  if (this.browser && this._mobile) {
15752
15785
  this.browser.create(url, target, features).show();
15753
15786
  }
@@ -15755,10 +15788,20 @@
15755
15788
  window.open(url, target, features, replace);
15756
15789
  }
15757
15790
  };
15758
- /*
15759
- chooseFile(): Promise<> {
15760
-
15761
- }*/
15791
+ PlatformService.prototype.download = function (request) {
15792
+ if (!request || !request.uri)
15793
+ throw new Error('Missing argument \'request\' or \'request.uri\'');
15794
+ if (this._android && this._cordova) {
15795
+ request = Object.assign(Object.assign({ visibleInDownloadsUi: true, notificationVisibility: ngx$6.NotificationVisibility.VisibleNotifyCompleted, title: request.filename || '' }, request), { destinationInExternalFilesDir: Object.assign({ dirType: 'Downloads', subPath: request.filename || request.title || '' }, request.destinationInExternalFilesDir) });
15796
+ this.downloader.download(request)
15797
+ .then(function (location) { return console.info('[platform] File successfully downloaded at:' + location); })
15798
+ .catch(function (error) { return console.error(error); });
15799
+ }
15800
+ // Web mode: open URI using the browser
15801
+ else {
15802
+ this.open(request.uri, '_system', 'location=yes');
15803
+ }
15804
+ };
15762
15805
  /* -- protected methods -- */
15763
15806
  PlatformService.prototype.configureCordovaPlugins = function (mobile) {
15764
15807
  console.info('[platform] Configuring Cordova plugins...');
@@ -15793,16 +15836,16 @@
15793
15836
  }
15794
15837
  // config moment lib
15795
15838
  try {
15796
- moment$4.locale(event.lang);
15839
+ moment$2.locale(event.lang);
15797
15840
  console.debug('[platform] Use locale {' + event.lang + '}');
15798
15841
  }
15799
15842
  // If error, fallback to en
15800
15843
  catch (err) {
15801
- moment$4.locale('en');
15844
+ moment$2.locale('en');
15802
15845
  console.warn('[platform] Unknown local for moment lib. Using default [en]');
15803
15846
  }
15804
15847
  // Config date adapter
15805
- _this.dateAdapter.setLocale(moment$4.locale());
15848
+ _this.dateAdapter.setLocale(moment$2.locale());
15806
15849
  }
15807
15850
  });
15808
15851
  this.settings.onChange.subscribe(function (data) {
@@ -15987,7 +16030,7 @@
15987
16030
  };
15988
16031
  return PlatformService;
15989
16032
  }());
15990
- 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)); }, token: PlatformService, providedIn: "root" });
16033
+ 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" });
15991
16034
  PlatformService.decorators = [
15992
16035
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
15993
16036
  ];
@@ -16006,10 +16049,11 @@
16006
16049
  { type: i3$2.Storage },
16007
16050
  { type: AudioProvider },
16008
16051
  { type: undefined, decorators: [{ type: i0.Inject, args: [ENVIRONMENT,] }] },
16009
- { type: ngx$6.StatusBar, decorators: [{ type: i0.Optional }] },
16052
+ { type: ngx$7.StatusBar, decorators: [{ type: i0.Optional }] },
16010
16053
  { type: ngx.Keyboard, decorators: [{ type: i0.Optional }] },
16011
16054
  { type: ngx$5.SplashScreen, decorators: [{ type: i0.Optional }] },
16012
- { type: ngx$7.InAppBrowser, decorators: [{ type: i0.Optional }] }
16055
+ { type: ngx$8.InAppBrowser, decorators: [{ type: i0.Optional }] },
16056
+ { type: ngx$6.Downloader, decorators: [{ type: i0.Optional }] }
16013
16057
  ]; };
16014
16058
 
16015
16059
  var AppHelpModal = /** @class */ (function () {
@@ -16084,7 +16128,7 @@
16084
16128
  };
16085
16129
  return MatStepperI18n;
16086
16130
  }(stepper.MatStepperIntl));
16087
- MatStepperI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(i0.ɵɵinject(i1$2.TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
16131
+ MatStepperI18n.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
16088
16132
  MatStepperI18n.decorators = [
16089
16133
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
16090
16134
  ];
@@ -17276,7 +17320,7 @@
17276
17320
  return 1;
17277
17321
  }
17278
17322
  }
17279
- var ɵ0$9 = function (defaultStateSize) { return [
17323
+ var ɵ0$1 = function (defaultStateSize) { return [
17280
17324
  Math.round((rgbArrayMap.red[0] - 50) / defaultStateSize),
17281
17325
  Math.round((255 - rgbArrayMap.red[1]) / defaultStateSize),
17282
17326
  Math.round((255 - rgbArrayMap.red[2]) / defaultStateSize)
@@ -17284,7 +17328,7 @@
17284
17328
  var SCALE_OPTIONS_DEFAULT = {
17285
17329
  startColor: rgbArrayMap.red,
17286
17330
  startStates: [0, 2, 3],
17287
- startStepsFn: ɵ0$9
17331
+ startStepsFn: ɵ0$1
17288
17332
  };
17289
17333
  /**
17290
17334
  * Internal function, that create a colors scale, using iteration
@@ -17376,24 +17420,24 @@
17376
17420
  return result;
17377
17421
  }
17378
17422
 
17379
- var EntityTestClass = /** @class */ (function () {
17423
+ var EntityTestClass$1 = /** @class */ (function () {
17380
17424
  function EntityTestClass() {
17381
17425
  }
17382
17426
  return EntityTestClass;
17383
17427
  }());
17384
- var FAKE_ENTITIES = [
17428
+ var FAKE_ENTITIES$1 = [
17385
17429
  { id: 1, label: 'AAA', name: 'Item A', description: 'Very long description A', comments: 'Very very long comments... again for A' },
17386
17430
  { id: 2, label: 'BBB', name: 'Item B', description: 'Very long description B', comments: 'Very very long comments... again for B' },
17387
17431
  { id: 3, label: 'CCC', name: 'Item C', description: 'Very long description C', comments: 'Very very long comments... again for C' }
17388
17432
  ];
17389
- function deepCopy(values, size) {
17433
+ function deepCopy$1(values, size) {
17390
17434
  if (isNil(size)) {
17391
- return (values || FAKE_ENTITIES).map(function (entity) { return Object.assign({}, entity); });
17435
+ return (values || FAKE_ENTITIES$1).map(function (entity) { return Object.assign({}, entity); });
17392
17436
  }
17393
17437
  var result = [];
17394
17438
  var i = 1;
17395
17439
  while (result.length < size) {
17396
- result = result.concat((values || FAKE_ENTITIES).map(function (entity) {
17440
+ result = result.concat((values || FAKE_ENTITIES$1).map(function (entity) {
17397
17441
  var name = entity.name + ' #' + i;
17398
17442
  return Object.assign(Object.assign({}, entity), { id: i++, name: name });
17399
17443
  }));
@@ -17403,7 +17447,7 @@
17403
17447
  var AutocompleteTestPage = /** @class */ (function () {
17404
17448
  function AutocompleteTestPage(formBuilder) {
17405
17449
  this.formBuilder = formBuilder;
17406
- this._items = deepCopy(FAKE_ENTITIES, 100);
17450
+ this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
17407
17451
  this.$items = new rxjs.BehaviorSubject(undefined);
17408
17452
  this.autocompleteFields = new MatAutocompleteConfigHolder();
17409
17453
  this.memoryHide = false;
@@ -17448,7 +17492,7 @@
17448
17492
  });
17449
17493
  // From items
17450
17494
  this.autocompleteFields.add('entity-items-large', {
17451
- items: FAKE_ENTITIES.slice(),
17495
+ items: FAKE_ENTITIES$1.slice(),
17452
17496
  attributes: ['label', 'name', 'description', 'comments'],
17453
17497
  displayWith: this.entityToString
17454
17498
  });
@@ -17461,12 +17505,12 @@
17461
17505
  var _this = this;
17462
17506
  return __generator(this, function (_a) {
17463
17507
  data = {
17464
- entity: deepCopy(FAKE_ENTITIES)[0],
17508
+ entity: deepCopy$1(FAKE_ENTITIES$1)[0],
17465
17509
  // This item is NOT in the items list => i should be displayed anyway
17466
17510
  missingEntity: {
17467
17511
  id: -1, label: '??', name: 'Missing item'
17468
17512
  },
17469
- disableEntity: deepCopy(FAKE_ENTITIES)[2]
17513
+ disableEntity: deepCopy$1(FAKE_ENTITIES$1)[2]
17470
17514
  };
17471
17515
  this.form.setValue(data);
17472
17516
  // Load observables
@@ -17664,13 +17708,13 @@
17664
17708
  { type: Array, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [APP_TESTING_PAGES,] }] }
17665
17709
  ]; };
17666
17710
 
17667
- var moment$5 = momentImported__namespace;
17711
+ var moment$1 = momentImported__namespace;
17668
17712
  var SwipeTestPage = /** @class */ (function () {
17669
17713
  function SwipeTestPage(formBuilder, dateFormatPipe) {
17670
17714
  this.formBuilder = formBuilder;
17671
17715
  this.dateFormatPipe = dateFormatPipe;
17672
17716
  this.$dates = new rxjs.BehaviorSubject(undefined);
17673
- this._today = moment$5().startOf('day');
17717
+ this._today = moment$1().startOf('day');
17674
17718
  this.form = formBuilder.group({
17675
17719
  empty: [null, i1.Validators.required],
17676
17720
  date: [null, i1.Validators.compose([i1.Validators.required, SharedValidators.validDate])],
@@ -17684,7 +17728,7 @@
17684
17728
  var _this = this;
17685
17729
  var dates = [];
17686
17730
  for (var d = 0; d < 7; d++) {
17687
- dates[d] = moment$5(this._today).add(d - 3, 'day');
17731
+ dates[d] = moment$1(this._today).add(d - 3, 'day');
17688
17732
  }
17689
17733
  this.$dates.next(dates);
17690
17734
  this.loadData();
@@ -18367,7 +18411,7 @@
18367
18411
  return FormArrayHelper;
18368
18412
  }());
18369
18413
 
18370
- var moment$6 = momentImported__namespace;
18414
+ var moment = momentImported__namespace;
18371
18415
  var DateTimeTestPage = /** @class */ (function () {
18372
18416
  function DateTimeTestPage(platform, formBuilder, cd) {
18373
18417
  this.platform = platform;
@@ -18402,7 +18446,7 @@
18402
18446
  var now, data;
18403
18447
  var _this = this;
18404
18448
  return __generator(this, function (_a) {
18405
- now = moment$6();
18449
+ now = moment();
18406
18450
  data = {
18407
18451
  empty: toDateISOString(now.clone().add(2, 'hours')),
18408
18452
  enable: toDateISOString(now),
@@ -18466,23 +18510,23 @@
18466
18510
  { type: i0.ChangeDetectorRef }
18467
18511
  ]; };
18468
18512
 
18469
- var EntityTestClass$1 = /** @class */ (function () {
18513
+ var EntityTestClass = /** @class */ (function () {
18470
18514
  function EntityTestClass() {
18471
18515
  }
18472
18516
  return EntityTestClass;
18473
18517
  }());
18474
- var FAKE_ENTITIES$1 = [
18518
+ var FAKE_ENTITIES = [
18475
18519
  { id: 1, label: 'AAA', name: 'Item A' },
18476
18520
  { id: 2, label: 'BBB', name: 'Item B' },
18477
18521
  { id: 3, label: 'CCC', name: 'Item C' }
18478
18522
  ];
18479
- function deepCopy$1(values) {
18480
- return (values || FAKE_ENTITIES$1).map(function (entity) { return Object.assign({}, entity); });
18523
+ function deepCopy(values) {
18524
+ return (values || FAKE_ENTITIES).map(function (entity) { return Object.assign({}, entity); });
18481
18525
  }
18482
18526
  var ChipsTestPage = /** @class */ (function () {
18483
18527
  function ChipsTestPage(formBuilder) {
18484
18528
  this.formBuilder = formBuilder;
18485
- this._items = deepCopy$1(FAKE_ENTITIES$1);
18529
+ this._items = deepCopy(FAKE_ENTITIES);
18486
18530
  this._$items = new rxjs.BehaviorSubject(undefined);
18487
18531
  this.autocompleteFields = new MatAutocompleteConfigHolder();
18488
18532
  this.form = formBuilder.group({
@@ -18502,7 +18546,7 @@
18502
18546
  });
18503
18547
  // From items
18504
18548
  this.autocompleteFields.add('entity-items', {
18505
- items: FAKE_ENTITIES$1.slice(),
18549
+ items: FAKE_ENTITIES.slice(),
18506
18550
  attributes: ['label', 'name'],
18507
18551
  displayWith: this.entityToString
18508
18552
  });
@@ -18525,8 +18569,8 @@
18525
18569
  data = {
18526
18570
  entity: [],
18527
18571
  // THis item is NOT in the items list => i should be displayed anyway
18528
- entityInitial: FAKE_ENTITIES$1.slice(1, 2),
18529
- disableEntity: FAKE_ENTITIES$1.slice(1, 2)
18572
+ entityInitial: FAKE_ENTITIES.slice(1, 2),
18573
+ disableEntity: FAKE_ENTITIES.slice(1, 2)
18530
18574
  };
18531
18575
  this.form.setValue(data);
18532
18576
  return [2 /*return*/];
@@ -18536,7 +18580,7 @@
18536
18580
  ChipsTestPage.prototype.loadItems = function () {
18537
18581
  return __awaiter(this, void 0, void 0, function () {
18538
18582
  return __generator(this, function (_a) {
18539
- this._$items.next(deepCopy$1(FAKE_ENTITIES$1));
18583
+ this._$items.next(deepCopy(FAKE_ENTITIES));
18540
18584
  return [2 /*return*/];
18541
18585
  });
18542
18586
  });
@@ -18573,7 +18617,7 @@
18573
18617
  { type: i1.FormBuilder }
18574
18618
  ]; };
18575
18619
 
18576
- var routes = [
18620
+ var routes$1 = [
18577
18621
  {
18578
18622
  path: '',
18579
18623
  pathMatch: 'full',
@@ -18623,7 +18667,7 @@
18623
18667
  i1.ReactiveFormsModule,
18624
18668
  SharedMaterialModule,
18625
18669
  i1$2.TranslateModule.forChild(),
18626
- i3.RouterModule.forChild(routes)
18670
+ i3.RouterModule.forChild(routes$1)
18627
18671
  ],
18628
18672
  declarations: [
18629
18673
  MaterialTestingPage,
@@ -19741,7 +19785,7 @@
19741
19785
  };
19742
19786
  return UserSettingsValidatorService;
19743
19787
  }(AppValidatorService));
19744
- UserSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(i0.ɵɵinject(i1.FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
19788
+ UserSettingsValidatorService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(i0__namespace.ɵɵinject(i1__namespace$6.FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
19745
19789
  UserSettingsValidatorService.decorators = [
19746
19790
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
19747
19791
  ];
@@ -19789,7 +19833,7 @@
19789
19833
  };
19790
19834
  return AccountValidatorService;
19791
19835
  }(AppValidatorService));
19792
- AccountValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(i0.ɵɵinject(i1.FormBuilder), i0.ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
19836
+ 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" });
19793
19837
  AccountValidatorService.decorators = [
19794
19838
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
19795
19839
  ];
@@ -20386,7 +20430,7 @@
20386
20430
  };
20387
20431
  return LocalSettingsValidatorService;
20388
20432
  }(AppValidatorService));
20389
- LocalSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(i0.ɵɵinject(i1.FormBuilder), i0.ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
20433
+ 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" });
20390
20434
  LocalSettingsValidatorService.decorators = [
20391
20435
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
20392
20436
  ];
@@ -21170,7 +21214,7 @@
21170
21214
  };
21171
21215
  return IsOnFieldModePipe;
21172
21216
  }());
21173
- IsOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
21217
+ IsOnFieldModePipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
21174
21218
  IsOnFieldModePipe.decorators = [
21175
21219
  { type: i0.Pipe, args: [{
21176
21220
  name: 'isOnField'
@@ -21185,7 +21229,7 @@
21185
21229
  };
21186
21230
  return IsNotOnFieldModePipe;
21187
21231
  }());
21188
- IsNotOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
21232
+ IsNotOnFieldModePipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
21189
21233
  IsNotOnFieldModePipe.decorators = [
21190
21234
  { type: i0.Pipe, args: [{
21191
21235
  name: 'isNotOnField'
@@ -21203,7 +21247,7 @@
21203
21247
  };
21204
21248
  return PersonToStringPipe;
21205
21249
  }());
21206
- PersonToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
21250
+ PersonToStringPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
21207
21251
  PersonToStringPipe.decorators = [
21208
21252
  { type: i0.Pipe, args: [{
21209
21253
  name: 'personToString'
@@ -21211,6 +21255,9 @@
21211
21255
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
21212
21256
  ];
21213
21257
 
21258
+ var MimeTypes = Object.freeze({
21259
+ ANDROID_APK: 'application/vnd.android.package-archive'
21260
+ });
21214
21261
  var AppInstallUpgradeCard = /** @class */ (function () {
21215
21262
  function AppInstallUpgradeCard(modalCtrl, configService, platform, cd, network, environment) {
21216
21263
  this.modalCtrl = modalCtrl;
@@ -21227,6 +21274,7 @@
21227
21274
  this.showOfflineWarning = true;
21228
21275
  this.showInstallButton = false;
21229
21276
  this.onUpdateOfflineModeClick = new i0.EventEmitter();
21277
+ this.isAndroidCordova = platform.isAndroidCordova();
21230
21278
  }
21231
21279
  Object.defineProperty(AppInstallUpgradeCard.prototype, "showUpdateOfflineFeature", {
21232
21280
  get: function () {
@@ -21282,15 +21330,14 @@
21282
21330
  AppInstallUpgradeCard.prototype.ngOnDestroy = function () {
21283
21331
  this._subscription.unsubscribe();
21284
21332
  };
21285
- AppInstallUpgradeCard.prototype.openDownloadLink = function (event, url) {
21286
- if (!url)
21333
+ AppInstallUpgradeCard.prototype.downloadLink = function (event, link) {
21334
+ if (!link || !link.url)
21287
21335
  return; // Skip
21288
- if (event) {
21289
- event.preventDefault();
21290
- }
21291
- console.info("[install] Opening App download link: " + url);
21292
- this.platform.open(url, '_system', 'location=yes');
21293
- return false;
21336
+ this.platform.download({
21337
+ uri: link.url,
21338
+ filename: link.downloadFilename,
21339
+ mimeType: link.mimeType
21340
+ });
21294
21341
  };
21295
21342
  AppInstallUpgradeCard.prototype.tryOnline = function () {
21296
21343
  var _this = this;
@@ -21316,10 +21363,10 @@
21316
21363
  return '';
21317
21364
  }
21318
21365
  };
21319
- AppInstallUpgradeCard.prototype.getAppFileName = function () {
21320
- return;
21366
+ AppInstallUpgradeCard.prototype.asLink = function (value) {
21367
+ return value;
21321
21368
  };
21322
- /* -- protected method -- */
21369
+ /* -- private method -- */
21323
21370
  AppInstallUpgradeCard.prototype.getCompatibleInstallLinks = function (installLinks) {
21324
21371
  // Cordova already running: not need to install
21325
21372
  if (this.platform.is('cordova'))
@@ -21357,11 +21404,14 @@
21357
21404
  if (url) {
21358
21405
  var downloadFilename = void 0;
21359
21406
  var version = void 0;
21407
+ var mimeType = void 0;
21360
21408
  // Get file name
21361
21409
  var filename = this.getFilename(url);
21362
21410
  version = config.getProperty(CORE_CONFIG_OPTIONS.APP_MIN_VERSION);
21363
21411
  // OK, this is a downloadable APK file (e.g. NOT a link to a playstore)
21364
21412
  if (filename === null || filename === void 0 ? void 0 : filename.endsWith('.apk')) {
21413
+ // Define mime type
21414
+ mimeType = MimeTypes.ANDROID_APK;
21365
21415
  // Get the file version (if any)
21366
21416
  var versionMatches = /-v([1-9][0-9]*\.[0-9]+\.(:?(:?alpha|beta|rc)?[0-9]*))/i.exec(filename);
21367
21417
  version = versionMatches && versionMatches[1] || version;
@@ -21378,7 +21428,7 @@
21378
21428
  }
21379
21429
  }
21380
21430
  }
21381
- result.push({ name: name, url: url, platform: 'android', version: version, downloadFilename: downloadFilename });
21431
+ result.push({ name: name, url: url, platform: 'android', version: version, downloadFilename: downloadFilename, mimeType: mimeType });
21382
21432
  }
21383
21433
  }
21384
21434
  // iOS - TODO
@@ -21407,7 +21457,7 @@
21407
21457
  AppInstallUpgradeCard.decorators = [
21408
21458
  { type: i0.Component, args: [{
21409
21459
  selector: 'app-install-upgrade-card',
21410
- template: "\n\n<!-- Offline mode card-->\n<ion-card *ngIf=\"showOfflineWarning && (!loading && offline || waitingNetwork)\"\n color=\"accent\"\n class=\"main ion-no-margin\"\n @slideUpDownAnimation>\n <ion-card-content class=\"ion-no-padding\">\n <ion-grid>\n <ion-row>\n <ion-col>\n <ion-text class=\"ion-text-wrap\" *ngIf=\"!waitingNetwork; else waitingNetworkText\">\n <h4>\n <b *ngIf=\"isLogin; else notLogin\" [innerHTML]=\"'NETWORK.INFO.OFFLINE_OR_UNAUTHORIZED'| translate\"></b>\n <ng-template #notLogin>\n <b [innerHTML]=\"'NETWORK.INFO.OFFLINE'| translate\"></b>\n </ng-template>\n </h4>\n <h3>\n <small [innerHTML]=\"'NETWORK.INFO.OFFLINE_HELP'|translate\"></small>\n </h3>\n </ion-text>\n <ng-template #waitingNetworkText>\n <ion-text class=\"ion-text-wrap\" [innerHTML]=\"'NETWORK.INFO.RETRY_TO_CONNECT'| translate\"></ion-text>\n </ng-template>\n </ion-col>\n <ion-col size=\"auto\">\n\n <!-- Retry button -->\n <ion-button *ngIf=\"!waitingNetwork; else waitingSpinner\" color=\"tertiary\" class=\"ion-float-end\"\n (click)=\"tryOnline()\">\n <span translate>NETWORK.BTN_CHECK_ALIVE</span>\n </ion-button>\n\n <!-- Waiting spinner -->\n <ng-template #waitingSpinner>\n <ion-spinner *ngIf=\"waitingNetwork\" color=\"light\"></ion-spinner>\n </ng-template>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n </ion-card-content>\n</ion-card>\n\n<!-- Upgrade links -->\n<ion-card *ngIf=\"showUpgradeWarning && !loading && !offline && updateLinks\"\n color=\"accent\"\n class=\"ion-no-margin\"\n @slideUpDownAnimation>\n <ion-card-content class=\"ion-no-padding\">\n <ion-grid>\n <ion-row *ngFor=\"let link of updateLinks; last as last\">\n <ion-col>\n <ion-text class=\"ion-text-wrap\">\n <h3>\n <span *ngIf=\"link.version\" [innerHTML]=\"'INFO.UPDATE_APP_TO_VERSION'| translate: link\"></span>\n <span *ngIf=\"!link.version\" [innerHTML]=\"'INFO.UPDATE_APP'| translate: link\"></span>\n </h3>\n <h4>\n <small *ngIf=\"last\" [innerHTML]=\"'INFO.UPDATE_APP_HELP'|translate\"></small>\n </h4>\n </ion-text>\n </ion-col>\n\n <ion-col size=\"auto\">\n\n <!-- Download button -->\n <ion-button *ngIf=\"link.downloadFilename; else redirectButton\"\n [download]=\"link.downloadFilename\"\n [href]=\"link.url\"\n color=\"tertiary\" class=\"ion-float-end\" >\n <ion-label translate>COMMON.BTN_DOWNLOAD</ion-label>\n </ion-button>\n\n <!-- Redirect button -->\n <ng-template #redirectButton>\n <ion-button [href]=\"link.url\" rel=\"external\" color=\"tertiary\" class=\"ion-float-end\" target=\"_blank\">\n <ion-label translate>COMMON.BTN_SHOW_MORE</ion-label>\n </ion-button>\n </ng-template>\n\n </ion-col>\n </ion-row>\n\n </ion-grid>\n\n </ion-card-content>\n</ion-card>\n\n<!-- Install links -->\n<ion-card *ngIf=\"showInstallButton && !loading && !offline && installLinks\"\n color=\"secondary\"\n class=\"ion-no-margin\"\n @slideUpDownAnimation>\n <ion-card-content class=\"ion-no-padding\">\n <ion-grid>\n <ion-row *ngFor=\"let link of installLinks; last as last\">\n <ion-col>\n <ion-text class=\"ion-text-wrap\">\n <h3 [innerHTML]=\"'INFO.DOWNLOAD_APP_TITLE'| translate: {name: link.name, platform: getPlatformName(link.platform) }\"></h3>\n <h4><small *ngIf=\"last\" [innerHTML]=\"'INFO.DOWNLOAD_APP_HELP'|translate\"></small></h4>\n </ion-text>\n </ion-col>\n <ion-col size=\"auto\">\n\n <!-- Download button -->\n <ion-button *ngIf=\"link.downloadFilename; else redirectButton\"\n [download]=\"link.downloadFilename\"\n [href]=\"link.url\"\n color=\"tertiary\" class=\"ion-float-end\" >\n <ion-label translate>COMMON.BTN_DOWNLOAD</ion-label>\n </ion-button>\n\n <!-- Redirect button -->\n <ng-template #redirectButton>\n <ion-button [href]=\"link.url\" rel=\"external\" color=\"tertiary\" class=\"ion-float-end\" target=\"_blank\">\n <ion-label translate>COMMON.BTN_SHOW_MORE</ion-label>\n </ion-button>\n </ng-template>\n </ion-col>\n </ion-row>\n\n </ion-grid>\n\n </ion-card-content>\n</ion-card>\n\n<!-- Update offline feature card-->\n<ion-card *ngIf=\"showUpdateOfflineFeature && !loading && !offline\"\n color=\"accent\"\n class=\"main ion-no-margin\"\n @slideUpDownAnimation>\n <ion-card-content class=\"ion-no-padding\">\n <ion-grid>\n <ion-row>\n <ion-col>\n <ion-text class=\"ion-text-wrap\">\n <h4>\n <b [innerHTML]=\"'NETWORK.INFO.UPDATE_OFFLINE_MODE'| translate\"></b>\n </h4>\n <h3>\n <small [innerHTML]=\"'NETWORK.INFO.UPDATE_OFFLINE_MODE_HELP'|translate\"></small>\n </h3>\n </ion-text>\n </ion-col>\n <ion-col size=\"auto\">\n\n <!-- Retry button -->\n <ion-button color=\"tertiary\" class=\"ion-float-end\"\n (click)=\"onUpdateOfflineModeClick.emit($event)\">\n <span translate>NETWORK.BTN_UPDATE</span>\n </ion-button>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n </ion-card-content>\n</ion-card>\n\n",
21460
+ template: "\n\n<!-- Offline mode card-->\n<ion-card *ngIf=\"showOfflineWarning && (!loading && offline || waitingNetwork)\"\n color=\"accent\"\n class=\"main ion-no-margin\"\n @slideUpDownAnimation>\n <ion-card-content class=\"ion-no-padding\">\n <ion-grid>\n <ion-row>\n <ion-col>\n <ion-text class=\"ion-text-wrap\" *ngIf=\"!waitingNetwork; else waitingNetworkText\">\n <h4>\n <b *ngIf=\"isLogin; else notLogin\" [innerHTML]=\"'NETWORK.INFO.OFFLINE_OR_UNAUTHORIZED'| translate\"></b>\n <ng-template #notLogin>\n <b [innerHTML]=\"'NETWORK.INFO.OFFLINE'| translate\"></b>\n </ng-template>\n </h4>\n <h3>\n <small [innerHTML]=\"'NETWORK.INFO.OFFLINE_HELP'|translate\"></small>\n </h3>\n </ion-text>\n <ng-template #waitingNetworkText>\n <ion-text class=\"ion-text-wrap\" [innerHTML]=\"'NETWORK.INFO.RETRY_TO_CONNECT'| translate\"></ion-text>\n </ng-template>\n </ion-col>\n <ion-col size=\"auto\">\n\n <!-- Retry button -->\n <ion-button *ngIf=\"!waitingNetwork; else waitingSpinner\" color=\"tertiary\" class=\"ion-float-end\"\n (click)=\"tryOnline()\">\n <span translate>NETWORK.BTN_CHECK_ALIVE</span>\n </ion-button>\n\n <!-- Waiting spinner -->\n <ng-template #waitingSpinner>\n <ion-spinner *ngIf=\"waitingNetwork\" color=\"light\"></ion-spinner>\n </ng-template>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n </ion-card-content>\n</ion-card>\n\n<!-- Upgrade links -->\n<ion-card *ngIf=\"showUpgradeWarning && !loading && !offline && updateLinks\"\n color=\"accent\"\n class=\"ion-no-margin\"\n @slideUpDownAnimation>\n <ion-card-content class=\"ion-no-padding\">\n <ion-grid>\n <ion-row *ngFor=\"let link of updateLinks; last as last\">\n <ion-col>\n <ion-text class=\"ion-text-wrap\">\n <h3>\n <span *ngIf=\"link.version\" [innerHTML]=\"'INFO.UPDATE_APP_TO_VERSION'| translate: link\"></span>\n <span *ngIf=\"!link.version\" [innerHTML]=\"'INFO.UPDATE_APP'| translate: link\"></span>\n </h3>\n <h4>\n <small *ngIf=\"last\" [innerHTML]=\"'INFO.UPDATE_APP_HELP'|translate\"></small>\n </h4>\n </ion-text>\n </ion-col>\n\n <ion-col size=\"auto\">\n\n <!-- Download button -->\n <ion-button *ngIf=\"link.downloadFilename; else redirectButton\"\n [download]=\"link.downloadFilename\"\n [href]=\"link.url\"\n color=\"tertiary\" class=\"ion-float-end\" >\n <ion-label translate>COMMON.BTN_DOWNLOAD</ion-label>\n </ion-button>\n\n <!-- Redirect button -->\n <ng-template #redirectButton>\n <ion-button [href]=\"link.url\" rel=\"external\" color=\"tertiary\" class=\"ion-float-end\" target=\"_blank\">\n <ion-label translate>COMMON.BTN_SHOW_MORE</ion-label>\n </ion-button>\n </ng-template>\n\n </ion-col>\n </ion-row>\n\n </ion-grid>\n\n </ion-card-content>\n</ion-card>\n\n<!-- Install links -->\n<ion-card *ngIf=\"showInstallButton && !loading && !offline && installLinks\"\n color=\"secondary\"\n class=\"ion-no-margin\"\n @slideUpDownAnimation>\n <ion-card-content class=\"ion-no-padding\">\n <ion-grid>\n <ion-row *ngFor=\"let link of installLinks; last as last\">\n <ion-col>\n <ion-text class=\"ion-text-wrap\">\n <h3 [innerHTML]=\"'INFO.DOWNLOAD_APP_TITLE'| translate: {name: link.name, platform: getPlatformName(link.platform) }\"></h3>\n <h4><small *ngIf=\"last\" [innerHTML]=\"'INFO.DOWNLOAD_APP_HELP'|translate\"></small></h4>\n </ion-text>\n </ion-col>\n <ion-col size=\"auto\">\n <ng-container *ngTemplateOutlet=\"downloadButton; context: { $implicit: link }\"></ng-container>\n </ion-col>\n </ion-row>\n\n </ion-grid>\n\n </ion-card-content>\n</ion-card>\n\n<!-- Update offline feature card-->\n<ion-card *ngIf=\"showUpdateOfflineFeature && !loading && !offline\"\n color=\"accent\"\n class=\"main ion-no-margin\"\n @slideUpDownAnimation>\n <ion-card-content class=\"ion-no-padding\">\n <ion-grid>\n <ion-row>\n <ion-col>\n <ion-text class=\"ion-text-wrap\">\n <h4>\n <b [innerHTML]=\"'NETWORK.INFO.UPDATE_OFFLINE_MODE'| translate\"></b>\n </h4>\n <h3>\n <small [innerHTML]=\"'NETWORK.INFO.UPDATE_OFFLINE_MODE_HELP'|translate\"></small>\n </h3>\n </ion-text>\n </ion-col>\n <ion-col size=\"auto\">\n\n <!-- Retry button -->\n <ion-button color=\"tertiary\" class=\"ion-float-end\"\n (click)=\"onUpdateOfflineModeClick.emit($event)\">\n <span translate>NETWORK.BTN_UPDATE</span>\n </ion-button>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n </ion-card-content>\n</ion-card>\n\n<!-- Display a download button, depending on the link URL, and the device platform -->\n<ng-template #downloadButton let-link>\n\n <ng-container *ngIf=\"link.downloadFilename; else redirectButton\">\n\n <!-- Cordova download button -->\n <ion-button *ngIf=\"isAndroidCordova; else webDownloadButton\"\n (click)=\"downloadLink($event, asLink(link))\"\n color=\"tertiary\" class=\"ion-float-end\" >\n <ion-label translate>COMMON.BTN_DOWNLOAD</ion-label>\n </ion-button>\n\n <!-- Web download button -->\n <ng-template #webDownloadButton>\n <ion-button [download]=\"link.downloadFilename\"\n [href]=\"link.url\"\n color=\"tertiary\" class=\"ion-float-end\" >\n <ion-label translate>COMMON.BTN_DOWNLOAD</ion-label>\n </ion-button>\n </ng-template>\n </ng-container>\n\n <!-- Web redirect button -->\n <ng-template #redirectButton>\n <ion-button [href]=\"link.url\" rel=\"external\" color=\"tertiary\" class=\"ion-float-end\" target=\"_blank\">\n <ion-label translate>COMMON.BTN_SHOW_MORE</ion-label>\n </ion-button>\n </ng-template>\n</ng-template>\n",
21411
21461
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
21412
21462
  animations: [slideUpDownAnimation],
21413
21463
  styles: ["ion-text small{font-size:85%}"]
@@ -21438,7 +21488,7 @@
21438
21488
  };
21439
21489
  return IsLoginAccountPipe;
21440
21490
  }());
21441
- IsLoginAccountPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
21491
+ IsLoginAccountPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
21442
21492
  IsLoginAccountPipe.decorators = [
21443
21493
  { type: i0.Pipe, args: [{
21444
21494
  name: 'isLogin'
@@ -21453,7 +21503,7 @@
21453
21503
  };
21454
21504
  return AccountToStringPipe;
21455
21505
  }());
21456
- AccountToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
21506
+ AccountToStringPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
21457
21507
  AccountToStringPipe.decorators = [
21458
21508
  { type: i0.Pipe, args: [{
21459
21509
  name: 'accountToString'
@@ -21471,7 +21521,7 @@
21471
21521
  };
21472
21522
  return DepartmentToStringPipe;
21473
21523
  }());
21474
- DepartmentToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
21524
+ DepartmentToStringPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
21475
21525
  DepartmentToStringPipe.decorators = [
21476
21526
  { type: i0.Pipe, args: [{
21477
21527
  name: 'departmentToString'
@@ -21506,7 +21556,7 @@
21506
21556
  };
21507
21557
  return MenuService;
21508
21558
  }());
21509
- MenuService.ɵprov = i0.ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
21559
+ MenuService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
21510
21560
  MenuService.decorators = [
21511
21561
  { type: i0.Injectable, args: [{
21512
21562
  providedIn: 'root'
@@ -22085,7 +22135,7 @@
22085
22135
  };
22086
22136
  return AuthGuardService;
22087
22137
  }());
22088
- 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" });
22138
+ 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" });
22089
22139
  AuthGuardService.decorators = [
22090
22140
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
22091
22141
  ];
@@ -22136,7 +22186,7 @@
22136
22186
  query: query,
22137
22187
  variables: { id: id },
22138
22188
  fetchPolicy: opts && opts.fetchPolicy || undefined,
22139
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
22189
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
22140
22190
  })
22141
22191
  .pipe(operators.map(function (_b) {
22142
22192
  var data = _b.data;
@@ -22158,7 +22208,7 @@
22158
22208
  query: query,
22159
22209
  variables: { id: id },
22160
22210
  fetchPolicy: opts && opts.fetchPolicy || undefined,
22161
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
22211
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
22162
22212
  })];
22163
22213
  case 1:
22164
22214
  data = (_b.sent()).data;
@@ -22194,7 +22244,7 @@
22194
22244
  totalFieldName: withTotal ? 'total' : undefined,
22195
22245
  insertFilterFn: filter && filter.asFilterFn(),
22196
22246
  variables: variables,
22197
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
22247
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
22198
22248
  fetchPolicy: opts && opts.fetchPolicy || undefined
22199
22249
  })
22200
22250
  .pipe(operators.map(function (_b) {
@@ -22236,7 +22286,7 @@
22236
22286
  return [4 /*yield*/, this.graphql.query({
22237
22287
  query: query,
22238
22288
  variables: variables,
22239
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
22289
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
22240
22290
  fetchPolicy: opts && opts.fetchPolicy || 'network-only'
22241
22291
  })];
22242
22292
  case 1:
@@ -22284,7 +22334,7 @@
22284
22334
  variables: {
22285
22335
  filter: filter && filter.asPodObject()
22286
22336
  },
22287
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
22337
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
22288
22338
  fetchPolicy: opts && opts.fetchPolicy || 'network-only'
22289
22339
  })];
22290
22340
  case 3:
@@ -22326,7 +22376,7 @@
22326
22376
  variables: {
22327
22377
  data: json
22328
22378
  },
22329
- error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
22379
+ error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
22330
22380
  update: function (proxy, _b) {
22331
22381
  var data = _b.data;
22332
22382
  var savedEntities = data && data.data;
@@ -22393,7 +22443,7 @@
22393
22443
  variables: {
22394
22444
  data: json
22395
22445
  },
22396
- error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
22446
+ error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
22397
22447
  update: function (cache, _b) {
22398
22448
  var data = _b.data;
22399
22449
  // Update entity
@@ -22451,7 +22501,7 @@
22451
22501
  refetchQueries: this.getRefetchQueriesForMutation(opts),
22452
22502
  awaitRefetchQueries: opts && opts.awaitRefetchQueries,
22453
22503
  variables: { ids: ids },
22454
- error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
22504
+ error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
22455
22505
  update: function (cache, res) {
22456
22506
  // Remove from cache
22457
22507
  if (_this.watchQueriesUpdatePolicy === 'update-cache') {
@@ -22504,7 +22554,7 @@
22504
22554
  refetchQueries: this.getRefetchQueriesForMutation(opts),
22505
22555
  awaitRefetchQueries: opts && opts.awaitRefetchQueries,
22506
22556
  variables: { id: id },
22507
- error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
22557
+ error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
22508
22558
  update: function (proxy, res) {
22509
22559
  // Remove from cache
22510
22560
  if (_this.watchQueriesUpdatePolicy === 'update-cache') {
@@ -22543,7 +22593,7 @@
22543
22593
  query: opts && opts.query || this.subscriptions.listenChanges,
22544
22594
  variables: variables,
22545
22595
  error: {
22546
- code: ErrorCodes.SUBSCRIBE_DATA_ERROR,
22596
+ code: ErrorCodes$2.SUBSCRIBE_DATA_ERROR,
22547
22597
  message: 'ERROR.SUBSCRIBE_DATA_ERROR'
22548
22598
  }
22549
22599
  })
@@ -22752,7 +22802,7 @@
22752
22802
  if (this._debug)
22753
22803
  invalidRows.forEach(function (row) { return AppTableUtils.logRowErrors(row, "[table-datasource] " + _this._logTypeName + " row #" + row.id); });
22754
22804
  // Stop with an error
22755
- throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
22805
+ throw { code: ErrorCodes$2.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
22756
22806
  }
22757
22807
  this._editingRowCount = 0;
22758
22808
  data = void 0;
@@ -23708,14 +23758,14 @@
23708
23758
  case 0:
23709
23759
  opts = Object.assign({ keepEditing: this.keepEditedRowOnSave }, opts);
23710
23760
  if (this.readOnly) {
23711
- throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
23761
+ throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
23712
23762
  }
23713
23763
  this.resetError();
23714
23764
  // Keep edited row id (should be done BEFORE confirmEditCreate() )
23715
23765
  this.previouslyEditedRowId = opts.keepEditing && ((_a = this.editedRow) === null || _a === void 0 ? void 0 : _a.editing) ? this.editedRow.id : undefined;
23716
23766
  previouslyEditedData = isNotNil(this.previouslyEditedRowId) && this.editedRow.currentData || ((_b = this.singleSelectedRow) === null || _b === void 0 ? void 0 : _b.currentData);
23717
23767
  if (!this.confirmEditCreate()) {
23718
- throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
23768
+ throw { code: ErrorCodes$2.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
23719
23769
  }
23720
23770
  // Mark as saving
23721
23771
  this.markAsSaving();
@@ -23868,7 +23918,7 @@
23868
23918
  switch (_d.label) {
23869
23919
  case 0:
23870
23920
  if (this.readOnly) {
23871
- throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
23921
+ throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
23872
23922
  }
23873
23923
  if (event === null || event === void 0 ? void 0 : event.defaultPrevented)
23874
23924
  return [2 /*return*/, 0]; // SKip
@@ -25564,7 +25614,7 @@
25564
25614
  case 4:
25565
25615
  data = _b.sent();
25566
25616
  if (!data)
25567
- throw { code: ErrorCodes.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
25617
+ throw { code: ErrorCodes$2.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
25568
25618
  this._usageMode = this.computeUsageMode(data);
25569
25619
  return [4 /*yield*/, this.onEntityLoaded(data, opts)];
25570
25620
  case 5:
@@ -26294,10 +26344,10 @@
26294
26344
  exports.UserEventFilter = __decorate([
26295
26345
  EntityClass({ typename: 'UserEventVO' })
26296
26346
  ], exports.UserEventFilter);
26297
- 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);
26298
- 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);
26299
- 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"])));
26300
- 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);
26347
+ 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);
26348
+ 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);
26349
+ 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"])));
26350
+ 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);
26301
26351
  var UserEventService = /** @class */ (function (_super) {
26302
26352
  __extends(UserEventService, _super);
26303
26353
  function UserEventService(graphql, accountService, network, translate, toastController, environment) {
@@ -26618,7 +26668,7 @@
26618
26668
  };
26619
26669
  return UserEventService;
26620
26670
  }(BaseGraphqlService));
26621
- 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" });
26671
+ 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" });
26622
26672
  UserEventService.decorators = [
26623
26673
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
26624
26674
  ];
@@ -26630,7 +26680,7 @@
26630
26680
  { type: i1$5.ToastController },
26631
26681
  { type: undefined, decorators: [{ type: i0.Inject, args: [ENVIRONMENT,] }] }
26632
26682
  ]; };
26633
- var templateObject_1$3, templateObject_2$3, templateObject_3$2, templateObject_4$2;
26683
+ var templateObject_1$1, templateObject_2$1, templateObject_3$1, templateObject_4$1;
26634
26684
 
26635
26685
  var ICONS_MAP = {
26636
26686
  DEBUG_DATA: { matIcon: 'bug_report' },
@@ -26891,16 +26941,16 @@
26891
26941
  ], exports.PersonFilter);
26892
26942
 
26893
26943
  var PersonFragments = {
26894
- 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 }"])))
26944
+ 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 }"])))
26895
26945
  };
26896
26946
  // Load persons query
26897
26947
  var PersonQueries = {
26898
- 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),
26899
- 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)
26948
+ 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),
26949
+ 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)
26900
26950
  };
26901
26951
  var PersonMutations = {
26902
- 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),
26903
- 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 }"])))
26952
+ 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),
26953
+ 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 }"])))
26904
26954
  };
26905
26955
  var PersonService = /** @class */ (function (_super_1) {
26906
26956
  __extends(PersonService, _super_1);
@@ -26962,13 +27012,13 @@
26962
27012
  });
26963
27013
  });
26964
27014
  };
26965
- PersonService.prototype.suggest = function (value, filter) {
27015
+ PersonService.prototype.suggest = function (value, filter, sortBy, sortDirection) {
26966
27016
  return __awaiter(this, void 0, void 0, function () {
26967
27017
  return __generator(this, function (_a) {
26968
27018
  if (ReferentialUtils.isNotEmpty(value))
26969
27019
  return [2 /*return*/, { data: [value] }];
26970
27020
  value = (typeof value === 'string' && value !== '*') && value || undefined;
26971
- return [2 /*return*/, this.loadAll(0, !value ? 30 : 10, undefined, undefined, Object.assign(Object.assign({}, filter), { searchText: value, statusIds: filter && filter.statusIds || [StatusIds.ENABLE], userProfiles: filter && filter.userProfiles }), { withTotal: true /* need by autocomplete */ })];
27021
+ return [2 /*return*/, this.loadAll(0, !value ? 30 : 10, sortBy || (filter === null || filter === void 0 ? void 0 : filter.searchAttribute), sortDirection, Object.assign(Object.assign({}, filter), { searchText: value, statusIds: filter && filter.statusIds || [StatusIds.ENABLE], userProfiles: filter && filter.userProfiles }), { withTotal: true /* need by autocomplete */ })];
26972
27022
  });
26973
27023
  });
26974
27024
  };
@@ -27023,7 +27073,7 @@
27023
27073
  };
27024
27074
  return PersonService;
27025
27075
  }(BaseEntityService));
27026
- 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" });
27076
+ 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" });
27027
27077
  PersonService.decorators = [
27028
27078
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
27029
27079
  ];
@@ -27033,7 +27083,7 @@
27033
27083
  { type: NetworkService },
27034
27084
  { type: EntitiesStorage }
27035
27085
  ]; };
27036
- var templateObject_1$4, templateObject_2$4, templateObject_3$3, templateObject_4$3, templateObject_5$2;
27086
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
27037
27087
 
27038
27088
  var PersonValidatorService = /** @class */ (function () {
27039
27089
  function PersonValidatorService(formBuilder, accountValidatorService) {
@@ -27056,7 +27106,7 @@
27056
27106
  };
27057
27107
  return PersonValidatorService;
27058
27108
  }());
27059
- PersonValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(i0.ɵɵinject(i1.FormBuilder), i0.ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
27109
+ 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" });
27060
27110
  PersonValidatorService.decorators = [
27061
27111
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
27062
27112
  ];
@@ -27228,7 +27278,7 @@
27228
27278
  ],
27229
27279
  animations: [slideUpDownAnimation],
27230
27280
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
27231
- styles: [".mat-expansion-panel{margin-bottom:5px}.mat-expansion-panel .form-container mat-form-field{width:100%}.mat-expansion-panel mat-action-row ion-label{line-height:36px}.table-container{height:100%}.mat-table .mat-cell .avatar{height:40px;width:40px;margin:2px 0 0;background-size:cover;background-repeat:no-repeat;background-position:50%}.mat-table .mat-column-avatar{min-width:50px}.mat-table .mat-column-profile{min-width:110px}.mat-table .mat-column-status{min-width:130px}.mat-table .mat-column-department{min-width:150px}"]
27281
+ styles: [".mat-expansion-panel{margin-bottom:5px}.mat-expansion-panel .form-container mat-form-field{width:100%}.mat-expansion-panel mat-action-row ion-label{line-height:36px}.table-container{height:calc(100%)}.mat-table .mat-cell .avatar{height:40px;width:40px;margin:2px 0 0;background-size:cover;background-repeat:no-repeat;background-position:50%}.mat-table .mat-column-avatar{min-width:50px}.mat-table .mat-column-profile{min-width:110px}.mat-table .mat-column-status{min-width:130px}.mat-table .mat-column-department{min-width:150px}"]
27232
27282
  },] }
27233
27283
  ];
27234
27284
  UsersPage.ctorParameters = function () { return [
@@ -27277,16 +27327,16 @@
27277
27327
  ];
27278
27328
  AdminModule.ctorParameters = function () { return []; };
27279
27329
 
27280
- var ɵ0$a = {
27330
+ var ɵ0 = {
27281
27331
  profile: 'ADMIN'
27282
27332
  };
27283
- var routes$1 = [
27333
+ var routes = [
27284
27334
  {
27285
27335
  path: 'users',
27286
27336
  pathMatch: 'full',
27287
27337
  component: UsersPage,
27288
27338
  canActivate: [AuthGuardService],
27289
- data: ɵ0$a
27339
+ data: ɵ0
27290
27340
  }
27291
27341
  ];
27292
27342
  var AdminRoutingModule = /** @class */ (function () {
@@ -27299,13 +27349,13 @@
27299
27349
  imports: [
27300
27350
  SharedRoutingModule,
27301
27351
  AdminModule,
27302
- i3.RouterModule.forChild(routes$1)
27352
+ i3.RouterModule.forChild(routes)
27303
27353
  ],
27304
27354
  exports: [i3.RouterModule]
27305
27355
  },] }
27306
27356
  ];
27307
27357
 
27308
- var ErrorCodes$2 = {
27358
+ var ErrorCodes = {
27309
27359
  LOAD_PERSONS_ERROR: 100,
27310
27360
  SAVE_PERSONS_ERROR: 101,
27311
27361
  DELETE_PERSONS_ERROR: 102,
@@ -27414,7 +27464,7 @@
27414
27464
  exports.EntityStore = EntityStore;
27415
27465
  exports.EntityUtils = EntityUtils;
27416
27466
  exports.Environment = Environment;
27417
- exports.ErrorCodes = ErrorCodes$2;
27467
+ exports.ErrorCodes = ErrorCodes;
27418
27468
  exports.EvenPipe = EvenPipe;
27419
27469
  exports.FileService = FileService;
27420
27470
  exports.FileSizePipe = FileSizePipe;
@@ -27422,7 +27472,7 @@
27422
27472
  exports.FormButtonsBarComponent = FormButtonsBarComponent;
27423
27473
  exports.FormButtonsBarToken = FormButtonsBarToken;
27424
27474
  exports.FormFieldValuesHolder = FormFieldValuesHolder;
27425
- exports.Fragments = Fragments$1;
27475
+ exports.Fragments = Fragments;
27426
27476
  exports.GraphqlService = GraphqlService;
27427
27477
  exports.HAMMER_PRESS_TIME = HAMMER_PRESS_TIME;
27428
27478
  exports.HAMMER_TAP_TIME = HAMMER_TAP_TIME;