@sumaris-net/ngx-components 1.7.2 → 1.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/cdk/table'), require('@angular/cdk/a11y'), require('@angular/cdk/overlay'), require('@angular/cdk/scrolling'), require('@angular/material/core'), require('@angular/material/table'), require('@angular/material/sort'), require('@angular/material/paginator'), require('@angular/material/form-field'), require('@angular/material/input'), require('@angular/material/checkbox'), require('@angular/material/expansion'), require('@angular/material/toolbar'), require('@angular/material/icon'), require('@angular/material/button'), require('@angular/material/menu'), require('@angular/material/select'), require('@angular/material/card'), require('@angular/material/tabs'), require('@angular/material/stepper'), require('@angular/material/list'), require('@angular/material/button-toggle'), require('@angular/material/progress-spinner'), require('@angular/material/progress-bar'), require('@angular/material/radio'), require('@angular/material/badge'), require('@angular/material/slide-toggle'), require('@angular/material/dialog'), require('@angular/material/autocomplete'), require('@angular/forms'), require('rxjs'), require('rxjs/operators'), require('@ngx-translate/core'), require('@ionic/angular'), require('moment'), require('@angular/material-moment-adapter'), require('@ionic-native/keyboard/ngx'), require('angular2-text-mask'), require('ngx-material-timepicker'), require('@angular/material/datepicker'), require('@angular/animations'), require('@angular/material/divider'), require('@angular/material/tooltip'), require('@angular/material/chips'), require('@angular/router'), require('@angular/platform-browser'), require('@angular/common/http'), require('ngx-color-picker'), require('@ionic-native/native-audio/ngx'), require('@ionic-native/vibration/ngx'), require('@ionic-native/audio-management/ngx'), require('@ionic-native/native-audio/ngx/index'), require('@ionic-native/vibration/ngx/index'), require('@ionic-native/audio-management/ngx/index'), require('uuid/v4'), require('@angular/cdk/drag-drop'), require('ngx-markdown'), require('tweetnacl'), require('@ionic/storage'), require('zone.js/dist/zone-error'), require('@ionic-native/splash-screen/ngx'), require('@ionic-native/network/ngx'), require('ionic-cache'), require('ionic-cache/dist/cache.service'), require('@ionic-native/network/ngx/index'), require('@ionic-native/splash-screen/ngx/index'), require('@ionic-native/status-bar/ngx'), require('@angular/cdk/platform'), require('@ionic-native/in-app-browser/ngx'), require('@apollo/client/core'), require('apollo-angular'), require('@apollo/client/link/ws'), require('@apollo/client/utilities'), require('@apollo/client/link/retry'), require('apollo-link-queue'), require('apollo-link-serialize'), require('apollo-link-logger'), require('apollo-angular/http'), require('apollo3-cache-persist'), require('@ionic-native/downloader/ngx'), require('@ionic-native/status-bar/ngx/index'), require('@ionic-native/keyboard/ngx/index'), require('@ionic-native/in-app-browser/ngx/index'), require('@ionic-native/downloader/ngx/index'), require('@e-is/ngx-material-table'), require('@angular/cdk/collections'), require('ngx-jdenticon'), require('tweetnacl-util'), require('scrypt-async'), require('hammerjs')) :
3
3
  typeof define === 'function' && define.amd ? define('@sumaris-net/ngx-components', ['exports', '@angular/core', '@angular/common', '@angular/cdk/table', '@angular/cdk/a11y', '@angular/cdk/overlay', '@angular/cdk/scrolling', '@angular/material/core', '@angular/material/table', '@angular/material/sort', '@angular/material/paginator', '@angular/material/form-field', '@angular/material/input', '@angular/material/checkbox', '@angular/material/expansion', '@angular/material/toolbar', '@angular/material/icon', '@angular/material/button', '@angular/material/menu', '@angular/material/select', '@angular/material/card', '@angular/material/tabs', '@angular/material/stepper', '@angular/material/list', '@angular/material/button-toggle', '@angular/material/progress-spinner', '@angular/material/progress-bar', '@angular/material/radio', '@angular/material/badge', '@angular/material/slide-toggle', '@angular/material/dialog', '@angular/material/autocomplete', '@angular/forms', 'rxjs', 'rxjs/operators', '@ngx-translate/core', '@ionic/angular', 'moment', '@angular/material-moment-adapter', '@ionic-native/keyboard/ngx', 'angular2-text-mask', 'ngx-material-timepicker', '@angular/material/datepicker', '@angular/animations', '@angular/material/divider', '@angular/material/tooltip', '@angular/material/chips', '@angular/router', '@angular/platform-browser', '@angular/common/http', 'ngx-color-picker', '@ionic-native/native-audio/ngx', '@ionic-native/vibration/ngx', '@ionic-native/audio-management/ngx', '@ionic-native/native-audio/ngx/index', '@ionic-native/vibration/ngx/index', '@ionic-native/audio-management/ngx/index', 'uuid/v4', '@angular/cdk/drag-drop', 'ngx-markdown', 'tweetnacl', '@ionic/storage', 'zone.js/dist/zone-error', '@ionic-native/splash-screen/ngx', '@ionic-native/network/ngx', 'ionic-cache', 'ionic-cache/dist/cache.service', '@ionic-native/network/ngx/index', '@ionic-native/splash-screen/ngx/index', '@ionic-native/status-bar/ngx', '@angular/cdk/platform', '@ionic-native/in-app-browser/ngx', '@apollo/client/core', 'apollo-angular', '@apollo/client/link/ws', '@apollo/client/utilities', '@apollo/client/link/retry', 'apollo-link-queue', 'apollo-link-serialize', 'apollo-link-logger', 'apollo-angular/http', 'apollo3-cache-persist', '@ionic-native/downloader/ngx', '@ionic-native/status-bar/ngx/index', '@ionic-native/keyboard/ngx/index', '@ionic-native/in-app-browser/ngx/index', '@ionic-native/downloader/ngx/index', '@e-is/ngx-material-table', '@angular/cdk/collections', 'ngx-jdenticon', 'tweetnacl-util', 'scrypt-async', 'hammerjs'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global['sumaris-net'] = global['sumaris-net'] || {}, global['sumaris-net']['ngx-components'] = {}), global.ng.core, global.ng.common, global.ng.cdk.table, global.ng.cdk.a11y, global.ng.cdk.overlay, global.ng.cdk.scrolling, global.ng.material.core, global.ng.material.table, global.ng.material.sort, global.ng.material.paginator, global.ng.material.formField, global.ng.material.input, global.ng.material.checkbox, global.ng.material.expansion, global.ng.material.toolbar, global.ng.material.icon, global.ng.material.button, global.ng.material.menu, global.ng.material.select, global.ng.material.card, global.ng.material.tabs, global.ng.material.stepper, global.ng.material.list, global.ng.material.buttonToggle, global.ng.material.progressSpinner, global.ng.material.progressBar, global.ng.material.radio, global.ng.material.badge, global.ng.material.slideToggle, global.ng.material.dialog, global.ng.material.autocomplete, global.ng.forms, global.rxjs, global.rxjs.operators, global['ngx-translate'].core, global.ionic.angular, global.moment, global.ng.materialMomentAdapter, global['ionic-native'].keyboard.ngx, global['angular2-text-mask'], global['ngx-material-timepicker'], global.ng.material.datepicker, global.ng.animations, global.ng.material.divider, global.ng.material.tooltip, global.ng.material.chips, global.ng.router, global.ng.platformBrowser, global.ng.common.http, global['ngx-color-picker'], global['ionic-native']['native-audio'].ngx, global['ionic-native'].vibration.ngx, global['ionic-native']['audio-management'].ngx, global['ionic-native']['native-audio'].ngx.index, global['ionic-native'].vibration.ngx.index, global['ionic-native']['audio-management'].ngx.index, global.uuid.v4, global.ng.cdk.dragDrop, global['ngx-markdown'], global.tweetnacl, global.ionic.storage, null, global['ionic-native']['splash-screen'].ngx, global['ionic-native'].network.ngx, global['ionic-cache'], global['ionic-cache/dist/cache'].service, global['ionic-native'].network.ngx.index, global['ionic-native']['splash-screen'].ngx.index, global['ionic-native']['status-bar'].ngx, global.ng.cdk.platform, global['ionic-native']['in-app-browser'].ngx, global.apollo.client.core, global['apollo-angular'], global.apollo.client.link.ws, global.apollo.client.utilities, global.apollo.client.link.retry, global['apollo-link-queue'], global['apollo-link-serialize'], global['apollo-link-logger'], global['apollo-angular'].http, global['apollo3-cache-persist'], global['ionic-native'].downloader.ngx, global['ionic-native']['status-bar'].ngx.index, global['ionic-native'].keyboard.ngx.index, global['ionic-native']['in-app-browser'].ngx.index, global['ionic-native'].downloader.ngx.index, global['e-is']['ngx-material-table'], global.ng.cdk.collections, global['ngx-jdenticon']));
5
- }(this, (function (exports, i0, i1$4, table$1, a11y, overlay, scrolling, i1$3, table, sort$1, paginator, formField, input, checkbox, expansion, toolbar, icon, button, menu, select, card, tabs, stepper, list, buttonToggle, progressSpinner, progressBar, radio, badge, slideToggle, i2, autocomplete, i1, rxjs, operators, i1$2, i1$5, momentImported, i1$1, ngx, angular2TextMask, ngxMaterialTimepicker, datepicker, animations, divider, tooltip, chips, i3, i1$6, i2$1, ngxColorPicker, ngx$2, ngx$3, ngx$1, i2$2, i3$1, i4, uuidv4Imported, dragDrop, ngxMarkdown, tweetnacl, i3$2, zoneError, ngx$5, ngx$4, ionicCache, i6, i9, i10, ngx$7, i2$4, ngx$8, core, i2$3, ws, utilities, retry, QueueLink, SerializingLink, loggerLink, i3$3, apollo3CachePersist, ngx$6, i14, i15, i17, i18, ngxMaterialTable, collections, ngxJdenticon) { 'use strict';
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["sumaris-net"] = global["sumaris-net"] || {}, global["sumaris-net"]["ngx-components"] = {}), global.ng.core, global.ng.common, global.ng.cdk.table, global.ng.cdk.a11y, global.ng.cdk.overlay, global.ng.cdk.scrolling, global.ng.material.core, global.ng.material.table, global.ng.material.sort, global.ng.material.paginator, global.ng.material.formField, global.ng.material.input, global.ng.material.checkbox, global.ng.material.expansion, global.ng.material.toolbar, global.ng.material.icon, global.ng.material.button, global.ng.material.menu, global.ng.material.select, global.ng.material.card, global.ng.material.tabs, global.ng.material.stepper, global.ng.material.list, global.ng.material.buttonToggle, global.ng.material.progressSpinner, global.ng.material.progressBar, global.ng.material.radio, global.ng.material.badge, global.ng.material.slideToggle, global.ng.material.dialog, global.ng.material.autocomplete, global.ng.forms, global.rxjs, global.rxjs.operators, global["ngx-translate"].core, global.ionic.angular, global.moment, global.ng.materialMomentAdapter, global["ionic-native"].keyboard.ngx, global["angular2-text-mask"], global["ngx-material-timepicker"], global.ng.material.datepicker, global.ng.animations, global.ng.material.divider, global.ng.material.tooltip, global.ng.material.chips, global.ng.router, global.ng.platformBrowser, global.ng.common.http, global["ngx-color-picker"], global["ionic-native"]["native-audio"].ngx, global["ionic-native"].vibration.ngx, global["ionic-native"]["audio-management"].ngx, global["ionic-native"]["native-audio"].ngx.index, global["ionic-native"].vibration.ngx.index, global["ionic-native"]["audio-management"].ngx.index, global.uuid.v4, global.ng.cdk.dragDrop, global["ngx-markdown"], global.tweetnacl, global.ionic.storage, null, global["ionic-native"]["splash-screen"].ngx, global["ionic-native"].network.ngx, global["ionic-cache"], global["ionic-cache/dist/cache"].service, global["ionic-native"].network.ngx.index, global["ionic-native"]["splash-screen"].ngx.index, global["ionic-native"]["status-bar"].ngx, global.ng.cdk.platform, global["ionic-native"]["in-app-browser"].ngx, global.apollo.client.core, global["apollo-angular"], global.apollo.client.link.ws, global.apollo.client.utilities, global.apollo.client.link.retry, global["apollo-link-queue"], global["apollo-link-serialize"], global["apollo-link-logger"], global["apollo-angular"].http, global["apollo3-cache-persist"], global["ionic-native"].downloader.ngx, global["ionic-native"]["status-bar"].ngx.index, global["ionic-native"].keyboard.ngx.index, global["ionic-native"]["in-app-browser"].ngx.index, global["ionic-native"].downloader.ngx.index, global["e-is"]["ngx-material-table"], global.ng.cdk.collections, global["ngx-jdenticon"]));
5
+ })(this, (function (exports, i0, i1$4, table$1, a11y, overlay, scrolling, i1$3, table, sort$1, paginator, formField, input, checkbox, expansion, toolbar, icon, button, menu, select, card, tabs, stepper, list, buttonToggle, progressSpinner, progressBar, radio, badge, slideToggle, i2, autocomplete, i1, rxjs, operators, i1$2, i1$5, momentImported, i1$1, ngx, angular2TextMask, ngxMaterialTimepicker, datepicker, animations, divider, tooltip, chips, i3, i1$6, i2$1, ngxColorPicker, ngx$2, ngx$3, ngx$1, i2$2, i3$1, i4, uuidv4Imported, dragDrop, ngxMarkdown, tweetnacl, i3$2, zoneError, ngx$5, ngx$4, ionicCache, i6, i9, i10, ngx$7, i2$4, ngx$8, core, i2$3, ws, utilities, retry, QueueLink, SerializingLink, loggerLink, i3$3, apollo3CachePersist, ngx$6, i14, i15, i17, i18, ngxMaterialTable, collections, ngxJdenticon) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -15,22 +15,45 @@
15
15
  var d = Object.getOwnPropertyDescriptor(e, k);
16
16
  Object.defineProperty(n, k, d.get ? d : {
17
17
  enumerable: true,
18
- get: function () {
19
- return e[k];
20
- }
18
+ get: function () { return e[k]; }
21
19
  });
22
20
  }
23
21
  });
24
22
  }
25
- n['default'] = e;
23
+ n["default"] = e;
26
24
  return Object.freeze(n);
27
25
  }
28
26
 
27
+ var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
28
+ var i1__namespace$3 = /*#__PURE__*/_interopNamespace(i1$4);
29
+ var i1__namespace$2 = /*#__PURE__*/_interopNamespace(i1$3);
30
+ var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2);
31
+ var i1__namespace$6 = /*#__PURE__*/_interopNamespace(i1);
32
+ var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1$2);
33
+ var i1__namespace$4 = /*#__PURE__*/_interopNamespace(i1$5);
29
34
  var momentImported__namespace = /*#__PURE__*/_interopNamespace(momentImported);
35
+ var i1__namespace = /*#__PURE__*/_interopNamespace(i1$1);
36
+ var i3__namespace$3 = /*#__PURE__*/_interopNamespace(i3);
37
+ var i1__namespace$5 = /*#__PURE__*/_interopNamespace(i1$6);
38
+ var i2__namespace$2 = /*#__PURE__*/_interopNamespace(i2$1);
39
+ var i2__namespace = /*#__PURE__*/_interopNamespace(i2$2);
40
+ var i3__namespace = /*#__PURE__*/_interopNamespace(i3$1);
41
+ var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
30
42
  var uuidv4Imported__namespace = /*#__PURE__*/_interopNamespace(uuidv4Imported);
43
+ var i3__namespace$1 = /*#__PURE__*/_interopNamespace(i3$2);
44
+ var i6__namespace = /*#__PURE__*/_interopNamespace(i6);
45
+ var i9__namespace = /*#__PURE__*/_interopNamespace(i9);
46
+ var i10__namespace = /*#__PURE__*/_interopNamespace(i10);
47
+ var i2__namespace$4 = /*#__PURE__*/_interopNamespace(i2$4);
48
+ var i2__namespace$3 = /*#__PURE__*/_interopNamespace(i2$3);
31
49
  var QueueLink__default = /*#__PURE__*/_interopDefaultLegacy(QueueLink);
32
50
  var SerializingLink__default = /*#__PURE__*/_interopDefaultLegacy(SerializingLink);
33
51
  var loggerLink__default = /*#__PURE__*/_interopDefaultLegacy(loggerLink);
52
+ var i3__namespace$2 = /*#__PURE__*/_interopNamespace(i3$3);
53
+ var i14__namespace = /*#__PURE__*/_interopNamespace(i14);
54
+ var i15__namespace = /*#__PURE__*/_interopNamespace(i15);
55
+ var i17__namespace = /*#__PURE__*/_interopNamespace(i17);
56
+ var i18__namespace = /*#__PURE__*/_interopNamespace(i18);
34
57
 
35
58
  var ENVIRONMENT = new i0.InjectionToken('ENV');
36
59
  var Environment = /** @class */ (function () {
@@ -1255,14 +1278,14 @@
1255
1278
  };
1256
1279
  return MatAutocompleteConfigHolder;
1257
1280
  }());
1258
- var noop = function (_) { };
1259
- var ɵ0 = noop;
1281
+ var noop$8 = function (_) { };
1282
+ var ɵ0$b = noop$8;
1260
1283
  var MatAutocompleteField = /** @class */ (function () {
1261
1284
  function MatAutocompleteField(cd, formGroupDir) {
1262
1285
  this.cd = cd;
1263
1286
  this.formGroupDir = formGroupDir;
1264
- this._onChangeCallback = noop;
1265
- this._onTouchedCallback = noop;
1287
+ this._onChangeCallback = noop$8;
1288
+ this._onTouchedCallback = noop$8;
1266
1289
  this.logPrefix = '[mat-autocomplete] ';
1267
1290
  this.formControlName = null;
1268
1291
  this.required = false;
@@ -1972,7 +1995,7 @@
1972
1995
  { type: i0.Component, args: [{
1973
1996
  // eslint-disable-next-line @angular-eslint/component-selector
1974
1997
  selector: 'mat-autocomplete-field',
1975
- template: "<ion-grid class=\"ion-no-padding\">\n <ion-row>\n <ion-col class=\"ion-no-padding\">\n <!-- readonly -->\n <mat-form-field *ngIf=\"_readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n [title]=\"displayValue\"\n class=\"mat-form-field-disabled\">\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <input matInput hidden type=\"text\"\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\" readonly>\n <ion-text>{{displayWith(value)}}</ion-text>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n\n </mat-form-field>\n\n <ng-template #writable>\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-disabled]=\"disabled\"\n [title]=\"displayValue\">\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <!-- Basic select -->\n <mat-select #matSelect\n *ngIf=\"!searchable; else searchableTemplate\"\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\"\n [tabindex]=\"_tabindex\"\n [panelClass]=\"classList\"\n [style.width]=\"panelWidth\"\n (focus)=\"filterMatSelectFocusEvent($event)\"\n (blur)=\"filterMatSelectBlurEvent($event)\"\n (keydown.escape)=\"keydownEscape.emit($event)\"\n (keyup.enter)=\"keyupEnter.emit($event)\"\n [compareWith]=\"equals\"\n [multiple]=\"multiple\"\n [required]=\"required\">\n <mat-select-trigger>{{ displayWith(value) }}</mat-select-trigger>\n\n <!-- header -->\n <ion-row class=\"mat-autocomplete-header ion-no-padding\">\n <ion-col *ngFor=\"let attr of displayAttributes; index as i; last as isLast\" [size]=\"displayColumnSizes[i]\">\n <ion-label [innerHTML]=\"displayColumnNames[i] | translate\"></ion-label>\n </ion-col>\n </ion-row>\n\n <!-- None option -->\n <mat-option *ngIf=\"!required\" class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding\">\n <ion-col class=\"ion-no-padding\">\n <ion-label><i translate>COMMON.EMPTY_OPTION</i></ion-label>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <ng-container *ngIf=\"$filteredItems | async; let items\">\n <!-- No item option -->\n <mat-option *ngIf=\"items | isEmptyArray\" class=\"ion-padding text-italic\" disabled>\n <ion-label>{{noResultMessage | translate}}</ion-label>\n </mat-option>\n\n <!-- options -->\n <mat-option *ngFor=\"let item of items\" [value]=\"item\" class=\"ion-no-padding\">\n <ion-row [classList]=\"item.classList\">\n <ion-col *ngFor=\"let path of displayAttributes; index as i;\"\n [size]=\"displayColumnSizes[i]\">\n <ion-text>{{item | propertyGet: path }}</ion-text>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <!-- More item -->\n <mat-option *ngIf=\"_moreItemsCount\" (ngInit)=\"_initMatSelectInfiniteScroll()\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-container>\n </mat-select>\n\n\n <!--\n NOTE :\n - \"selectInputContent($event) || onFocus.emit($event)\" : call onFocus only when to the input is empty (nothing to select)\n -->\n <ng-template #searchableTemplate>\n <input matInput #matInputText type=\"text\"\n [matAutocomplete]=\"autocomplete\"\n [matAutocompletePosition]=\"matAutocompletePosition\"\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [appAutofocus]=\"autofocus\"\n [tabindex]=\"_tabindex\"\n [required]=\"required\"\n (click)=\"clicked.emit($event)\"\n (focus)=\"filterInputTextFocusEvent($event)\"\n (blur)=\"filterInputTextBlurEvent($event)\"\n (keydown.escape)=\"keydownEscape.emit($event)\"\n (keyup.enter)=\"keyupEnter.emit($event)\"\n (keyup.arrowdown)=\"dropButtonClick.emit($event)\">\n\n <!-- autocomplete -->\n <mat-autocomplete #autocomplete=\"matAutocomplete\"\n autoActiveFirstOption\n [displayWith]=\"displayWith\"\n [class]=\"classList\"\n [panelWidth]=\"panelWidth\">\n\n <ion-row class=\"mat-autocomplete-header ion-no-padding\">\n <ion-col *ngFor=\"let attr of displayAttributes; index as i; last as last\" [size]=\"displayColumnSizes[i]\">\n <ion-label [innerHTML]=\"displayColumnNames[i] | translate\"></ion-label>\n <ion-text color=\"light\" *ngIf=\"last && itemCount; let count\" class=\"ion-float-end ion-padding-end\"><i>{{'COMMON.RESULT_COUNT'|translate: {count: count} }}</i></ion-text>\n </ion-col>\n </ion-row>\n\n <ng-container *ngIf=\"$filteredItems | async; else loadingTemplate; let items\">\n <!-- No item option -->\n <mat-option *ngIf=\"items | isEmptyArray\" class=\"ion-padding text-italic\" disabled>\n <ion-label><i>{{noResultMessage | translate}}</i></ion-label>\n </mat-option>\n\n <mat-option *ngFor=\"let item of items\" [value]=\"item\" class=\"ion-no-padding\">\n <ion-row [classList]=\"item.classList\">\n <ion-col *ngFor=\"let path of displayAttributes; index as i;\"\n [size]=\"displayColumnSizes[i]\">\n <ion-text [innerHTML]=\"item | propertyGet: path | highlight: { search: formControl.value, withAccent: highlightAccent }\"></ion-text>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <!-- More item -->\n <mat-option *ngIf=\"_moreItemsCount\" (ngInit)=\"_initAutocompleteInfiniteScroll()\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-container>\n\n <!-- Loading spinner -->\n <ng-template #loadingTemplate>\n <mat-option *ngIf=\"(matInputText.value | strLength) >= suggestLengthThreshold; else waitMoreCharacterTemplate\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-template>\n\n <!-- Need more characters -->\n <ng-template #waitMoreCharacterTemplate>\n <mat-option class=\"ion-padding text-italic\" disabled>\n <ion-label>\n {{'INFO.PLEASE_TYPE_MORE_CHARACTERS'|translate:{minLength: suggestLengthThreshold} }}\n </ion-label>\n </mat-option>\n </ng-template>\n </mat-autocomplete>\n\n </ng-template>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('entity')\" translate>ERROR.FIELD_INVALID</mat-error>\n <ng-content select=\"[matError]\"></ng-content>\n\n </mat-form-field>\n </ng-template>\n </ion-col>\n <ion-col size=\"auto\" class=\"ion-align-self-center\">\n <ng-content select=\"[matAfter]\"></ng-content>\n </ion-col>\n </ion-row>\n</ion-grid>\n\n<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n\n\n<ng-template #matSuffixTemplate>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"searchable\"\n (click)=\"dropButtonClick.emit($event)\"\n [hidden]=\"disabled\">\n <mat-icon class=\"large select-arrow\">arrow_drop_down</mat-icon>\n </button>\n <button matSuffix type=\"button\" mat-icon-button tabindex=\"-1\"\n *ngIf=\"enabled && mobile && !searchable && !multiple\"\n [title]=\"'COMMON.BTN_SEARCH'|translate\"\n (click)=\"toggleSearch($event)\">\n <mat-icon>search</mat-icon>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clearValue($event)\"\n [hidden]=\"disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <ng-content select=\"[matSuffix]\"></ng-content>\n</ng-template>\n",
1998
+ template: "<ion-grid class=\"ion-no-padding\">\n <ion-row>\n <ion-col class=\"ion-no-padding\">\n <!-- readonly -->\n <mat-form-field *ngIf=\"_readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n [title]=\"displayValue\"\n class=\"mat-form-field-disabled\">\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <input matInput hidden type=\"text\"\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\" readonly>\n <ion-text>{{displayWith(value)}}</ion-text>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n\n </mat-form-field>\n\n <ng-template #writable>\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-disabled]=\"disabled\"\n [title]=\"displayValue\">\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <!-- Basic select -->\n <mat-select #matSelect\n *ngIf=\"!searchable; else searchableTemplate\"\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\"\n [tabindex]=\"_tabindex\"\n [panelClass]=\"classList\"\n [style.width]=\"panelWidth\"\n (focus)=\"filterMatSelectFocusEvent($event)\"\n (blur)=\"filterMatSelectBlurEvent($event)\"\n (keydown.escape)=\"keydownEscape.emit($event)\"\n (keyup.enter)=\"keyupEnter.emit($event)\"\n [compareWith]=\"equals\"\n [multiple]=\"multiple\"\n [required]=\"required\">\n <mat-select-trigger>{{ displayWith(value) }}</mat-select-trigger>\n\n <!-- header -->\n <ion-row class=\"mat-autocomplete-header ion-no-padding\">\n <ion-col *ngFor=\"let attr of displayAttributes; index as i; last as isLast\" [size]=\"displayColumnSizes[i]\">\n <ion-label [innerHTML]=\"displayColumnNames[i] | translate\"></ion-label>\n </ion-col>\n </ion-row>\n\n <!-- None option -->\n <mat-option *ngIf=\"!required\" class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding\">\n <ion-col class=\"ion-no-padding\">\n <ion-label><i translate>COMMON.EMPTY_OPTION</i></ion-label>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <ng-container *ngIf=\"$filteredItems | async; let items\">\n <!-- No item option -->\n <mat-option *ngIf=\"items | isEmptyArray\" class=\"ion-padding text-italic\" disabled>\n <ion-label>{{noResultMessage | translate}}</ion-label>\n </mat-option>\n\n <!-- options -->\n <mat-option *ngFor=\"let item of items\" [value]=\"item\" class=\"ion-no-padding\">\n <ion-row [classList]=\"item.classList\">\n <ion-col *ngFor=\"let path of displayAttributes; index as i;\"\n [size]=\"displayColumnSizes[i]\">\n <ion-text>{{item | propertyGet: path }}</ion-text>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <!-- More item -->\n <mat-option *ngIf=\"_moreItemsCount\" (ngInit)=\"_initMatSelectInfiniteScroll()\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-container>\n </mat-select>\n\n\n <!--\n NOTE :\n - \"selectInputContent($event) || onFocus.emit($event)\" : call onFocus only when to the input is empty (nothing to select)\n -->\n <ng-template #searchableTemplate>\n <input matInput #matInputText type=\"text\"\n [matAutocomplete]=\"autocomplete\"\n [matAutocompletePosition]=\"matAutocompletePosition\"\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [appAutofocus]=\"autofocus\"\n [tabindex]=\"_tabindex\"\n [required]=\"required\"\n (click)=\"clicked.emit($event)\"\n (focus)=\"filterInputTextFocusEvent($event)\"\n (blur)=\"filterInputTextBlurEvent($event)\"\n (keydown.escape)=\"keydownEscape.emit($event)\"\n (keyup.enter)=\"keyupEnter.emit($event)\"\n (keyup.arrowdown)=\"!autocomplete.showPanel && dropButtonClick.emit($event)\">\n\n <!-- autocomplete -->\n <mat-autocomplete #autocomplete=\"matAutocomplete\"\n autoActiveFirstOption\n [displayWith]=\"displayWith\"\n [class]=\"classList\"\n [panelWidth]=\"panelWidth\">\n\n <ion-row class=\"mat-autocomplete-header ion-no-padding\">\n <ion-col *ngFor=\"let attr of displayAttributes; index as i; last as last\" [size]=\"displayColumnSizes[i]\">\n <ion-label [innerHTML]=\"displayColumnNames[i] | translate\"></ion-label>\n <ion-text color=\"light\" *ngIf=\"last && itemCount; let count\" class=\"ion-float-end ion-padding-end\"><i>{{'COMMON.RESULT_COUNT'|translate: {count: count} }}</i></ion-text>\n </ion-col>\n </ion-row>\n\n <ng-container *ngIf=\"$filteredItems | async; else loadingTemplate; let items\">\n <!-- No item option -->\n <mat-option *ngIf=\"items | isEmptyArray\" class=\"ion-padding text-italic\" disabled>\n <ion-label><i>{{noResultMessage | translate}}</i></ion-label>\n </mat-option>\n\n <mat-option *ngFor=\"let item of items\" [value]=\"item\" class=\"ion-no-padding\">\n <ion-row [classList]=\"item.classList\">\n <ion-col *ngFor=\"let path of displayAttributes; index as i;\"\n [size]=\"displayColumnSizes[i]\">\n <ion-text [innerHTML]=\"item | propertyGet: path | highlight: { search: formControl.value, withAccent: highlightAccent }\"></ion-text>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <!-- More item -->\n <mat-option *ngIf=\"_moreItemsCount\" (ngInit)=\"_initAutocompleteInfiniteScroll()\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-container>\n\n <!-- Loading spinner -->\n <ng-template #loadingTemplate>\n <mat-option *ngIf=\"(matInputText.value | strLength) >= suggestLengthThreshold; else waitMoreCharacterTemplate\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-template>\n\n <!-- Need more characters -->\n <ng-template #waitMoreCharacterTemplate>\n <mat-option class=\"ion-padding text-italic\" disabled>\n <ion-label>\n {{'INFO.PLEASE_TYPE_MORE_CHARACTERS'|translate:{minLength: suggestLengthThreshold} }}\n </ion-label>\n </mat-option>\n </ng-template>\n </mat-autocomplete>\n\n </ng-template>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('entity')\" translate>ERROR.FIELD_INVALID</mat-error>\n <ng-content select=\"[matError]\"></ng-content>\n\n </mat-form-field>\n </ng-template>\n </ion-col>\n <ion-col size=\"auto\" class=\"ion-align-self-center\">\n <ng-content select=\"[matAfter]\"></ng-content>\n </ion-col>\n </ion-row>\n</ion-grid>\n\n<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n\n\n<ng-template #matSuffixTemplate>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"searchable\"\n (click)=\"dropButtonClick.emit($event)\"\n [hidden]=\"disabled\">\n <mat-icon class=\"large select-arrow\">arrow_drop_down</mat-icon>\n </button>\n <button matSuffix type=\"button\" mat-icon-button tabindex=\"-1\"\n *ngIf=\"enabled && mobile && !searchable && !multiple\"\n [title]=\"'COMMON.BTN_SEARCH'|translate\"\n (click)=\"toggleSearch($event)\">\n <mat-icon>search</mat-icon>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clearValue($event)\"\n [hidden]=\"disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <ng-content select=\"[matSuffix]\"></ng-content>\n</ng-template>\n",
1976
1999
  providers: [{
1977
2000
  provide: i1.NG_VALUE_ACCESSOR,
1978
2001
  multi: true,
@@ -2055,7 +2078,7 @@
2055
2078
  };
2056
2079
  return DateFormatPipe;
2057
2080
  }());
2058
- 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" });
2081
+ 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" });
2059
2082
  DateFormatPipe.decorators = [
2060
2083
  { type: i0.Pipe, args: [{
2061
2084
  name: 'dateFormat'
@@ -2067,7 +2090,7 @@
2067
2090
  { type: i1$2.TranslateService }
2068
2091
  ]; };
2069
2092
 
2070
- var moment = momentImported__namespace;
2093
+ var moment$6 = momentImported__namespace;
2071
2094
  var DateDiffDurationPipe = /** @class */ (function () {
2072
2095
  function DateDiffDurationPipe(dateAdapter, translate) {
2073
2096
  var _this = this;
@@ -2084,10 +2107,10 @@
2084
2107
  return this.format(startDate, endDate);
2085
2108
  };
2086
2109
  DateDiffDurationPipe.prototype.format = function (startDate, endDate) {
2087
- var duration = moment.duration(endDate.diff(startDate));
2110
+ var duration = moment$6.duration(endDate.diff(startDate));
2088
2111
  if (duration.asMinutes() < 0)
2089
2112
  return '';
2090
- var timeDuration = moment(0)
2113
+ var timeDuration = moment$6(0)
2091
2114
  .hour(duration.hours())
2092
2115
  .minute(duration.minutes());
2093
2116
  var days = Math.floor(duration.asDays());
@@ -2095,7 +2118,7 @@
2095
2118
  };
2096
2119
  return DateDiffDurationPipe;
2097
2120
  }());
2098
- 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" });
2121
+ 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" });
2099
2122
  DateDiffDurationPipe.decorators = [
2100
2123
  { type: i0.Pipe, args: [{
2101
2124
  name: 'dateDiffDuration'
@@ -2117,7 +2140,7 @@
2117
2140
  };
2118
2141
  return DateFromNowPipe;
2119
2142
  }());
2120
- DateFromNowPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(i0.ɵɵinject(i1$1.MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
2143
+ DateFromNowPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(i0__namespace.ɵɵinject(i1__namespace.MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
2121
2144
  DateFromNowPipe.decorators = [
2122
2145
  { type: i0.Pipe, args: [{
2123
2146
  name: 'dateFromNow'
@@ -2186,7 +2209,7 @@
2186
2209
  value *= -1;
2187
2210
  }
2188
2211
  }
2189
- var degrees = roundFloat(value, opts.maxDecimals).toString();
2212
+ var degrees = roundFloat$1(value, opts.maxDecimals).toString();
2190
2213
  // Add sign
2191
2214
  var sign = negative ? '-' : '+';
2192
2215
  if (opts.placeholderChar) {
@@ -2237,7 +2260,7 @@
2237
2260
  }
2238
2261
  var degrees = Math.trunc(value);
2239
2262
  var minutes = Math.trunc((value - degrees) * 60);
2240
- var seconds = roundFloat(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
2263
+ var seconds = roundFloat$1(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
2241
2264
  while (seconds >= 60) {
2242
2265
  seconds -= 60;
2243
2266
  minutes += 1;
@@ -2305,7 +2328,7 @@
2305
2328
  }
2306
2329
  }
2307
2330
  var degrees = Math.trunc(value);
2308
- var minutes = roundFloat((value - degrees) * 60, opts.maxDecimals);
2331
+ var minutes = roundFloat$1((value - degrees) * 60, opts.maxDecimals);
2309
2332
  while (minutes >= 60) {
2310
2333
  minutes -= 60;
2311
2334
  degrees += 1;
@@ -2356,15 +2379,15 @@
2356
2379
  return NaN;
2357
2380
  }
2358
2381
  if (pattern === 'DD')
2359
- return roundFloat(degrees, maxDecimals);
2382
+ return roundFloat$1(degrees, maxDecimals);
2360
2383
  var minutes = (pattern === 'DDMMSS' || pattern === 'DDMM') && parts[1] && parseFloat(parts[1].replace(/,/g, '.')) || 0;
2361
2384
  var seconds = (pattern === 'DDMMSS') && parts[2] && parseFloat(parts[2].replace(/,/g, '.')) || 0;
2362
2385
  var direction = ((pattern === 'DDMMSS') && parts[3]) || ((pattern === 'DDMM') && parts[2]) || undefined;
2363
2386
  var sign = (direction && (direction === 's' || direction === 'S' || direction === 'w' || direction === 'W')) ? -1 : 1;
2364
2387
  degrees = sign * (degrees + minutes / 60 + seconds / (60 * 60));
2365
- return roundFloat(degrees, maxDecimals);
2388
+ return roundFloat$1(degrees, maxDecimals);
2366
2389
  }
2367
- function roundFloat(input, maxDecimals) {
2390
+ function roundFloat$1(input, maxDecimals) {
2368
2391
  if (maxDecimals > 0) {
2369
2392
  var powDecimal = Math.pow(10, maxDecimals);
2370
2393
  return Math.trunc(input * powDecimal + 0.5) / powDecimal;
@@ -2387,7 +2410,7 @@
2387
2410
  };
2388
2411
  return LatLongFormatPipe;
2389
2412
  }());
2390
- LatLongFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
2413
+ LatLongFormatPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
2391
2414
  LatLongFormatPipe.decorators = [
2392
2415
  { type: i0.Pipe, args: [{
2393
2416
  name: 'latLongFormat'
@@ -2400,7 +2423,7 @@
2400
2423
  }
2401
2424
  return LatitudeFormatPipe;
2402
2425
  }());
2403
- LatitudeFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
2426
+ LatitudeFormatPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
2404
2427
  LatitudeFormatPipe.decorators = [
2405
2428
  { type: i0.Pipe, args: [{
2406
2429
  name: 'latitudeFormat'
@@ -2413,7 +2436,7 @@
2413
2436
  }
2414
2437
  return LongitudeFormatPipe;
2415
2438
  }());
2416
- LongitudeFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
2439
+ LongitudeFormatPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
2417
2440
  LongitudeFormatPipe.decorators = [
2418
2441
  { type: i0.Pipe, args: [{
2419
2442
  name: 'longitudeFormat'
@@ -2436,7 +2459,7 @@
2436
2459
  };
2437
2460
  return NumberFormatPipe;
2438
2461
  }());
2439
- NumberFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
2462
+ NumberFormatPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
2440
2463
  NumberFormatPipe.decorators = [
2441
2464
  { type: i0.Pipe, args: [{
2442
2465
  name: 'numberFormat'
@@ -2479,7 +2502,7 @@
2479
2502
  };
2480
2503
  return HighlightPipe;
2481
2504
  }());
2482
- HighlightPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
2505
+ HighlightPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
2483
2506
  HighlightPipe.decorators = [
2484
2507
  { type: i0.Pipe, args: [{
2485
2508
  name: 'highlight'
@@ -2547,7 +2570,7 @@
2547
2570
  { type: i0.Pipe, args: [{ name: 'fileSize' },] }
2548
2571
  ];
2549
2572
 
2550
- var moment$1 = momentImported__namespace;
2573
+ var moment$5 = momentImported__namespace;
2551
2574
  var DATE_UNIX_TIMESTAMP = 'X';
2552
2575
  var DATE_UNIX_MS_TIMESTAMP = 'x';
2553
2576
  var DateUtils = /** @class */ (function () {
@@ -2590,32 +2613,32 @@
2590
2613
  if (!value || momentImported.isMoment(value))
2591
2614
  return value;
2592
2615
  // Parse the input value, as a ISO date time
2593
- var date = moment$1(value, DATE_ISO_PATTERN);
2616
+ var date = moment$5(value, DATE_ISO_PATTERN);
2594
2617
  if (date.isValid())
2595
2618
  return date;
2596
2619
  // Not valid: trying to convert from unix timestamp
2597
2620
  if (typeof value === 'string') {
2598
2621
  console.warn('Wrong date format - Trying to convert from local time: ' + value);
2599
2622
  if (value.length === 10) {
2600
- return moment$1(value, DATE_UNIX_TIMESTAMP);
2623
+ return moment$5(value, DATE_UNIX_TIMESTAMP);
2601
2624
  }
2602
2625
  else if (value.length === 13) {
2603
- return moment$1(value, DATE_UNIX_MS_TIMESTAMP);
2626
+ return moment$5(value, DATE_UNIX_MS_TIMESTAMP);
2604
2627
  }
2605
2628
  }
2606
2629
  console.warn('Unable to parse date: ' + value);
2607
2630
  return undefined;
2608
2631
  }
2609
2632
  function fromUnixTimestamp(timeInSec) {
2610
- return moment$1(timeInSec, DATE_UNIX_TIMESTAMP);
2633
+ return moment$5(timeInSec, DATE_UNIX_TIMESTAMP);
2611
2634
  }
2612
2635
  function fromUnixMsTimestamp(timeInMs) {
2613
- return moment$1(timeInMs, DATE_UNIX_MS_TIMESTAMP);
2636
+ return moment$5(timeInMs, DATE_UNIX_MS_TIMESTAMP);
2614
2637
  }
2615
2638
  function toDuration(value, unit) {
2616
2639
  if (!value)
2617
2640
  return undefined;
2618
- var duration = moment$1.duration(value, unit);
2641
+ var duration = moment$5.duration(value, unit);
2619
2642
  // fix 990+ ms
2620
2643
  if (duration.milliseconds() >= 990) {
2621
2644
  duration.add(1000 - duration.milliseconds(), 'ms');
@@ -2645,7 +2668,7 @@
2645
2668
  };
2646
2669
  return DurationPipe;
2647
2670
  }());
2648
- DurationPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(i0.ɵɵinject(i1$2.TranslateService)); }, token: DurationPipe, providedIn: "root" });
2671
+ DurationPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: DurationPipe, providedIn: "root" });
2649
2672
  DurationPipe.decorators = [
2650
2673
  { type: i0.Pipe, args: [{
2651
2674
  name: 'duration'
@@ -2669,7 +2692,7 @@
2669
2692
  };
2670
2693
  return MathAbsPipe;
2671
2694
  }());
2672
- MathAbsPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
2695
+ MathAbsPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
2673
2696
  MathAbsPipe.decorators = [
2674
2697
  { type: i0.Pipe, args: [{
2675
2698
  name: 'mathAbs'
@@ -2684,7 +2707,7 @@
2684
2707
  };
2685
2708
  return EvenPipe;
2686
2709
  }());
2687
- EvenPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
2710
+ EvenPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
2688
2711
  EvenPipe.decorators = [
2689
2712
  { type: i0.Pipe, args: [{
2690
2713
  name: 'even'
@@ -2699,7 +2722,7 @@
2699
2722
  };
2700
2723
  return OddPipe;
2701
2724
  }());
2702
- OddPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
2725
+ OddPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
2703
2726
  OddPipe.decorators = [
2704
2727
  { type: i0.Pipe, args: [{
2705
2728
  name: 'odd'
@@ -2831,7 +2854,7 @@
2831
2854
  };
2832
2855
  return MapGetPipe;
2833
2856
  }());
2834
- MapGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
2857
+ MapGetPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
2835
2858
  MapGetPipe.decorators = [
2836
2859
  { type: i0.Pipe, args: [{
2837
2860
  name: 'mapGet'
@@ -2848,7 +2871,7 @@
2848
2871
  };
2849
2872
  return MapKeysPipe;
2850
2873
  }());
2851
- MapKeysPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
2874
+ MapKeysPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
2852
2875
  MapKeysPipe.decorators = [
2853
2876
  { type: i0.Pipe, args: [{
2854
2877
  name: 'mapKeys'
@@ -2865,7 +2888,7 @@
2865
2888
  };
2866
2889
  return MapValuesPipe;
2867
2890
  }());
2868
- MapValuesPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
2891
+ MapValuesPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
2869
2892
  MapValuesPipe.decorators = [
2870
2893
  { type: i0.Pipe, args: [{
2871
2894
  name: 'mapValues'
@@ -2881,7 +2904,7 @@
2881
2904
  };
2882
2905
  return IsNotNilOrBlankPipe;
2883
2906
  }());
2884
- IsNotNilOrBlankPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
2907
+ IsNotNilOrBlankPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
2885
2908
  IsNotNilOrBlankPipe.decorators = [
2886
2909
  { type: i0.Pipe, args: [{
2887
2910
  name: 'isNotNilOrBlank'
@@ -2896,7 +2919,7 @@
2896
2919
  };
2897
2920
  return IsNilOrBlankPipe;
2898
2921
  }());
2899
- IsNilOrBlankPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
2922
+ IsNilOrBlankPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
2900
2923
  IsNilOrBlankPipe.decorators = [
2901
2924
  { type: i0.Pipe, args: [{
2902
2925
  name: 'isNilOrBlank'
@@ -2911,7 +2934,7 @@
2911
2934
  };
2912
2935
  return ToStringPipe;
2913
2936
  }());
2914
- ToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
2937
+ ToStringPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
2915
2938
  ToStringPipe.decorators = [
2916
2939
  { type: i0.Pipe, args: [{
2917
2940
  name: 'toString'
@@ -2926,7 +2949,7 @@
2926
2949
  };
2927
2950
  return StrLengthPipe;
2928
2951
  }());
2929
- StrLengthPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
2952
+ StrLengthPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
2930
2953
  StrLengthPipe.decorators = [
2931
2954
  { type: i0.Pipe, args: [{
2932
2955
  name: 'strLength'
@@ -3017,7 +3040,7 @@
3017
3040
  };
3018
3041
  return TranslateContextService;
3019
3042
  }());
3020
- TranslateContextService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(i0.ɵɵinject(i1$2.TranslateService)); }, token: TranslateContextService, providedIn: "root" });
3043
+ TranslateContextService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: TranslateContextService, providedIn: "root" });
3021
3044
  TranslateContextService.decorators = [
3022
3045
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
3023
3046
  ];
@@ -3074,7 +3097,7 @@
3074
3097
  };
3075
3098
  return PropertyGetPipe;
3076
3099
  }());
3077
- PropertyGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
3100
+ PropertyGetPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
3078
3101
  PropertyGetPipe.decorators = [
3079
3102
  { type: i0.Pipe, args: [{
3080
3103
  name: 'propertyGet'
@@ -3100,7 +3123,7 @@
3100
3123
  ngInit: [{ type: i0.Output }]
3101
3124
  };
3102
3125
 
3103
- var moment$2 = momentImported__namespace;
3126
+ var moment$4 = momentImported__namespace;
3104
3127
  // @dynamic
3105
3128
  var SharedValidators = /** @class */ (function () {
3106
3129
  function SharedValidators() {
@@ -3119,7 +3142,7 @@
3119
3142
  };
3120
3143
  SharedValidators.validDate = function (control) {
3121
3144
  var value = control.value;
3122
- var date = !value || moment$2.isMoment(value) ? value : moment$2(control.value, DATE_ISO_PATTERN);
3145
+ var date = !value || moment$4.isMoment(value) ? value : moment$4(control.value, DATE_ISO_PATTERN);
3123
3146
  if (date && (!date.isValid() || date.year() < 1970)) {
3124
3147
  return { validDate: true };
3125
3148
  }
@@ -4285,7 +4308,7 @@
4285
4308
  };
4286
4309
  return FormErrorTranslator;
4287
4310
  }());
4288
- FormErrorTranslator.ɵprov = i0.ɵɵdefineInjectable({ factory: function FormErrorTranslator_Factory() { return new FormErrorTranslator(i0.ɵɵinject(i1$2.TranslateService), i0.ɵɵinject(APP_FORM_ERROR_I18N_KEYS, 8)); }, token: FormErrorTranslator, providedIn: "root" });
4311
+ FormErrorTranslator.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function FormErrorTranslator_Factory() { return new FormErrorTranslator(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService), i0__namespace.ɵɵinject(APP_FORM_ERROR_I18N_KEYS, 8)); }, token: FormErrorTranslator, providedIn: "root" });
4289
4312
  FormErrorTranslator.decorators = [
4290
4313
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
4291
4314
  ];
@@ -4656,9 +4679,9 @@
4656
4679
  var hour = parseInt(durationParts[0] || '0');
4657
4680
  var minute = parseInt(durationParts[1] || '0');
4658
4681
  var value = hour + (minute + 0.5) / 60;
4659
- return roundFloat$1(value, maxDecimals);
4682
+ return roundFloat(value, maxDecimals);
4660
4683
  }
4661
- function roundFloat$1(input, maxDecimals) {
4684
+ function roundFloat(input, maxDecimals) {
4662
4685
  if (maxDecimals > 0) {
4663
4686
  var powDecimal = Math.pow(10, maxDecimals);
4664
4687
  return Math.trunc(input * powDecimal + 0.5) / powDecimal;
@@ -4682,9 +4705,9 @@
4682
4705
  DD: [/[+-]/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '°']
4683
4706
  }
4684
4707
  };
4685
- var noop$1 = function () {
4708
+ var noop$7 = function () {
4686
4709
  };
4687
- var ɵ0$1 = noop$1;
4710
+ var ɵ0$a = noop$7;
4688
4711
  var MatLatLongField = /** @class */ (function () {
4689
4712
  function MatLatLongField(platform, translate, formBuilder, cd, formGroupDir) {
4690
4713
  this.platform = platform;
@@ -4692,8 +4715,8 @@
4692
4715
  this.formBuilder = formBuilder;
4693
4716
  this.cd = cd;
4694
4717
  this.formGroupDir = formGroupDir;
4695
- this._onChangeCallback = noop$1;
4696
- this._onTouchedCallback = noop$1;
4718
+ this._onChangeCallback = noop$7;
4719
+ this._onTouchedCallback = noop$7;
4697
4720
  this._subscription = new rxjs.Subscription();
4698
4721
  this.disabling = false;
4699
4722
  this.writing = false;
@@ -5045,14 +5068,14 @@
5045
5068
  },] }
5046
5069
  ];
5047
5070
 
5048
- var DEFAULT_VALUE_ACCESSOR = {
5071
+ var DEFAULT_VALUE_ACCESSOR$5 = {
5049
5072
  provide: i1.NG_VALUE_ACCESSOR,
5050
5073
  useExisting: i0.forwardRef(function () { return MatDate; }),
5051
5074
  multi: true
5052
5075
  };
5053
- var DAY_MASK = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
5054
- var noop$2 = function () { };
5055
- var ɵ0$2 = noop$2;
5076
+ var DAY_MASK$2 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
5077
+ var noop$6 = function () { };
5078
+ var ɵ0$9 = noop$6;
5056
5079
  var MatDate = /** @class */ (function () {
5057
5080
  function MatDate(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
5058
5081
  this.dateAdapter = dateAdapter;
@@ -5061,12 +5084,12 @@
5061
5084
  this.cd = cd;
5062
5085
  this.keyboard = keyboard;
5063
5086
  this.formGroupDir = formGroupDir;
5064
- this._onChangeCallback = noop$2;
5065
- this._onTouchedCallback = noop$2;
5087
+ this._onChangeCallback = noop$6;
5088
+ this._onTouchedCallback = noop$6;
5066
5089
  this._subscription = new rxjs.Subscription();
5067
5090
  this.writing = true;
5068
5091
  this.disabling = false;
5069
- this.dayMask = DAY_MASK;
5092
+ this.dayMask = DAY_MASK$2;
5070
5093
  this.disabled = false;
5071
5094
  this.floatLabel = 'auto';
5072
5095
  this.readonly = false;
@@ -5335,7 +5358,7 @@
5335
5358
  selector: 'mat-date-field',
5336
5359
  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",
5337
5360
  providers: [
5338
- DEFAULT_VALUE_ACCESSOR,
5361
+ DEFAULT_VALUE_ACCESSOR$5,
5339
5362
  ],
5340
5363
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
5341
5364
  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%}"]
@@ -5368,17 +5391,17 @@
5368
5391
  matInputs: [{ type: i0.ViewChildren, args: ['matInput',] }]
5369
5392
  };
5370
5393
 
5371
- var DEFAULT_VALUE_ACCESSOR$1 = {
5394
+ var DEFAULT_VALUE_ACCESSOR$4 = {
5372
5395
  provide: i1.NG_VALUE_ACCESSOR,
5373
5396
  useExisting: i0.forwardRef(function () { return MatDateTime; }),
5374
5397
  multi: true
5375
5398
  };
5376
5399
  var DAY_MASK$1 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
5377
5400
  var HOUR_REGEXP = /^[012][0-9][:][012345][0-9]$/;
5378
- var HOUR_MASK = [/[012]/, /\d/, ':', /[012345]/, /\d/];
5379
- var noop$3 = function () {
5401
+ var HOUR_MASK$1 = [/[012]/, /\d/, ':', /[012345]/, /\d/];
5402
+ var noop$5 = function () {
5380
5403
  };
5381
- var ɵ0$3 = noop$3;
5404
+ var ɵ0$8 = noop$5;
5382
5405
  var MatDateTime = /** @class */ (function () {
5383
5406
  function MatDateTime(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
5384
5407
  this.platform = platform;
@@ -5388,14 +5411,14 @@
5388
5411
  this.cd = cd;
5389
5412
  this.keyboard = keyboard;
5390
5413
  this.formGroupDir = formGroupDir;
5391
- this._onChangeCallback = noop$3;
5392
- this._onTouchedCallback = noop$3;
5414
+ this._onChangeCallback = noop$5;
5415
+ this._onTouchedCallback = noop$5;
5393
5416
  this._subscription = new rxjs.Subscription();
5394
5417
  this.writing = true;
5395
5418
  this.disabling = false;
5396
5419
  this._readonly = false;
5397
5420
  this.dayMask = DAY_MASK$1;
5398
- this.hourMask = HOUR_MASK;
5421
+ this.hourMask = HOUR_MASK$1;
5399
5422
  this.floatLabel = 'auto';
5400
5423
  this.compact = false;
5401
5424
  this.placeholderChar = DEFAULT_PLACEHOLDER_CHAR;
@@ -5752,7 +5775,7 @@
5752
5775
  selector: 'mat-date-time-field',
5753
5776
  template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled\">\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <input matInput hidden type=\"text\"\n readonly\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <ion-text>{{formControl.value|dateFormat: {pattern: displayPattern} }}</ion-text>\n</mat-form-field>\n\n<!-- writable + time -->\n<ng-template #writable >\n <ion-grid class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding no-wrap\" nowrap>\n\n <!-- day -->\n <ion-col class=\"day ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-invalid]=\"formControl.touched && formControl.invalid\">\n\n <mat-label>{{placeholder}}</mat-label>\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"dateFormControl\"\n [textMask]=\"{mask: dayMask, keepCharPositions: true, placeholderChar: placeholderChar}\"\n [placeholder]=\"'COMMON.DATE_PLACEHOLDER'|translate\"\n (blur)=\"checkIfTouched()\"\n (keyup.arrowdown)=\"openDatePicker($event, datePicker)\"\n (keyup.escape)=\"preventEvent($event)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [appAutofocus]=\"autofocus\">\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"dateFormControl\"\n (click)=\"openDatePickerIfMobile($event, datePicker)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n readonly>\n <input matInput type=\"text\" [formControl]=\"formControl\"\n hidden\n [matDatepicker]=\"datePicker\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n <button type=\"button\" mat-icon-button tabindex=\"-1\" matSuffix #datePickerButton2 (click)=\"openDatePicker($event, datePicker)\" [disabled]=\"formControl.disabled\">\n <div *ngIf=\"mobile; then iconDate; else iconDesktop\"></div>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clear()\"\n [hidden]=\"formControl.disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-datepicker #datePicker\n [touchUi]=\"mobile\"\n [disabled]=\"formControl.disabled\"\n [startAt]=\"startDate\"></mat-datepicker>\n <div class=\"mat-form-field-subscript mat-form-field-subscript-wrapper\" >\n <!-- errors -->\n <ng-container [ngSwitch]=\"formControl.touched && formControl.errors|mapKeys|arrayFirst\">\n <mat-error *ngSwitchCase=\"'required'\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngSwitchCase=\"'validDate'\" translate>ERROR.FIELD_NOT_VALID_DATE_TIME</mat-error>\n <mat-error *ngSwitchCase=\"'dateIsAfter'\">{{'ERROR.FIELD_NOT_VALID_DATE_AFTER' | translate: formControl.errors.dateIsAfter }}</mat-error>\n <mat-error *ngSwitchCase=\"'dateRange'\" translate>ERROR.FIELD_NOT_VALID_DATE_RANGE</mat-error>\n <mat-error *ngSwitchCase=\"'dateMaxDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MAX_DURATION</mat-error>\n <mat-error *ngSwitchCase=\"'dateMinDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MIN_DURATION</mat-error>\n <mat-error *ngSwitchCase=\"'msg'\">{{(formControl.errors.msg?.key || formControl.errors.msg) | translate: formControl.errors.msg?.params}}</mat-error>\n </ng-container>\n <ng-content select=\"mat-error\"></ng-content>\n\n <!-- mat hint -->\n <div class=\"mat-form-field-hint-wrapper\" [class.cdk-visually-hidden]=\"formControl.invalid\">\n <div class=\"mat-form-field-hint-spacer\"></div>\n <ng-content select=\"mat-hint\"></ng-content>\n </div>\n </div>\n\n </ion-col>\n\n <!-- hour -->\n <ion-col class=\"hour ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-invalid]=\"formControl.touched && (timeFormControl.invalid || formControl.invalid)\">\n <mat-label *ngIf=\"placeholder && floatLabel != 'never'\" translate>COMMON.TIME</mat-label>\n <input matInput #matInput type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"timeFormControl\"\n autocomplete=\"off\"\n min=\"0\" max=\"23\"\n [textMask]=\"{mask: hourMask, keepCharPositions: true, placeholderChar: placeholderChar, guide: true}\"\n [placeholder]=\"'COMMON.TIME_PLACEHOLDER'|translate\"\n [required]=\"required\"\n (keyup.arrowdown)=\"openTimePicker($event)\"\n (keyup.escape)=\"preventEvent($event)\"\n (blur)=\"checkIfTouched()\"\n [tabindex]=\"tabindex !== undefined ? tabindex+1 : undefined\">\n\n <input matInput #matInput type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"timeFormControl\"\n (click)=\"openTimePickerIfMobile($event)\"\n readonly>\n\n <input matInput type=\"text\"\n [formControl]=\"timeFormControl\"\n hidden\n [ngxTimepicker]=\"timePicker\"\n [format]=\"24\">\n\n <button matSuffix type=\"button\" mat-icon-button\n tabindex=\"-1\"\n *ngIf=\"!compact && !mobile\"\n [disabled]=\"formControl.disabled\"\n (click)=\"openTimePicker($event)\" >\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n <button matSuffix type=\"button\" mat-icon-button\n tabindex=\"-1\"\n *ngIf=\"!compact && mobile\"\n [disabled]=\"formControl.disabled\"\n (click)=\"openTimePickerIfMobile($event)\">\n <mat-icon>access_time</mat-icon>\n </button>\n\n <ngx-material-timepicker #timePicker [@.disabled]=\"true\"\n (timeSet)=\"onTimePickerChange($event)\"\n [ESC]=\"!mobile\"\n [defaultTime]=\"'00:00'\"\n [cancelBtnTmpl]=\"timePickerCancelButton\"\n [confirmBtnTmpl]=\"timePickerOkButton\"\n [preventOverlayClick]=\"mobile\"\n [enableKeyboardInput]=\"false\"\n [disableAnimation]=\"true\">\n <!-- cancel button -->\n <ng-template #timePickerCancelButton>\n <ion-button fill=\"clear\" color=\"dark\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n </ng-template>\n\n <!-- confirm button -->\n <ng-template #timePickerOkButton>\n <ion-button fill=\"solid\" color=\"tertiary\">\n <ion-label translate>COMMON.BTN_VALIDATE</ion-label>\n </ion-button>\n </ng-template>\n\n </ngx-material-timepicker>\n </mat-form-field>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n\n</ng-template>\n\n<ng-template #iconDesktop>\n <mat-icon>keyboard_arrow_down</mat-icon>\n</ng-template>\n\n<ng-template #iconDate>\n <mat-icon>date_range</mat-icon>\n</ng-template>\n\n<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n",
5754
5777
  providers: [
5755
- DEFAULT_VALUE_ACCESSOR$1,
5778
+ DEFAULT_VALUE_ACCESSOR$4,
5756
5779
  ],
5757
5780
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
5758
5781
  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%}"]
@@ -5786,15 +5809,15 @@
5786
5809
  matInputs: [{ type: i0.ViewChildren, args: ['matInput',] }]
5787
5810
  };
5788
5811
 
5789
- var DEFAULT_VALUE_ACCESSOR$2 = {
5812
+ var DEFAULT_VALUE_ACCESSOR$3 = {
5790
5813
  provide: i1.NG_VALUE_ACCESSOR,
5791
5814
  useExisting: i0.forwardRef(function () { return MatDateShort; }),
5792
5815
  multi: true
5793
5816
  };
5794
- var DAY_MASK$2 = [/\d/, /\d/, /\d/, /\d/];
5817
+ var DAY_MASK = [/\d/, /\d/, /\d/, /\d/];
5795
5818
  var noop$4 = function () {
5796
5819
  };
5797
- var ɵ0$4 = noop$4;
5820
+ var ɵ0$7 = noop$4;
5798
5821
  var MatDateShort = /** @class */ (function () {
5799
5822
  function MatDateShort(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
5800
5823
  this.dateAdapter = dateAdapter;
@@ -5807,7 +5830,7 @@
5807
5830
  this._onTouchedCallback = noop$4;
5808
5831
  this.writing = true;
5809
5832
  this.disabling = false;
5810
- this.dayMask = DAY_MASK$2;
5833
+ this.dayMask = DAY_MASK;
5811
5834
  this.disabled = false;
5812
5835
  this.floatLabel = 'auto';
5813
5836
  this.readonly = false;
@@ -6084,7 +6107,7 @@
6084
6107
  selector: 'mat-date-short-field',
6085
6108
  template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly else writable\">\n <input matInput hidden type=\"text\" readonly=\"true\" [formControl]=\"formControl\">\n <ion-text>{{formControl.value|dateFormat: {pattern: displayPattern} }}</ion-text>\n</mat-form-field>\n\n<ng-template #writable>\n <mat-form-field [floatLabel]=\"floatLabel\">\n\n <mat-label>{{placeholder}}</mat-label>\n\n <div matPrefix><ng-content select=\"[matPrefix]\"></ng-content></div>\n\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"dayControl\"\n [textMask]=\"{mask: dayMask, keepCharPositions: true, placeholderChar: placeholderChar}\"\n [placeholder]=\"'COMMON.DATE_YEAR_PLACEHOLDER'|translate\"\n (blur)=\"checkIfTouched()\"\n (keyup.arrowdown)=\"openDatePicker($event, datePicker1)\"\n (keyup.escape)=\"preventEvent($event)\"\n (click)=\"matInput.select()\"\n [required]=\"required\"\n [tabindex]=\"tabindex\">\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"dayControl\"\n (click)=\"openDatePickerIfMobile($event, datePicker1)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n readonly>\n\n <!-- Hide the final control -->\n <input matInput type=\"text\"\n [formControl]=\"formControl\"\n hidden\n [matDatepicker]=\"datePicker1\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n (click)=\"openDatePicker($event, datePicker1)\"\n [disabled]=\"formControl.disabled\">\n <div *ngIf=\"mobile; then iconDate; else iconDesktop\"></div>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"writeValue(null)\"\n [hidden]=\"formControl.disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('validDate')\" translate>ERROR.FIELD_NOT_VALID_DATE</mat-error>\n <mat-error *ngIf=\"formControl.hasError('dateIsAfter')\">{{'ERROR.FIELD_NOT_VALID_DATE_AFTER' | translate: formControl.errors.dateIsAfter }}</mat-error>\n <mat-error *ngIf=\"formControl.hasError('dateRange')\" translate>ERROR.FIELD_NOT_VALID_DATE_RANGE</mat-error>\n <mat-error *ngIf=\"!formControl.hasError('dateRange') && formControl.hasError('dateMaxDuration')\" translate>ERROR.FIELD_NOT_VALID_DATE_MAX_DURATION</mat-error>\n <mat-error *ngIf=\"!formControl.hasError('dateRange') && formControl.hasError('dateMinDuration')\" translate>ERROR.FIELD_NOT_VALID_DATE_MIN_DURATION</mat-error>\n <mat-error *ngIf=\"formControl.hasError('msg')\">{{formControl.errors.msg}}</mat-error>\n <ng-content select=\"mat-error\"></ng-content>\n </mat-form-field>\n\n <mat-datepicker #datePicker1\n startView=\"multi-year\"\n [touchUi]=\"mobile\"\n [disabled]=\"formControl.disabled\"\n (yearSelected)=\"closeDatePicker($event, datePicker1)\"\n [startAt]=\"startDate\"></mat-datepicker>\n\n <ng-template #iconDesktop>\n <mat-icon>keyboard_arrow_down</mat-icon>\n </ng-template>\n\n <ng-template #iconDate>\n <mat-icon>date_range</mat-icon>\n </ng-template>\n\n</ng-template>\n",
6086
6109
  providers: [
6087
- DEFAULT_VALUE_ACCESSOR$2,
6110
+ DEFAULT_VALUE_ACCESSOR$3,
6088
6111
  ],
6089
6112
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
6090
6113
  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%}"]
@@ -6155,16 +6178,16 @@
6155
6178
  },] }
6156
6179
  ];
6157
6180
 
6158
- var DEFAULT_VALUE_ACCESSOR$3 = {
6181
+ var DEFAULT_VALUE_ACCESSOR$2 = {
6159
6182
  provide: i1.NG_VALUE_ACCESSOR,
6160
6183
  useExisting: i0.forwardRef(function () { return MatDuration; }),
6161
6184
  multi: true
6162
6185
  };
6163
6186
  var HOUR_TIME_PATTERN = /[0-9]\d\d:[0-5]\d/;
6164
- var HOUR_MASK$1 = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
6165
- var noop$5 = function () {
6187
+ var HOUR_MASK = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
6188
+ var noop$3 = function () {
6166
6189
  };
6167
- var ɵ0$5 = noop$5;
6190
+ var ɵ0$6 = noop$3;
6168
6191
  var MatDuration = /** @class */ (function () {
6169
6192
  function MatDuration(platform, dateAdapter, translate, formBuilder, cd, formGroupDir) {
6170
6193
  this.dateAdapter = dateAdapter;
@@ -6173,11 +6196,11 @@
6173
6196
  this.cd = cd;
6174
6197
  this.formGroupDir = formGroupDir;
6175
6198
  this._subscription = new rxjs.Subscription();
6176
- this._onChangeCallback = noop$5;
6177
- this._onTouchedCallback = noop$5;
6199
+ this._onChangeCallback = noop$3;
6200
+ this._onTouchedCallback = noop$3;
6178
6201
  this.writing = true;
6179
6202
  this.disabling = false;
6180
- this.hourMask = HOUR_MASK$1;
6203
+ this.hourMask = HOUR_MASK;
6181
6204
  this.disabled = false;
6182
6205
  this.floatLabel = 'auto';
6183
6206
  this.readonly = false;
@@ -6370,7 +6393,7 @@
6370
6393
  selector: 'mat-duration-field',
6371
6394
  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",
6372
6395
  providers: [
6373
- DEFAULT_VALUE_ACCESSOR$3,
6396
+ DEFAULT_VALUE_ACCESSOR$2,
6374
6397
  ],
6375
6398
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
6376
6399
  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%}"]
@@ -6430,22 +6453,22 @@
6430
6453
  },] }
6431
6454
  ];
6432
6455
 
6433
- var DEFAULT_VALUE_ACCESSOR$4 = {
6456
+ var DEFAULT_VALUE_ACCESSOR$1 = {
6434
6457
  provide: i1.NG_VALUE_ACCESSOR,
6435
6458
  useExisting: i0.forwardRef(function () { return MatBooleanField; }),
6436
6459
  multi: true
6437
6460
  };
6438
- var noop$6 = function () {
6461
+ var noop$2 = function () {
6439
6462
  };
6440
- var ɵ0$6 = noop$6;
6463
+ var ɵ0$5 = noop$2;
6441
6464
  var MatBooleanField = /** @class */ (function () {
6442
6465
  function MatBooleanField(translate, formBuilder, cd, formGroupDir) {
6443
6466
  this.translate = translate;
6444
6467
  this.formBuilder = formBuilder;
6445
6468
  this.cd = cd;
6446
6469
  this.formGroupDir = formGroupDir;
6447
- this._onChangeCallback = noop$6;
6448
- this._onTouchedCallback = noop$6;
6470
+ this._onChangeCallback = noop$2;
6471
+ this._onTouchedCallback = noop$2;
6449
6472
  this._writing = false;
6450
6473
  this.showRadio = false;
6451
6474
  this.disabled = false;
@@ -6620,7 +6643,7 @@
6620
6643
  selector: 'mat-boolean-field',
6621
6644
  template: "<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled {{classList}}\">\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n <input matInput hidden type=\"text\" readonly\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <ion-text>{{(formControl.value == null && 'COMMON.EMPTY_OPTION' || (formControl.value === true && yesLabel) || noLabel) | translate }}</ion-text>\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n</mat-form-field>\n\n<ng-template #writable>\n <ng-container [ngSwitch]=\"style\">\n\n <!-- Radio -->\n <mat-form-field *ngSwitchCase=\"'radio'\"\n [floatLabel]=\"showRadio && (!floatLabel || floatLabel === 'auto') ? 'always': floatLabel\"\n class=\"mat-boolean-field mat-boolean-field-radio {{classList}}\">\n <mat-label *ngIf=\"placeholder && floatLabel!=='never'\">\n {{placeholder}}\n <span [hidden]=\"showRadio\">({{yesLabel|translate}}/{{'COMMON.NO'|translate}})</span>\n </mat-label>\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n <input matInput #fakeInput type=\"text\" readonly=\"true\"\n [formControl]=\"formControl\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showRadio\"\n [tabindex]=\"tabindex\">\n\n <!-- radio button -->\n <mat-radio-group [hidden]=\"!showRadio\"\n [formControl]=\"formControl\"\n (change)=\"onRadioValueChanged($event)\">\n <mat-radio-button #yesButton [value]=\"true\">\n <span>{{yesLabel|translate}}</span>\n </mat-radio-button>&nbsp;\n <mat-radio-button #noButton [value]=\"false\">\n <span>{{noLabel|translate}}</span>\n </mat-radio-button>\n </mat-radio-group>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n </mat-form-field>\n\n <!-- Checkbox -->\n <mat-form-field *ngSwitchCase=\"'checkbox'\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-boolean-field mat-boolean-field-checkbox {{classList}}\">\n <mat-label *ngIf=\"placeholder && !showRadio\">\n {{placeholder}}\n </mat-label>\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n <input matInput #matInput\n [formControl]=\"formControl\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showRadio\"\n [tabindex]=\"tabindex\">\n\n <ion-label>&nbsp;</ion-label>\n\n <!-- checkbox, when compact -->\n <mat-checkbox #checkboxButton\n [formControl]=\"formControl\"\n (change)=\"onCheckboxValueChanged($event)\"\n [indeterminate]=\"value===undefined\"\n [hidden]=\"!showRadio\"\n [tabindex]=\"tabindex\">\n </mat-checkbox>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n </mat-form-field>\n\n <!-- Buttons -->\n <mat-form-field *ngSwitchCase=\"'button'\"\n [floatLabel]=\"floatLabel === 'never' ? 'never' : 'always'\"\n class=\"mat-boolean-field mat-boolean-field-button {{classList}}\">\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n <input matInput type=\"text\" hidden\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [required]=\"required\">\n <div class=\"mat-form-field-buttons\"\n [style.--buttons-col-count]=\"buttonsColCount\"\n *ngIf=\"!formControl.disabled; else disabledLabel\">\n <!-- yes -->\n <ion-button class=\"mat-form-field-button\"\n [tabindex]=\"_tabindex\"\n (click)=\"writeValue(true, $event)\"\n (keyup.enter)=\"writeValue(true, $event)\"\n [color]=\"_value == null ? 'tertiary' : (_value === true) ? 'accent' : 'light'\">\n <ion-icon *ngIf=\"showButtonIcons && yesIcon; let icon\" slot=\"start\" [name]=\"icon\"></ion-icon>\n {{yesLabel|translate}}\n </ion-button>\n\n <!-- No button -->\n <ion-button class=\"mat-form-field-button\"\n [tabindex]=\"_tabindex !== undefined ? (_tabindex + 1) : undefined\"\n (click)=\"writeValue(false, $event)\"\n (keyup.enter)=\"writeValue(false, $event)\"\n [color]=\"_value == null ? 'tertiary' : (_value === false) ? 'accent' : 'light'\">\n <ion-icon *ngIf=\"showButtonIcons && noIcon; let icon\" slot=\"start\" [name]=\"icon\"></ion-icon>\n {{noLabel|translate}}\n </ion-button>\n </div>\n <ng-template #disabledLabel>\n <ion-label><i translate>COMMON.EMPTY_OPTION</i></ion-label>\n </ng-template>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n\n </mat-form-field>\n </ng-container>\n\n</ng-template>\n\n\n<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n<ng-template #matSuffixTemplate>\n <ng-content select=\"[matSuffix]\"></ng-content>\n</ng-template>\n",
6622
6645
  providers: [
6623
- DEFAULT_VALUE_ACCESSOR$4
6646
+ DEFAULT_VALUE_ACCESSOR$1
6624
6647
  ],
6625
6648
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
6626
6649
  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}"]
@@ -6707,6 +6730,7 @@
6707
6730
  return MatNumpadEvent;
6708
6731
  }(KeyboardEvent));
6709
6732
 
6733
+ exports.AnimationState = void 0;
6710
6734
  (function (AnimationState) {
6711
6735
  AnimationState["ENTER"] = "enter";
6712
6736
  AnimationState["ENTER_INPUT"] = "enter-input";
@@ -6874,7 +6898,7 @@
6874
6898
  };
6875
6899
  return MatNumpadDomService;
6876
6900
  }());
6877
- 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" });
6901
+ 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" });
6878
6902
  MatNumpadDomService.decorators = [
6879
6903
  { type: i0.Injectable, args: [{
6880
6904
  providedIn: 'root'
@@ -7280,7 +7304,7 @@
7280
7304
  },] }
7281
7305
  ];
7282
7306
 
7283
- var DEFAULT_VALUE_ACCESSOR$5 = {
7307
+ var DEFAULT_VALUE_ACCESSOR = {
7284
7308
  provide: i1.NG_VALUE_ACCESSOR,
7285
7309
  useExisting: i0.forwardRef(function () { return MatSwipeField; }),
7286
7310
  multi: true
@@ -7600,7 +7624,7 @@
7600
7624
  { type: i0.Component, args: [{
7601
7625
  selector: 'mat-swipe-field',
7602
7626
  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",
7603
- providers: [DEFAULT_VALUE_ACCESSOR$5],
7627
+ providers: [DEFAULT_VALUE_ACCESSOR],
7604
7628
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
7605
7629
  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}"]
7606
7630
  },] }
@@ -7661,14 +7685,14 @@
7661
7685
  },] }
7662
7686
  ];
7663
7687
 
7664
- var noop$7 = function () { };
7665
- var ɵ0$7 = noop$7;
7688
+ var noop$1 = function () { };
7689
+ var ɵ0$4 = noop$1;
7666
7690
  var MatChipsField = /** @class */ (function () {
7667
7691
  function MatChipsField(cd, formGroupDir) {
7668
7692
  this.cd = cd;
7669
7693
  this.formGroupDir = formGroupDir;
7670
- this._onChangeCallback = noop$7;
7671
- this._onTouchedCallback = noop$7;
7694
+ this._onChangeCallback = noop$1;
7695
+ this._onTouchedCallback = noop$1;
7672
7696
  this.logPrefix = '[mat-chips] ';
7673
7697
  this.formControlName = null;
7674
7698
  this.required = false;
@@ -8636,7 +8660,7 @@
8636
8660
  };
8637
8661
  return ProgressBarService;
8638
8662
  }());
8639
- ProgressBarService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
8663
+ ProgressBarService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
8640
8664
  ProgressBarService.decorators = [
8641
8665
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
8642
8666
  ];
@@ -8683,7 +8707,7 @@
8683
8707
  };
8684
8708
  return AppGestureConfig;
8685
8709
  }(i1$6.HammerGestureConfig));
8686
- AppGestureConfig.ɵprov = i0.ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
8710
+ AppGestureConfig.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
8687
8711
  AppGestureConfig.decorators = [
8688
8712
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
8689
8713
  ];
@@ -8950,7 +8974,7 @@
8950
8974
  };
8951
8975
  return MatPaginatorI18n;
8952
8976
  }(paginator.MatPaginatorIntl));
8953
- MatPaginatorI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(i0.ɵɵinject(i1$2.TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
8977
+ MatPaginatorI18n.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
8954
8978
  MatPaginatorI18n.decorators = [
8955
8979
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
8956
8980
  ];
@@ -9042,17 +9066,17 @@
9042
9066
  return rgbArrayToHex(rgb.map(function (v) { return 255 - v; }));
9043
9067
  }
9044
9068
 
9045
- var noop$8 = function () {
9069
+ var noop = function () {
9046
9070
  };
9047
- var ɵ0$8 = noop$8;
9071
+ var ɵ0$3 = noop;
9048
9072
  var AppFormField = /** @class */ (function () {
9049
9073
  function AppFormField(translate, cd, injector, formGroupDir) {
9050
9074
  this.translate = translate;
9051
9075
  this.cd = cd;
9052
9076
  this.injector = injector;
9053
9077
  this.formGroupDir = formGroupDir;
9054
- this._onChangeCallback = noop$8;
9055
- this._onTouchedCallback = noop$8;
9078
+ this._onChangeCallback = noop;
9079
+ this._onTouchedCallback = noop;
9056
9080
  this.readonly = false;
9057
9081
  this.compact = false;
9058
9082
  this.floatLabel = 'auto';
@@ -9607,7 +9631,7 @@
9607
9631
  };
9608
9632
  return AudioProvider;
9609
9633
  }(StartableService));
9610
- 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" });
9634
+ 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" });
9611
9635
  AudioProvider.decorators = [
9612
9636
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
9613
9637
  ];
@@ -9707,7 +9731,7 @@
9707
9731
  };
9708
9732
  return Hotkeys;
9709
9733
  }());
9710
- 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" });
9734
+ 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" });
9711
9735
  Hotkeys.decorators = [
9712
9736
  { type: i0.Injectable, args: [{
9713
9737
  providedIn: 'root'
@@ -9911,7 +9935,7 @@
9911
9935
  return Base64ImageReader;
9912
9936
  }());
9913
9937
 
9914
- var uuidv4 = uuidv4Imported__namespace;
9938
+ var uuidv4$1 = uuidv4Imported__namespace;
9915
9939
  var FileService = /** @class */ (function () {
9916
9940
  function FileService(platform,
9917
9941
  //private transfer: FileTransfer,
@@ -9957,7 +9981,7 @@
9957
9981
  lastSlashIndex = source.lastIndexOf('/');
9958
9982
  if (lastSlashIndex === -1)
9959
9983
  throw new Error('Invalid URL: ' + source);
9960
- fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4();
9984
+ fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4$1();
9961
9985
  if (!(responseType === 'file' && this.canUseFileSystem)) return [3 /*break*/, 4];
9962
9986
  console.warn("WARN: [file] Fetching image {" + source + "} in local file...");
9963
9987
  targetFilePath = this._imageDirectory + fileName;
@@ -10020,7 +10044,7 @@
10020
10044
  };
10021
10045
  return FileService;
10022
10046
  }());
10023
- 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" });
10047
+ 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" });
10024
10048
  FileService.decorators = [
10025
10049
  { type: i0.Injectable, args: [{
10026
10050
  providedIn: 'root',
@@ -10187,7 +10211,7 @@
10187
10211
  Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
10188
10212
 
10189
10213
  var scrypt = require('scrypt-async');
10190
- var sha256 = require('hash.js/lib/hash/sha/256');
10214
+ var sha256$1 = require('hash.js/lib/hash/sha/256');
10191
10215
  var sha512 = require('hash.js/lib/hash/sha/512');
10192
10216
  var nacl = {
10193
10217
  sign: tweetnacl.sign,
@@ -10293,7 +10317,7 @@
10293
10317
  * Hash (using SHA256) a message
10294
10318
  */
10295
10319
  CryptoService.prototype.sha256 = function (message) {
10296
- return sha256().update(message).digest('hex');
10320
+ return sha256$1().update(message).digest('hex');
10297
10321
  };
10298
10322
  /**
10299
10323
  * Hash (using SHA512) a message
@@ -10307,7 +10331,7 @@
10307
10331
  };
10308
10332
  return CryptoService;
10309
10333
  }());
10310
- CryptoService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
10334
+ CryptoService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
10311
10335
  CryptoService.decorators = [
10312
10336
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
10313
10337
  ];
@@ -11736,7 +11760,7 @@
11736
11760
  };
11737
11761
  return LocalSettingsService;
11738
11762
  }(StartableService));
11739
- 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" });
11763
+ 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" });
11740
11764
  LocalSettingsService.decorators = [
11741
11765
  { type: i0.Injectable, args: [{
11742
11766
  providedIn: 'root',
@@ -12539,7 +12563,7 @@
12539
12563
  };
12540
12564
  return NetworkService;
12541
12565
  }(StartableService));
12542
- 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" });
12566
+ 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" });
12543
12567
  NetworkService.decorators = [
12544
12568
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
12545
12569
  ];
@@ -12559,7 +12583,7 @@
12559
12583
  { type: i1$5.ToastController, decorators: [{ type: i0.Optional }] }
12560
12584
  ]; };
12561
12585
 
12562
- var ErrorCodes = {
12586
+ var ErrorCodes$2 = {
12563
12587
  UNKNOWN_ERROR: 0,
12564
12588
  LOAD_ACCOUNT_ERROR: 1,
12565
12589
  BAD_PASSWORD: 2,
@@ -12976,7 +13000,7 @@
12976
13000
  case 13:
12977
13001
  err_1 = _b.sent();
12978
13002
  console.error(err_1);
12979
- throw { code: ErrorCodes.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err_1 };
13003
+ throw { code: ErrorCodes$2.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err_1 };
12980
13004
  case 14:
12981
13005
  // Emit update event
12982
13006
  if (!opts || opts.emitEvent !== false) {
@@ -13753,7 +13777,7 @@
13753
13777
  }(StartableService));
13754
13778
  EntitiesStorage.TRASH_PREFIX = 'Trash#';
13755
13779
  EntitiesStorage.REMOTE_PREFIX = 'Remote#';
13756
- 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" });
13780
+ 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" });
13757
13781
  EntitiesStorage.decorators = [
13758
13782
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
13759
13783
  ];
@@ -13909,10 +13933,10 @@
13909
13933
  function referentialsToString(values, properties, separator) {
13910
13934
  return (values || []).map(function (v) { return referentialToString(v, properties); }).join(separator || ', ');
13911
13935
  }
13912
- var ɵ0$9 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
13936
+ var ɵ0$2 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
13913
13937
  var StatusList = Object.freeze([
13914
13938
  {
13915
- id: ɵ0$9,
13939
+ id: ɵ0$2,
13916
13940
  icon: 'checkmark',
13917
13941
  label: 'REFERENTIAL.STATUS_ENUM.ENABLE'
13918
13942
  },
@@ -14215,7 +14239,7 @@
14215
14239
  (data.lastName || '')) || '';
14216
14240
  }
14217
14241
 
14218
- var uuidv4$1 = uuidv4Imported__namespace;
14242
+ var uuidv4 = uuidv4Imported__namespace;
14219
14243
  var _global = typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : {});
14220
14244
  var NativeWebSocket = _global.WebSocket || _global.MozWebSocket;
14221
14245
  /**
@@ -14259,7 +14283,7 @@
14259
14283
  // Skip if not tracked
14260
14284
  if (!context || !context.tracked)
14261
14285
  return forward(operation);
14262
- var id = context.serializationKey || uuidv4$1();
14286
+ var id = context.serializationKey || uuidv4();
14263
14287
  console.debug("[apollo-tracker-link] Watching tracked query {" + operation.operationName + "#" + id + "}");
14264
14288
  // Clean context, before calling JSON.stringify (remove unused attributes)
14265
14289
  var cleanContext = Object.assign(Object.assign({}, context), { optimisticResponse: null, cache: null });
@@ -14892,14 +14916,14 @@
14892
14916
  mutationLinks = void 0;
14893
14917
  // Add queue to store tracked queries, when offline
14894
14918
  if (enableTrackMutationQueries) {
14895
- serializingLink = new SerializingLink__default['default']();
14919
+ serializingLink = new SerializingLink__default["default"]();
14896
14920
  trackerLink = createTrackerLink({
14897
14921
  storage: storage,
14898
14922
  onNetworkStatusChange: this._networkStatusChanged$,
14899
14923
  debounce: 1000,
14900
14924
  debug: true
14901
14925
  });
14902
- queueLink_1 = new QueueLink__default['default']();
14926
+ queueLink_1 = new QueueLink__default["default"]();
14903
14927
  this.registerSubscription(this._networkStatusChanged$
14904
14928
  .subscribe(function (type) {
14905
14929
  // Network is offline: start buffering into queue
@@ -14914,7 +14938,7 @@
14914
14938
  }
14915
14939
  }));
14916
14940
  mutationLinks = [
14917
- loggerLink__default['default'],
14941
+ loggerLink__default["default"],
14918
14942
  queueLink_1,
14919
14943
  trackerLink,
14920
14944
  queueLink_1,
@@ -15021,7 +15045,7 @@
15021
15045
  (err.networkError && ((err.networkError.error && this.toAppError(err.networkError.error))
15022
15046
  || this.toAppError(err.networkError)
15023
15047
  || (err.networkError.error && this.createAppErrorByCode(err.networkError.error.status))
15024
- || this.createAppErrorByCode(ErrorCodes.UNKNOWN_NETWORK_ERROR)))
15048
+ || this.createAppErrorByCode(ErrorCodes$2.UNKNOWN_NETWORK_ERROR)))
15025
15049
  // If graphQL: try to convert the first error found
15026
15050
  || (err.graphQLErrors && err.graphQLErrors.length && this.toAppError(err.graphQLErrors[0]))
15027
15051
  || this.toAppError(err)
@@ -15029,7 +15053,7 @@
15029
15053
  || (err.graphQLErrors && err.graphQLErrors[0])
15030
15054
  || err;
15031
15055
  console.error('[graphql] ' + (error && error.message || error), error.stack || '');
15032
- if (error && error.code === ErrorCodes.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
15056
+ if (error && error.code === ErrorCodes$2.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
15033
15057
  console.error('[graphql] original error: ' + err.networkError.message);
15034
15058
  this.onNetworkError.next(error);
15035
15059
  }
@@ -15065,7 +15089,7 @@
15065
15089
  return 'ERROR.UNAUTHORIZED';
15066
15090
  case ServerErrorCodes.FORBIDDEN:
15067
15091
  return 'ERROR.FORBIDDEN';
15068
- case ErrorCodes.UNKNOWN_NETWORK_ERROR:
15092
+ case ErrorCodes$2.UNKNOWN_NETWORK_ERROR:
15069
15093
  return 'ERROR.UNKNOWN_NETWORK_ERROR';
15070
15094
  case ServerErrorCodes.BAD_UPDATE_DATE:
15071
15095
  return 'ERROR.BAD_UPDATE_DATE';
@@ -15097,7 +15121,7 @@
15097
15121
  };
15098
15122
  return GraphqlService;
15099
15123
  }(StartableService));
15100
- 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" });
15124
+ 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" });
15101
15125
  GraphqlService.decorators = [
15102
15126
  { type: i0.Injectable, args: [{
15103
15127
  providedIn: 'root'
@@ -15114,7 +15138,7 @@
15114
15138
  { type: undefined, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [APP_GRAPHQL_TYPE_POLICIES,] }] }
15115
15139
  ]; };
15116
15140
 
15117
- var sha256$1 = require('hash.js/lib/hash/sha/256');
15141
+ var sha256 = require('hash.js/lib/hash/sha/256');
15118
15142
  var BaseGraphqlServiceOptions = /** @class */ (function () {
15119
15143
  function BaseGraphqlServiceOptions() {
15120
15144
  }
@@ -15284,8 +15308,8 @@
15284
15308
  };
15285
15309
  /* -- protected methods -- */
15286
15310
  BaseGraphqlService.prototype.computeMutableWatchQueryId = function (opts) {
15287
- var queryName = opts.queryName || sha256$1().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
15288
- var variablesKey = opts.variables && sha256$1().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
15311
+ var queryName = opts.queryName || sha256().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
15312
+ var variablesKey = opts.variables && sha256().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
15289
15313
  return [queryName, opts.arrayFieldName, variablesKey].join('|');
15290
15314
  };
15291
15315
  BaseGraphqlService.prototype.findMutableWatchQueries = function (opts) {
@@ -15354,19 +15378,19 @@
15354
15378
  /* ------------------------------------
15355
15379
  * GraphQL queries
15356
15380
  * ------------------------------------*/
15357
- var Fragments = {
15358
- account: core.gql(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n fragment AccountFragment on AccountVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n settings {\n ...UserSettingsFragment\n }\n department {\n id\n label\n name\n __typename\n }\n __typename\n }"], ["\n fragment AccountFragment on AccountVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n settings {\n ...UserSettingsFragment\n }\n department {\n id\n label\n name\n __typename\n }\n __typename\n }"]))),
15359
- settings: core.gql(templateObject_2 || (templateObject_2 = __makeTemplateObject(["fragment UserSettingsFragment on UserSettingsVO {\n id\n locale\n latLongFormat\n content\n nonce\n updateDate\n __typename\n }"], ["fragment UserSettingsFragment on UserSettingsVO {\n id\n locale\n latLongFormat\n content\n nonce\n updateDate\n __typename\n }"])))
15381
+ var Fragments$1 = {
15382
+ account: core.gql(templateObject_1$4 || (templateObject_1$4 = __makeTemplateObject(["\n fragment AccountFragment on AccountVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n settings {\n ...UserSettingsFragment\n }\n department {\n id\n label\n name\n __typename\n }\n __typename\n }"], ["\n fragment AccountFragment on AccountVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n settings {\n ...UserSettingsFragment\n }\n department {\n id\n label\n name\n __typename\n }\n __typename\n }"]))),
15383
+ settings: core.gql(templateObject_2$4 || (templateObject_2$4 = __makeTemplateObject(["fragment UserSettingsFragment on UserSettingsVO {\n id\n locale\n latLongFormat\n content\n nonce\n updateDate\n __typename\n }"], ["fragment UserSettingsFragment on UserSettingsVO {\n id\n locale\n latLongFormat\n content\n nonce\n updateDate\n __typename\n }"])))
15360
15384
  };
15361
15385
  // Load account query
15362
- var LoadQuery = core.gql(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n query Account {\n data: account {\n ...AccountFragment\n }\n }\n ", "\n ", "\n"], ["\n query Account {\n data: account {\n ...AccountFragment\n }\n }\n ", "\n ", "\n"])), Fragments.account, Fragments.settings);
15386
+ var LoadQuery$1 = core.gql(templateObject_3$3 || (templateObject_3$3 = __makeTemplateObject(["\n query Account {\n data: account {\n ...AccountFragment\n }\n }\n ", "\n ", "\n"], ["\n query Account {\n data: account {\n ...AccountFragment\n }\n }\n ", "\n ", "\n"])), Fragments$1.account, Fragments$1.settings);
15363
15387
  // Check email query
15364
- var IsEmailExistsQuery = core.gql(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n query IsEmailExists($email: String, $hash: String){\n isEmailExists(email: $email, hash: $hash)\n }\n"], ["\n query IsEmailExists($email: String, $hash: String){\n isEmailExists(email: $email, hash: $hash)\n }\n"])));
15388
+ var IsEmailExistsQuery = core.gql(templateObject_4$3 || (templateObject_4$3 = __makeTemplateObject(["\n query IsEmailExists($email: String, $hash: String){\n isEmailExists(email: $email, hash: $hash)\n }\n"], ["\n query IsEmailExists($email: String, $hash: String){\n isEmailExists(email: $email, hash: $hash)\n }\n"])));
15365
15389
  // Save (create or update) account mutation
15366
15390
  var AccountMutations = {
15367
- save: core.gql(templateObject_5 || (templateObject_5 = __makeTemplateObject([" mutation SaveAccount($data:AccountVOInput){\n data: saveAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n ", ""], [" mutation SaveAccount($data:AccountVOInput){\n data: saveAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n ", ""])), Fragments.account, Fragments.settings),
15368
- create: core.gql(templateObject_6 || (templateObject_6 = __makeTemplateObject(["mutation CreateAccount($data:AccountVOInput){\n data: createAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n ", ""], ["mutation CreateAccount($data:AccountVOInput){\n data: createAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n ", ""])), Fragments.account, Fragments.settings),
15369
- saveSettings: core.gql(templateObject_7 || (templateObject_7 = __makeTemplateObject(["mutation SaveSettings($data:UserSettingsVOInput){\n data: saveSettings(settings: $data){\n ...UserSettingsFragment\n }\n }\n ", ""], ["mutation SaveSettings($data:UserSettingsVOInput){\n data: saveSettings(settings: $data){\n ...UserSettingsFragment\n }\n }\n ", ""])), Fragments.settings)
15391
+ save: core.gql(templateObject_5$2 || (templateObject_5$2 = __makeTemplateObject([" mutation SaveAccount($data:AccountVOInput){\n data: saveAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n ", ""], [" mutation SaveAccount($data:AccountVOInput){\n data: saveAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n ", ""])), Fragments$1.account, Fragments$1.settings),
15392
+ create: core.gql(templateObject_6 || (templateObject_6 = __makeTemplateObject(["mutation CreateAccount($data:AccountVOInput){\n data: createAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n ", ""], ["mutation CreateAccount($data:AccountVOInput){\n data: createAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n ", ""])), Fragments$1.account, Fragments$1.settings),
15393
+ saveSettings: core.gql(templateObject_7 || (templateObject_7 = __makeTemplateObject(["mutation SaveSettings($data:UserSettingsVOInput){\n data: saveSettings(settings: $data){\n ...UserSettingsFragment\n }\n }\n ", ""], ["mutation SaveSettings($data:UserSettingsVOInput){\n data: saveSettings(settings: $data){\n ...UserSettingsFragment\n }\n }\n ", ""])), Fragments$1.settings)
15370
15394
  };
15371
15395
  // Sent confirmation email
15372
15396
  var SendConfirmEmailMutation = core.gql(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n mutation sendAccountConfirmationEmail($email:String, $locale:String){\n sendAccountConfirmationEmail(email: $email, locale: $locale)\n }\n"], ["\n mutation sendAccountConfirmationEmail($email:String, $locale:String){\n sendAccountConfirmationEmail(email: $email, locale: $locale)\n }\n"])));
@@ -15728,7 +15752,7 @@
15728
15752
  error_3 = _b.sent();
15729
15753
  console.error(error_3);
15730
15754
  this.resetData();
15731
- throw { code: ErrorCodes.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
15755
+ throw { code: ErrorCodes$2.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
15732
15756
  case 4:
15733
15757
  // Store pubkey+keypair
15734
15758
  this._cache.pubkey = Base58.encode(keypair.publicKey);
@@ -15764,7 +15788,7 @@
15764
15788
  return [3 /*break*/, 18];
15765
15789
  case 11:
15766
15790
  err_1 = _b.sent();
15767
- if (!(err_1 && +(err_1.code) === ErrorCodes.LOAD_ACCOUNT_ERROR)) return [3 /*break*/, 17];
15791
+ if (!(err_1 && +(err_1.code) === ErrorCodes$2.LOAD_ACCOUNT_ERROR)) return [3 /*break*/, 17];
15768
15792
  if (!(data.username.indexOf('@') !== -1)) return [3 /*break*/, 16];
15769
15793
  isEmailExists = void 0;
15770
15794
  _b.label = 12;
@@ -15780,12 +15804,12 @@
15780
15804
  case 15:
15781
15805
  // Email not exists (no account)
15782
15806
  if (!isEmailExists) {
15783
- throw { code: ErrorCodes.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
15807
+ throw { code: ErrorCodes$2.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
15784
15808
  }
15785
15809
  _b.label = 16;
15786
15810
  case 16:
15787
15811
  // Email exists, so error = 'bad password'
15788
- throw { code: ErrorCodes.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
15812
+ throw { code: ErrorCodes$2.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
15789
15813
  case 17: throw err_1; // resend the first error
15790
15814
  case 18:
15791
15815
  _b.trys.push([18, 20, , 21]);
@@ -15957,8 +15981,8 @@
15957
15981
  _b.label = 3;
15958
15982
  case 3: return [3 /*break*/, 6];
15959
15983
  case 4: return [4 /*yield*/, this.graphql.query({
15960
- query: LoadQuery,
15961
- error: { code: ErrorCodes.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
15984
+ query: LoadQuery$1,
15985
+ error: { code: ErrorCodes$2.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
15962
15986
  fetchPolicy: opts && opts.fetchPolicy || 'no-cache' || undefined
15963
15987
  })];
15964
15988
  case 5:
@@ -15996,7 +16020,7 @@
15996
16020
  case 1:
15997
16021
  isEmailExists = _b.sent();
15998
16022
  if (isEmailExists) {
15999
- throw { code: ErrorCodes.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
16023
+ throw { code: ErrorCodes$2.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
16000
16024
  }
16001
16025
  return [2 /*return*/];
16002
16026
  }
@@ -16046,7 +16070,7 @@
16046
16070
  locale: locale
16047
16071
  },
16048
16072
  error: {
16049
- code: ErrorCodes.SENT_CONFIRMATION_EMAIL_FAILED,
16073
+ code: ErrorCodes$2.SENT_CONFIRMATION_EMAIL_FAILED,
16050
16074
  message: 'ERROR.SENT_ACCOUNT_CONFIRMATION_EMAIL_FAILED'
16051
16075
  }
16052
16076
  })];
@@ -16069,7 +16093,7 @@
16069
16093
  code: code
16070
16094
  },
16071
16095
  error: {
16072
- code: ErrorCodes.CONFIRM_EMAIL_FAILED,
16096
+ code: ErrorCodes$2.CONFIRM_EMAIL_FAILED,
16073
16097
  message: 'ERROR.CONFIRM_ACCOUNT_EMAIL_FAILED'
16074
16098
  }
16075
16099
  })];
@@ -16092,7 +16116,7 @@
16092
16116
  interval: 10
16093
16117
  },
16094
16118
  error: {
16095
- code: ErrorCodes.SUBSCRIBE_ACCOUNT_ERROR,
16119
+ code: ErrorCodes$2.SUBSCRIBE_ACCOUNT_ERROR,
16096
16120
  message: 'ERROR.ACCOUNT.SUBSCRIBE_ACCOUNT_ERROR'
16097
16121
  }
16098
16122
  }).subscribe({
@@ -16232,7 +16256,7 @@
16232
16256
  throw error_6;
16233
16257
  console.error(error_6);
16234
16258
  throw {
16235
- code: ErrorCodes.LOAD_ACCOUNT_ERROR,
16259
+ code: ErrorCodes$2.LOAD_ACCOUNT_ERROR,
16236
16260
  message: 'ERROR.LOAD_ACCOUNT_ERROR'
16237
16261
  };
16238
16262
  case 6: return [2 /*return*/];
@@ -16441,7 +16465,7 @@
16441
16465
  case 1:
16442
16466
  existingAccount = _b.sent();
16443
16467
  if (!existingAccount || !existingAccount.updateDate) {
16444
- throw { code: ErrorCodes.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
16468
+ throw { code: ErrorCodes$2.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
16445
16469
  }
16446
16470
  this.copyIdAndUpdateDate(existingAccount, account);
16447
16471
  _b.label = 2;
@@ -16453,7 +16477,7 @@
16453
16477
  mutation: isNew ? AccountMutations.create : AccountMutations.save,
16454
16478
  variables: { data: json },
16455
16479
  error: {
16456
- code: ErrorCodes.SAVE_ACCOUNT_ERROR,
16480
+ code: ErrorCodes$2.SAVE_ACCOUNT_ERROR,
16457
16481
  message: 'ERROR.SAVE_ACCOUNT_ERROR'
16458
16482
  }
16459
16483
  })];
@@ -16487,7 +16511,7 @@
16487
16511
  mutation: AccountMutations.saveSettings,
16488
16512
  variables: { data: json },
16489
16513
  error: {
16490
- code: ErrorCodes.SAVE_SETTINGS_ERROR,
16514
+ code: ErrorCodes$2.SAVE_SETTINGS_ERROR,
16491
16515
  message: 'ERROR.SAVE_SETTINGS_ERROR'
16492
16516
  }
16493
16517
  })];
@@ -16518,7 +16542,7 @@
16518
16542
  if (counter > 4) {
16519
16543
  if (this._debug)
16520
16544
  console.debug("[account] Failed to authentication on pod (after " + counter + " attempts)");
16521
- throw { code: ErrorCodes.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
16545
+ throw { code: ErrorCodes$2.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
16522
16546
  }
16523
16547
  if (!token) return [3 /*break*/, 2];
16524
16548
  return [4 /*yield*/, this.graphql.query({
@@ -16527,7 +16551,7 @@
16527
16551
  token: token
16528
16552
  },
16529
16553
  error: {
16530
- code: ErrorCodes.UNAUTHORIZED,
16554
+ code: ErrorCodes$2.UNAUTHORIZED,
16531
16555
  message: 'ERROR.UNAUTHORIZED'
16532
16556
  },
16533
16557
  fetchPolicy: 'no-cache'
@@ -16544,7 +16568,7 @@
16544
16568
  _b.label = 2;
16545
16569
  case 2:
16546
16570
  challengeError = {
16547
- code: ErrorCodes.AUTH_CHALLENGE_ERROR,
16571
+ code: ErrorCodes$2.AUTH_CHALLENGE_ERROR,
16548
16572
  message: 'ERROR.AUTH_CHALLENGE_ERROR'
16549
16573
  };
16550
16574
  return [4 /*yield*/, this.graphql.query({
@@ -16591,7 +16615,7 @@
16591
16615
  };
16592
16616
  return AccountService;
16593
16617
  }(BaseGraphqlService));
16594
- 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" });
16618
+ 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" });
16595
16619
  AccountService.decorators = [
16596
16620
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
16597
16621
  ];
@@ -16604,7 +16628,7 @@
16604
16628
  { type: FileService },
16605
16629
  { type: undefined, decorators: [{ type: i0.Inject, args: [ENVIRONMENT,] }] }
16606
16630
  ]; };
16607
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12;
16631
+ var templateObject_1$4, templateObject_2$4, templateObject_3$3, templateObject_4$3, templateObject_5$2, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12;
16608
16632
 
16609
16633
  var Software_1, Configuration_1;
16610
16634
  // @dynamic
@@ -16856,18 +16880,18 @@
16856
16880
  /* ------------------------------------
16857
16881
  * GraphQL queries
16858
16882
  * ------------------------------------*/
16859
- var Fragments$1 = {
16860
- 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 "])))
16883
+ var Fragments = {
16884
+ 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 "])))
16861
16885
  };
16862
- 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);
16886
+ 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);
16863
16887
  // Save (create or update) account mutation
16864
- var SaveMutation = core.gql(templateObject_3$1 || (templateObject_3$1 = __makeTemplateObject(["\n mutation SaveConfiguration($data: ConfigurationVOInput){\n data: saveConfiguration(config: $data){\n ...ConfigFragment\n }\n }\n ", "\n"], ["\n mutation SaveConfiguration($data: ConfigurationVOInput){\n data: saveConfiguration(config: $data){\n ...ConfigFragment\n }\n }\n ", "\n"])), Fragments$1.config);
16865
- 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"])));
16888
+ 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);
16889
+ 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"])));
16866
16890
  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"])));
16867
16891
  var APP_CONFIG_OPTIONS = new i0.InjectionToken('defaultOptions');
16868
16892
  var ConfigService = /** @class */ (function (_super) {
16869
16893
  __extends(ConfigService, _super);
16870
- function ConfigService(platform, graphql, storage, network, file, toastController, translate, environment, defaultOptionsMap) {
16894
+ function ConfigService(platform, graphql, storage, network, file, toastController, translate, accountService, environment, defaultOptionsMap) {
16871
16895
  var _this = _super.call(this, graphql, environment) || this;
16872
16896
  _this.platform = platform;
16873
16897
  _this.graphql = graphql;
@@ -16876,6 +16900,7 @@
16876
16900
  _this.file = file;
16877
16901
  _this.toastController = toastController;
16878
16902
  _this.translate = translate;
16903
+ _this.accountService = accountService;
16879
16904
  _this.environment = environment;
16880
16905
  _this.$data = new rxjs.BehaviorSubject(null);
16881
16906
  _this._debug = !environment.production;
@@ -16921,12 +16946,12 @@
16921
16946
  case 0:
16922
16947
  now = Date.now();
16923
16948
  console.debug('[config] Loading Pod configuration...');
16924
- query = opts && opts.query || LoadQuery$1;
16949
+ query = opts && opts.query || LoadQuery;
16925
16950
  variables = opts && opts.variables || undefined;
16926
16951
  return [4 /*yield*/, this.graphql.query({
16927
16952
  query: query,
16928
16953
  variables: variables,
16929
- error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
16954
+ error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
16930
16955
  fetchPolicy: opts && opts.fetchPolicy || undefined /*default*/
16931
16956
  })];
16932
16957
  case 1:
@@ -16946,6 +16971,9 @@
16946
16971
  });
16947
16972
  });
16948
16973
  };
16974
+ ConfigService.prototype.canUserWrite = function (data, opts) {
16975
+ return this.accountService.isAdmin();
16976
+ };
16949
16977
  /**
16950
16978
  * Save a configuration
16951
16979
  *
@@ -16965,7 +16993,7 @@
16965
16993
  data: json
16966
16994
  },
16967
16995
  error: {
16968
- code: ErrorCodes.SAVE_CONFIG_ERROR,
16996
+ code: ErrorCodes$2.SAVE_CONFIG_ERROR,
16969
16997
  message: 'ERROR.SAVE_CONFIG_ERROR'
16970
16998
  }
16971
16999
  })];
@@ -17000,7 +17028,7 @@
17000
17028
  return [4 /*yield*/, this.graphql.query({
17001
17029
  query: CacheStatistics,
17002
17030
  variables: null,
17003
- error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
17031
+ error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
17004
17032
  fetchPolicy: 'network-only'
17005
17033
  })];
17006
17034
  case 1:
@@ -17024,7 +17052,7 @@
17024
17052
  return [4 /*yield*/, this.graphql.query({
17025
17053
  query: ClearCache,
17026
17054
  variables: variables,
17027
- error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
17055
+ error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
17028
17056
  fetchPolicy: 'network-only'
17029
17057
  })];
17030
17058
  case 1:
@@ -17224,7 +17252,7 @@
17224
17252
  };
17225
17253
  return ConfigService;
17226
17254
  }(BaseGraphqlService));
17227
- 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" });
17255
+ 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(AccountService), i0__namespace.ɵɵinject(ENVIRONMENT), i0__namespace.ɵɵinject(APP_CONFIG_OPTIONS, 8)); }, token: ConfigService, providedIn: "root" });
17228
17256
  ConfigService.decorators = [
17229
17257
  { type: i0.Injectable, args: [{
17230
17258
  providedIn: 'root',
@@ -17239,12 +17267,13 @@
17239
17267
  { type: FileService },
17240
17268
  { type: i1$5.ToastController },
17241
17269
  { type: i1$2.TranslateService },
17270
+ { type: AccountService },
17242
17271
  { type: undefined, decorators: [{ type: i0.Inject, args: [ENVIRONMENT,] }] },
17243
17272
  { type: undefined, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [APP_CONFIG_OPTIONS,] }] }
17244
17273
  ]; };
17245
- var templateObject_1$1, templateObject_2$1, templateObject_3$1, templateObject_4$1, templateObject_5$1;
17274
+ var templateObject_1$3, templateObject_2$3, templateObject_3$2, templateObject_4$2, templateObject_5$1;
17246
17275
 
17247
- var moment$4 = momentImported__namespace;
17276
+ var moment$2 = momentImported__namespace;
17248
17277
  var PlatformService = /** @class */ (function (_super) {
17249
17278
  __extends(PlatformService, _super);
17250
17279
  function PlatformService(platform, cdkPlatform, toastController, translate, dateAdapter, entitiesStorage, settings, networkService, accountService, configService, cache, storage, audioProvider, environment, statusBar, keyboard, splashScreen, browser, downloader) {
@@ -17483,16 +17512,16 @@
17483
17512
  }
17484
17513
  // config moment lib
17485
17514
  try {
17486
- moment$4.locale(event.lang);
17515
+ moment$2.locale(event.lang);
17487
17516
  console.debug('[platform] Use locale {' + event.lang + '}');
17488
17517
  }
17489
17518
  // If error, fallback to en
17490
17519
  catch (err) {
17491
- moment$4.locale('en');
17520
+ moment$2.locale('en');
17492
17521
  console.warn('[platform] Unknown local for moment lib. Using default [en]');
17493
17522
  }
17494
17523
  // Config date adapter
17495
- _this.dateAdapter.setLocale(moment$4.locale());
17524
+ _this.dateAdapter.setLocale(moment$2.locale());
17496
17525
  }
17497
17526
  });
17498
17527
  this.settings.onChange.subscribe(function (data) {
@@ -17673,7 +17702,7 @@
17673
17702
  };
17674
17703
  return PlatformService;
17675
17704
  }(StartableService));
17676
- PlatformService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PlatformService_Factory() { return new PlatformService(i0.ɵɵinject(i1$5.Platform), i0.ɵɵinject(i2$4.Platform), i0.ɵɵinject(i1$5.ToastController), i0.ɵɵinject(i1$2.TranslateService), i0.ɵɵinject(i1$1.MomentDateAdapter), i0.ɵɵinject(EntitiesStorage), i0.ɵɵinject(LocalSettingsService), i0.ɵɵinject(NetworkService), i0.ɵɵinject(AccountService), i0.ɵɵinject(ConfigService), i0.ɵɵinject(i6.CacheService), i0.ɵɵinject(i3$2.Storage), i0.ɵɵinject(AudioProvider), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(i14.StatusBar, 8), i0.ɵɵinject(i15.Keyboard, 8), i0.ɵɵinject(i10.SplashScreen, 8), i0.ɵɵinject(i17.InAppBrowser, 8), i0.ɵɵinject(i18.Downloader, 8)); }, token: PlatformService, providedIn: "root" });
17705
+ 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" });
17677
17706
  PlatformService.decorators = [
17678
17707
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
17679
17708
  ];
@@ -17771,7 +17800,7 @@
17771
17800
  };
17772
17801
  return MatStepperI18n;
17773
17802
  }(stepper.MatStepperIntl));
17774
- MatStepperI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(i0.ɵɵinject(i1$2.TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
17803
+ MatStepperI18n.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
17775
17804
  MatStepperI18n.decorators = [
17776
17805
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
17777
17806
  ];
@@ -18973,7 +19002,7 @@
18973
19002
  return 1;
18974
19003
  }
18975
19004
  }
18976
- var ɵ0$a = function (defaultStateSize) { return [
19005
+ var ɵ0$1 = function (defaultStateSize) { return [
18977
19006
  Math.round((rgbArrayMap.red[0] - 50) / defaultStateSize),
18978
19007
  Math.round((255 - rgbArrayMap.red[1]) / defaultStateSize),
18979
19008
  Math.round((255 - rgbArrayMap.red[2]) / defaultStateSize)
@@ -18981,7 +19010,7 @@
18981
19010
  var SCALE_OPTIONS_DEFAULT = {
18982
19011
  startColor: rgbArrayMap.red,
18983
19012
  startStates: [0, 2, 3],
18984
- startStepsFn: ɵ0$a
19013
+ startStepsFn: ɵ0$1
18985
19014
  };
18986
19015
  /**
18987
19016
  * Internal function, that create a colors scale, using iteration
@@ -19073,24 +19102,24 @@
19073
19102
  return result;
19074
19103
  }
19075
19104
 
19076
- var EntityTestClass = /** @class */ (function () {
19105
+ var EntityTestClass$1 = /** @class */ (function () {
19077
19106
  function EntityTestClass() {
19078
19107
  }
19079
19108
  return EntityTestClass;
19080
19109
  }());
19081
- var FAKE_ENTITIES = [
19110
+ var FAKE_ENTITIES$1 = [
19082
19111
  { id: 1, label: 'AAA', name: 'Item A', description: 'Very long description A', comments: 'Very very long comments... again for A' },
19083
19112
  { id: 2, label: 'BBB', name: 'Item B', description: 'Very long description B', comments: 'Very very long comments... again for B' },
19084
19113
  { id: 3, label: 'CCC', name: 'Item C', description: 'Very long description C', comments: 'Very very long comments... again for C' }
19085
19114
  ];
19086
- function deepCopy(values, size) {
19115
+ function deepCopy$1(values, size) {
19087
19116
  if (isNil(size)) {
19088
- return (values || FAKE_ENTITIES).map(function (entity) { return Object.assign({}, entity); });
19117
+ return (values || FAKE_ENTITIES$1).map(function (entity) { return Object.assign({}, entity); });
19089
19118
  }
19090
19119
  var result = [];
19091
19120
  var i = 1;
19092
19121
  while (result.length < size) {
19093
- result = result.concat((values || FAKE_ENTITIES).map(function (entity) {
19122
+ result = result.concat((values || FAKE_ENTITIES$1).map(function (entity) {
19094
19123
  var name = entity.name + ' #' + i;
19095
19124
  return Object.assign(Object.assign({}, entity), { id: i++, name: name });
19096
19125
  }));
@@ -19100,7 +19129,7 @@
19100
19129
  var AutocompleteTestPage = /** @class */ (function () {
19101
19130
  function AutocompleteTestPage(formBuilder) {
19102
19131
  this.formBuilder = formBuilder;
19103
- this._items = deepCopy(FAKE_ENTITIES, 100);
19132
+ this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
19104
19133
  this._$items = new rxjs.BehaviorSubject(undefined);
19105
19134
  this.autocompleteFields = new MatAutocompleteConfigHolder();
19106
19135
  this.memoryHide = false;
@@ -19145,7 +19174,7 @@
19145
19174
  });
19146
19175
  // From items
19147
19176
  this.autocompleteFields.add('entity-items-large', {
19148
- items: FAKE_ENTITIES.slice(),
19177
+ items: FAKE_ENTITIES$1.slice(),
19149
19178
  attributes: ['label', 'name', 'description', 'comments'],
19150
19179
  displayWith: this.entityToString
19151
19180
  });
@@ -19158,12 +19187,12 @@
19158
19187
  var _this = this;
19159
19188
  return __generator(this, function (_a) {
19160
19189
  data = {
19161
- entity: deepCopy(FAKE_ENTITIES)[0],
19190
+ entity: deepCopy$1(FAKE_ENTITIES$1)[0],
19162
19191
  // This item is NOT in the items list => i should be displayed anyway
19163
19192
  missingEntity: {
19164
19193
  id: -1, label: '??', name: 'Missing item'
19165
19194
  },
19166
- disableEntity: deepCopy(FAKE_ENTITIES)[2]
19195
+ disableEntity: deepCopy$1(FAKE_ENTITIES$1)[2]
19167
19196
  };
19168
19197
  this.form.setValue(data);
19169
19198
  // Load observables
@@ -19361,13 +19390,13 @@
19361
19390
  { type: Array, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [APP_TESTING_PAGES,] }] }
19362
19391
  ]; };
19363
19392
 
19364
- var moment$5 = momentImported__namespace;
19393
+ var moment$1 = momentImported__namespace;
19365
19394
  var SwipeTestPage = /** @class */ (function () {
19366
19395
  function SwipeTestPage(formBuilder, dateFormatPipe) {
19367
19396
  this.formBuilder = formBuilder;
19368
19397
  this.dateFormatPipe = dateFormatPipe;
19369
19398
  this.$dates = new rxjs.BehaviorSubject(undefined);
19370
- this._today = moment$5().startOf('day');
19399
+ this._today = moment$1().startOf('day');
19371
19400
  this.form = formBuilder.group({
19372
19401
  empty: [null, i1.Validators.required],
19373
19402
  date: [null, i1.Validators.compose([i1.Validators.required, SharedValidators.validDate])],
@@ -19381,7 +19410,7 @@
19381
19410
  var _this = this;
19382
19411
  var dates = [];
19383
19412
  for (var d = 0; d < 7; d++) {
19384
- dates[d] = moment$5(this._today).add(d - 3, 'day');
19413
+ dates[d] = moment$1(this._today).add(d - 3, 'day');
19385
19414
  }
19386
19415
  this.$dates.next(dates);
19387
19416
  this.loadData();
@@ -19428,7 +19457,7 @@
19428
19457
  { type: DateFormatPipe }
19429
19458
  ]; };
19430
19459
 
19431
- var moment$6 = momentImported__namespace;
19460
+ var moment = momentImported__namespace;
19432
19461
  var DateTimeTestPage = /** @class */ (function () {
19433
19462
  function DateTimeTestPage(platform, formBuilder, cd) {
19434
19463
  this.platform = platform;
@@ -19464,7 +19493,7 @@
19464
19493
  var now, data;
19465
19494
  var _this = this;
19466
19495
  return __generator(this, function (_a) {
19467
- now = moment$6();
19496
+ now = moment();
19468
19497
  data = {
19469
19498
  empty: toDateISOString(now.clone().add(2, 'hours')),
19470
19499
  enable: toDateISOString(now),
@@ -19529,12 +19558,12 @@
19529
19558
  { type: i0.ChangeDetectorRef }
19530
19559
  ]; };
19531
19560
 
19532
- var EntityTestClass$1 = /** @class */ (function () {
19561
+ var EntityTestClass = /** @class */ (function () {
19533
19562
  function EntityTestClass() {
19534
19563
  }
19535
19564
  return EntityTestClass;
19536
19565
  }());
19537
- var FAKE_ENTITIES$1 = [
19566
+ var FAKE_ENTITIES = [
19538
19567
  { id: 1, label: 'AAA', name: 'Item A' },
19539
19568
  { id: 2, label: 'BBB', name: 'Item B' },
19540
19569
  { id: 3, label: 'CCC', name: 'Item C' },
@@ -19543,14 +19572,14 @@
19543
19572
  { id: 6, label: 'FFF', name: 'Item F' },
19544
19573
  { id: 7, label: 'GGG', name: 'Item G' }
19545
19574
  ];
19546
- function deepCopy$1(values, size) {
19575
+ function deepCopy(values, size) {
19547
19576
  if (isNil(size)) {
19548
- return (values || FAKE_ENTITIES$1).map(function (entity) { return Object.assign({}, entity); });
19577
+ return (values || FAKE_ENTITIES).map(function (entity) { return Object.assign({}, entity); });
19549
19578
  }
19550
19579
  var result = [];
19551
19580
  var i = 1;
19552
19581
  while (result.length < size) {
19553
- result = result.concat((values || FAKE_ENTITIES$1).map(function (entity) {
19582
+ result = result.concat((values || FAKE_ENTITIES).map(function (entity) {
19554
19583
  var name = entity.name + ' #' + i;
19555
19584
  return Object.assign(Object.assign({}, entity), { id: i++, name: name });
19556
19585
  }));
@@ -19560,7 +19589,7 @@
19560
19589
  var ChipsTestPage = /** @class */ (function () {
19561
19590
  function ChipsTestPage(formBuilder) {
19562
19591
  this.formBuilder = formBuilder;
19563
- this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
19592
+ this._items = deepCopy(FAKE_ENTITIES, 100);
19564
19593
  this._$items = new rxjs.BehaviorSubject(undefined);
19565
19594
  this.autocompleteFields = new MatAutocompleteConfigHolder();
19566
19595
  this.form = formBuilder.group({
@@ -19603,7 +19632,7 @@
19603
19632
  var items, data;
19604
19633
  var _this = this;
19605
19634
  return __generator(this, function (_a) {
19606
- items = deepCopy$1(FAKE_ENTITIES$1);
19635
+ items = deepCopy(FAKE_ENTITIES);
19607
19636
  data = {
19608
19637
  entity: items.slice(0, 1),
19609
19638
  entityInitial: items.slice(1, 2),
@@ -19695,7 +19724,7 @@
19695
19724
  },] }
19696
19725
  ];
19697
19726
 
19698
- var routes = [
19727
+ var routes$1 = [
19699
19728
  {
19700
19729
  path: '',
19701
19730
  pathMatch: 'full',
@@ -19750,7 +19779,7 @@
19750
19779
  i1.ReactiveFormsModule,
19751
19780
  SharedMaterialModule,
19752
19781
  i1$2.TranslateModule.forChild(),
19753
- i3.RouterModule.forChild(routes)
19782
+ i3.RouterModule.forChild(routes$1)
19754
19783
  ],
19755
19784
  declarations: [
19756
19785
  MaterialTestingPage,
@@ -20955,7 +20984,7 @@
20955
20984
  };
20956
20985
  return UserSettingsValidatorService;
20957
20986
  }(AppValidatorService));
20958
- UserSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(i0.ɵɵinject(i1.FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
20987
+ UserSettingsValidatorService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(i0__namespace.ɵɵinject(i1__namespace$6.FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
20959
20988
  UserSettingsValidatorService.decorators = [
20960
20989
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
20961
20990
  ];
@@ -21003,7 +21032,7 @@
21003
21032
  };
21004
21033
  return AccountValidatorService;
21005
21034
  }(AppValidatorService));
21006
- AccountValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(i0.ɵɵinject(i1.FormBuilder), i0.ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
21035
+ 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" });
21007
21036
  AccountValidatorService.decorators = [
21008
21037
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
21009
21038
  ];
@@ -21634,7 +21663,7 @@
21634
21663
  };
21635
21664
  return LocalSettingsValidatorService;
21636
21665
  }(AppValidatorService));
21637
- LocalSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(i0.ɵɵinject(i1.FormBuilder), i0.ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
21666
+ 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" });
21638
21667
  LocalSettingsValidatorService.decorators = [
21639
21668
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
21640
21669
  ];
@@ -22414,7 +22443,7 @@
22414
22443
  };
22415
22444
  return IsOnFieldModePipe;
22416
22445
  }());
22417
- IsOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
22446
+ IsOnFieldModePipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
22418
22447
  IsOnFieldModePipe.decorators = [
22419
22448
  { type: i0.Pipe, args: [{
22420
22449
  name: 'isOnField'
@@ -22429,7 +22458,7 @@
22429
22458
  };
22430
22459
  return IsNotOnFieldModePipe;
22431
22460
  }());
22432
- IsNotOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
22461
+ IsNotOnFieldModePipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
22433
22462
  IsNotOnFieldModePipe.decorators = [
22434
22463
  { type: i0.Pipe, args: [{
22435
22464
  name: 'isNotOnField'
@@ -22447,7 +22476,7 @@
22447
22476
  };
22448
22477
  return PersonToStringPipe;
22449
22478
  }());
22450
- PersonToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
22479
+ PersonToStringPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
22451
22480
  PersonToStringPipe.decorators = [
22452
22481
  { type: i0.Pipe, args: [{
22453
22482
  name: 'personToString'
@@ -22911,7 +22940,7 @@
22911
22940
  };
22912
22941
  return IsLoginAccountPipe;
22913
22942
  }());
22914
- IsLoginAccountPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
22943
+ IsLoginAccountPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
22915
22944
  IsLoginAccountPipe.decorators = [
22916
22945
  { type: i0.Pipe, args: [{
22917
22946
  name: 'isLogin'
@@ -22926,7 +22955,7 @@
22926
22955
  };
22927
22956
  return AccountToStringPipe;
22928
22957
  }());
22929
- AccountToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
22958
+ AccountToStringPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
22930
22959
  AccountToStringPipe.decorators = [
22931
22960
  { type: i0.Pipe, args: [{
22932
22961
  name: 'accountToString'
@@ -22944,7 +22973,7 @@
22944
22973
  };
22945
22974
  return DepartmentToStringPipe;
22946
22975
  }());
22947
- DepartmentToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
22976
+ DepartmentToStringPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
22948
22977
  DepartmentToStringPipe.decorators = [
22949
22978
  { type: i0.Pipe, args: [{
22950
22979
  name: 'departmentToString'
@@ -22979,7 +23008,7 @@
22979
23008
  };
22980
23009
  return MenuService;
22981
23010
  }());
22982
- MenuService.ɵprov = i0.ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
23011
+ MenuService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
22983
23012
  MenuService.decorators = [
22984
23013
  { type: i0.Injectable, args: [{
22985
23014
  providedIn: 'root'
@@ -23593,7 +23622,7 @@
23593
23622
  };
23594
23623
  return AuthGuardService;
23595
23624
  }());
23596
- 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" });
23625
+ 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" });
23597
23626
  AuthGuardService.decorators = [
23598
23627
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
23599
23628
  ];
@@ -23638,7 +23667,7 @@
23638
23667
  query: query,
23639
23668
  variables: { id: id },
23640
23669
  fetchPolicy: opts && opts.fetchPolicy || undefined,
23641
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
23670
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
23642
23671
  })
23643
23672
  .pipe(operators.map(function (_b) {
23644
23673
  var data = _b.data;
@@ -23660,7 +23689,7 @@
23660
23689
  query: query,
23661
23690
  variables: { id: id },
23662
23691
  fetchPolicy: opts && opts.fetchPolicy || undefined,
23663
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
23692
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
23664
23693
  })];
23665
23694
  case 1:
23666
23695
  data = (_b.sent()).data;
@@ -23696,7 +23725,7 @@
23696
23725
  totalFieldName: withTotal ? 'total' : undefined,
23697
23726
  insertFilterFn: filter && filter.asFilterFn(),
23698
23727
  variables: variables,
23699
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
23728
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
23700
23729
  fetchPolicy: opts && opts.fetchPolicy || undefined
23701
23730
  })
23702
23731
  .pipe(operators.map(function (_b) {
@@ -23738,7 +23767,7 @@
23738
23767
  return [4 /*yield*/, this.graphql.query({
23739
23768
  query: query,
23740
23769
  variables: variables,
23741
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
23770
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
23742
23771
  fetchPolicy: opts && opts.fetchPolicy || 'network-only'
23743
23772
  })];
23744
23773
  case 1:
@@ -23786,7 +23815,7 @@
23786
23815
  variables: {
23787
23816
  filter: filter && filter.asPodObject()
23788
23817
  },
23789
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
23818
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
23790
23819
  fetchPolicy: opts && opts.fetchPolicy || 'network-only'
23791
23820
  })];
23792
23821
  case 3:
@@ -23796,6 +23825,9 @@
23796
23825
  });
23797
23826
  });
23798
23827
  };
23828
+ BaseEntityService.prototype.canUserWrite = function (data, opts) {
23829
+ return !!data;
23830
+ };
23799
23831
  BaseEntityService.prototype.saveAll = function (entities, opts) {
23800
23832
  return __awaiter(this, void 0, void 0, function () {
23801
23833
  var hasNewEntities, json, now;
@@ -23828,7 +23860,7 @@
23828
23860
  variables: {
23829
23861
  data: json
23830
23862
  },
23831
- error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
23863
+ error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
23832
23864
  update: function (proxy, _b) {
23833
23865
  var data = _b.data;
23834
23866
  var savedEntities = data && data.data;
@@ -23895,7 +23927,7 @@
23895
23927
  variables: {
23896
23928
  data: json
23897
23929
  },
23898
- error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
23930
+ error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
23899
23931
  update: function (cache, _b) {
23900
23932
  var data = _b.data;
23901
23933
  // Update entity
@@ -23953,7 +23985,7 @@
23953
23985
  refetchQueries: this.getRefetchQueriesForMutation(opts),
23954
23986
  awaitRefetchQueries: opts && opts.awaitRefetchQueries,
23955
23987
  variables: { ids: ids },
23956
- error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
23988
+ error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
23957
23989
  update: function (cache, res) {
23958
23990
  // Remove from cache
23959
23991
  if (_this.watchQueriesUpdatePolicy === 'update-cache') {
@@ -24006,7 +24038,7 @@
24006
24038
  refetchQueries: this.getRefetchQueriesForMutation(opts),
24007
24039
  awaitRefetchQueries: opts && opts.awaitRefetchQueries,
24008
24040
  variables: { id: id },
24009
- error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
24041
+ error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
24010
24042
  update: function (proxy, res) {
24011
24043
  // Remove from cache
24012
24044
  if (_this.watchQueriesUpdatePolicy === 'update-cache') {
@@ -24045,7 +24077,7 @@
24045
24077
  query: opts && opts.query || this.subscriptions.listenChanges,
24046
24078
  variables: variables,
24047
24079
  error: {
24048
- code: ErrorCodes.SUBSCRIBE_DATA_ERROR,
24080
+ code: ErrorCodes$2.SUBSCRIBE_DATA_ERROR,
24049
24081
  message: 'ERROR.SUBSCRIBE_DATA_ERROR'
24050
24082
  }
24051
24083
  })
@@ -24268,7 +24300,7 @@
24268
24300
  if (this._debug)
24269
24301
  invalidRows.forEach(function (row) { return AppTableUtils.logRowErrors(row, "[table-datasource] " + _this._logTypeName + " row #" + row.id); });
24270
24302
  // Stop with an error
24271
- throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
24303
+ throw { code: ErrorCodes$2.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
24272
24304
  }
24273
24305
  this._editingRowCount = 0;
24274
24306
  data = void 0;
@@ -25280,14 +25312,14 @@
25280
25312
  case 0:
25281
25313
  opts = Object.assign({ keepEditing: this.keepEditedRowOnSave }, opts);
25282
25314
  if (this.readOnly) {
25283
- throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
25315
+ throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
25284
25316
  }
25285
25317
  this.resetError();
25286
25318
  // Keep edited row id (should be done BEFORE confirmEditCreate() )
25287
25319
  this.previouslyEditedRowId = opts.keepEditing && ((_a = this.editedRow) === null || _a === void 0 ? void 0 : _a.editing) ? this.editedRow.id : undefined;
25288
25320
  previouslyEditedData = isNotNil(this.previouslyEditedRowId) && this.editedRow.currentData || ((_b = this.singleSelectedRow) === null || _b === void 0 ? void 0 : _b.currentData);
25289
25321
  if (!this.confirmEditCreate()) {
25290
- throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
25322
+ throw { code: ErrorCodes$2.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
25291
25323
  }
25292
25324
  // Mark as saving
25293
25325
  this.markAsSaving();
@@ -25442,7 +25474,7 @@
25442
25474
  switch (_d.label) {
25443
25475
  case 0:
25444
25476
  if (this.readOnly) {
25445
- throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
25477
+ throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
25446
25478
  }
25447
25479
  if (event === null || event === void 0 ? void 0 : event.defaultPrevented)
25448
25480
  return [2 /*return*/, 0]; // SKip
@@ -27258,7 +27290,7 @@
27258
27290
  case 0:
27259
27291
  if (!this.dataService)
27260
27292
  throw new Error('Cannot load data: missing \'dataService\'!');
27261
- this.error = null;
27293
+ this.resetError();
27262
27294
  if (!isNil(id)) return [3 /*break*/, 7];
27263
27295
  _b.label = 1;
27264
27296
  case 1:
@@ -27274,7 +27306,7 @@
27274
27306
  return [3 /*break*/, 6];
27275
27307
  case 4:
27276
27308
  err_1 = _b.sent();
27277
- this.setError(err_1);
27309
+ this.setError(err_1, { emitEvent: false });
27278
27310
  this.selectedTabIndex = 0;
27279
27311
  return [3 /*break*/, 6];
27280
27312
  case 5:
@@ -27287,7 +27319,7 @@
27287
27319
  case 8:
27288
27320
  data = _b.sent();
27289
27321
  if (!data)
27290
- throw { code: ErrorCodes.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
27322
+ throw { code: ErrorCodes$2.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
27291
27323
  this._usageMode = this.computeUsageMode(data);
27292
27324
  return [4 /*yield*/, this.onEntityLoaded(data, opts)];
27293
27325
  case 9:
@@ -27506,7 +27538,7 @@
27506
27538
  return [2 /*return*/, false];
27507
27539
  }
27508
27540
  this.markAsSaving();
27509
- this.error = undefined;
27541
+ this.resetError();
27510
27542
  if (this.debug)
27511
27543
  console.debug('[data-editor] Saving data...');
27512
27544
  _b.label = 2;
@@ -27608,7 +27640,7 @@
27608
27640
  return [2 /*return*/];
27609
27641
  console.debug('[data-editor] Asking to delete...');
27610
27642
  this.markAsSaving();
27611
- this.error = undefined;
27643
+ this.resetError();
27612
27644
  _b.label = 2;
27613
27645
  case 2:
27614
27646
  _b.trys.push([2, 7, , 8]);
@@ -27680,17 +27712,39 @@
27680
27712
  });
27681
27713
  });
27682
27714
  };
27683
- AppEntityEditor.prototype.setError = function (err) {
27684
- console.error('[entity-editor] Error: ' + err && err.message || '', err);
27685
- var userMessage = err && err.message && this.translate.instant(err.message) || err;
27686
- // Add details error (if any) under the main message
27687
- var detailMessage = err && err.details && (err.details.message || err.details) || undefined;
27688
- if (isNotNilString(detailMessage)) {
27689
- userMessage += "<br/><small class=\"hidden-xs hidden-sm\" title=\"" + detailMessage + "\">";
27690
- userMessage += detailMessage.length < 70 ? detailMessage : detailMessage.substring(0, 67) + '...';
27691
- userMessage += '</small>';
27715
+ AppEntityEditor.prototype.resetError = function (opts) {
27716
+ if (isNotNilOrBlank(this.error)) {
27717
+ this.error = null;
27718
+ if (!opts || opts.emitEvent !== false)
27719
+ this.markForCheck();
27692
27720
  }
27693
- this.error = userMessage;
27721
+ };
27722
+ AppEntityEditor.prototype.setError = function (err, opts) {
27723
+ if (!err || typeof err === 'string') {
27724
+ console.error('[entity-editor] Error: ' + (err || ''));
27725
+ this.error = err;
27726
+ }
27727
+ else {
27728
+ console.error('[entity-editor] Error: ' + err.message || '', err);
27729
+ var userMessage = err.message && this.translate.instant(err.message) || err;
27730
+ // Add details error (if any) under the main message
27731
+ var detailMessage = (!err.details || typeof err.details === 'string')
27732
+ ? err.details
27733
+ : err.details.message;
27734
+ if (isNotNilOrBlank(detailMessage)) {
27735
+ var cssClass = (opts === null || opts === void 0 ? void 0 : opts.detailsCssClass) || 'hidden-xs hidden-sm';
27736
+ userMessage += "<br/><small class=\"" + cssClass + "\" title=\"" + detailMessage + "\">";
27737
+ userMessage += detailMessage.length < 70 ? detailMessage : detailMessage.substring(0, 67) + '...';
27738
+ userMessage += '</small>';
27739
+ }
27740
+ this.error = userMessage;
27741
+ }
27742
+ if (!opts || opts.emitEvent !== false)
27743
+ this.markForCheck();
27744
+ };
27745
+ /* -- public abstract methods (to override) -- */
27746
+ AppEntityEditor.prototype.canUserWrite = function (data, opts) {
27747
+ return this.dataService.canUserWrite(data, opts);
27694
27748
  };
27695
27749
  /* -- protected methods -- */
27696
27750
  /**
@@ -28031,10 +28085,10 @@
28031
28085
  exports.UserEventFilter = __decorate([
28032
28086
  EntityClass({ typename: 'UserEventVO' })
28033
28087
  ], exports.UserEventFilter);
28034
- 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);
28035
- 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);
28036
- 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"])));
28037
- 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);
28088
+ 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);
28089
+ 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);
28090
+ 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"])));
28091
+ 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);
28038
28092
  var UserEventService = /** @class */ (function (_super) {
28039
28093
  __extends(UserEventService, _super);
28040
28094
  function UserEventService(graphql, accountService, network, translate, toastController, environment) {
@@ -28355,7 +28409,7 @@
28355
28409
  };
28356
28410
  return UserEventService;
28357
28411
  }(BaseGraphqlService));
28358
- 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" });
28412
+ 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" });
28359
28413
  UserEventService.decorators = [
28360
28414
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
28361
28415
  ];
@@ -28367,7 +28421,7 @@
28367
28421
  { type: i1$5.ToastController },
28368
28422
  { type: undefined, decorators: [{ type: i0.Inject, args: [ENVIRONMENT,] }] }
28369
28423
  ]; };
28370
- var templateObject_1$3, templateObject_2$3, templateObject_3$2, templateObject_4$2;
28424
+ var templateObject_1$1, templateObject_2$1, templateObject_3$1, templateObject_4$1;
28371
28425
 
28372
28426
  var ICONS_MAP = {
28373
28427
  DEBUG_DATA: { matIcon: 'bug_report' },
@@ -28630,16 +28684,16 @@
28630
28684
  ], exports.PersonFilter);
28631
28685
 
28632
28686
  var PersonFragments = {
28633
- 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 }"])))
28687
+ 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 }"])))
28634
28688
  };
28635
28689
  // Load persons query
28636
28690
  var PersonQueries = {
28637
- 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),
28638
- 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)
28691
+ 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),
28692
+ 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)
28639
28693
  };
28640
28694
  var PersonMutations = {
28641
- 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),
28642
- 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 }"])))
28695
+ 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),
28696
+ 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 }"])))
28643
28697
  };
28644
28698
  var PersonService = /** @class */ (function (_super_1) {
28645
28699
  __extends(PersonService, _super_1);
@@ -28763,7 +28817,7 @@
28763
28817
  };
28764
28818
  return PersonService;
28765
28819
  }(BaseEntityService));
28766
- 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" });
28820
+ 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" });
28767
28821
  PersonService.decorators = [
28768
28822
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
28769
28823
  ];
@@ -28773,7 +28827,7 @@
28773
28827
  { type: NetworkService },
28774
28828
  { type: EntitiesStorage }
28775
28829
  ]; };
28776
- var templateObject_1$4, templateObject_2$4, templateObject_3$3, templateObject_4$3, templateObject_5$2;
28830
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
28777
28831
 
28778
28832
  var PersonValidatorService = /** @class */ (function () {
28779
28833
  function PersonValidatorService(formBuilder, accountValidatorService) {
@@ -28796,7 +28850,7 @@
28796
28850
  };
28797
28851
  return PersonValidatorService;
28798
28852
  }());
28799
- PersonValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(i0.ɵɵinject(i1.FormBuilder), i0.ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
28853
+ 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" });
28800
28854
  PersonValidatorService.decorators = [
28801
28855
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
28802
28856
  ];
@@ -29019,16 +29073,16 @@
29019
29073
  ];
29020
29074
  AdminModule.ctorParameters = function () { return []; };
29021
29075
 
29022
- var ɵ0$b = {
29076
+ var ɵ0 = {
29023
29077
  profile: 'ADMIN'
29024
29078
  };
29025
- var routes$1 = [
29079
+ var routes = [
29026
29080
  {
29027
29081
  path: 'users',
29028
29082
  pathMatch: 'full',
29029
29083
  component: UsersPage,
29030
29084
  canActivate: [AuthGuardService],
29031
- data: ɵ0$b
29085
+ data: ɵ0
29032
29086
  }
29033
29087
  ];
29034
29088
  var AdminRoutingModule = /** @class */ (function () {
@@ -29041,13 +29095,13 @@
29041
29095
  imports: [
29042
29096
  SharedRoutingModule,
29043
29097
  AdminModule,
29044
- i3.RouterModule.forChild(routes$1)
29098
+ i3.RouterModule.forChild(routes)
29045
29099
  ],
29046
29100
  exports: [i3.RouterModule]
29047
29101
  },] }
29048
29102
  ];
29049
29103
 
29050
- var ErrorCodes$2 = {
29104
+ var ErrorCodes = {
29051
29105
  LOAD_PERSONS_ERROR: 100,
29052
29106
  SAVE_PERSONS_ERROR: 101,
29053
29107
  DELETE_PERSONS_ERROR: 102,
@@ -29158,7 +29212,7 @@
29158
29212
  exports.EntityStore = EntityStore;
29159
29213
  exports.EntityUtils = EntityUtils;
29160
29214
  exports.Environment = Environment;
29161
- exports.ErrorCodes = ErrorCodes$2;
29215
+ exports.ErrorCodes = ErrorCodes;
29162
29216
  exports.EvenPipe = EvenPipe;
29163
29217
  exports.FileService = FileService;
29164
29218
  exports.FileSizePipe = FileSizePipe;
@@ -29168,7 +29222,7 @@
29168
29222
  exports.FormErrorTranslatePipe = FormErrorTranslatePipe;
29169
29223
  exports.FormErrorTranslator = FormErrorTranslator;
29170
29224
  exports.FormFieldValuesHolder = FormFieldValuesHolder;
29171
- exports.Fragments = Fragments$1;
29225
+ exports.Fragments = Fragments;
29172
29226
  exports.GraphqlService = GraphqlService;
29173
29227
  exports.HAMMER_PRESS_TIME = HAMMER_PRESS_TIME;
29174
29228
  exports.HAMMER_TAP_TIME = HAMMER_TAP_TIME;
@@ -29421,20 +29475,20 @@
29421
29475
  exports.waitForTrue = waitForTrue;
29422
29476
  exports.waitIdle = waitIdle;
29423
29477
  exports.waitWhilePending = waitWhilePending;
29424
- exports.ɵa = CustomReuseStrategy;
29425
- exports.ɵb = MatNumpadDomService;
29426
- exports.ɵc = SharedMatBadgeIconModule;
29427
- exports.ɵd = MatBadgeIconDirective;
29428
- exports.ɵe = isFocusableElement;
29429
- exports.ɵf = MatBadgeIconTestPage;
29430
- exports.ɵg = RegisterForm;
29431
- exports.ɵh = AccountValidatorService;
29432
- exports.ɵi = RegisterModal;
29433
- exports.ɵj = UserSettingsValidatorService;
29434
- exports.ɵk = LocalSettingsValidatorService;
29435
- exports.ɵl = AppIconComponent;
29478
+ exports["ɵa"] = CustomReuseStrategy;
29479
+ exports["ɵb"] = MatNumpadDomService;
29480
+ exports["ɵc"] = SharedMatBadgeIconModule;
29481
+ exports["ɵd"] = MatBadgeIconDirective;
29482
+ exports["ɵe"] = isFocusableElement;
29483
+ exports["ɵf"] = MatBadgeIconTestPage;
29484
+ exports["ɵg"] = RegisterForm;
29485
+ exports["ɵh"] = AccountValidatorService;
29486
+ exports["ɵi"] = RegisterModal;
29487
+ exports["ɵj"] = UserSettingsValidatorService;
29488
+ exports["ɵk"] = LocalSettingsValidatorService;
29489
+ exports["ɵl"] = AppIconComponent;
29436
29490
 
29437
29491
  Object.defineProperty(exports, '__esModule', { value: true });
29438
29492
 
29439
- })));
29493
+ }));
29440
29494
  //# sourceMappingURL=sumaris-net.ngx-components.umd.js.map