@sumaris-net/ngx-components 0.13.14 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -26,11 +26,35 @@
26
26
  return Object.freeze(n);
27
27
  }
28
28
 
29
+ var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
30
+ var i1__namespace$3 = /*#__PURE__*/_interopNamespace(i1$4);
31
+ var i1__namespace$2 = /*#__PURE__*/_interopNamespace(i1$3);
32
+ var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2);
33
+ var i1__namespace$6 = /*#__PURE__*/_interopNamespace(i1);
34
+ var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1$2);
35
+ var i1__namespace$4 = /*#__PURE__*/_interopNamespace(i1$5);
29
36
  var momentImported__namespace = /*#__PURE__*/_interopNamespace(momentImported);
37
+ var i1__namespace = /*#__PURE__*/_interopNamespace(i1$1);
38
+ var i3__namespace$3 = /*#__PURE__*/_interopNamespace(i3);
39
+ var i1__namespace$5 = /*#__PURE__*/_interopNamespace(i1$6);
40
+ var i2__namespace$2 = /*#__PURE__*/_interopNamespace(i2$1);
41
+ var i2__namespace = /*#__PURE__*/_interopNamespace(i2$2);
42
+ var i3__namespace = /*#__PURE__*/_interopNamespace(i3$1);
43
+ var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
30
44
  var uuidv4Imported__namespace = /*#__PURE__*/_interopNamespace(uuidv4Imported);
45
+ var i3__namespace$1 = /*#__PURE__*/_interopNamespace(i3$2);
46
+ var i6__namespace = /*#__PURE__*/_interopNamespace(i6);
47
+ var i9__namespace = /*#__PURE__*/_interopNamespace(i9);
48
+ var i10__namespace = /*#__PURE__*/_interopNamespace(i10);
49
+ var i2__namespace$4 = /*#__PURE__*/_interopNamespace(i2$4);
50
+ var i2__namespace$3 = /*#__PURE__*/_interopNamespace(i2$3);
31
51
  var QueueLink__default = /*#__PURE__*/_interopDefaultLegacy(QueueLink);
32
52
  var SerializingLink__default = /*#__PURE__*/_interopDefaultLegacy(SerializingLink);
33
53
  var loggerLink__default = /*#__PURE__*/_interopDefaultLegacy(loggerLink);
54
+ var i3__namespace$2 = /*#__PURE__*/_interopNamespace(i3$3);
55
+ var i14__namespace = /*#__PURE__*/_interopNamespace(i14);
56
+ var i15__namespace = /*#__PURE__*/_interopNamespace(i15);
57
+ var i17__namespace = /*#__PURE__*/_interopNamespace(i17);
34
58
 
35
59
  var ENVIRONMENT = new i0.InjectionToken('ENV');
36
60
  var Environment = /** @class */ (function () {
@@ -1116,22 +1140,23 @@
1116
1140
  };
1117
1141
  return MatAutocompleteConfigHolder;
1118
1142
  }());
1119
- var DEFAULT_VALUE_ACCESSOR = {
1143
+ var DEFAULT_VALUE_ACCESSOR$6 = {
1120
1144
  provide: i1.NG_VALUE_ACCESSOR,
1121
1145
  useExisting: i0.forwardRef(function () { return MatAutocompleteField; }),
1122
1146
  multi: true
1123
1147
  };
1124
- var noop = function () { };
1125
- var ɵ0 = noop;
1148
+ var noop$7 = function () { };
1149
+ var ɵ0$a = noop$7;
1126
1150
  var MatAutocompleteField = /** @class */ (function () {
1127
1151
  function MatAutocompleteField(cd, formGroupDir) {
1128
1152
  this.cd = cd;
1129
1153
  this.formGroupDir = formGroupDir;
1130
- this._onChangeCallback = noop;
1131
- this._onTouchedCallback = noop;
1154
+ this._onChangeCallback = noop$7;
1155
+ this._onTouchedCallback = noop$7;
1132
1156
  this._subscription = new rxjs.Subscription();
1133
1157
  this._filter$ = new rxjs.BehaviorSubject(undefined);
1134
1158
  this._reload$ = new rxjs.Subject();
1159
+ this._readonly = false;
1135
1160
  this.$inputItems = new rxjs.BehaviorSubject(undefined);
1136
1161
  this.$filteredItems = new rxjs.BehaviorSubject(undefined);
1137
1162
  this.displayValue = '';
@@ -1139,7 +1164,6 @@
1139
1164
  this.logPrefix = '[mat-autocomplete] ';
1140
1165
  this.formControlName = null;
1141
1166
  this.required = false;
1142
- this.readonly = false;
1143
1167
  this.clearable = false;
1144
1168
  this.debounceTime = null;
1145
1169
  this.highlightAccent = false;
@@ -1186,6 +1210,17 @@
1186
1210
  enumerable: false,
1187
1211
  configurable: true
1188
1212
  });
1213
+ Object.defineProperty(MatAutocompleteField.prototype, "readonly", {
1214
+ get: function () {
1215
+ return this._readonly;
1216
+ },
1217
+ set: function (value) {
1218
+ this._readonly = value;
1219
+ this.markForCheck();
1220
+ },
1221
+ enumerable: false,
1222
+ configurable: true
1223
+ });
1189
1224
  Object.defineProperty(MatAutocompleteField.prototype, "tabindex", {
1190
1225
  get: function () {
1191
1226
  return this._tabindex;
@@ -1487,6 +1522,7 @@
1487
1522
  this._onTouchedCallback = fn;
1488
1523
  };
1489
1524
  MatAutocompleteField.prototype.setDisabledState = function (isDisabled) {
1525
+ this.enabled;
1490
1526
  this.cd.markForCheck();
1491
1527
  };
1492
1528
  MatAutocompleteField.prototype.focus = function () {
@@ -1704,8 +1740,8 @@
1704
1740
  { type: i0.Component, args: [{
1705
1741
  // eslint-disable-next-line @angular-eslint/component-selector
1706
1742
  selector: 'mat-autocomplete-field',
1707
- template: "<ion-grid class=\"ion-no-padding\">\n <ion-row>\n <ion-col class=\"ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-disabled]=\"disabled\"\n [title]=\"displayValue\">\n\n <div matPrefix><ng-content select=\"[matPrefix]\"></ng-content></div>\n\n <!-- readonly -->\n <ng-container *ngIf=\"readonly; else writable\">\n <input matInput hidden type=\"text\"\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\"\n readonly>\n <ion-label>{{ displayWith(value) }}&nbsp;</ion-label>\n </ng-container>\n\n <ng-template #writable>\n\n <!-- Basic select -->\n <mat-select #matSelect\n *ngIf=\"!searchable; else searchableTemplate\"\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\"\n [tabindex]=\"_tabindex\"\n [panelClass]=\"classList\"\n [style.width]=\"panelWidth\"\n (focus)=\"filterMatSelectFocusEvent($event)\"\n (blur)=\"filterMatSelectBlurEvent($event)\"\n [compareWith]=\"compareWith\"\n [multiple]=\"multiple\">\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 <a class=\"ion-padding mat-option \"\n *ngIf=\"_moreItemsCount\"\n (click)=\"_fetchMore$.emit($event)\" >\n <ion-label color=\"primary\" style=\"width: 100%;\">\n <span translate>COMMON.BTN_SHOW_MORE</span>\n <mat-icon class=\"ion-color-primary\">expand_more</mat-icon>\n </ion-label>\n </a>\n </ng-container>\n </mat-select>\n </ng-template>\n\n <!--\n NOTE :\n - \"selectInputContent($event) || onFocus.emit($event)\" : call onFocus only when to the input is empty (nothing to select)\n -->\n <ng-template #searchableTemplate>\n <input matInput #matInputText type=\"text\"\n [matAutocomplete]=\"autoComplete\"\n [matAutocompletePosition]=\"matAutocompletePosition\"\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [appAutofocus]=\"autofocus\"\n [tabindex]=\"_tabindex\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n (click)=\"onClick.emit($event)\"\n (focus)=\"filterInputTextFocusInEvent($event)\"\n (blur)=\"filterInputTextBlurEvent($event)\"\n (keyup.arrowdown)=\"!autoComplete.showPanel && onDropButtonClick.emit($event)\">\n\n <!-- autocomplete -->\n <mat-autocomplete #autoComplete=\"matAutocomplete\"\n autoActiveFirstOption\n [displayWith]=\"displayWith\"\n [class]=\"classList\"\n [class.cdk-visually-hidden]=\"!searchable\"\n [panelWidth]=\"panelWidth\">\n\n <ion-row class=\"mat-autocomplete-header ion-no-padding\">\n <ion-col *ngFor=\"let attr of displayAttributes; index as i; last as last\" [size]=\"displayColumnSizes[i]\" >\n <ion-label [innerHTML]=\"displayColumnNames[i] | translate\"></ion-label>\n <ion-text color=\"light\" *ngIf=\"last && itemCount; let count \" class=\"ion-float-end ion-padding-end\"><i>{{'COMMON.RESULT_COUNT'|translate: {count: count} }}</i></ion-text>\n </ion-col>\n </ion-row>\n\n <ng-container *ngIf=\"$filteredItems | async; else loadingTemplate; let items\">\n <!-- No item option -->\n <mat-option *ngIf=\"items | isEmptyArray\" class=\"ion-padding text-italic\" disabled>\n <ion-label>{{noResultMessage | translate}}</ion-label>\n </mat-option>\n\n <mat-option *ngFor=\"let item of items\" [value]=\"item\" class=\"ion-no-padding\" >\n <ion-row [classList]=\"item.classList\">\n <ion-col *ngFor=\"let path of displayAttributes; index as i;\"\n [size]=\"displayColumnSizes[i]\">\n <ion-text [innerHTML]=\"item | propertyGet: path | highlight: { search: formControl.value, withAccent: highlightAccent }\"></ion-text>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <!-- More item -->\n <mat-option *ngIf=\"_moreItemsCount\" (ngInit)=\"_initInfiniteScroll()\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-container>\n\n <!-- Loading spinner -->\n <ng-template #loadingTemplate>\n <mat-option *ngIf=\"(matInputText.value | strLength) >= suggestLengthThreshold; else waitMoreCharacterTemplate\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-template>\n\n <!-- Need more characters -->\n <ng-template #waitMoreCharacterTemplate>\n <mat-option class=\"ion-padding text-italic\" disabled>\n <ion-label>\n {{'INFO.PLEASE_TYPE_MORE_CHARACTERS'|translate:{minLength: suggestLengthThreshold} }}\n </ion-label>\n </mat-option>\n </ng-template>\n </mat-autocomplete>\n\n </ng-template>\n\n\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"searchable\"\n (click)=\"onDropButtonClick.emit($event)\"\n [hidden]=\"disabled\">\n <mat-icon class=\"large select-arrow\">arrow_drop_down</mat-icon>\n </button>\n <button matSuffix type=\"button\" mat-icon-button tabindex=\"-1\"\n *ngIf=\"enabled && mobile && !searchable && !multiple\"\n [title]=\"'COMMON.BTN_SEARCH'|translate\"\n (click)=\"toggleSearch($event)\">\n <mat-icon>search</mat-icon>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clearValue($event)\"\n [hidden]=\"disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <ng-content matSuffix select=\"[matSuffix]\"></ng-content>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('entity')\" translate>ERROR.FIELD_INVALID</mat-error>\n <ng-content select=\"[matError]\"></ng-content>\n\n </mat-form-field>\n </ion-col>\n <ion-col size=\"auto\" class=\"ion-align-self-center\">\n <ng-content select=\"[matAfter]\"></ng-content>\n </ion-col>\n </ion-row>\n\n</ion-grid>\n",
1708
- providers: [DEFAULT_VALUE_ACCESSOR],
1743
+ template: "<ion-grid class=\"ion-no-padding\">\n <ion-row>\n <ion-col class=\"ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-disabled]=\"disabled\"\n [title]=\"displayValue\">\n\n <div matPrefix><ng-content select=\"[matPrefix]\"></ng-content></div>\n\n <!-- readonly -->\n <ng-container *ngIf=\"_readonly; else writable\">\n <input matInput hidden type=\"text\"\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\" readonly>\n <ion-text>{{displayWith(value)}}</ion-text>\n </ng-container>\n\n <ng-template #writable>\n\n <!-- Basic select -->\n <mat-select #matSelect\n *ngIf=\"!searchable; else searchableTemplate\"\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\"\n [tabindex]=\"_tabindex\"\n [panelClass]=\"classList\"\n [style.width]=\"panelWidth\"\n (focus)=\"filterMatSelectFocusEvent($event)\"\n (blur)=\"filterMatSelectBlurEvent($event)\"\n [compareWith]=\"compareWith\"\n [multiple]=\"multiple\">\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 <a class=\"ion-padding mat-option \"\n *ngIf=\"_moreItemsCount\"\n (click)=\"_fetchMore$.emit($event)\" >\n <ion-label color=\"primary\" style=\"width: 100%;\">\n <span translate>COMMON.BTN_SHOW_MORE</span>\n <mat-icon class=\"ion-color-primary\">expand_more</mat-icon>\n </ion-label>\n </a>\n </ng-container>\n </mat-select>\n </ng-template>\n\n <!--\n NOTE :\n - \"selectInputContent($event) || onFocus.emit($event)\" : call onFocus only when to the input is empty (nothing to select)\n -->\n <ng-template #searchableTemplate>\n <input matInput #matInputText type=\"text\"\n [matAutocomplete]=\"autoComplete\"\n [matAutocompletePosition]=\"matAutocompletePosition\"\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [appAutofocus]=\"autofocus\"\n [tabindex]=\"_tabindex\"\n [required]=\"required\"\n (click)=\"onClick.emit($event)\"\n (focus)=\"filterInputTextFocusInEvent($event)\"\n (blur)=\"filterInputTextBlurEvent($event)\"\n (keyup.arrowdown)=\"!autoComplete.showPanel && onDropButtonClick.emit($event)\">\n\n <!-- autocomplete -->\n <mat-autocomplete #autoComplete=\"matAutocomplete\"\n autoActiveFirstOption\n [displayWith]=\"displayWith\"\n [class]=\"classList\"\n [class.cdk-visually-hidden]=\"!searchable\"\n [panelWidth]=\"panelWidth\">\n\n <ion-row class=\"mat-autocomplete-header ion-no-padding\">\n <ion-col *ngFor=\"let attr of displayAttributes; index as i; last as last\" [size]=\"displayColumnSizes[i]\" >\n <ion-label [innerHTML]=\"displayColumnNames[i] | translate\"></ion-label>\n <ion-text color=\"light\" *ngIf=\"last && itemCount; let count \" class=\"ion-float-end ion-padding-end\"><i>{{'COMMON.RESULT_COUNT'|translate: {count: count} }}</i></ion-text>\n </ion-col>\n </ion-row>\n\n <ng-container *ngIf=\"$filteredItems | async; else loadingTemplate; let items\">\n <!-- No item option -->\n <mat-option *ngIf=\"items | isEmptyArray\" class=\"ion-padding text-italic\" disabled>\n <ion-label>{{noResultMessage | translate}}</ion-label>\n </mat-option>\n\n <mat-option *ngFor=\"let item of items\" [value]=\"item\" class=\"ion-no-padding\" >\n <ion-row [classList]=\"item.classList\">\n <ion-col *ngFor=\"let path of displayAttributes; index as i;\"\n [size]=\"displayColumnSizes[i]\">\n <ion-text [innerHTML]=\"item | propertyGet: path | highlight: { search: formControl.value, withAccent: highlightAccent }\"></ion-text>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <!-- More item -->\n <mat-option *ngIf=\"_moreItemsCount\" (ngInit)=\"_initInfiniteScroll()\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-container>\n\n <!-- Loading spinner -->\n <ng-template #loadingTemplate>\n <mat-option *ngIf=\"(matInputText.value | strLength) >= suggestLengthThreshold; else waitMoreCharacterTemplate\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-template>\n\n <!-- Need more characters -->\n <ng-template #waitMoreCharacterTemplate>\n <mat-option class=\"ion-padding text-italic\" disabled>\n <ion-label>\n {{'INFO.PLEASE_TYPE_MORE_CHARACTERS'|translate:{minLength: suggestLengthThreshold} }}\n </ion-label>\n </mat-option>\n </ng-template>\n </mat-autocomplete>\n\n </ng-template>\n\n\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"searchable\"\n (click)=\"onDropButtonClick.emit($event)\"\n [hidden]=\"disabled\">\n <mat-icon class=\"large select-arrow\">arrow_drop_down</mat-icon>\n </button>\n <button matSuffix type=\"button\" mat-icon-button tabindex=\"-1\"\n *ngIf=\"enabled && mobile && !searchable && !multiple\"\n [title]=\"'COMMON.BTN_SEARCH'|translate\"\n (click)=\"toggleSearch($event)\">\n <mat-icon>search</mat-icon>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clearValue($event)\"\n [hidden]=\"disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <ng-content matSuffix select=\"[matSuffix]\"></ng-content>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('entity')\" translate>ERROR.FIELD_INVALID</mat-error>\n <ng-content select=\"[matError]\"></ng-content>\n\n </mat-form-field>\n </ion-col>\n <ion-col size=\"auto\" class=\"ion-align-self-center\">\n <ng-content select=\"[matAfter]\"></ng-content>\n </ion-col>\n </ion-row>\n\n</ion-grid>\n",
1744
+ providers: [DEFAULT_VALUE_ACCESSOR$6],
1709
1745
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
1710
1746
  styles: [":host{display:inline-block;position:relative}:host.ion-text-wrap ion-label{white-space:normal!important}button[hidden]{display:none}mat-icon.select-arrow{color:rgba(0,0,0,.47);font-size:150%}.fact-scroll-viewport{height:100%;width:100%}.fact-item{height:54px;display:flex}.fact-item .fact-date{min-width:100px;text-align:center;font-size:24pt}.fact-item .fact-date,.fact-item .fact-text{height:100%;align-items:center;justify-content:center;display:flex}.fact-item .fact-text{border-radius:10px}cdk-virtual-scroll-viewport{border:1px solid #000}cdk-virtual-scroll-viewport li{list-style:none}"]
1711
1747
  },] }
@@ -1724,7 +1760,6 @@
1724
1760
  suggestFn: [{ type: i0.Input }],
1725
1761
  required: [{ type: i0.Input }],
1726
1762
  mobile: [{ type: i0.Input }],
1727
- readonly: [{ type: i0.Input }],
1728
1763
  clearable: [{ type: i0.Input }],
1729
1764
  debounceTime: [{ type: i0.Input }],
1730
1765
  displayWith: [{ type: i0.Input }],
@@ -1748,6 +1783,7 @@
1748
1783
  showLoadingSpinner: [{ type: i0.Input }],
1749
1784
  animationsDisabled: [{ type: i0.HostBinding, args: ['@.disabled',] }],
1750
1785
  filter: [{ type: i0.Input }],
1786
+ readonly: [{ type: i0.Input }],
1751
1787
  tabindex: [{ type: i0.Input }],
1752
1788
  items: [{ type: i0.Input }],
1753
1789
  onClick: [{ type: i0.Output, args: ['click',] }],
@@ -1780,7 +1816,7 @@
1780
1816
  };
1781
1817
  return DateFormatPipe;
1782
1818
  }());
1783
- 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" });
1819
+ 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" });
1784
1820
  DateFormatPipe.decorators = [
1785
1821
  { type: i0.Pipe, args: [{
1786
1822
  name: 'dateFormat'
@@ -1792,7 +1828,7 @@
1792
1828
  { type: i1$2.TranslateService }
1793
1829
  ]; };
1794
1830
 
1795
- var moment = momentImported__namespace;
1831
+ var moment$6 = momentImported__namespace;
1796
1832
  var DateDiffDurationPipe = /** @class */ (function () {
1797
1833
  function DateDiffDurationPipe(dateAdapter, translate) {
1798
1834
  var _this = this;
@@ -1809,10 +1845,10 @@
1809
1845
  return this.format(startDate, endDate);
1810
1846
  };
1811
1847
  DateDiffDurationPipe.prototype.format = function (startDate, endDate) {
1812
- var duration = moment.duration(endDate.diff(startDate));
1848
+ var duration = moment$6.duration(endDate.diff(startDate));
1813
1849
  if (duration.asMinutes() < 0)
1814
1850
  return '';
1815
- var timeDuration = moment(0)
1851
+ var timeDuration = moment$6(0)
1816
1852
  .hour(duration.hours())
1817
1853
  .minute(duration.minutes());
1818
1854
  var days = Math.floor(duration.asDays());
@@ -1820,7 +1856,7 @@
1820
1856
  };
1821
1857
  return DateDiffDurationPipe;
1822
1858
  }());
1823
- 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" });
1859
+ 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" });
1824
1860
  DateDiffDurationPipe.decorators = [
1825
1861
  { type: i0.Pipe, args: [{
1826
1862
  name: 'dateDiffDuration'
@@ -1842,7 +1878,7 @@
1842
1878
  };
1843
1879
  return DateFromNowPipe;
1844
1880
  }());
1845
- DateFromNowPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(i0.ɵɵinject(i1$1.MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
1881
+ DateFromNowPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(i0__namespace.ɵɵinject(i1__namespace.MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
1846
1882
  DateFromNowPipe.decorators = [
1847
1883
  { type: i0.Pipe, args: [{
1848
1884
  name: 'dateFromNow'
@@ -1911,7 +1947,7 @@
1911
1947
  value *= -1;
1912
1948
  }
1913
1949
  }
1914
- var degrees = roundFloat(value, opts.maxDecimals).toString();
1950
+ var degrees = roundFloat$1(value, opts.maxDecimals).toString();
1915
1951
  // Add sign
1916
1952
  var sign = negative ? '-' : '+';
1917
1953
  if (opts.placeholderChar) {
@@ -1962,7 +1998,7 @@
1962
1998
  }
1963
1999
  var degrees = Math.trunc(value);
1964
2000
  var minutes = Math.trunc((value - degrees) * 60);
1965
- var seconds = roundFloat(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
2001
+ var seconds = roundFloat$1(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
1966
2002
  while (seconds >= 60) {
1967
2003
  seconds -= 60;
1968
2004
  minutes += 1;
@@ -2030,7 +2066,7 @@
2030
2066
  }
2031
2067
  }
2032
2068
  var degrees = Math.trunc(value);
2033
- var minutes = roundFloat((value - degrees) * 60, opts.maxDecimals);
2069
+ var minutes = roundFloat$1((value - degrees) * 60, opts.maxDecimals);
2034
2070
  while (minutes >= 60) {
2035
2071
  minutes -= 60;
2036
2072
  degrees += 1;
@@ -2081,15 +2117,15 @@
2081
2117
  return NaN;
2082
2118
  }
2083
2119
  if (pattern === 'DD')
2084
- return roundFloat(degrees, maxDecimals);
2120
+ return roundFloat$1(degrees, maxDecimals);
2085
2121
  var minutes = (pattern === 'DDMMSS' || pattern === 'DDMM') && parts[1] && parseFloat(parts[1].replace(/,/g, '.')) || 0;
2086
2122
  var seconds = (pattern === 'DDMMSS') && parts[2] && parseFloat(parts[2].replace(/,/g, '.')) || 0;
2087
2123
  var direction = ((pattern === 'DDMMSS') && parts[3]) || ((pattern === 'DDMM') && parts[2]) || undefined;
2088
2124
  var sign = (direction && (direction === 's' || direction === 'S' || direction === 'w' || direction === 'W')) ? -1 : 1;
2089
2125
  degrees = sign * (degrees + minutes / 60 + seconds / (60 * 60));
2090
- return roundFloat(degrees, maxDecimals);
2126
+ return roundFloat$1(degrees, maxDecimals);
2091
2127
  }
2092
- function roundFloat(input, maxDecimals) {
2128
+ function roundFloat$1(input, maxDecimals) {
2093
2129
  if (maxDecimals > 0) {
2094
2130
  var powDecimal = Math.pow(10, maxDecimals);
2095
2131
  return Math.trunc(input * powDecimal + 0.5) / powDecimal;
@@ -2112,7 +2148,7 @@
2112
2148
  };
2113
2149
  return LatLongFormatPipe;
2114
2150
  }());
2115
- LatLongFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
2151
+ LatLongFormatPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
2116
2152
  LatLongFormatPipe.decorators = [
2117
2153
  { type: i0.Pipe, args: [{
2118
2154
  name: 'latLongFormat'
@@ -2125,7 +2161,7 @@
2125
2161
  }
2126
2162
  return LatitudeFormatPipe;
2127
2163
  }());
2128
- LatitudeFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
2164
+ LatitudeFormatPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
2129
2165
  LatitudeFormatPipe.decorators = [
2130
2166
  { type: i0.Pipe, args: [{
2131
2167
  name: 'latitudeFormat'
@@ -2138,7 +2174,7 @@
2138
2174
  }
2139
2175
  return LongitudeFormatPipe;
2140
2176
  }());
2141
- LongitudeFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
2177
+ LongitudeFormatPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
2142
2178
  LongitudeFormatPipe.decorators = [
2143
2179
  { type: i0.Pipe, args: [{
2144
2180
  name: 'longitudeFormat'
@@ -2161,7 +2197,7 @@
2161
2197
  };
2162
2198
  return NumberFormatPipe;
2163
2199
  }());
2164
- NumberFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
2200
+ NumberFormatPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
2165
2201
  NumberFormatPipe.decorators = [
2166
2202
  { type: i0.Pipe, args: [{
2167
2203
  name: 'numberFormat'
@@ -2204,7 +2240,7 @@
2204
2240
  };
2205
2241
  return HighlightPipe;
2206
2242
  }());
2207
- HighlightPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
2243
+ HighlightPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
2208
2244
  HighlightPipe.decorators = [
2209
2245
  { type: i0.Pipe, args: [{
2210
2246
  name: 'highlight'
@@ -2272,7 +2308,7 @@
2272
2308
  { type: i0.Pipe, args: [{ name: 'fileSize' },] }
2273
2309
  ];
2274
2310
 
2275
- var moment$1 = momentImported__namespace;
2311
+ var moment$5 = momentImported__namespace;
2276
2312
  var DATE_UNIX_TIMESTAMP = 'X';
2277
2313
  var DATE_UNIX_MS_TIMESTAMP = 'x';
2278
2314
  var DateUtils = /** @class */ (function () {
@@ -2307,32 +2343,32 @@
2307
2343
  if (!value || momentImported.isMoment(value))
2308
2344
  return value;
2309
2345
  // Parse the input value, as a ISO date time
2310
- var date = moment$1(value, DATE_ISO_PATTERN);
2346
+ var date = moment$5(value, DATE_ISO_PATTERN);
2311
2347
  if (date.isValid())
2312
2348
  return date;
2313
2349
  // Not valid: trying to convert from unix timestamp
2314
2350
  if (typeof value === 'string') {
2315
2351
  console.warn('Wrong date format - Trying to convert from local time: ' + value);
2316
2352
  if (value.length === 10) {
2317
- return moment$1(value, DATE_UNIX_TIMESTAMP);
2353
+ return moment$5(value, DATE_UNIX_TIMESTAMP);
2318
2354
  }
2319
2355
  else if (value.length === 13) {
2320
- return moment$1(value, DATE_UNIX_MS_TIMESTAMP);
2356
+ return moment$5(value, DATE_UNIX_MS_TIMESTAMP);
2321
2357
  }
2322
2358
  }
2323
2359
  console.warn('Unable to parse date: ' + value);
2324
2360
  return undefined;
2325
2361
  }
2326
2362
  function fromUnixTimestamp(timeInSec) {
2327
- return moment$1(timeInSec, DATE_UNIX_TIMESTAMP);
2363
+ return moment$5(timeInSec, DATE_UNIX_TIMESTAMP);
2328
2364
  }
2329
2365
  function fromUnixMsTimestamp(timeInMs) {
2330
- return moment$1(timeInMs, DATE_UNIX_MS_TIMESTAMP);
2366
+ return moment$5(timeInMs, DATE_UNIX_MS_TIMESTAMP);
2331
2367
  }
2332
2368
  function toDuration(value, unit) {
2333
2369
  if (!value)
2334
2370
  return undefined;
2335
- var duration = moment$1.duration(value, unit);
2371
+ var duration = moment$5.duration(value, unit);
2336
2372
  // fix 990+ ms
2337
2373
  if (duration.milliseconds() >= 990) {
2338
2374
  duration.add(1000 - duration.milliseconds(), 'ms');
@@ -2362,7 +2398,7 @@
2362
2398
  };
2363
2399
  return DurationPipe;
2364
2400
  }());
2365
- DurationPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(i0.ɵɵinject(i1$2.TranslateService)); }, token: DurationPipe, providedIn: "root" });
2401
+ DurationPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: DurationPipe, providedIn: "root" });
2366
2402
  DurationPipe.decorators = [
2367
2403
  { type: i0.Pipe, args: [{
2368
2404
  name: 'duration'
@@ -2386,7 +2422,7 @@
2386
2422
  };
2387
2423
  return MathAbsPipe;
2388
2424
  }());
2389
- MathAbsPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
2425
+ MathAbsPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
2390
2426
  MathAbsPipe.decorators = [
2391
2427
  { type: i0.Pipe, args: [{
2392
2428
  name: 'mathAbs'
@@ -2401,7 +2437,7 @@
2401
2437
  };
2402
2438
  return EvenPipe;
2403
2439
  }());
2404
- EvenPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
2440
+ EvenPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
2405
2441
  EvenPipe.decorators = [
2406
2442
  { type: i0.Pipe, args: [{
2407
2443
  name: 'even'
@@ -2416,7 +2452,7 @@
2416
2452
  };
2417
2453
  return OddPipe;
2418
2454
  }());
2419
- OddPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
2455
+ OddPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
2420
2456
  OddPipe.decorators = [
2421
2457
  { type: i0.Pipe, args: [{
2422
2458
  name: 'odd'
@@ -2548,7 +2584,7 @@
2548
2584
  };
2549
2585
  return MapGetPipe;
2550
2586
  }());
2551
- MapGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
2587
+ MapGetPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
2552
2588
  MapGetPipe.decorators = [
2553
2589
  { type: i0.Pipe, args: [{
2554
2590
  name: 'mapGet'
@@ -2565,7 +2601,7 @@
2565
2601
  };
2566
2602
  return MapKeysPipe;
2567
2603
  }());
2568
- MapKeysPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
2604
+ MapKeysPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
2569
2605
  MapKeysPipe.decorators = [
2570
2606
  { type: i0.Pipe, args: [{
2571
2607
  name: 'mapKeys'
@@ -2582,7 +2618,7 @@
2582
2618
  };
2583
2619
  return MapValuesPipe;
2584
2620
  }());
2585
- MapValuesPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
2621
+ MapValuesPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
2586
2622
  MapValuesPipe.decorators = [
2587
2623
  { type: i0.Pipe, args: [{
2588
2624
  name: 'mapValues'
@@ -2598,7 +2634,7 @@
2598
2634
  };
2599
2635
  return IsNotNilOrBlankPipe;
2600
2636
  }());
2601
- IsNotNilOrBlankPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
2637
+ IsNotNilOrBlankPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
2602
2638
  IsNotNilOrBlankPipe.decorators = [
2603
2639
  { type: i0.Pipe, args: [{
2604
2640
  name: 'isNotNilOrBlank'
@@ -2613,7 +2649,7 @@
2613
2649
  };
2614
2650
  return IsNilOrBlankPipe;
2615
2651
  }());
2616
- IsNilOrBlankPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
2652
+ IsNilOrBlankPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
2617
2653
  IsNilOrBlankPipe.decorators = [
2618
2654
  { type: i0.Pipe, args: [{
2619
2655
  name: 'isNilOrBlank'
@@ -2628,7 +2664,7 @@
2628
2664
  };
2629
2665
  return ToStringPipe;
2630
2666
  }());
2631
- ToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
2667
+ ToStringPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
2632
2668
  ToStringPipe.decorators = [
2633
2669
  { type: i0.Pipe, args: [{
2634
2670
  name: 'toString'
@@ -2643,7 +2679,7 @@
2643
2679
  };
2644
2680
  return StrLengthPipe;
2645
2681
  }());
2646
- StrLengthPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
2682
+ StrLengthPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
2647
2683
  StrLengthPipe.decorators = [
2648
2684
  { type: i0.Pipe, args: [{
2649
2685
  name: 'strLength'
@@ -2696,7 +2732,7 @@
2696
2732
  };
2697
2733
  return TranslateContextService;
2698
2734
  }());
2699
- TranslateContextService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(i0.ɵɵinject(i1$2.TranslateService)); }, token: TranslateContextService, providedIn: "root" });
2735
+ TranslateContextService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: TranslateContextService, providedIn: "root" });
2700
2736
  TranslateContextService.decorators = [
2701
2737
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
2702
2738
  ];
@@ -2713,7 +2749,7 @@
2713
2749
  };
2714
2750
  return TranslateContextPipe;
2715
2751
  }());
2716
- TranslateContextPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslateContextPipe_Factory() { return new TranslateContextPipe(i0.ɵɵinject(TranslateContextService)); }, token: TranslateContextPipe, providedIn: "root" });
2752
+ TranslateContextPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function TranslateContextPipe_Factory() { return new TranslateContextPipe(i0__namespace.ɵɵinject(TranslateContextService)); }, token: TranslateContextPipe, providedIn: "root" });
2717
2753
  TranslateContextPipe.decorators = [
2718
2754
  { type: i0.Pipe, args: [{
2719
2755
  name: 'translateContext'
@@ -2733,7 +2769,7 @@
2733
2769
  };
2734
2770
  return TranslatablePipe;
2735
2771
  }());
2736
- TranslatablePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslatablePipe_Factory() { return new TranslatablePipe(); }, token: TranslatablePipe, providedIn: "root" });
2772
+ TranslatablePipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function TranslatablePipe_Factory() { return new TranslatablePipe(); }, token: TranslatablePipe, providedIn: "root" });
2737
2773
  TranslatablePipe.decorators = [
2738
2774
  { type: i0.Pipe, args: [{
2739
2775
  name: 'translatable'
@@ -2753,7 +2789,7 @@
2753
2789
  };
2754
2790
  return PropertyGetPipe;
2755
2791
  }());
2756
- PropertyGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
2792
+ PropertyGetPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
2757
2793
  PropertyGetPipe.decorators = [
2758
2794
  { type: i0.Pipe, args: [{
2759
2795
  name: 'propertyGet'
@@ -3010,14 +3046,14 @@
3010
3046
  },] }
3011
3047
  ];
3012
3048
 
3013
- var moment$2 = momentImported__namespace;
3049
+ var moment$4 = momentImported__namespace;
3014
3050
  // @dynamic
3015
3051
  var SharedValidators = /** @class */ (function () {
3016
3052
  function SharedValidators() {
3017
3053
  }
3018
3054
  SharedValidators.validDate = function (control) {
3019
3055
  var value = control.value;
3020
- var date = !value || moment$2.isMoment(value) ? value : moment$2(control.value, DATE_ISO_PATTERN);
3056
+ var date = !value || moment$4.isMoment(value) ? value : moment$4(control.value, DATE_ISO_PATTERN);
3021
3057
  if (date && (!date.isValid() || date.year() < 1970)) {
3022
3058
  return { validDate: true };
3023
3059
  }
@@ -3314,6 +3350,16 @@
3314
3350
  return null;
3315
3351
  };
3316
3352
  };
3353
+ /**
3354
+ * Same as compose, but keep only the first errors (instead of the union)
3355
+ * @param validators
3356
+ */
3357
+ SharedFormGroupValidators.prototype.first = function (validators) {
3358
+ return function (control) { return validators
3359
+ .filter(isNotNil)
3360
+ .map(function (validator) { return validator(control); })
3361
+ .find(isNotNil) || null; };
3362
+ };
3317
3363
  return SharedFormGroupValidators;
3318
3364
  }());
3319
3365
  // @dynamic
@@ -3449,9 +3495,9 @@
3449
3495
  var hour = parseInt(durationParts[0] || '0');
3450
3496
  var minute = parseInt(durationParts[1] || '0');
3451
3497
  var value = hour + (minute + 0.5) / 60;
3452
- return roundFloat$1(value, maxDecimals);
3498
+ return roundFloat(value, maxDecimals);
3453
3499
  }
3454
- function roundFloat$1(input, maxDecimals) {
3500
+ function roundFloat(input, maxDecimals) {
3455
3501
  if (maxDecimals > 0) {
3456
3502
  var powDecimal = Math.pow(10, maxDecimals);
3457
3503
  return Math.trunc(input * powDecimal + 0.5) / powDecimal;
@@ -3475,9 +3521,9 @@
3475
3521
  DD: [/[+-]/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '°']
3476
3522
  }
3477
3523
  };
3478
- var noop$1 = function () {
3524
+ var noop$6 = function () {
3479
3525
  };
3480
- var ɵ0$1 = noop$1;
3526
+ var ɵ0$9 = noop$6;
3481
3527
  var MatLatLongField = /** @class */ (function () {
3482
3528
  function MatLatLongField(platform, translate, formBuilder, cd, formGroupDir) {
3483
3529
  this.platform = platform;
@@ -3485,8 +3531,8 @@
3485
3531
  this.formBuilder = formBuilder;
3486
3532
  this.cd = cd;
3487
3533
  this.formGroupDir = formGroupDir;
3488
- this._onChangeCallback = noop$1;
3489
- this._onTouchedCallback = noop$1;
3534
+ this._onChangeCallback = noop$6;
3535
+ this._onTouchedCallback = noop$6;
3490
3536
  this._subscription = new rxjs.Subscription();
3491
3537
  this.disabling = false;
3492
3538
  this.writing = false;
@@ -3839,14 +3885,14 @@
3839
3885
  },] }
3840
3886
  ];
3841
3887
 
3842
- var DEFAULT_VALUE_ACCESSOR$1 = {
3888
+ var DEFAULT_VALUE_ACCESSOR$5 = {
3843
3889
  provide: i1.NG_VALUE_ACCESSOR,
3844
3890
  useExisting: i0.forwardRef(function () { return MatDate; }),
3845
3891
  multi: true
3846
3892
  };
3847
- var DAY_MASK = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
3848
- var noop$2 = function () { };
3849
- var ɵ0$2 = noop$2;
3893
+ var DAY_MASK$2 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
3894
+ var noop$5 = function () { };
3895
+ var ɵ0$8 = noop$5;
3850
3896
  var MatDate = /** @class */ (function () {
3851
3897
  function MatDate(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
3852
3898
  this.dateAdapter = dateAdapter;
@@ -3855,12 +3901,12 @@
3855
3901
  this.cd = cd;
3856
3902
  this.keyboard = keyboard;
3857
3903
  this.formGroupDir = formGroupDir;
3858
- this._onChangeCallback = noop$2;
3859
- this._onTouchedCallback = noop$2;
3904
+ this._onChangeCallback = noop$5;
3905
+ this._onTouchedCallback = noop$5;
3860
3906
  this._subscription = new rxjs.Subscription();
3861
3907
  this.writing = true;
3862
3908
  this.disabling = false;
3863
- this.dayMask = DAY_MASK;
3909
+ this.dayMask = DAY_MASK$2;
3864
3910
  this.disabled = false;
3865
3911
  this.floatLabel = 'auto';
3866
3912
  this.readonly = false;
@@ -4127,9 +4173,9 @@
4127
4173
  MatDate.decorators = [
4128
4174
  { type: i0.Component, args: [{
4129
4175
  selector: 'mat-date-field',
4130
- 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",
4176
+ 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",
4131
4177
  providers: [
4132
- DEFAULT_VALUE_ACCESSOR$1,
4178
+ DEFAULT_VALUE_ACCESSOR$5,
4133
4179
  ],
4134
4180
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
4135
4181
  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%}"]
@@ -4162,17 +4208,17 @@
4162
4208
  matInputs: [{ type: i0.ViewChildren, args: ['matInput',] }]
4163
4209
  };
4164
4210
 
4165
- var DEFAULT_VALUE_ACCESSOR$2 = {
4211
+ var DEFAULT_VALUE_ACCESSOR$4 = {
4166
4212
  provide: i1.NG_VALUE_ACCESSOR,
4167
4213
  useExisting: i0.forwardRef(function () { return MatDateTime; }),
4168
4214
  multi: true
4169
4215
  };
4170
4216
  var DAY_MASK$1 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
4171
4217
  var HOUR_REGEXP = /^[012][0-9][:][012345][0-9]$/;
4172
- var HOUR_MASK = [/[012]/, /\d/, ':', /[012345]/, /\d/];
4173
- var noop$3 = function () {
4218
+ var HOUR_MASK$1 = [/[012]/, /\d/, ':', /[012345]/, /\d/];
4219
+ var noop$4 = function () {
4174
4220
  };
4175
- var ɵ0$3 = noop$3;
4221
+ var ɵ0$7 = noop$4;
4176
4222
  var MatDateTime = /** @class */ (function () {
4177
4223
  function MatDateTime(platform, dateAdapter, translate, formBuilder, keyboard, cd, formGroupDir) {
4178
4224
  this.platform = platform;
@@ -4182,14 +4228,14 @@
4182
4228
  this.keyboard = keyboard;
4183
4229
  this.cd = cd;
4184
4230
  this.formGroupDir = formGroupDir;
4185
- this._onChangeCallback = noop$3;
4186
- this._onTouchedCallback = noop$3;
4231
+ this._onChangeCallback = noop$4;
4232
+ this._onTouchedCallback = noop$4;
4187
4233
  this._subscription = new rxjs.Subscription();
4188
4234
  this.writing = true;
4189
4235
  this.disabling = false;
4190
4236
  this._onDestroy = new i0.EventEmitter();
4191
4237
  this.dayMask = DAY_MASK$1;
4192
- this.hourMask = HOUR_MASK;
4238
+ this.hourMask = HOUR_MASK$1;
4193
4239
  this.floatLabel = 'auto';
4194
4240
  this.readonly = false;
4195
4241
  this.compact = false;
@@ -4534,9 +4580,9 @@
4534
4580
  MatDateTime.decorators = [
4535
4581
  { type: i0.Component, args: [{
4536
4582
  selector: 'mat-date-time-field',
4537
- template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled\">\n <input matInput hidden type=\"text\"\n readonly\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <ion-text>{{formControl.value|dateFormat: {pattern: displayPattern} }}</ion-text>\n</mat-form-field>\n\n<!-- writable + time -->\n<ng-template #writable >\n <ion-grid class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding no-wrap\" nowrap>\n\n <!-- day -->\n <ion-col class=\"day ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-invalid]=\"formControl.touched && formControl.invalid\">\n\n <mat-label>{{placeholder}}</mat-label>\n\n <div matPrefix><ng-content select=\"[matPrefix]\"></ng-content></div>\n\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"dateFormControl\"\n [textMask]=\"{mask: dayMask, keepCharPositions: true, placeholderChar: placeholderChar}\"\n [placeholder]=\"'COMMON.DATE_PLACEHOLDER'|translate\"\n (blur)=\"checkIfTouched()\"\n (keyup.arrowdown)=\"openDatePicker($event, datePicker)\"\n (keyup.escape)=\"preventEvent($event)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [appAutofocus]=\"autofocus\">\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"dateFormControl\"\n (click)=\"openDatePickerIfMobile($event, datePicker)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n readonly>\n <input matInput type=\"text\" [formControl]=\"formControl\"\n hidden\n [matDatepicker]=\"datePicker\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n <button type=\"button\" mat-icon-button tabindex=\"-1\" matSuffix #datePickerButton2 (click)=\"openDatePicker($event, datePicker)\" [disabled]=\"formControl.disabled\">\n <div *ngIf=\"mobile; then iconDate; else iconDesktop\"></div>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clear()\"\n [hidden]=\"formControl.disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-datepicker #datePicker\n [touchUi]=\"mobile\"\n [disabled]=\"formControl.disabled\"\n [startAt]=\"startDate\"></mat-datepicker>\n <div class=\"mat-form-field-subscript mat-form-field-subscript-wrapper\" >\n <!-- errors -->\n <ng-container [ngSwitch]=\"formControl.touched && formControl.errors|mapKeys|arrayFirst\">\n <mat-error *ngSwitchCase=\"'required'\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngSwitchCase=\"'validDate'\" translate>ERROR.FIELD_NOT_VALID_DATE_TIME</mat-error>\n <mat-error *ngSwitchCase=\"'dateIsAfter'\">{{'ERROR.FIELD_NOT_VALID_DATE_AFTER' | translate: formControl.errors.dateIsAfter }}</mat-error>\n <mat-error *ngSwitchCase=\"'dateRange'\" translate>ERROR.FIELD_NOT_VALID_DATE_RANGE</mat-error>\n <mat-error *ngSwitchCase=\"'dateMaxDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MAX_DURATION</mat-error>\n <mat-error *ngSwitchCase=\"'dateMinDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MIN_DURATION</mat-error>\n <mat-error *ngSwitchCase=\"'msg'\">{{formControl.errors.msg}}</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",
4583
+ template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled\">\n <input matInput hidden type=\"text\"\n readonly\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <ion-text>{{formControl.value|dateFormat: {pattern: displayPattern} }}</ion-text>\n</mat-form-field>\n\n<!-- writable + time -->\n<ng-template #writable >\n <ion-grid class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding no-wrap\" nowrap>\n\n <!-- day -->\n <ion-col class=\"day ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-invalid]=\"formControl.touched && formControl.invalid\">\n\n <mat-label>{{placeholder}}</mat-label>\n\n <div matPrefix><ng-content select=\"[matPrefix]\"></ng-content></div>\n\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"dateFormControl\"\n [textMask]=\"{mask: dayMask, keepCharPositions: true, placeholderChar: placeholderChar}\"\n [placeholder]=\"'COMMON.DATE_PLACEHOLDER'|translate\"\n (blur)=\"checkIfTouched()\"\n (keyup.arrowdown)=\"openDatePicker($event, datePicker)\"\n (keyup.escape)=\"preventEvent($event)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [appAutofocus]=\"autofocus\">\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"dateFormControl\"\n (click)=\"openDatePickerIfMobile($event, datePicker)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n readonly>\n <input matInput type=\"text\" [formControl]=\"formControl\"\n hidden\n [matDatepicker]=\"datePicker\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n <button type=\"button\" mat-icon-button tabindex=\"-1\" matSuffix #datePickerButton2 (click)=\"openDatePicker($event, datePicker)\" [disabled]=\"formControl.disabled\">\n <div *ngIf=\"mobile; then iconDate; else iconDesktop\"></div>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clear()\"\n [hidden]=\"formControl.disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-datepicker #datePicker\n [touchUi]=\"mobile\"\n [disabled]=\"formControl.disabled\"\n [startAt]=\"startDate\"></mat-datepicker>\n <div class=\"mat-form-field-subscript mat-form-field-subscript-wrapper\" >\n <!-- errors -->\n <ng-container [ngSwitch]=\"formControl.touched && formControl.errors|mapKeys|arrayFirst\">\n <mat-error *ngSwitchCase=\"'required'\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngSwitchCase=\"'validDate'\" translate>ERROR.FIELD_NOT_VALID_DATE_TIME</mat-error>\n <mat-error *ngSwitchCase=\"'dateIsAfter'\">{{'ERROR.FIELD_NOT_VALID_DATE_AFTER' | translate: formControl.errors.dateIsAfter }}</mat-error>\n <mat-error *ngSwitchCase=\"'dateRange'\" translate>ERROR.FIELD_NOT_VALID_DATE_RANGE</mat-error>\n <mat-error *ngSwitchCase=\"'dateMaxDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MAX_DURATION</mat-error>\n <mat-error *ngSwitchCase=\"'dateMinDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MIN_DURATION</mat-error>\n <mat-error *ngSwitchCase=\"'msg'\">{{(formControl.errors.msg?.key || formControl.errors.msg) | translate: formControl.errors.msg?.params}}</mat-error>\n </ng-container>\n <ng-content select=\"mat-error\"></ng-content>\n\n <!-- mat hint -->\n <div class=\"mat-form-field-hint-wrapper\" [class.cdk-visually-hidden]=\"formControl.invalid\">\n <div class=\"mat-form-field-hint-spacer\"></div>\n <ng-content select=\"mat-hint\"></ng-content>\n </div>\n </div>\n\n </ion-col>\n\n <!-- hour -->\n <ion-col class=\"hour ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-invalid]=\"formControl.touched && (timeFormControl.invalid || formControl.invalid)\">\n <mat-label *ngIf=\"placeholder && floatLabel != 'never'\" translate>COMMON.TIME</mat-label>\n <input matInput #matInput type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"timeFormControl\"\n autocomplete=\"off\"\n min=\"0\" max=\"23\"\n [textMask]=\"{mask: hourMask, keepCharPositions: true, placeholderChar: placeholderChar, guide: true}\"\n [placeholder]=\"'COMMON.TIME_PLACEHOLDER'|translate\"\n [required]=\"required\"\n (keyup.arrowdown)=\"openTimePicker($event)\"\n (keyup.escape)=\"preventEvent($event)\"\n (blur)=\"checkIfTouched()\"\n [tabindex]=\"tabindex !== undefined ? tabindex+1 : undefined\">\n\n <input matInput #matInput type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"timeFormControl\"\n (click)=\"openTimePickerIfMobile($event)\"\n readonly>\n\n <input matInput type=\"text\"\n [formControl]=\"timeFormControl\"\n hidden\n [ngxTimepicker]=\"timePicker\"\n [format]=\"24\">\n\n <button matSuffix type=\"button\" mat-icon-button\n tabindex=\"-1\"\n *ngIf=\"!compact && !mobile\"\n [disabled]=\"formControl.disabled\"\n (click)=\"openTimePicker($event)\" >\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n <button matSuffix type=\"button\" mat-icon-button\n tabindex=\"-1\"\n *ngIf=\"!compact && mobile\"\n [disabled]=\"formControl.disabled\"\n (click)=\"openTimePickerIfMobile($event)\">\n <mat-icon>access_time</mat-icon>\n </button>\n\n <ngx-material-timepicker #timePicker [@.disabled]=\"true\"\n (timeSet)=\"onTimePickerChange($event)\"\n [ESC]=\"!mobile\"\n [defaultTime]=\"'00:00'\"\n [cancelBtnTmpl]=\"timePickerCancelButton\"\n [confirmBtnTmpl]=\"timePickerOkButton\"\n [preventOverlayClick]=\"mobile\"\n [enableKeyboardInput]=\"false\"\n [disableAnimation]=\"true\">\n <!-- cancel button -->\n <ng-template #timePickerCancelButton>\n <ion-button fill=\"clear\" color=\"dark\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n </ng-template>\n\n <!-- confirm button -->\n <ng-template #timePickerOkButton>\n <ion-button fill=\"solid\" color=\"tertiary\">\n <ion-label translate>COMMON.BTN_VALIDATE</ion-label>\n </ion-button>\n </ng-template>\n\n </ngx-material-timepicker>\n </mat-form-field>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n\n</ng-template>\n\n<ng-template #iconDesktop>\n <mat-icon>keyboard_arrow_down</mat-icon>\n</ng-template>\n\n<ng-template #iconDate>\n <mat-icon>date_range</mat-icon>\n</ng-template>\n",
4538
4584
  providers: [
4539
- DEFAULT_VALUE_ACCESSOR$2,
4585
+ DEFAULT_VALUE_ACCESSOR$4,
4540
4586
  ],
4541
4587
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
4542
4588
  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%}"]
@@ -4575,10 +4621,10 @@
4575
4621
  useExisting: i0.forwardRef(function () { return MatDateShort; }),
4576
4622
  multi: true
4577
4623
  };
4578
- var DAY_MASK$2 = [/\d/, /\d/, /\d/, /\d/];
4579
- var noop$4 = function () {
4624
+ var DAY_MASK = [/\d/, /\d/, /\d/, /\d/];
4625
+ var noop$3 = function () {
4580
4626
  };
4581
- var ɵ0$4 = noop$4;
4627
+ var ɵ0$6 = noop$3;
4582
4628
  var MatDateShort = /** @class */ (function () {
4583
4629
  function MatDateShort(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
4584
4630
  this.dateAdapter = dateAdapter;
@@ -4587,11 +4633,11 @@
4587
4633
  this.cd = cd;
4588
4634
  this.keyboard = keyboard;
4589
4635
  this.formGroupDir = formGroupDir;
4590
- this._onChangeCallback = noop$4;
4591
- this._onTouchedCallback = noop$4;
4636
+ this._onChangeCallback = noop$3;
4637
+ this._onTouchedCallback = noop$3;
4592
4638
  this.writing = true;
4593
4639
  this.disabling = false;
4594
- this.dayMask = DAY_MASK$2;
4640
+ this.dayMask = DAY_MASK;
4595
4641
  this.disabled = false;
4596
4642
  this.floatLabel = 'auto';
4597
4643
  this.readonly = false;
@@ -4866,7 +4912,7 @@
4866
4912
  MatDateShort.decorators = [
4867
4913
  { type: i0.Component, args: [{
4868
4914
  selector: 'mat-date-short-field',
4869
- 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",
4915
+ 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",
4870
4916
  providers: [
4871
4917
  DEFAULT_VALUE_ACCESSOR$3,
4872
4918
  ],
@@ -4939,16 +4985,16 @@
4939
4985
  },] }
4940
4986
  ];
4941
4987
 
4942
- var DEFAULT_VALUE_ACCESSOR$4 = {
4988
+ var DEFAULT_VALUE_ACCESSOR$2 = {
4943
4989
  provide: i1.NG_VALUE_ACCESSOR,
4944
4990
  useExisting: i0.forwardRef(function () { return MatDuration; }),
4945
4991
  multi: true
4946
4992
  };
4947
4993
  var HOUR_TIME_PATTERN = /[0-9]\d\d:[0-5]\d/;
4948
- var HOUR_MASK$1 = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
4949
- var noop$5 = function () {
4994
+ var HOUR_MASK = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
4995
+ var noop$2 = function () {
4950
4996
  };
4951
- var ɵ0$5 = noop$5;
4997
+ var ɵ0$5 = noop$2;
4952
4998
  var MatDuration = /** @class */ (function () {
4953
4999
  function MatDuration(platform, dateAdapter, translate, formBuilder, cd, formGroupDir) {
4954
5000
  this.dateAdapter = dateAdapter;
@@ -4957,11 +5003,11 @@
4957
5003
  this.cd = cd;
4958
5004
  this.formGroupDir = formGroupDir;
4959
5005
  this._subscription = new rxjs.Subscription();
4960
- this._onChangeCallback = noop$5;
4961
- this._onTouchedCallback = noop$5;
5006
+ this._onChangeCallback = noop$2;
5007
+ this._onTouchedCallback = noop$2;
4962
5008
  this.writing = true;
4963
5009
  this.disabling = false;
4964
- this.hourMask = HOUR_MASK$1;
5010
+ this.hourMask = HOUR_MASK;
4965
5011
  this.disabled = false;
4966
5012
  this.floatLabel = 'auto';
4967
5013
  this.readonly = false;
@@ -5154,7 +5200,7 @@
5154
5200
  selector: 'mat-duration-field',
5155
5201
  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",
5156
5202
  providers: [
5157
- DEFAULT_VALUE_ACCESSOR$4,
5203
+ DEFAULT_VALUE_ACCESSOR$2,
5158
5204
  ],
5159
5205
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
5160
5206
  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%}"]
@@ -5214,22 +5260,22 @@
5214
5260
  },] }
5215
5261
  ];
5216
5262
 
5217
- var DEFAULT_VALUE_ACCESSOR$5 = {
5263
+ var DEFAULT_VALUE_ACCESSOR$1 = {
5218
5264
  provide: i1.NG_VALUE_ACCESSOR,
5219
5265
  useExisting: i0.forwardRef(function () { return MatBooleanField; }),
5220
5266
  multi: true
5221
5267
  };
5222
- var noop$6 = function () {
5268
+ var noop$1 = function () {
5223
5269
  };
5224
- var ɵ0$6 = noop$6;
5270
+ var ɵ0$4 = noop$1;
5225
5271
  var MatBooleanField = /** @class */ (function () {
5226
5272
  function MatBooleanField(translate, formBuilder, cd, formGroupDir) {
5227
5273
  this.translate = translate;
5228
5274
  this.formBuilder = formBuilder;
5229
5275
  this.cd = cd;
5230
5276
  this.formGroupDir = formGroupDir;
5231
- this._onChangeCallback = noop$6;
5232
- this._onTouchedCallback = noop$6;
5277
+ this._onChangeCallback = noop$1;
5278
+ this._onTouchedCallback = noop$1;
5233
5279
  this._writing = false;
5234
5280
  this.showRadio = false;
5235
5281
  this.disabled = false;
@@ -5406,7 +5452,7 @@
5406
5452
  selector: 'mat-boolean-field',
5407
5453
  template: "<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled\">\n <input matInput hidden type=\"text\" readonly\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <ion-text>{{(formControl.value ? 'COMMON.YES' : 'COMMON.NO') | translate }}</ion-text>\n</mat-form-field>\n\n<ng-template #writable>\n <ng-container [ngSwitch]=\"style\">\n\n <!-- Radio -->\n <mat-form-field *ngSwitchCase=\"'radio'\"\n [floatLabel]=\"showRadio && (!floatLabel || floatLabel === 'auto') ? 'always': floatLabel\"\n class=\"mat-boolean-field mat-boolean-field-radio\">\n <mat-label *ngIf=\"placeholder && floatLabel!=='never'\">\n {{placeholder}}\n <span [hidden]=\"showRadio\">({{'COMMON.YES'|translate}}/{{'COMMON.NO'|translate}})</span>\n </mat-label>\n\n <input matInput #fakeInput type=\"text\" readonly=\"true\"\n [formControl]=\"formControl\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showRadio\"\n [tabindex]=\"tabindex\">\n\n <!-- radio button -->\n <mat-radio-group [hidden]=\"!showRadio\"\n [formControl]=\"formControl\"\n (change)=\"onRadioValueChanged($event)\">\n <mat-radio-button #yesButton [value]=\"true\">\n <span translate>COMMON.YES</span>\n </mat-radio-button>&nbsp;\n <mat-radio-button #noButton [value]=\"false\">\n <span translate>COMMON.NO</span>\n </mat-radio-button>\n </mat-radio-group>\n\n <div matSuffix #injectMatSuffix></div>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n\n <!-- Checkbox -->\n <mat-form-field *ngSwitchCase=\"'checkbox'\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-boolean-field mat-boolean-field-checkbox\">\n <mat-label *ngIf=\"placeholder && !showRadio\">\n {{placeholder}}\n </mat-label>\n\n <input matInput #matInput\n [formControl]=\"formControl\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showRadio\"\n [tabindex]=\"tabindex\">\n\n <ion-label>&nbsp;</ion-label>\n\n <!-- checkbox, when compact -->\n <mat-checkbox #checkboxButton\n [formControl]=\"formControl\"\n (change)=\"onCheckboxValueChanged($event)\"\n [indeterminate]=\"value===undefined\"\n [hidden]=\"!showRadio\"\n [tabindex]=\"tabindex\">\n </mat-checkbox>\n\n <div matSuffix #injectMatSuffix></div>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n\n <!-- Buttons -->\n <mat-form-field *ngSwitchCase=\"'button'\"\n [floatLabel]=\"floatLabel === 'never' ? 'never' : 'always'\"\n class=\"mat-boolean-field mat-boolean-field-button\">\n <input matInput type=\"text\" hidden\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [required]=\"required\">\n <ion-grid class=\"ion-no-padding\" *ngIf=\"!formControl.disabled; else disabledLabel\">\n <ion-row class=\"ion-no-padding\">\n <!-- Yes button -->\n <ion-col>\n <ion-button style=\"width: 100%;\"\n class=\"mat-form-field-button\"\n [tabindex]=\"_tabindex\"\n (click)=\"writeValue(true, $event)\"\n (keyup.enter)=\"writeValue(true, $event)\"\n [color]=\"_value == null ? 'danger' : (_value === true) ? 'accent' : 'light'\">\n <ion-icon slot=\"start\" name=\"checkmark\"></ion-icon>\n {{'COMMON.YES'|translate}}\n </ion-button>\n </ion-col>\n <!-- No button -->\n <ion-col>\n <ion-button style=\"width: 100%;\"\n 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 ? 'danger' : (_value === false) ? 'accent' : 'light'\">\n <ion-icon slot=\"start\" name=\"close\"></ion-icon>\n {{'COMMON.NO'|translate}}\n </ion-button>\n </ion-col>\n </ion-row>\n </ion-grid>\n <ng-template #disabledLabel>\n <ion-label><i translate>COMMON.EMPTY_OPTION</i></ion-label>\n </ng-template>\n\n <div matSuffix #injectMatSuffix></div>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n </ng-container>\n\n <div class=\"cdk-visually-hidden\">\n <div #suffix><ng-content select=\"[matSuffix]\"></ng-content></div>\n </div>\n\n</ng-template>\n\n\n",
5408
5454
  providers: [
5409
- DEFAULT_VALUE_ACCESSOR$5
5455
+ DEFAULT_VALUE_ACCESSOR$1
5410
5456
  ],
5411
5457
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
5412
5458
  styles: [":host{width:100%}"]
@@ -5488,6 +5534,7 @@
5488
5534
  return MatNumpadEvent;
5489
5535
  }(KeyboardEvent));
5490
5536
 
5537
+ exports.AnimationState = void 0;
5491
5538
  (function (AnimationState) {
5492
5539
  AnimationState["ENTER"] = "enter";
5493
5540
  AnimationState["ENTER_INPUT"] = "enter-input";
@@ -5655,7 +5702,7 @@
5655
5702
  };
5656
5703
  return MatNumpadDomService;
5657
5704
  }());
5658
- 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" });
5705
+ 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" });
5659
5706
  MatNumpadDomService.decorators = [
5660
5707
  { type: i0.Injectable, args: [{
5661
5708
  providedIn: 'root'
@@ -6061,7 +6108,7 @@
6061
6108
  },] }
6062
6109
  ];
6063
6110
 
6064
- var DEFAULT_VALUE_ACCESSOR$6 = {
6111
+ var DEFAULT_VALUE_ACCESSOR = {
6065
6112
  provide: i1.NG_VALUE_ACCESSOR,
6066
6113
  useExisting: i0.forwardRef(function () { return MatSwipeField; }),
6067
6114
  multi: true
@@ -6381,7 +6428,7 @@
6381
6428
  { type: i0.Component, args: [{
6382
6429
  selector: 'mat-swipe-field',
6383
6430
  template: "<mat-form-field [floatLabel]=\"showSlides && (!floatLabel || floatLabel === 'auto') ? 'always': floatLabel\"\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",
6384
- providers: [DEFAULT_VALUE_ACCESSOR$6],
6431
+ providers: [DEFAULT_VALUE_ACCESSOR],
6385
6432
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
6386
6433
  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}"]
6387
6434
  },] }
@@ -6939,7 +6986,7 @@
6939
6986
  };
6940
6987
  return ProgressBarService;
6941
6988
  }());
6942
- ProgressBarService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
6989
+ ProgressBarService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
6943
6990
  ProgressBarService.decorators = [
6944
6991
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
6945
6992
  ];
@@ -6986,7 +7033,7 @@
6986
7033
  };
6987
7034
  return AppGestureConfig;
6988
7035
  }(i1$6.HammerGestureConfig));
6989
- AppGestureConfig.ɵprov = i0.ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
7036
+ AppGestureConfig.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
6990
7037
  AppGestureConfig.decorators = [
6991
7038
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
6992
7039
  ];
@@ -7251,7 +7298,7 @@
7251
7298
  };
7252
7299
  return MatPaginatorI18n;
7253
7300
  }(paginator.MatPaginatorIntl));
7254
- MatPaginatorI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(i0.ɵɵinject(i1$2.TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
7301
+ MatPaginatorI18n.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
7255
7302
  MatPaginatorI18n.decorators = [
7256
7303
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
7257
7304
  ];
@@ -7343,17 +7390,17 @@
7343
7390
  return rgbArrayToHex(rgb.map(function (v) { return 255 - v; }));
7344
7391
  }
7345
7392
 
7346
- var noop$7 = function () {
7393
+ var noop = function () {
7347
7394
  };
7348
- var ɵ0$7 = noop$7;
7395
+ var ɵ0$3 = noop;
7349
7396
  var AppFormField = /** @class */ (function () {
7350
7397
  function AppFormField(translate, cd, injector, formGroupDir) {
7351
7398
  this.translate = translate;
7352
7399
  this.cd = cd;
7353
7400
  this.injector = injector;
7354
7401
  this.formGroupDir = formGroupDir;
7355
- this._onChangeCallback = noop$7;
7356
- this._onTouchedCallback = noop$7;
7402
+ this._onChangeCallback = noop;
7403
+ this._onTouchedCallback = noop;
7357
7404
  this.readonly = false;
7358
7405
  this.compact = false;
7359
7406
  this.floatLabel = 'auto';
@@ -7812,7 +7859,7 @@
7812
7859
  };
7813
7860
  return AudioProvider;
7814
7861
  }());
7815
- 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" });
7862
+ 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" });
7816
7863
  AudioProvider.decorators = [
7817
7864
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
7818
7865
  ];
@@ -7912,7 +7959,7 @@
7912
7959
  };
7913
7960
  return Hotkeys;
7914
7961
  }());
7915
- 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" });
7962
+ 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" });
7916
7963
  Hotkeys.decorators = [
7917
7964
  { type: i0.Injectable, args: [{
7918
7965
  providedIn: 'root'
@@ -8116,7 +8163,7 @@
8116
8163
  return Base64ImageReader;
8117
8164
  }());
8118
8165
 
8119
- var uuidv4 = uuidv4Imported__namespace;
8166
+ var uuidv4$1 = uuidv4Imported__namespace;
8120
8167
  var FileService = /** @class */ (function () {
8121
8168
  function FileService(platform,
8122
8169
  //private transfer: FileTransfer,
@@ -8162,7 +8209,7 @@
8162
8209
  lastSlashIndex = source.lastIndexOf('/');
8163
8210
  if (lastSlashIndex === -1)
8164
8211
  throw new Error('Invalid URL: ' + source);
8165
- fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4();
8212
+ fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4$1();
8166
8213
  if (!(responseType === 'file' && this.canUseFileSystem)) return [3 /*break*/, 4];
8167
8214
  console.warn("WARN: [file] Fetching image {" + source + "} in local file...");
8168
8215
  targetFilePath = this._imageDirectory + fileName;
@@ -8225,7 +8272,7 @@
8225
8272
  };
8226
8273
  return FileService;
8227
8274
  }());
8228
- 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" });
8275
+ 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" });
8229
8276
  FileService.decorators = [
8230
8277
  { type: i0.Injectable, args: [{
8231
8278
  providedIn: 'root',
@@ -8388,7 +8435,7 @@
8388
8435
  Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
8389
8436
 
8390
8437
  var scrypt = require('scrypt-async');
8391
- var sha256 = require('hash.js/lib/hash/sha/256');
8438
+ var sha256$1 = require('hash.js/lib/hash/sha/256');
8392
8439
  var sha512 = require('hash.js/lib/hash/sha/512');
8393
8440
  var nacl = {
8394
8441
  sign: tweetnacl.sign,
@@ -8494,7 +8541,7 @@
8494
8541
  * Hash (using SHA256) a message
8495
8542
  */
8496
8543
  CryptoService.prototype.sha256 = function (message) {
8497
- return sha256().update(message).digest('hex');
8544
+ return sha256$1().update(message).digest('hex');
8498
8545
  };
8499
8546
  /**
8500
8547
  * Hash (using SHA512) a message
@@ -8508,7 +8555,7 @@
8508
8555
  };
8509
8556
  return CryptoService;
8510
8557
  }());
8511
- CryptoService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
8558
+ CryptoService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
8512
8559
  CryptoService.decorators = [
8513
8560
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
8514
8561
  ];
@@ -8804,6 +8851,13 @@
8804
8851
  // About
8805
8852
  sourceUrl: 'https://gitlab.ifremer.fr/sih-public/sumaris/ngx-sumaris-components',
8806
8853
  reportIssueUrl: 'https://gitlab.ifremer.fr/sih-public/sumaris/ngx-sumaris-components/-/issues',
8854
+ // Development
8855
+ defaultAuthValues: {
8856
+ // Basic auth (using Person.username)
8857
+ // username: 'admq2', password: 'q22006'
8858
+ // Token auth (using Person.pubkey)
8859
+ username: 'admin@sumaris.net', password: 'admin',
8860
+ }
8807
8861
  });
8808
8862
 
8809
8863
  var EntityClasses = /** @class */ (function () {
@@ -9908,7 +9962,7 @@
9908
9962
  };
9909
9963
  return LocalSettingsService;
9910
9964
  }());
9911
- 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" });
9965
+ 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" });
9912
9966
  LocalSettingsService.decorators = [
9913
9967
  { type: i0.Injectable, args: [{
9914
9968
  providedIn: 'root',
@@ -10753,7 +10807,7 @@
10753
10807
  };
10754
10808
  return NetworkService;
10755
10809
  }());
10756
- 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" });
10810
+ 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" });
10757
10811
  NetworkService.decorators = [
10758
10812
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
10759
10813
  ];
@@ -10773,7 +10827,7 @@
10773
10827
  { type: i1$5.ToastController, decorators: [{ type: i0.Optional }] }
10774
10828
  ]; };
10775
10829
 
10776
- var ErrorCodes = {
10830
+ var ErrorCodes$2 = {
10777
10831
  UNKNOWN_ERROR: 0,
10778
10832
  LOAD_ACCOUNT_ERROR: 1,
10779
10833
  BAD_PASSWORD: 2,
@@ -11181,7 +11235,7 @@
11181
11235
  case 13:
11182
11236
  err_1 = _a.sent();
11183
11237
  console.error(err_1);
11184
- throw { code: ErrorCodes.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err_1 };
11238
+ throw { code: ErrorCodes$2.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err_1 };
11185
11239
  case 14:
11186
11240
  // Emit update event
11187
11241
  if (!opts || opts.emitEvent !== false) {
@@ -11941,7 +11995,7 @@
11941
11995
  }());
11942
11996
  EntitiesStorage.TRASH_PREFIX = 'Trash#';
11943
11997
  EntitiesStorage.REMOTE_PREFIX = 'Remote#';
11944
- 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" });
11998
+ 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" });
11945
11999
  EntitiesStorage.decorators = [
11946
12000
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
11947
12001
  ];
@@ -12055,10 +12109,10 @@
12055
12109
  function referentialsToString(values, properties, separator) {
12056
12110
  return (values || []).map(function (v) { return referentialToString(v, properties); }).join(separator || ', ');
12057
12111
  }
12058
- var ɵ0$8 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
12112
+ var ɵ0$2 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
12059
12113
  var StatusList = Object.freeze([
12060
12114
  {
12061
- id: ɵ0$8,
12115
+ id: ɵ0$2,
12062
12116
  icon: 'checkmark',
12063
12117
  label: 'REFERENTIAL.STATUS_ENUM.ENABLE'
12064
12118
  },
@@ -12357,7 +12411,7 @@
12357
12411
  (data.lastName || '')) || '';
12358
12412
  }
12359
12413
 
12360
- var uuidv4$1 = uuidv4Imported__namespace;
12414
+ var uuidv4 = uuidv4Imported__namespace;
12361
12415
  var _global = typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : {});
12362
12416
  var NativeWebSocket = _global.WebSocket || _global.MozWebSocket;
12363
12417
  /**
@@ -12401,7 +12455,7 @@
12401
12455
  // Skip if not tracked
12402
12456
  if (!context || !context.tracked)
12403
12457
  return forward(operation);
12404
- var id = context.serializationKey || uuidv4$1();
12458
+ var id = context.serializationKey || uuidv4();
12405
12459
  console.debug("[apollo-tracker-link] Watching tracked query {" + operation.operationName + "#" + id + "}");
12406
12460
  // Clean context, before calling JSON.stringify (remove unused attributes)
12407
12461
  var cleanContext = Object.assign(Object.assign({}, context), { optimisticResponse: null, cache: null });
@@ -13212,7 +13266,7 @@
13212
13266
  (err.networkError && ((err.networkError.error && this.toAppError(err.networkError.error))
13213
13267
  || this.toAppError(err.networkError)
13214
13268
  || (err.networkError.error && this.createAppErrorByCode(err.networkError.error.status))
13215
- || this.createAppErrorByCode(ErrorCodes.UNKNOWN_NETWORK_ERROR)))
13269
+ || this.createAppErrorByCode(ErrorCodes$2.UNKNOWN_NETWORK_ERROR)))
13216
13270
  // If graphQL: try to convert the first error found
13217
13271
  || (err.graphQLErrors && err.graphQLErrors.length && this.toAppError(err.graphQLErrors[0]))
13218
13272
  || this.toAppError(err)
@@ -13220,7 +13274,7 @@
13220
13274
  || (err.graphQLErrors && err.graphQLErrors[0])
13221
13275
  || err;
13222
13276
  console.error('[graphql] ' + (error && error.message || error), error.stack || '');
13223
- if (error && error.code === ErrorCodes.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
13277
+ if (error && error.code === ErrorCodes$2.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
13224
13278
  console.error('[graphql] original error: ' + err.networkError.message);
13225
13279
  this.onNetworkError.next(error);
13226
13280
  }
@@ -13256,7 +13310,7 @@
13256
13310
  return 'ERROR.UNAUTHORIZED';
13257
13311
  case ServerErrorCodes.FORBIDDEN:
13258
13312
  return 'ERROR.FORBIDDEN';
13259
- case ErrorCodes.UNKNOWN_NETWORK_ERROR:
13313
+ case ErrorCodes$2.UNKNOWN_NETWORK_ERROR:
13260
13314
  return 'ERROR.UNKNOWN_NETWORK_ERROR';
13261
13315
  case ServerErrorCodes.BAD_UPDATE_DATE:
13262
13316
  return 'ERROR.BAD_UPDATE_DATE';
@@ -13301,7 +13355,7 @@
13301
13355
  };
13302
13356
  return GraphqlService;
13303
13357
  }());
13304
- 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" });
13358
+ 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" });
13305
13359
  GraphqlService.decorators = [
13306
13360
  { type: i0.Injectable, args: [{
13307
13361
  providedIn: 'root'
@@ -13318,7 +13372,7 @@
13318
13372
  { type: undefined, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [APP_GRAPHQL_TYPE_POLICIES,] }] }
13319
13373
  ]; };
13320
13374
 
13321
- var sha256$1 = require('hash.js/lib/hash/sha/256');
13375
+ var sha256 = require('hash.js/lib/hash/sha/256');
13322
13376
  var BaseGraphqlServiceOptions = /** @class */ (function () {
13323
13377
  function BaseGraphqlServiceOptions() {
13324
13378
  }
@@ -13485,8 +13539,8 @@
13485
13539
  };
13486
13540
  /* -- protected methods -- */
13487
13541
  BaseGraphqlService.prototype.computeMutableWatchQueryId = function (opts) {
13488
- var queryName = opts.queryName || sha256$1().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
13489
- var variablesKey = opts.variables && sha256$1().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
13542
+ var queryName = opts.queryName || sha256().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
13543
+ var variablesKey = opts.variables && sha256().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
13490
13544
  return [queryName, opts.arrayFieldName, variablesKey].join('|');
13491
13545
  };
13492
13546
  BaseGraphqlService.prototype.findMutableWatchQueries = function (opts) {
@@ -13552,17 +13606,17 @@
13552
13606
  /* ------------------------------------
13553
13607
  * GraphQL queries
13554
13608
  * ------------------------------------*/
13555
- var Fragments = {
13556
- account: core.gql(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n fragment AccountFragment on AccountVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n settings {\n id\n locale\n latLongFormat\n content\n nonce\n updateDate\n __typename\n }\n department {\n id\n label\n name\n __typename\n }\n __typename\n }\n "], ["\n fragment AccountFragment on AccountVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n settings {\n id\n locale\n latLongFormat\n content\n nonce\n updateDate\n __typename\n }\n department {\n id\n label\n name\n __typename\n }\n __typename\n }\n "])))
13609
+ var Fragments$1 = {
13610
+ account: core.gql(templateObject_1$4 || (templateObject_1$4 = __makeTemplateObject(["\n fragment AccountFragment on AccountVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n settings {\n id\n locale\n latLongFormat\n content\n nonce\n updateDate\n __typename\n }\n department {\n id\n label\n name\n __typename\n }\n __typename\n }\n "], ["\n fragment AccountFragment on AccountVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n settings {\n id\n locale\n latLongFormat\n content\n nonce\n updateDate\n __typename\n }\n department {\n id\n label\n name\n __typename\n }\n __typename\n }\n "])))
13557
13611
  };
13558
13612
  // Load account query
13559
- var LoadQuery = core.gql(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n query Account {\n account {\n ...AccountFragment\n }\n }\n ", "\n"], ["\n query Account {\n account {\n ...AccountFragment\n }\n }\n ", "\n"])), Fragments.account);
13613
+ var LoadQuery$1 = core.gql(templateObject_2$4 || (templateObject_2$4 = __makeTemplateObject(["\n query Account {\n account {\n ...AccountFragment\n }\n }\n ", "\n"], ["\n query Account {\n account {\n ...AccountFragment\n }\n }\n ", "\n"])), Fragments$1.account);
13560
13614
  // Check email query
13561
- var IsEmailExistsQuery = core.gql(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n query IsEmailExists($email: String, $hash: String){\n isEmailExists(email: $email, hash: $hash)\n }\n"], ["\n query IsEmailExists($email: String, $hash: String){\n isEmailExists(email: $email, hash: $hash)\n }\n"])));
13615
+ var IsEmailExistsQuery = core.gql(templateObject_3$3 || (templateObject_3$3 = __makeTemplateObject(["\n query IsEmailExists($email: String, $hash: String){\n isEmailExists(email: $email, hash: $hash)\n }\n"], ["\n query IsEmailExists($email: String, $hash: String){\n isEmailExists(email: $email, hash: $hash)\n }\n"])));
13562
13616
  // Save (create or update) account mutation
13563
- var SaveMutation = core.gql(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n mutation SaveAccount($account:AccountVOInput){\n saveAccount(account: $account){\n ...AccountFragment\n }\n }\n ", "\n"], ["\n mutation SaveAccount($account:AccountVOInput){\n saveAccount(account: $account){\n ...AccountFragment\n }\n }\n ", "\n"])), Fragments.account);
13617
+ var SaveMutation$1 = core.gql(templateObject_4$3 || (templateObject_4$3 = __makeTemplateObject(["\n mutation SaveAccount($account:AccountVOInput){\n saveAccount(account: $account){\n ...AccountFragment\n }\n }\n ", "\n"], ["\n mutation SaveAccount($account:AccountVOInput){\n saveAccount(account: $account){\n ...AccountFragment\n }\n }\n ", "\n"])), Fragments$1.account);
13564
13618
  // Create account mutation
13565
- var CreateMutation = core.gql(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n mutation CreateAccount($account:AccountVOInput){\n createAccount(account: $account){\n ...AccountFragment\n }\n }\n ", "\n"], ["\n mutation CreateAccount($account:AccountVOInput){\n createAccount(account: $account){\n ...AccountFragment\n }\n }\n ", "\n"])), Fragments.account);
13619
+ var CreateMutation = core.gql(templateObject_5$2 || (templateObject_5$2 = __makeTemplateObject(["\n mutation CreateAccount($account:AccountVOInput){\n createAccount(account: $account){\n ...AccountFragment\n }\n }\n ", "\n"], ["\n mutation CreateAccount($account:AccountVOInput){\n createAccount(account: $account){\n ...AccountFragment\n }\n }\n ", "\n"])), Fragments$1.account);
13566
13620
  // Sent confirmation email
13567
13621
  var SendConfirmEmailMutation = core.gql(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n mutation sendAccountConfirmationEmail($email:String, $locale:String){\n sendAccountConfirmationEmail(email: $email, locale: $locale)\n }\n"], ["\n mutation sendAccountConfirmationEmail($email:String, $locale:String){\n sendAccountConfirmationEmail(email: $email, locale: $locale)\n }\n"])));
13568
13622
  // Confirm account email
@@ -13952,7 +14006,7 @@
13952
14006
  error_3 = _a.sent();
13953
14007
  console.error(error_3);
13954
14008
  this.resetData();
13955
- throw { code: ErrorCodes.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
14009
+ throw { code: ErrorCodes$2.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
13956
14010
  case 4:
13957
14011
  // Store pubkey+keypair
13958
14012
  this.data.pubkey = Base58.encode(keypair.publicKey);
@@ -13988,7 +14042,7 @@
13988
14042
  return [3 /*break*/, 18];
13989
14043
  case 11:
13990
14044
  err_1 = _a.sent();
13991
- if (!(err_1 && +(err_1.code) === ErrorCodes.LOAD_ACCOUNT_ERROR)) return [3 /*break*/, 17];
14045
+ if (!(err_1 && +(err_1.code) === ErrorCodes$2.LOAD_ACCOUNT_ERROR)) return [3 /*break*/, 17];
13992
14046
  if (!(data.username.indexOf('@') !== -1)) return [3 /*break*/, 16];
13993
14047
  isEmailExists = void 0;
13994
14048
  _a.label = 12;
@@ -14004,12 +14058,12 @@
14004
14058
  case 15:
14005
14059
  // Email not exists (no account)
14006
14060
  if (!isEmailExists) {
14007
- throw { code: ErrorCodes.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
14061
+ throw { code: ErrorCodes$2.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
14008
14062
  }
14009
14063
  _a.label = 16;
14010
14064
  case 16:
14011
14065
  // Email exists, so error = 'bad password'
14012
- throw { code: ErrorCodes.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
14066
+ throw { code: ErrorCodes$2.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
14013
14067
  case 17: throw err_1; // resend the first error
14014
14068
  case 18:
14015
14069
  _a.trys.push([18, 20, , 21]);
@@ -14092,7 +14146,7 @@
14092
14146
  throw error_6;
14093
14147
  console.error(error_6);
14094
14148
  throw {
14095
- code: ErrorCodes.LOAD_ACCOUNT_ERROR,
14149
+ code: ErrorCodes$2.LOAD_ACCOUNT_ERROR,
14096
14150
  message: 'ERROR.LOAD_ACCOUNT_ERROR'
14097
14151
  };
14098
14152
  case 4: return [2 /*return*/];
@@ -14362,8 +14416,8 @@
14362
14416
  _a.label = 3;
14363
14417
  case 3: return [3 /*break*/, 6];
14364
14418
  case 4: return [4 /*yield*/, this.graphql.query({
14365
- query: LoadQuery,
14366
- error: { code: ErrorCodes.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
14419
+ query: LoadQuery$1,
14420
+ error: { code: ErrorCodes$2.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
14367
14421
  fetchPolicy: opts && opts.fetchPolicy || 'no-cache' || undefined
14368
14422
  })];
14369
14423
  case 5:
@@ -14408,7 +14462,7 @@
14408
14462
  case 1:
14409
14463
  existingAccount = _a.sent();
14410
14464
  if (!existingAccount || !existingAccount.updateDate) {
14411
- throw { code: ErrorCodes.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
14465
+ throw { code: ErrorCodes$2.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
14412
14466
  }
14413
14467
  account.updateDate = existingAccount.updateDate || account.updateDate;
14414
14468
  if (account.settings && existingAccount.settings) {
@@ -14421,12 +14475,12 @@
14421
14475
  delete json.profiles;
14422
14476
  delete json.mainProfile; // Not known on server
14423
14477
  return [4 /*yield*/, this.graphql.mutate({
14424
- mutation: isNew ? CreateMutation : SaveMutation,
14478
+ mutation: isNew ? CreateMutation : SaveMutation$1,
14425
14479
  variables: {
14426
14480
  account: json
14427
14481
  },
14428
14482
  error: {
14429
- code: ErrorCodes.SAVE_ACCOUNT_ERROR,
14483
+ code: ErrorCodes$2.SAVE_ACCOUNT_ERROR,
14430
14484
  message: 'ERROR.SAVE_ACCOUNT_ERROR'
14431
14485
  }
14432
14486
  })];
@@ -14460,7 +14514,7 @@
14460
14514
  case 1:
14461
14515
  isEmailExists = _a.sent();
14462
14516
  if (isEmailExists) {
14463
- throw { code: ErrorCodes.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
14517
+ throw { code: ErrorCodes$2.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
14464
14518
  }
14465
14519
  return [2 /*return*/];
14466
14520
  }
@@ -14510,7 +14564,7 @@
14510
14564
  locale: locale
14511
14565
  },
14512
14566
  error: {
14513
- code: ErrorCodes.SENT_CONFIRMATION_EMAIL_FAILED,
14567
+ code: ErrorCodes$2.SENT_CONFIRMATION_EMAIL_FAILED,
14514
14568
  message: 'ERROR.SENT_ACCOUNT_CONFIRMATION_EMAIL_FAILED'
14515
14569
  }
14516
14570
  })];
@@ -14533,7 +14587,7 @@
14533
14587
  code: code
14534
14588
  },
14535
14589
  error: {
14536
- code: ErrorCodes.CONFIRM_EMAIL_FAILED,
14590
+ code: ErrorCodes$2.CONFIRM_EMAIL_FAILED,
14537
14591
  message: 'ERROR.CONFIRM_ACCOUNT_EMAIL_FAILED'
14538
14592
  }
14539
14593
  })];
@@ -14555,7 +14609,7 @@
14555
14609
  interval: 10
14556
14610
  },
14557
14611
  error: {
14558
- code: ErrorCodes.SUBSCRIBE_ACCOUNT_ERROR,
14612
+ code: ErrorCodes$2.SUBSCRIBE_ACCOUNT_ERROR,
14559
14613
  message: 'ERROR.ACCOUNT.SUBSCRIBE_ACCOUNT_ERROR'
14560
14614
  }
14561
14615
  }).subscribe({
@@ -14674,7 +14728,7 @@
14674
14728
  if (counter > 4) {
14675
14729
  if (this._debug)
14676
14730
  console.debug("[account] Failed to authentication on pod (after " + counter + " attempts)");
14677
- throw { code: ErrorCodes.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
14731
+ throw { code: ErrorCodes$2.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
14678
14732
  }
14679
14733
  if (!token) return [3 /*break*/, 2];
14680
14734
  return [4 /*yield*/, this.graphql.query({
@@ -14683,7 +14737,7 @@
14683
14737
  token: token
14684
14738
  },
14685
14739
  error: {
14686
- code: ErrorCodes.UNAUTHORIZED,
14740
+ code: ErrorCodes$2.UNAUTHORIZED,
14687
14741
  message: 'ERROR.UNAUTHORIZED'
14688
14742
  },
14689
14743
  fetchPolicy: 'no-cache'
@@ -14700,7 +14754,7 @@
14700
14754
  _a.label = 2;
14701
14755
  case 2:
14702
14756
  challengeError = {
14703
- code: ErrorCodes.AUTH_CHALLENGE_ERROR,
14757
+ code: ErrorCodes$2.AUTH_CHALLENGE_ERROR,
14704
14758
  message: 'ERROR.AUTH_CHALLENGE_ERROR'
14705
14759
  };
14706
14760
  return [4 /*yield*/, this.graphql.query({
@@ -14734,7 +14788,7 @@
14734
14788
  };
14735
14789
  return AccountService;
14736
14790
  }(BaseGraphqlService));
14737
- 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" });
14791
+ 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" });
14738
14792
  AccountService.decorators = [
14739
14793
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
14740
14794
  ];
@@ -14747,7 +14801,7 @@
14747
14801
  { type: FileService },
14748
14802
  { type: undefined, decorators: [{ type: i0.Inject, args: [ENVIRONMENT,] }] }
14749
14803
  ]; };
14750
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10;
14804
+ 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;
14751
14805
 
14752
14806
  var Software_1, Configuration_1;
14753
14807
  // @dynamic
@@ -14989,13 +15043,13 @@
14989
15043
  /* ------------------------------------
14990
15044
  * GraphQL queries
14991
15045
  * ------------------------------------*/
14992
- var Fragments$1 = {
14993
- 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 "])))
15046
+ var Fragments = {
15047
+ 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 "])))
14994
15048
  };
14995
- 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);
15049
+ 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);
14996
15050
  // Save (create or update) account mutation
14997
- var SaveMutation$1 = core.gql(templateObject_3$1 || (templateObject_3$1 = __makeTemplateObject(["\n mutation SaveConfiguration($data: ConfigurationVOInput){\n data: saveConfiguration(config: $data){\n ...ConfigFragment\n }\n }\n ", "\n"], ["\n mutation SaveConfiguration($data: ConfigurationVOInput){\n data: saveConfiguration(config: $data){\n ...ConfigFragment\n }\n }\n ", "\n"])), Fragments$1.config);
14998
- 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"])));
15051
+ 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);
15052
+ 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"])));
14999
15053
  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"])));
15000
15054
  var APP_CONFIG_OPTIONS = new i0.InjectionToken('defaultOptions');
15001
15055
  var ConfigService = /** @class */ (function (_super) {
@@ -15088,12 +15142,12 @@
15088
15142
  case 0:
15089
15143
  now = Date.now();
15090
15144
  console.debug('[config] Loading Pod configuration...');
15091
- query = opts && opts.query || LoadQuery$1;
15145
+ query = opts && opts.query || LoadQuery;
15092
15146
  variables = opts && opts.variables || undefined;
15093
15147
  return [4 /*yield*/, this.graphql.query({
15094
15148
  query: query,
15095
15149
  variables: variables,
15096
- error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
15150
+ error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
15097
15151
  fetchPolicy: opts && opts.fetchPolicy || undefined /*default*/
15098
15152
  })];
15099
15153
  case 1:
@@ -15127,12 +15181,12 @@
15127
15181
  console.debug('[config] Saving Pod configuration...', config);
15128
15182
  json = config.asObject();
15129
15183
  return [4 /*yield*/, this.graphql.mutate({
15130
- mutation: SaveMutation$1,
15184
+ mutation: SaveMutation,
15131
15185
  variables: {
15132
15186
  data: json
15133
15187
  },
15134
15188
  error: {
15135
- code: ErrorCodes.SAVE_CONFIG_ERROR,
15189
+ code: ErrorCodes$2.SAVE_CONFIG_ERROR,
15136
15190
  message: 'ERROR.SAVE_CONFIG_ERROR'
15137
15191
  }
15138
15192
  })];
@@ -15167,7 +15221,7 @@
15167
15221
  return [4 /*yield*/, this.graphql.query({
15168
15222
  query: CacheStatistics,
15169
15223
  variables: null,
15170
- error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
15224
+ error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
15171
15225
  fetchPolicy: 'network-only'
15172
15226
  })];
15173
15227
  case 1:
@@ -15191,7 +15245,7 @@
15191
15245
  return [4 /*yield*/, this.graphql.query({
15192
15246
  query: ClearCache,
15193
15247
  variables: variables,
15194
- error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
15248
+ error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
15195
15249
  fetchPolicy: 'network-only'
15196
15250
  })];
15197
15251
  case 1:
@@ -15392,7 +15446,7 @@
15392
15446
  };
15393
15447
  return ConfigService;
15394
15448
  }(BaseGraphqlService));
15395
- 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" });
15449
+ ConfigService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function ConfigService_Factory() { return new ConfigService(i0__namespace.ɵɵinject(i1__namespace$4.Platform), i0__namespace.ɵɵinject(GraphqlService), i0__namespace.ɵɵinject(i3__namespace$1.Storage), i0__namespace.ɵɵinject(NetworkService), i0__namespace.ɵɵinject(FileService), i0__namespace.ɵɵinject(i1__namespace$4.ToastController), i0__namespace.ɵɵinject(i1__namespace$1.TranslateService), i0__namespace.ɵɵinject(ENVIRONMENT), i0__namespace.ɵɵinject(APP_CONFIG_OPTIONS, 8)); }, token: ConfigService, providedIn: "root" });
15396
15450
  ConfigService.decorators = [
15397
15451
  { type: i0.Injectable, args: [{
15398
15452
  providedIn: 'root',
@@ -15410,9 +15464,9 @@
15410
15464
  { type: undefined, decorators: [{ type: i0.Inject, args: [ENVIRONMENT,] }] },
15411
15465
  { type: undefined, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [APP_CONFIG_OPTIONS,] }] }
15412
15466
  ]; };
15413
- var templateObject_1$1, templateObject_2$1, templateObject_3$1, templateObject_4$1, templateObject_5$1;
15467
+ var templateObject_1$3, templateObject_2$3, templateObject_3$2, templateObject_4$2, templateObject_5$1;
15414
15468
 
15415
- var moment$4 = momentImported__namespace;
15469
+ var moment$2 = momentImported__namespace;
15416
15470
  var PlatformService = /** @class */ (function () {
15417
15471
  function PlatformService(platform, cdkPlatform, toastController, translate, dateAdapter, entitiesStorage, settings, networkService, accountService, configService, cache, storage, audioProvider, environment, statusBar, keyboard, splashScreen, browser) {
15418
15472
  this.platform = platform;
@@ -15588,16 +15642,16 @@
15588
15642
  }
15589
15643
  // config moment lib
15590
15644
  try {
15591
- moment$4.locale(event.lang);
15645
+ moment$2.locale(event.lang);
15592
15646
  console.debug('[platform] Use locale {' + event.lang + '}');
15593
15647
  }
15594
15648
  // If error, fallback to en
15595
15649
  catch (err) {
15596
- moment$4.locale('en');
15650
+ moment$2.locale('en');
15597
15651
  console.warn('[platform] Unknown local for moment lib. Using default [en]');
15598
15652
  }
15599
15653
  // Config date adapter
15600
- _this.dateAdapter.setLocale(moment$4.locale());
15654
+ _this.dateAdapter.setLocale(moment$2.locale());
15601
15655
  }
15602
15656
  });
15603
15657
  this.settings.onChange.subscribe(function (data) {
@@ -15782,7 +15836,7 @@
15782
15836
  };
15783
15837
  return PlatformService;
15784
15838
  }());
15785
- PlatformService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PlatformService_Factory() { return new PlatformService(i0.ɵɵinject(i1$5.Platform), i0.ɵɵinject(i2$4.Platform), i0.ɵɵinject(i1$5.ToastController), i0.ɵɵinject(i1$2.TranslateService), i0.ɵɵinject(i1$1.MomentDateAdapter), i0.ɵɵinject(EntitiesStorage), i0.ɵɵinject(LocalSettingsService), i0.ɵɵinject(NetworkService), i0.ɵɵinject(AccountService), i0.ɵɵinject(ConfigService), i0.ɵɵinject(i6.CacheService), i0.ɵɵinject(i3$2.Storage), i0.ɵɵinject(AudioProvider), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(i14.StatusBar, 8), i0.ɵɵinject(i15.Keyboard, 8), i0.ɵɵinject(i10.SplashScreen, 8), i0.ɵɵinject(i17.InAppBrowser, 8)); }, token: PlatformService, providedIn: "root" });
15839
+ 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)); }, token: PlatformService, providedIn: "root" });
15786
15840
  PlatformService.decorators = [
15787
15841
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
15788
15842
  ];
@@ -15879,7 +15933,7 @@
15879
15933
  };
15880
15934
  return MatStepperI18n;
15881
15935
  }(stepper.MatStepperIntl));
15882
- MatStepperI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(i0.ɵɵinject(i1$2.TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
15936
+ MatStepperI18n.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
15883
15937
  MatStepperI18n.decorators = [
15884
15938
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
15885
15939
  ];
@@ -16971,7 +17025,7 @@
16971
17025
  return 1;
16972
17026
  }
16973
17027
  }
16974
- var ɵ0$9 = function (defaultStateSize) { return [
17028
+ var ɵ0$1 = function (defaultStateSize) { return [
16975
17029
  Math.round((rgbArrayMap.red[0] - 50) / defaultStateSize),
16976
17030
  Math.round((255 - rgbArrayMap.red[1]) / defaultStateSize),
16977
17031
  Math.round((255 - rgbArrayMap.red[2]) / defaultStateSize)
@@ -16979,7 +17033,7 @@
16979
17033
  var SCALE_OPTIONS_DEFAULT = {
16980
17034
  startColor: rgbArrayMap.red,
16981
17035
  startStates: [0, 2, 3],
16982
- startStepsFn: ɵ0$9
17036
+ startStepsFn: ɵ0$1
16983
17037
  };
16984
17038
  /**
16985
17039
  * Internal function, that create a colors scale, using iteration
@@ -17071,24 +17125,24 @@
17071
17125
  return result;
17072
17126
  }
17073
17127
 
17074
- var EntityTestClass = /** @class */ (function () {
17128
+ var EntityTestClass$1 = /** @class */ (function () {
17075
17129
  function EntityTestClass() {
17076
17130
  }
17077
17131
  return EntityTestClass;
17078
17132
  }());
17079
- var FAKE_ENTITIES = [
17133
+ var FAKE_ENTITIES$1 = [
17080
17134
  { id: 1, label: 'AAA', name: 'Item A', description: 'Very long description A', comments: 'Very very long comments... again for A' },
17081
17135
  { id: 2, label: 'BBB', name: 'Item B', description: 'Very long description B', comments: 'Very very long comments... again for B' },
17082
17136
  { id: 3, label: 'CCC', name: 'Item C', description: 'Very long description C', comments: 'Very very long comments... again for C' }
17083
17137
  ];
17084
- function deepCopy(values, size) {
17138
+ function deepCopy$1(values, size) {
17085
17139
  if (isNil(size)) {
17086
- return (values || FAKE_ENTITIES).map(function (entity) { return Object.assign({}, entity); });
17140
+ return (values || FAKE_ENTITIES$1).map(function (entity) { return Object.assign({}, entity); });
17087
17141
  }
17088
17142
  var result = [];
17089
17143
  var i = 1;
17090
17144
  while (result.length < size) {
17091
- result = result.concat((values || FAKE_ENTITIES).map(function (entity) {
17145
+ result = result.concat((values || FAKE_ENTITIES$1).map(function (entity) {
17092
17146
  var name = entity.name + ' #' + i;
17093
17147
  return Object.assign(Object.assign({}, entity), { id: i++, name: name });
17094
17148
  }));
@@ -17098,7 +17152,7 @@
17098
17152
  var AutocompleteTestPage = /** @class */ (function () {
17099
17153
  function AutocompleteTestPage(formBuilder) {
17100
17154
  this.formBuilder = formBuilder;
17101
- this._items = deepCopy(FAKE_ENTITIES, 100);
17155
+ this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
17102
17156
  this.$items = new rxjs.BehaviorSubject(undefined);
17103
17157
  this.autocompleteFields = new MatAutocompleteConfigHolder();
17104
17158
  this.memoryHide = false;
@@ -17143,7 +17197,7 @@
17143
17197
  });
17144
17198
  // From items
17145
17199
  this.autocompleteFields.add('entity-items-large', {
17146
- items: FAKE_ENTITIES.slice(),
17200
+ items: FAKE_ENTITIES$1.slice(),
17147
17201
  attributes: ['label', 'name', 'description', 'comments'],
17148
17202
  displayWith: this.entityToString
17149
17203
  });
@@ -17156,12 +17210,12 @@
17156
17210
  var _this = this;
17157
17211
  return __generator(this, function (_a) {
17158
17212
  data = {
17159
- entity: deepCopy(FAKE_ENTITIES)[1],
17213
+ entity: deepCopy$1(FAKE_ENTITIES$1)[1],
17160
17214
  // This item is NOT in the items list => i should be displayed anyway
17161
17215
  missingEntity: {
17162
17216
  id: -1, label: '??', name: 'Missing item'
17163
17217
  },
17164
- disableEntity: deepCopy(FAKE_ENTITIES)[2]
17218
+ disableEntity: deepCopy$1(FAKE_ENTITIES$1)[2]
17165
17219
  };
17166
17220
  this.form.setValue(data);
17167
17221
  // Load observables
@@ -17350,13 +17404,13 @@
17350
17404
  { type: Array, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [APP_TESTING_PAGES,] }] }
17351
17405
  ]; };
17352
17406
 
17353
- var moment$5 = momentImported__namespace;
17407
+ var moment$1 = momentImported__namespace;
17354
17408
  var SwipeTestPage = /** @class */ (function () {
17355
17409
  function SwipeTestPage(formBuilder, dateFormatPipe) {
17356
17410
  this.formBuilder = formBuilder;
17357
17411
  this.dateFormatPipe = dateFormatPipe;
17358
17412
  this.$dates = new rxjs.BehaviorSubject(undefined);
17359
- this._today = moment$5().startOf('day');
17413
+ this._today = moment$1().startOf('day');
17360
17414
  this.form = formBuilder.group({
17361
17415
  empty: [null, i1.Validators.required],
17362
17416
  date: [null, i1.Validators.compose([i1.Validators.required, SharedValidators.validDate])],
@@ -17370,7 +17424,7 @@
17370
17424
  var _this = this;
17371
17425
  var dates = [];
17372
17426
  for (var d = 0; d < 7; d++) {
17373
- dates[d] = moment$5(this._today).add(d - 3, 'day');
17427
+ dates[d] = moment$1(this._today).add(d - 3, 'day');
17374
17428
  }
17375
17429
  this.$dates.next(dates);
17376
17430
  this.loadData();
@@ -18042,7 +18096,7 @@
18042
18096
  return FormArrayHelper;
18043
18097
  }());
18044
18098
 
18045
- var moment$6 = momentImported__namespace;
18099
+ var moment = momentImported__namespace;
18046
18100
  var DateTimeTestPage = /** @class */ (function () {
18047
18101
  function DateTimeTestPage(platform, formBuilder, cd) {
18048
18102
  this.platform = platform;
@@ -18077,7 +18131,7 @@
18077
18131
  var now, data;
18078
18132
  var _this = this;
18079
18133
  return __generator(this, function (_a) {
18080
- now = moment$6();
18134
+ now = moment();
18081
18135
  data = {
18082
18136
  empty: toDateISOString(now.clone().add(2, 'hours')),
18083
18137
  enable: toDateISOString(now),
@@ -18141,23 +18195,23 @@
18141
18195
  { type: i0.ChangeDetectorRef }
18142
18196
  ]; };
18143
18197
 
18144
- var EntityTestClass$1 = /** @class */ (function () {
18198
+ var EntityTestClass = /** @class */ (function () {
18145
18199
  function EntityTestClass() {
18146
18200
  }
18147
18201
  return EntityTestClass;
18148
18202
  }());
18149
- var FAKE_ENTITIES$1 = [
18203
+ var FAKE_ENTITIES = [
18150
18204
  { id: 1, label: 'AAA', name: 'Item A' },
18151
18205
  { id: 2, label: 'BBB', name: 'Item B' },
18152
18206
  { id: 3, label: 'CCC', name: 'Item C' }
18153
18207
  ];
18154
- function deepCopy$1(values) {
18155
- return (values || FAKE_ENTITIES$1).map(function (entity) { return Object.assign({}, entity); });
18208
+ function deepCopy(values) {
18209
+ return (values || FAKE_ENTITIES).map(function (entity) { return Object.assign({}, entity); });
18156
18210
  }
18157
18211
  var ChipsTestPage = /** @class */ (function () {
18158
18212
  function ChipsTestPage(formBuilder) {
18159
18213
  this.formBuilder = formBuilder;
18160
- this._items = deepCopy$1(FAKE_ENTITIES$1);
18214
+ this._items = deepCopy(FAKE_ENTITIES);
18161
18215
  this._$items = new rxjs.BehaviorSubject(undefined);
18162
18216
  this.autocompleteFields = new MatAutocompleteConfigHolder();
18163
18217
  this.form = formBuilder.group({
@@ -18177,7 +18231,7 @@
18177
18231
  });
18178
18232
  // From items
18179
18233
  this.autocompleteFields.add('entity-items', {
18180
- items: FAKE_ENTITIES$1.slice(),
18234
+ items: FAKE_ENTITIES.slice(),
18181
18235
  attributes: ['label', 'name'],
18182
18236
  displayWith: this.entityToString
18183
18237
  });
@@ -18200,8 +18254,8 @@
18200
18254
  data = {
18201
18255
  entity: [],
18202
18256
  // THis item is NOT in the items list => i should be displayed anyway
18203
- entityInitial: FAKE_ENTITIES$1.slice(1, 2),
18204
- disableEntity: FAKE_ENTITIES$1.slice(1, 2)
18257
+ entityInitial: FAKE_ENTITIES.slice(1, 2),
18258
+ disableEntity: FAKE_ENTITIES.slice(1, 2)
18205
18259
  };
18206
18260
  this.form.setValue(data);
18207
18261
  return [2 /*return*/];
@@ -18211,7 +18265,7 @@
18211
18265
  ChipsTestPage.prototype.loadItems = function () {
18212
18266
  return __awaiter(this, void 0, void 0, function () {
18213
18267
  return __generator(this, function (_a) {
18214
- this._$items.next(deepCopy$1(FAKE_ENTITIES$1));
18268
+ this._$items.next(deepCopy(FAKE_ENTITIES));
18215
18269
  return [2 /*return*/];
18216
18270
  });
18217
18271
  });
@@ -18248,7 +18302,7 @@
18248
18302
  { type: i1.FormBuilder }
18249
18303
  ]; };
18250
18304
 
18251
- var routes = [
18305
+ var routes$1 = [
18252
18306
  {
18253
18307
  path: '',
18254
18308
  pathMatch: 'full',
@@ -18298,7 +18352,7 @@
18298
18352
  i1.ReactiveFormsModule,
18299
18353
  SharedMaterialModule,
18300
18354
  i1$2.TranslateModule.forChild(),
18301
- i3.RouterModule.forChild(routes)
18355
+ i3.RouterModule.forChild(routes$1)
18302
18356
  ],
18303
18357
  declarations: [
18304
18358
  MaterialTestingPage,
@@ -18673,15 +18727,10 @@
18673
18727
  _this.markForCheck();
18674
18728
  }));
18675
18729
  // For DEV only
18676
- if (this.environment && this.environment.production === false) {
18730
+ if (this.environment && this.environment.production === false && this.environment.defaultAuthValues) {
18677
18731
  // Set the default user, for testing.
18678
- // (see values in the test database - XML files in the module 'sumaris-core-test-shared')
18679
- this.form.patchValue({
18680
- // Basic auth (using Person.username)
18681
- // username: 'admq2', password: 'q22006'
18682
- // Token auth (using Person.pubkey)
18683
- username: 'admin@sumaris.net', password: 'admin'
18684
- });
18732
+ // Override using environment, if any
18733
+ this.form.patchValue(this.environment.defaultAuthValues);
18685
18734
  }
18686
18735
  };
18687
18736
  AuthForm.prototype.cancel = function () {
@@ -19373,7 +19422,7 @@
19373
19422
  };
19374
19423
  return UserSettingsValidatorService;
19375
19424
  }(AppValidatorService));
19376
- UserSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(i0.ɵɵinject(i1.FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
19425
+ UserSettingsValidatorService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(i0__namespace.ɵɵinject(i1__namespace$6.FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
19377
19426
  UserSettingsValidatorService.decorators = [
19378
19427
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
19379
19428
  ];
@@ -19421,7 +19470,7 @@
19421
19470
  };
19422
19471
  return AccountValidatorService;
19423
19472
  }(AppValidatorService));
19424
- AccountValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(i0.ɵɵinject(i1.FormBuilder), i0.ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
19473
+ 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" });
19425
19474
  AccountValidatorService.decorators = [
19426
19475
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
19427
19476
  ];
@@ -20013,7 +20062,7 @@
20013
20062
  };
20014
20063
  return LocalSettingsValidatorService;
20015
20064
  }(AppValidatorService));
20016
- LocalSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(i0.ɵɵinject(i1.FormBuilder), i0.ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
20065
+ 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" });
20017
20066
  LocalSettingsValidatorService.decorators = [
20018
20067
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
20019
20068
  ];
@@ -20787,7 +20836,7 @@
20787
20836
  };
20788
20837
  return IsOnFieldModePipe;
20789
20838
  }());
20790
- IsOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
20839
+ IsOnFieldModePipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
20791
20840
  IsOnFieldModePipe.decorators = [
20792
20841
  { type: i0.Pipe, args: [{
20793
20842
  name: 'isOnField'
@@ -20802,7 +20851,7 @@
20802
20851
  };
20803
20852
  return IsNotOnFieldModePipe;
20804
20853
  }());
20805
- IsNotOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
20854
+ IsNotOnFieldModePipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
20806
20855
  IsNotOnFieldModePipe.decorators = [
20807
20856
  { type: i0.Pipe, args: [{
20808
20857
  name: 'isNotOnField'
@@ -20820,7 +20869,7 @@
20820
20869
  };
20821
20870
  return PersonToStringPipe;
20822
20871
  }());
20823
- PersonToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
20872
+ PersonToStringPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
20824
20873
  PersonToStringPipe.decorators = [
20825
20874
  { type: i0.Pipe, args: [{
20826
20875
  name: 'personToString'
@@ -21055,7 +21104,7 @@
21055
21104
  };
21056
21105
  return IsLoginAccountPipe;
21057
21106
  }());
21058
- IsLoginAccountPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
21107
+ IsLoginAccountPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
21059
21108
  IsLoginAccountPipe.decorators = [
21060
21109
  { type: i0.Pipe, args: [{
21061
21110
  name: 'isLogin'
@@ -21070,7 +21119,7 @@
21070
21119
  };
21071
21120
  return AccountToStringPipe;
21072
21121
  }());
21073
- AccountToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
21122
+ AccountToStringPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
21074
21123
  AccountToStringPipe.decorators = [
21075
21124
  { type: i0.Pipe, args: [{
21076
21125
  name: 'accountToString'
@@ -21088,7 +21137,7 @@
21088
21137
  };
21089
21138
  return DepartmentToStringPipe;
21090
21139
  }());
21091
- DepartmentToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
21140
+ DepartmentToStringPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
21092
21141
  DepartmentToStringPipe.decorators = [
21093
21142
  { type: i0.Pipe, args: [{
21094
21143
  name: 'departmentToString'
@@ -21123,7 +21172,7 @@
21123
21172
  };
21124
21173
  return MenuService;
21125
21174
  }());
21126
- MenuService.ɵprov = i0.ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
21175
+ MenuService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
21127
21176
  MenuService.decorators = [
21128
21177
  { type: i0.Injectable, args: [{
21129
21178
  providedIn: 'root'
@@ -21702,7 +21751,7 @@
21702
21751
  };
21703
21752
  return AuthGuardService;
21704
21753
  }());
21705
- 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" });
21754
+ 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" });
21706
21755
  AuthGuardService.decorators = [
21707
21756
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
21708
21757
  ];
@@ -21753,7 +21802,7 @@
21753
21802
  query: query,
21754
21803
  variables: { id: id },
21755
21804
  fetchPolicy: opts && opts.fetchPolicy || undefined,
21756
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
21805
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
21757
21806
  })
21758
21807
  .pipe(operators.map(function (_b) {
21759
21808
  var data = _b.data;
@@ -21775,7 +21824,7 @@
21775
21824
  query: query,
21776
21825
  variables: { id: id },
21777
21826
  fetchPolicy: opts && opts.fetchPolicy || undefined,
21778
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
21827
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
21779
21828
  })];
21780
21829
  case 1:
21781
21830
  data = (_b.sent()).data;
@@ -21811,7 +21860,7 @@
21811
21860
  totalFieldName: withTotal ? 'total' : undefined,
21812
21861
  insertFilterFn: filter && filter.asFilterFn(),
21813
21862
  variables: variables,
21814
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
21863
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
21815
21864
  fetchPolicy: opts && opts.fetchPolicy || undefined
21816
21865
  })
21817
21866
  .pipe(operators.map(function (_b) {
@@ -21853,7 +21902,7 @@
21853
21902
  return [4 /*yield*/, this.graphql.query({
21854
21903
  query: query,
21855
21904
  variables: variables,
21856
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
21905
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
21857
21906
  fetchPolicy: opts && opts.fetchPolicy || 'network-only'
21858
21907
  })];
21859
21908
  case 1:
@@ -21901,7 +21950,7 @@
21901
21950
  variables: {
21902
21951
  filter: filter && filter.asPodObject()
21903
21952
  },
21904
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
21953
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
21905
21954
  fetchPolicy: opts && opts.fetchPolicy || 'network-only'
21906
21955
  })];
21907
21956
  case 3:
@@ -21943,7 +21992,7 @@
21943
21992
  variables: {
21944
21993
  data: json
21945
21994
  },
21946
- error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
21995
+ error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
21947
21996
  update: function (proxy, _b) {
21948
21997
  var data = _b.data;
21949
21998
  var savedEntities = data && data.data;
@@ -22010,7 +22059,7 @@
22010
22059
  variables: {
22011
22060
  data: json
22012
22061
  },
22013
- error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
22062
+ error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
22014
22063
  update: function (cache, _b) {
22015
22064
  var data = _b.data;
22016
22065
  // Update entity
@@ -22068,7 +22117,7 @@
22068
22117
  refetchQueries: this.getRefetchQueriesForMutation(opts),
22069
22118
  awaitRefetchQueries: opts && opts.awaitRefetchQueries,
22070
22119
  variables: { ids: ids },
22071
- error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
22120
+ error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
22072
22121
  update: function (cache, res) {
22073
22122
  // Remove from cache
22074
22123
  if (_this.watchQueriesUpdatePolicy === 'update-cache') {
@@ -22121,7 +22170,7 @@
22121
22170
  refetchQueries: this.getRefetchQueriesForMutation(opts),
22122
22171
  awaitRefetchQueries: opts && opts.awaitRefetchQueries,
22123
22172
  variables: { id: id },
22124
- error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
22173
+ error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
22125
22174
  update: function (proxy, res) {
22126
22175
  // Remove from cache
22127
22176
  if (_this.watchQueriesUpdatePolicy === 'update-cache') {
@@ -22160,7 +22209,7 @@
22160
22209
  query: opts && opts.query || this.subscriptions.listenChanges,
22161
22210
  variables: variables,
22162
22211
  error: {
22163
- code: ErrorCodes.SUBSCRIBE_DATA_ERROR,
22212
+ code: ErrorCodes$2.SUBSCRIBE_DATA_ERROR,
22164
22213
  message: 'ERROR.SUBSCRIBE_DATA_ERROR'
22165
22214
  }
22166
22215
  })
@@ -22349,7 +22398,7 @@
22349
22398
  if (this._debug)
22350
22399
  invalidRows.forEach(this.logRowErrors);
22351
22400
  // Stop with an error
22352
- throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
22401
+ throw { code: ErrorCodes$2.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
22353
22402
  }
22354
22403
  this._editingRowCount = 0;
22355
22404
  data = void 0;
@@ -23299,13 +23348,13 @@
23299
23348
  case 0:
23300
23349
  opts = Object.assign({ keepEditing: this.keepEditedRowOnSave }, opts);
23301
23350
  if (this.readOnly) {
23302
- throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
23351
+ throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
23303
23352
  }
23304
23353
  this.resetError();
23305
23354
  // Keep edited row id (should be done BEFORE confirmEditCreate() )
23306
23355
  this.previouslySavedEditedRowId = opts.keepEditing && ((_a = this.editedRow) === null || _a === void 0 ? void 0 : _a.editing) ? this.editedRow.id : undefined;
23307
23356
  if (!this.confirmEditCreate()) {
23308
- throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
23357
+ throw { code: ErrorCodes$2.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
23309
23358
  }
23310
23359
  _d.label = 1;
23311
23360
  case 1:
@@ -23466,7 +23515,7 @@
23466
23515
  switch (_d.label) {
23467
23516
  case 0:
23468
23517
  if (this.readOnly) {
23469
- throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
23518
+ throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
23470
23519
  }
23471
23520
  if (event === null || event === void 0 ? void 0 : event.defaultPrevented)
23472
23521
  return [2 /*return*/, 0]; // SKip
@@ -25119,7 +25168,7 @@
25119
25168
  case 4:
25120
25169
  data = _a.sent();
25121
25170
  if (!data)
25122
- throw { code: ErrorCodes.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
25171
+ throw { code: ErrorCodes$2.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
25123
25172
  this._usageMode = this.computeUsageMode(data);
25124
25173
  return [4 /*yield*/, this.onEntityLoaded(data, opts)];
25125
25174
  case 5:
@@ -25865,10 +25914,10 @@
25865
25914
  exports.UserEventFilter = __decorate([
25866
25915
  EntityClass({ typename: 'UserEventVO' })
25867
25916
  ], exports.UserEventFilter);
25868
- 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);
25869
- 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);
25870
- 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"])));
25871
- 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);
25917
+ 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);
25918
+ 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);
25919
+ 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"])));
25920
+ 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);
25872
25921
  var UserEventService = /** @class */ (function (_super) {
25873
25922
  __extends(UserEventService, _super);
25874
25923
  function UserEventService(graphql, accountService, network, translate, toastController, environment) {
@@ -26189,7 +26238,7 @@
26189
26238
  };
26190
26239
  return UserEventService;
26191
26240
  }(BaseGraphqlService));
26192
- 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" });
26241
+ 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" });
26193
26242
  UserEventService.decorators = [
26194
26243
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
26195
26244
  ];
@@ -26201,7 +26250,7 @@
26201
26250
  { type: i1$5.ToastController },
26202
26251
  { type: undefined, decorators: [{ type: i0.Inject, args: [ENVIRONMENT,] }] }
26203
26252
  ]; };
26204
- var templateObject_1$3, templateObject_2$3, templateObject_3$2, templateObject_4$2;
26253
+ var templateObject_1$1, templateObject_2$1, templateObject_3$1, templateObject_4$1;
26205
26254
 
26206
26255
  var ICONS_MAP = {
26207
26256
  DEBUG_DATA: { matIcon: 'bug_report' },
@@ -26462,16 +26511,16 @@
26462
26511
  ], exports.PersonFilter);
26463
26512
 
26464
26513
  var PersonFragments = {
26465
- 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 }"])))
26514
+ 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 }"])))
26466
26515
  };
26467
26516
  // Load persons query
26468
26517
  var PersonQueries = {
26469
- 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),
26470
- 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)
26518
+ 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),
26519
+ 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)
26471
26520
  };
26472
26521
  var PersonMutations = {
26473
- 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),
26474
- 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 }"])))
26522
+ 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),
26523
+ 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 }"])))
26475
26524
  };
26476
26525
  var PersonService = /** @class */ (function (_super_1) {
26477
26526
  __extends(PersonService, _super_1);
@@ -26594,7 +26643,7 @@
26594
26643
  };
26595
26644
  return PersonService;
26596
26645
  }(BaseEntityService));
26597
- 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" });
26646
+ 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" });
26598
26647
  PersonService.decorators = [
26599
26648
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
26600
26649
  ];
@@ -26604,7 +26653,7 @@
26604
26653
  { type: NetworkService },
26605
26654
  { type: EntitiesStorage }
26606
26655
  ]; };
26607
- var templateObject_1$4, templateObject_2$4, templateObject_3$3, templateObject_4$3, templateObject_5$2;
26656
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
26608
26657
 
26609
26658
  var PersonValidatorService = /** @class */ (function () {
26610
26659
  function PersonValidatorService(formBuilder, accountValidatorService) {
@@ -26627,7 +26676,7 @@
26627
26676
  };
26628
26677
  return PersonValidatorService;
26629
26678
  }());
26630
- PersonValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(i0.ɵɵinject(i1.FormBuilder), i0.ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
26679
+ 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" });
26631
26680
  PersonValidatorService.decorators = [
26632
26681
  { type: i0.Injectable, args: [{ providedIn: 'root' },] }
26633
26682
  ];
@@ -26799,7 +26848,7 @@
26799
26848
  ],
26800
26849
  animations: [slideUpDownAnimation],
26801
26850
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
26802
- styles: [".mat-expansion-panel{margin-bottom:5px}.mat-expansion-panel .form-container mat-form-field{width:100%}.mat-expansion-panel mat-action-row ion-label{line-height:36px}.table-container{height:100%}.mat-table .mat-cell .avatar{height:40px;width:40px;margin:2px 0 0;background-size:cover;background-repeat:no-repeat;background-position:50%}.mat-table .mat-column-avatar{min-width:50px}.mat-table .mat-column-profile{min-width:110px}.mat-table .mat-column-status{min-width:130px}.mat-table .mat-column-department{min-width:150px}"]
26851
+ styles: [".mat-expansion-panel{margin-bottom:5px}.mat-expansion-panel .form-container mat-form-field{width:100%}.mat-expansion-panel mat-action-row ion-label{line-height:36px}.table-container{height:calc(100%)}.mat-table .mat-cell .avatar{height:40px;width:40px;margin:2px 0 0;background-size:cover;background-repeat:no-repeat;background-position:50%}.mat-table .mat-column-avatar{min-width:50px}.mat-table .mat-column-profile{min-width:110px}.mat-table .mat-column-status{min-width:130px}.mat-table .mat-column-department{min-width:150px}"]
26803
26852
  },] }
26804
26853
  ];
26805
26854
  UsersPage.ctorParameters = function () { return [
@@ -26848,16 +26897,16 @@
26848
26897
  ];
26849
26898
  AdminModule.ctorParameters = function () { return []; };
26850
26899
 
26851
- var ɵ0$a = {
26900
+ var ɵ0 = {
26852
26901
  profile: 'ADMIN'
26853
26902
  };
26854
- var routes$1 = [
26903
+ var routes = [
26855
26904
  {
26856
26905
  path: 'users',
26857
26906
  pathMatch: 'full',
26858
26907
  component: UsersPage,
26859
26908
  canActivate: [AuthGuardService],
26860
- data: ɵ0$a
26909
+ data: ɵ0
26861
26910
  }
26862
26911
  ];
26863
26912
  var AdminRoutingModule = /** @class */ (function () {
@@ -26870,13 +26919,13 @@
26870
26919
  imports: [
26871
26920
  SharedRoutingModule,
26872
26921
  AdminModule,
26873
- i3.RouterModule.forChild(routes$1)
26922
+ i3.RouterModule.forChild(routes)
26874
26923
  ],
26875
26924
  exports: [i3.RouterModule]
26876
26925
  },] }
26877
26926
  ];
26878
26927
 
26879
- var ErrorCodes$2 = {
26928
+ var ErrorCodes = {
26880
26929
  LOAD_PERSONS_ERROR: 100,
26881
26930
  SAVE_PERSONS_ERROR: 101,
26882
26931
  DELETE_PERSONS_ERROR: 102,
@@ -26984,7 +27033,7 @@
26984
27033
  exports.EntityStore = EntityStore;
26985
27034
  exports.EntityUtils = EntityUtils;
26986
27035
  exports.Environment = Environment;
26987
- exports.ErrorCodes = ErrorCodes$2;
27036
+ exports.ErrorCodes = ErrorCodes;
26988
27037
  exports.EvenPipe = EvenPipe;
26989
27038
  exports.FileService = FileService;
26990
27039
  exports.FileSizePipe = FileSizePipe;
@@ -26992,7 +27041,7 @@
26992
27041
  exports.FormButtonsBarComponent = FormButtonsBarComponent;
26993
27042
  exports.FormButtonsBarToken = FormButtonsBarToken;
26994
27043
  exports.FormFieldValuesHolder = FormFieldValuesHolder;
26995
- exports.Fragments = Fragments$1;
27044
+ exports.Fragments = Fragments;
26996
27045
  exports.GraphqlService = GraphqlService;
26997
27046
  exports.HAMMER_PRESS_TIME = HAMMER_PRESS_TIME;
26998
27047
  exports.HAMMER_TAP_TIME = HAMMER_TAP_TIME;