@sumaris-net/ngx-components 1.6.9 → 1.6.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,12 @@
1
- import { InjectionToken, EventEmitter, Component, forwardRef, ChangeDetectionStrategy, ChangeDetectorRef, Optional, Input, Output, ViewChild, ɵɵdefineInjectable, ɵɵinject, Pipe, Injectable, Directive, Inject, NgModule, ElementRef, ViewChildren, HostListener, ComponentFactoryResolver, ApplicationRef, INJECTOR, Injector, Renderer2, ViewEncapsulation } from '@angular/core';
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, EventEmitter, Component, forwardRef, ChangeDetectionStrategy, ChangeDetectorRef, Optional, Input, Output, ViewChild, Pipe, Injectable, Directive, Inject, NgModule, ElementRef, ViewChildren, HostListener, ComponentFactoryResolver, ApplicationRef, Injector, Renderer2, ViewEncapsulation } from '@angular/core';
3
+ import * as i1$3 from '@angular/common';
2
4
  import { CommonModule, DOCUMENT, Location } from '@angular/common';
3
5
  import { CdkTableModule } from '@angular/cdk/table';
4
6
  import { A11yModule } from '@angular/cdk/a11y';
5
7
  import { OverlayModule, OverlayContainer, FullscreenOverlayContainer, Overlay } from '@angular/cdk/overlay';
6
8
  import { ScrollingModule } from '@angular/cdk/scrolling';
9
+ import * as i1$2 from '@angular/material/core';
7
10
  import { DateAdapter, MatCommonModule, MatRippleModule } from '@angular/material/core';
8
11
  import { MatTableModule, MatTable, MatColumnDef } from '@angular/material/table';
9
12
  import { MatSortModule, MatSort } from '@angular/material/sort';
@@ -27,16 +30,21 @@ import { MatProgressBarModule } from '@angular/material/progress-bar';
27
30
  import { MatRadioModule } from '@angular/material/radio';
28
31
  import { MatBadgeModule } from '@angular/material/badge';
29
32
  import { MatSlideToggleModule } from '@angular/material/slide-toggle';
33
+ import * as i2$1 from '@angular/material/dialog';
30
34
  import { MatDialogModule, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';
31
35
  import { MatAutocomplete, MatAutocompleteTrigger, MatAutocompleteModule, MAT_AUTOCOMPLETE_SCROLL_STRATEGY, MAT_AUTOCOMPLETE_DEFAULT_OPTIONS } from '@angular/material/autocomplete';
32
36
  import { __awaiter, __decorate } from 'tslib';
37
+ import * as i1$6 from '@angular/forms';
33
38
  import { NG_VALUE_ACCESSOR, FormGroupDirective, AbstractControl, FormGroup, FormArray, FormControl, ReactiveFormsModule, Validators, FormBuilder } from '@angular/forms';
34
39
  import { timer, merge, fromEvent, BehaviorSubject, Subscription, Subject, isObservable, noop as noop$9, Observable, defer, of, from, combineLatest, EMPTY } from 'rxjs';
35
40
  import { filter, first, map, takeUntil, switchMap, startWith, debounceTime, takeWhile, tap, distinctUntilChanged, mergeMap, catchError, throttleTime, skip } from 'rxjs/operators';
41
+ import * as i1$1 from '@ngx-translate/core';
36
42
  import { TranslateService, TranslateModule } from '@ngx-translate/core';
43
+ import * as i1$4 from '@ionic/angular';
37
44
  import { IonicModule, Platform, IonRouterOutlet, ModalController, IonicSafeString, createAnimation, ToastController, AlertController, IonicRouteStrategy, NavParams, MenuController, IonContent } from '@ionic/angular';
38
45
  import * as momentImported from 'moment';
39
46
  import { isMoment } from 'moment';
47
+ import * as i1 from '@angular/material-moment-adapter';
40
48
  import { MomentDateAdapter, MatMomentDateModule } from '@angular/material-moment-adapter';
41
49
  import { Keyboard } from '@ionic-native/keyboard/ngx';
42
50
  import { TextMaskModule } from 'angular2-text-mask';
@@ -46,32 +54,38 @@ import { trigger, state, style, transition, animate } from '@angular/animations'
46
54
  import { MatDividerModule } from '@angular/material/divider';
47
55
  import { MatTooltipModule } from '@angular/material/tooltip';
48
56
  import { MatChipsModule } from '@angular/material/chips';
57
+ import * as i3$3 from '@angular/router';
49
58
  import { Router, RouterModule, RouteReuseStrategy, ActivatedRoute } from '@angular/router';
59
+ import * as i1$5 from '@angular/platform-browser';
50
60
  import { HammerGestureConfig, EventManager } from '@angular/platform-browser';
61
+ import * as i2$2 from '@angular/common/http';
51
62
  import { HttpResponse, HttpClient, HttpHeaders, HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
52
63
  import { ColorPickerModule } from 'ngx-color-picker';
53
- import { NativeAudio as NativeAudio$1 } from '@ionic-native/native-audio/ngx';
54
- import { Vibration as Vibration$1 } from '@ionic-native/vibration/ngx';
64
+ import { NativeAudio } from '@ionic-native/native-audio/ngx';
65
+ import { Vibration } from '@ionic-native/vibration/ngx';
55
66
  import { AudioManagement } from '@ionic-native/audio-management/ngx';
56
- import { NativeAudio } from '@ionic-native/native-audio/ngx/index';
57
- import { Vibration } from '@ionic-native/vibration/ngx/index';
58
- import { AudioManagement as AudioManagement$1 } from '@ionic-native/audio-management/ngx/index';
67
+ import * as i2 from '@ionic-native/native-audio/ngx/index';
68
+ import * as i3 from '@ionic-native/vibration/ngx/index';
69
+ import * as i4 from '@ionic-native/audio-management/ngx/index';
59
70
  import * as uuidv4Imported from 'uuid/v4';
60
71
  import { DragDropModule } from '@angular/cdk/drag-drop';
61
72
  import { MarkdownModule } from 'ngx-markdown';
62
73
  import { sign, box, hash, verify } from 'tweetnacl';
74
+ import * as i3$1 from '@ionic/storage';
63
75
  import { Storage, IonicStorageModule } from '@ionic/storage';
64
76
  import 'zone.js/dist/zone-error';
65
- import { SplashScreen as SplashScreen$1 } from '@ionic-native/splash-screen/ngx';
66
- import { Connection, Network as Network$1 } from '@ionic-native/network/ngx';
67
- import { CacheService as CacheService$1, CacheModule } from 'ionic-cache';
68
- import { CacheService } from 'ionic-cache/dist/cache.service';
69
- import { Network } from '@ionic-native/network/ngx/index';
70
- import { SplashScreen } from '@ionic-native/splash-screen/ngx/index';
71
- import { StatusBar as StatusBar$1 } from '@ionic-native/status-bar/ngx';
77
+ import { SplashScreen } from '@ionic-native/splash-screen/ngx';
78
+ import { Connection, Network } from '@ionic-native/network/ngx';
79
+ import { CacheService, CacheModule } from 'ionic-cache';
80
+ import * as i6 from 'ionic-cache/dist/cache.service';
81
+ import * as i9 from '@ionic-native/network/ngx/index';
82
+ import * as i10 from '@ionic-native/splash-screen/ngx/index';
83
+ import { StatusBar } from '@ionic-native/status-bar/ngx';
84
+ import * as i2$4 from '@angular/cdk/platform';
72
85
  import { Platform as Platform$1 } from '@angular/cdk/platform';
73
- import { InAppBrowser as InAppBrowser$1 } from '@ionic-native/in-app-browser/ngx';
86
+ import { InAppBrowser } from '@ionic-native/in-app-browser/ngx';
74
87
  import { ApolloLink, NetworkStatus, InMemoryCache, ApolloClient, gql } from '@apollo/client/core';
88
+ import * as i2$3 from 'apollo-angular';
75
89
  import { Apollo } from 'apollo-angular';
76
90
  import { WebSocketLink } from '@apollo/client/link/ws';
77
91
  import { getMainDefinition } from '@apollo/client/utilities';
@@ -79,13 +93,14 @@ import { RetryLink } from '@apollo/client/link/retry';
79
93
  import QueueLink from 'apollo-link-queue';
80
94
  import SerializingLink from 'apollo-link-serialize';
81
95
  import loggerLink from 'apollo-link-logger';
96
+ import * as i3$2 from 'apollo-angular/http';
82
97
  import { HttpLink } from 'apollo-angular/http';
83
98
  import { IonicStorageWrapper, persistCache } from 'apollo3-cache-persist';
84
- import { NotificationVisibility, Downloader as Downloader$1 } from '@ionic-native/downloader/ngx';
85
- import { StatusBar } from '@ionic-native/status-bar/ngx/index';
86
- import { Keyboard as Keyboard$1 } from '@ionic-native/keyboard/ngx/index';
87
- import { InAppBrowser } from '@ionic-native/in-app-browser/ngx/index';
88
- import { Downloader } from '@ionic-native/downloader/ngx/index';
99
+ import { NotificationVisibility, Downloader } from '@ionic-native/downloader/ngx';
100
+ import * as i14 from '@ionic-native/status-bar/ngx/index';
101
+ import * as i15 from '@ionic-native/keyboard/ngx/index';
102
+ import * as i17 from '@ionic-native/in-app-browser/ngx/index';
103
+ import * as i18 from '@ionic-native/downloader/ngx/index';
89
104
  import { ValidatorService, TableDataSource } from '@e-is/ngx-material-table';
90
105
  import { SelectionModel } from '@angular/cdk/collections';
91
106
  import { NgxJdenticonModule } from 'ngx-jdenticon';
@@ -976,14 +991,14 @@ class MatAutocompleteConfigHolder {
976
991
  return this.fields[fieldName] || this.add(fieldName);
977
992
  }
978
993
  }
979
- const noop = (_) => { };
980
- const ɵ0 = noop;
994
+ const noop$8 = (_) => { };
995
+ const ɵ0$b = noop$8;
981
996
  class MatAutocompleteField {
982
997
  constructor(cd, formGroupDir) {
983
998
  this.cd = cd;
984
999
  this.formGroupDir = formGroupDir;
985
- this._onChangeCallback = noop;
986
- this._onTouchedCallback = noop;
1000
+ this._onChangeCallback = noop$8;
1001
+ this._onTouchedCallback = noop$8;
987
1002
  this.logPrefix = '[mat-autocomplete] ';
988
1003
  this.formControlName = null;
989
1004
  this.required = false;
@@ -1174,9 +1189,10 @@ class MatAutocompleteField {
1174
1189
  // Filter if not enough character
1175
1190
  filter(value => value.length >= this.suggestLengthThreshold),
1176
1191
  // Wait a debounce time
1177
- debounceTime(this.debounceTime),
1192
+ debounceTime(this.debounceTime)
1178
1193
  // DEBUG
1179
- tap((value) => console.debug(this.logPrefix + ' Search text changes:', value))),
1194
+ //,tap((value) => this.debug && console.debug(this.logPrefix + ' Search text changes:', value))
1195
+ ),
1180
1196
  // Object set: use it (no distinctUntilChanged() pipe need)
1181
1197
  this.formControl.valueChanges
1182
1198
  .pipe(startWith(this.formControl.value), filter(value => (this.searchable && isNotNil(value) && typeof value === 'object')), tap(value => {
@@ -1192,35 +1208,38 @@ class MatAutocompleteField {
1192
1208
  this.matInputText.nativeElement.value = this.displayValue;
1193
1209
  }
1194
1210
  }
1195
- }),
1211
+ })
1196
1212
  // DEBUG
1197
- tap(value => this.debug && console.debug(this.logPrefix + ' Received an object value: ', value))),
1213
+ //,tap(value => this.debug && console.debug(this.logPrefix + ' Received an object value: ', value))
1214
+ ),
1198
1215
  // On dropdown button click (no distinctUntilChanged(), nor debounceTime)
1199
1216
  this.dropButtonClick
1200
1217
  .pipe(filter(event => this.searchable && this.enabled && (!event || !event.defaultPrevented)), map(_ => this.showAllOnFocus ? '*' : this.formControl.value),
1201
- // Make enough characters
1218
+ // Make sure there is enough characters
1202
1219
  filter(thresholdFilterFn)),
1203
1220
  // Merge some observables, with a common distinctUntilChanged() pipe, and NO debounceTime
1204
1221
  merge(
1205
1222
  // Focus or click => Load all
1206
1223
  merge(this.focused, this.clicked)
1207
- .pipe(filter(_ => this.enabled && this.searchable), map(_ => this.showAllOnFocus ? '*' : this.formControl.value),
1208
- // DEBUG
1209
- tap(value => this.debug && console.debug(this.logPrefix + ' Received focused or clicked event: ', value))), merge(this.$inputItems, this._$filter)
1210
- .pipe(filter(_ => this.searchable && this.enabled), map(_ => this.formControl.value),
1224
+ .pipe(filter(_ => this.enabled && this.searchable), map(_ => this.showAllOnFocus ? '*' : this.formControl.value)
1211
1225
  // DEBUG
1212
- tap(value => this.debug && console.debug(this.logPrefix + ' Received $inputItems or filter event: ', value))))
1226
+ //,tap(value => this.debug && console.debug(this.logPrefix + ' Received focused or clicked event: ', value))
1227
+ ), merge(this.$inputItems, this._$filter)
1228
+ .pipe(filter(_ => this.searchable && this.enabled), map(_ => this.formControl.value)))
1213
1229
  .pipe(
1214
1230
  // Make sure there is enough characters
1215
1231
  filter(thresholdFilterFn),
1216
1232
  // Distinguish changes
1217
1233
  // - do NOT filter if loading, to force update after a blur event
1218
- distinctUntilChanged((v1, v2) => !this.loading && (v1 === v2 || this.equals(v1, v2)))))
1234
+ distinctUntilChanged((v1, v2) => !this.loading && (v1 === v2 || this.equals(v1, v2)))
1235
+ // DEBUG
1236
+ //,tap(value => this.debug && console.debug(this.logPrefix + ' Received update event: ', value))
1237
+ ))
1219
1238
  .pipe(
1220
1239
  // Suggest values
1221
1240
  mergeMap(value => this.suggest(value, this.filter)),
1222
1241
  // DEBUG
1223
- tap(items => this.debug && console.debug(this.logPrefix + ' Received from suggest: ', items)),
1242
+ //tap(items => this.debug && console.debug(this.logPrefix + ' Received from suggest: ', items)),
1224
1243
  // Store implicit value (will use it onBlur if not other value selected)
1225
1244
  tap(items => this.updateImplicitValue(items)));
1226
1245
  // Fetch more events
@@ -1253,9 +1272,10 @@ class MatAutocompleteField {
1253
1272
  this._subscription.add(this.blurred
1254
1273
  .pipe(
1255
1274
  // Skip if not searchable
1256
- filter(_ => this.searchable), map(_ => this.formControl.value),
1275
+ filter(_ => this.searchable), map(_ => this.formControl.value)
1257
1276
  // DEBUG
1258
- tap(value => console.debug(this.logPrefix + ' Received blurred event: ', value)))
1277
+ //,tap(value => this.debug && console.debug(this.logPrefix + ' Received blurred event: ', value)),
1278
+ )
1259
1279
  .subscribe(value => {
1260
1280
  // When leave component without object, use implicit value if :
1261
1281
  // - an explicit value
@@ -1341,7 +1361,7 @@ class MatAutocompleteField {
1341
1361
  }
1342
1362
  writeValue(value) {
1343
1363
  // DEBUG
1344
- // console.debug(this.logPrefix + ' Writing value: ', value);
1364
+ // if (this.debug) console.debug(this.logPrefix + ' Writing value: ', value);
1345
1365
  if (value !== this.formControl.value) {
1346
1366
  this.formControl.patchValue(value, { emitEvent: false });
1347
1367
  this._onChangeCallback(value);
@@ -1379,18 +1399,16 @@ class MatAutocompleteField {
1379
1399
  event.stopPropagation();
1380
1400
  event.returnValue = false;
1381
1401
  // DEBUG
1382
- if (this.debug)
1383
- console.debug(this.logPrefix + ' Cancelling focus event');
1402
+ //if (this.debug) console.debug(this.logPrefix + ' Cancelling focus event');
1384
1403
  return false;
1385
1404
  }
1386
- if (this.debug)
1387
- console.debug(this.logPrefix + ' Select input content');
1405
+ // DEBUG
1406
+ //if (this.debug) console.debug(this.logPrefix + ' Select input content');
1388
1407
  const hasContent = true; // selectInputContent(event);
1389
1408
  // If combo is empty, or if has content but should force to show panel on focus
1390
1409
  if (!hasContent || this.showPanelOnFocus || this.showAllOnFocus) {
1391
1410
  // DEBUG
1392
- if (this.debug)
1393
- console.debug(this.logPrefix + ' Emit focus event');
1411
+ //if (this.debug) console.debug(this.logPrefix + ' Emit focus event');
1394
1412
  this.focused.emit();
1395
1413
  return true;
1396
1414
  }
@@ -1700,7 +1718,7 @@ class DateFormatPipe {
1700
1718
  return this.dateAdapter.format(date, displayFormat);
1701
1719
  }
1702
1720
  }
1703
- DateFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateFormatPipe_Factory() { return new DateFormatPipe(ɵɵinject(MomentDateAdapter), ɵɵinject(TranslateService)); }, token: DateFormatPipe, providedIn: "root" });
1721
+ DateFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DateFormatPipe_Factory() { return new DateFormatPipe(i0.ɵɵinject(i1.MomentDateAdapter), i0.ɵɵinject(i1$1.TranslateService)); }, token: DateFormatPipe, providedIn: "root" });
1704
1722
  DateFormatPipe.decorators = [
1705
1723
  { type: Pipe, args: [{
1706
1724
  name: 'dateFormat'
@@ -1712,7 +1730,7 @@ DateFormatPipe.ctorParameters = () => [
1712
1730
  { type: TranslateService }
1713
1731
  ];
1714
1732
 
1715
- const moment = momentImported;
1733
+ const moment$6 = momentImported;
1716
1734
  class DateDiffDurationPipe {
1717
1735
  constructor(dateAdapter, translate) {
1718
1736
  this.dateAdapter = dateAdapter;
@@ -1728,17 +1746,17 @@ class DateDiffDurationPipe {
1728
1746
  return this.format(startDate, endDate);
1729
1747
  }
1730
1748
  format(startDate, endDate) {
1731
- const duration = moment.duration(endDate.diff(startDate));
1749
+ const duration = moment$6.duration(endDate.diff(startDate));
1732
1750
  if (duration.asMinutes() < 0)
1733
1751
  return '';
1734
- const timeDuration = moment(0)
1752
+ const timeDuration = moment$6(0)
1735
1753
  .hour(duration.hours())
1736
1754
  .minute(duration.minutes());
1737
1755
  const days = Math.floor(duration.asDays());
1738
1756
  return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + timeDuration.format('HH:mm');
1739
1757
  }
1740
1758
  }
1741
- DateDiffDurationPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateDiffDurationPipe_Factory() { return new DateDiffDurationPipe(ɵɵinject(DateAdapter), ɵɵinject(TranslateService)); }, token: DateDiffDurationPipe, providedIn: "root" });
1759
+ DateDiffDurationPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DateDiffDurationPipe_Factory() { return new DateDiffDurationPipe(i0.ɵɵinject(i1$2.DateAdapter), i0.ɵɵinject(i1$1.TranslateService)); }, token: DateDiffDurationPipe, providedIn: "root" });
1742
1760
  DateDiffDurationPipe.decorators = [
1743
1761
  { type: Pipe, args: [{
1744
1762
  name: 'dateDiffDuration'
@@ -1759,7 +1777,7 @@ class DateFromNowPipe {
1759
1777
  return date ? date.fromNow(args && args.withoutSuffix) : '';
1760
1778
  }
1761
1779
  }
1762
- DateFromNowPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(ɵɵinject(MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
1780
+ DateFromNowPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(i0.ɵɵinject(i1.MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
1763
1781
  DateFromNowPipe.decorators = [
1764
1782
  { type: Pipe, args: [{
1765
1783
  name: 'dateFromNow'
@@ -1828,7 +1846,7 @@ function formatToDD(value, opts) {
1828
1846
  value *= -1;
1829
1847
  }
1830
1848
  }
1831
- let degrees = roundFloat(value, opts.maxDecimals).toString();
1849
+ let degrees = roundFloat$1(value, opts.maxDecimals).toString();
1832
1850
  // Add sign
1833
1851
  let sign = negative ? '-' : '+';
1834
1852
  if (opts.placeholderChar) {
@@ -1879,7 +1897,7 @@ function formatToDDMMSS(value, opts) {
1879
1897
  }
1880
1898
  let degrees = Math.trunc(value);
1881
1899
  let minutes = Math.trunc((value - degrees) * 60);
1882
- let seconds = roundFloat(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
1900
+ let seconds = roundFloat$1(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
1883
1901
  while (seconds >= 60) {
1884
1902
  seconds -= 60;
1885
1903
  minutes += 1;
@@ -1947,7 +1965,7 @@ function formatToDDMM(value, opts) {
1947
1965
  }
1948
1966
  }
1949
1967
  let degrees = Math.trunc(value);
1950
- let minutes = roundFloat((value - degrees) * 60, opts.maxDecimals);
1968
+ let minutes = roundFloat$1((value - degrees) * 60, opts.maxDecimals);
1951
1969
  while (minutes >= 60) {
1952
1970
  minutes -= 60;
1953
1971
  degrees += 1;
@@ -1998,15 +2016,15 @@ function parseLatitudeOrLongitude(input, pattern, maxDecimals, placeholderChar)
1998
2016
  return NaN;
1999
2017
  }
2000
2018
  if (pattern === 'DD')
2001
- return roundFloat(degrees, maxDecimals);
2019
+ return roundFloat$1(degrees, maxDecimals);
2002
2020
  const minutes = (pattern === 'DDMMSS' || pattern === 'DDMM') && parts[1] && parseFloat(parts[1].replace(/,/g, '.')) || 0;
2003
2021
  const seconds = (pattern === 'DDMMSS') && parts[2] && parseFloat(parts[2].replace(/,/g, '.')) || 0;
2004
2022
  const direction = ((pattern === 'DDMMSS') && parts[3]) || ((pattern === 'DDMM') && parts[2]) || undefined;
2005
2023
  const sign = (direction && (direction === 's' || direction === 'S' || direction === 'w' || direction === 'W')) ? -1 : 1;
2006
2024
  degrees = sign * (degrees + minutes / 60 + seconds / (60 * 60));
2007
- return roundFloat(degrees, maxDecimals);
2025
+ return roundFloat$1(degrees, maxDecimals);
2008
2026
  }
2009
- function roundFloat(input, maxDecimals) {
2027
+ function roundFloat$1(input, maxDecimals) {
2010
2028
  if (maxDecimals > 0) {
2011
2029
  const powDecimal = Math.pow(10, maxDecimals);
2012
2030
  return Math.trunc(input * powDecimal + 0.5) / powDecimal;
@@ -2026,7 +2044,7 @@ class LatLongFormatPipe {
2026
2044
  return ((!args.type || args.type !== 'latitude') ? formatLongitude : formatLatitude)(value, args);
2027
2045
  }
2028
2046
  }
2029
- LatLongFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
2047
+ LatLongFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
2030
2048
  LatLongFormatPipe.decorators = [
2031
2049
  { type: Pipe, args: [{
2032
2050
  name: 'latLongFormat'
@@ -2038,7 +2056,7 @@ class LatitudeFormatPipe {
2038
2056
  this.transform = formatLatitude;
2039
2057
  }
2040
2058
  }
2041
- LatitudeFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
2059
+ LatitudeFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
2042
2060
  LatitudeFormatPipe.decorators = [
2043
2061
  { type: Pipe, args: [{
2044
2062
  name: 'latitudeFormat'
@@ -2050,7 +2068,7 @@ class LongitudeFormatPipe {
2050
2068
  this.transform = formatLongitude;
2051
2069
  }
2052
2070
  }
2053
- LongitudeFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
2071
+ LongitudeFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
2054
2072
  LongitudeFormatPipe.decorators = [
2055
2073
  { type: Pipe, args: [{
2056
2074
  name: 'longitudeFormat'
@@ -2070,7 +2088,7 @@ class NumberFormatPipe {
2070
2088
  }
2071
2089
  }
2072
2090
  }
2073
- NumberFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
2091
+ NumberFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
2074
2092
  NumberFormatPipe.decorators = [
2075
2093
  { type: Pipe, args: [{
2076
2094
  name: 'numberFormat'
@@ -2110,7 +2128,7 @@ class HighlightPipe {
2110
2128
  }
2111
2129
  }
2112
2130
  }
2113
- HighlightPipe.ɵprov = ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
2131
+ HighlightPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
2114
2132
  HighlightPipe.decorators = [
2115
2133
  { type: Pipe, args: [{
2116
2134
  name: 'highlight'
@@ -2175,7 +2193,7 @@ FileSizePipe.decorators = [
2175
2193
  { type: Pipe, args: [{ name: 'fileSize' },] }
2176
2194
  ];
2177
2195
 
2178
- const moment$1 = momentImported;
2196
+ const moment$5 = momentImported;
2179
2197
  const DATE_UNIX_TIMESTAMP = 'X';
2180
2198
  const DATE_UNIX_MS_TIMESTAMP = 'x';
2181
2199
  class DateUtils {
@@ -2217,32 +2235,32 @@ function fromDateISOString(value) {
2217
2235
  if (!value || isMoment(value))
2218
2236
  return value;
2219
2237
  // Parse the input value, as a ISO date time
2220
- const date = moment$1(value, DATE_ISO_PATTERN);
2238
+ const date = moment$5(value, DATE_ISO_PATTERN);
2221
2239
  if (date.isValid())
2222
2240
  return date;
2223
2241
  // Not valid: trying to convert from unix timestamp
2224
2242
  if (typeof value === 'string') {
2225
2243
  console.warn('Wrong date format - Trying to convert from local time: ' + value);
2226
2244
  if (value.length === 10) {
2227
- return moment$1(value, DATE_UNIX_TIMESTAMP);
2245
+ return moment$5(value, DATE_UNIX_TIMESTAMP);
2228
2246
  }
2229
2247
  else if (value.length === 13) {
2230
- return moment$1(value, DATE_UNIX_MS_TIMESTAMP);
2248
+ return moment$5(value, DATE_UNIX_MS_TIMESTAMP);
2231
2249
  }
2232
2250
  }
2233
2251
  console.warn('Unable to parse date: ' + value);
2234
2252
  return undefined;
2235
2253
  }
2236
2254
  function fromUnixTimestamp(timeInSec) {
2237
- return moment$1(timeInSec, DATE_UNIX_TIMESTAMP);
2255
+ return moment$5(timeInSec, DATE_UNIX_TIMESTAMP);
2238
2256
  }
2239
2257
  function fromUnixMsTimestamp(timeInMs) {
2240
- return moment$1(timeInMs, DATE_UNIX_MS_TIMESTAMP);
2258
+ return moment$5(timeInMs, DATE_UNIX_MS_TIMESTAMP);
2241
2259
  }
2242
2260
  function toDuration(value, unit) {
2243
2261
  if (!value)
2244
2262
  return undefined;
2245
- const duration = moment$1.duration(value, unit);
2263
+ const duration = moment$5.duration(value, unit);
2246
2264
  // fix 990+ ms
2247
2265
  if (duration.milliseconds() >= 990) {
2248
2266
  duration.add(1000 - duration.milliseconds(), 'ms');
@@ -2271,7 +2289,7 @@ class DurationPipe {
2271
2289
  return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + hour + ':' + minute;
2272
2290
  }
2273
2291
  }
2274
- DurationPipe.ɵprov = ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(ɵɵinject(TranslateService)); }, token: DurationPipe, providedIn: "root" });
2292
+ DurationPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(i0.ɵɵinject(i1$1.TranslateService)); }, token: DurationPipe, providedIn: "root" });
2275
2293
  DurationPipe.decorators = [
2276
2294
  { type: Pipe, args: [{
2277
2295
  name: 'duration'
@@ -2292,7 +2310,7 @@ class MathAbsPipe {
2292
2310
  }
2293
2311
  }
2294
2312
  }
2295
- MathAbsPipe.ɵprov = ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
2313
+ MathAbsPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
2296
2314
  MathAbsPipe.decorators = [
2297
2315
  { type: Pipe, args: [{
2298
2316
  name: 'mathAbs'
@@ -2304,7 +2322,7 @@ class EvenPipe {
2304
2322
  return val % 2 === 0;
2305
2323
  }
2306
2324
  }
2307
- EvenPipe.ɵprov = ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
2325
+ EvenPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
2308
2326
  EvenPipe.decorators = [
2309
2327
  { type: Pipe, args: [{
2310
2328
  name: 'even'
@@ -2316,7 +2334,7 @@ class OddPipe {
2316
2334
  return val % 2 !== 0;
2317
2335
  }
2318
2336
  }
2319
- OddPipe.ɵprov = ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
2337
+ OddPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
2320
2338
  OddPipe.decorators = [
2321
2339
  { type: Pipe, args: [{
2322
2340
  name: 'odd'
@@ -2424,7 +2442,7 @@ class MapGetPipe {
2424
2442
  return val[key];
2425
2443
  }
2426
2444
  }
2427
- MapGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
2445
+ MapGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
2428
2446
  MapGetPipe.decorators = [
2429
2447
  { type: Pipe, args: [{
2430
2448
  name: 'mapGet'
@@ -2438,7 +2456,7 @@ class MapKeysPipe {
2438
2456
  return Object.keys(map);
2439
2457
  }
2440
2458
  }
2441
- MapKeysPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
2459
+ MapKeysPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
2442
2460
  MapKeysPipe.decorators = [
2443
2461
  { type: Pipe, args: [{
2444
2462
  name: 'mapKeys'
@@ -2452,7 +2470,7 @@ class MapValuesPipe {
2452
2470
  return Object.values(map);
2453
2471
  }
2454
2472
  }
2455
- MapValuesPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
2473
+ MapValuesPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
2456
2474
  MapValuesPipe.decorators = [
2457
2475
  { type: Pipe, args: [{
2458
2476
  name: 'mapValues'
@@ -2465,7 +2483,7 @@ class IsNotNilOrBlankPipe {
2465
2483
  return isNotNilOrBlank(value);
2466
2484
  }
2467
2485
  }
2468
- IsNotNilOrBlankPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
2486
+ IsNotNilOrBlankPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
2469
2487
  IsNotNilOrBlankPipe.decorators = [
2470
2488
  { type: Pipe, args: [{
2471
2489
  name: 'isNotNilOrBlank'
@@ -2477,7 +2495,7 @@ class IsNilOrBlankPipe {
2477
2495
  return isNilOrBlank(value);
2478
2496
  }
2479
2497
  }
2480
- IsNilOrBlankPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
2498
+ IsNilOrBlankPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
2481
2499
  IsNilOrBlankPipe.decorators = [
2482
2500
  { type: Pipe, args: [{
2483
2501
  name: 'isNilOrBlank'
@@ -2489,7 +2507,7 @@ class ToStringPipe {
2489
2507
  return (value !== null && value !== undefined) ? value.toString() : '';
2490
2508
  }
2491
2509
  }
2492
- ToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
2510
+ ToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
2493
2511
  ToStringPipe.decorators = [
2494
2512
  { type: Pipe, args: [{
2495
2513
  name: 'toString'
@@ -2501,7 +2519,7 @@ class StrLengthPipe {
2501
2519
  return value && value.length || 0;
2502
2520
  }
2503
2521
  }
2504
- StrLengthPipe.ɵprov = ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
2522
+ StrLengthPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
2505
2523
  StrLengthPipe.decorators = [
2506
2524
  { type: Pipe, args: [{
2507
2525
  name: 'strLength'
@@ -2578,7 +2596,7 @@ class TranslateContextService {
2578
2596
  return translations[keys[keys.length - 1]]; // Return the last keys translation
2579
2597
  }
2580
2598
  }
2581
- TranslateContextService.ɵprov = ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(ɵɵinject(TranslateService)); }, token: TranslateContextService, providedIn: "root" });
2599
+ TranslateContextService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(i0.ɵɵinject(i1$1.TranslateService)); }, token: TranslateContextService, providedIn: "root" });
2582
2600
  TranslateContextService.decorators = [
2583
2601
  { type: Injectable, args: [{ providedIn: 'root' },] }
2584
2602
  ];
@@ -2590,12 +2608,10 @@ class TranslateContextPipe {
2590
2608
  constructor(translate) {
2591
2609
  this.translate = translate;
2592
2610
  }
2593
- transform(query, ...params) {
2611
+ transform(query, context, interpolateParams) {
2594
2612
  if (!query || !query.length)
2595
2613
  return query;
2596
- const suffix = params && params.length ? params[0] : '';
2597
- params = suffix && params.slice(1);
2598
- return this.translate.instant(query, suffix, params);
2614
+ return this.translate.instant(query, context, interpolateParams);
2599
2615
  }
2600
2616
  }
2601
2617
  TranslateContextPipe.decorators = [
@@ -2630,7 +2646,7 @@ class PropertyGetPipe {
2630
2646
  args && args.defaultValue);
2631
2647
  }
2632
2648
  }
2633
- PropertyGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
2649
+ PropertyGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
2634
2650
  PropertyGetPipe.decorators = [
2635
2651
  { type: Pipe, args: [{
2636
2652
  name: 'propertyGet'
@@ -2655,7 +2671,7 @@ NgInitDirective.propDecorators = {
2655
2671
  ngInit: [{ type: Output }]
2656
2672
  };
2657
2673
 
2658
- const moment$2 = momentImported;
2674
+ const moment$4 = momentImported;
2659
2675
  // @dynamic
2660
2676
  class SharedValidators {
2661
2677
  static getDoubleRegexp(maxDecimals) {
@@ -2672,7 +2688,7 @@ class SharedValidators {
2672
2688
  }
2673
2689
  static validDate(control) {
2674
2690
  const value = control.value;
2675
- const date = !value || moment$2.isMoment(value) ? value : moment$2(control.value, DATE_ISO_PATTERN);
2691
+ const date = !value || moment$4.isMoment(value) ? value : moment$4(control.value, DATE_ISO_PATTERN);
2676
2692
  if (date && (!date.isValid() || date.year() < 1970)) {
2677
2693
  return { validDate: true };
2678
2694
  }
@@ -3746,7 +3762,7 @@ class FormErrorTranslator {
3746
3762
  return errorKey;
3747
3763
  }
3748
3764
  }
3749
- FormErrorTranslator.ɵprov = ɵɵdefineInjectable({ factory: function FormErrorTranslator_Factory() { return new FormErrorTranslator(ɵɵinject(TranslateService), ɵɵinject(APP_FORM_ERROR_I18N_KEYS, 8)); }, token: FormErrorTranslator, providedIn: "root" });
3765
+ FormErrorTranslator.ɵprov = i0.ɵɵdefineInjectable({ factory: function FormErrorTranslator_Factory() { return new FormErrorTranslator(i0.ɵɵinject(i1$1.TranslateService), i0.ɵɵinject(APP_FORM_ERROR_I18N_KEYS, 8)); }, token: FormErrorTranslator, providedIn: "root" });
3750
3766
  FormErrorTranslator.decorators = [
3751
3767
  { type: Injectable, args: [{ providedIn: 'root' },] }
3752
3768
  ];
@@ -4065,9 +4081,9 @@ function parseDuration(input, maxDecimals, placeholderChar) {
4065
4081
  const hour = parseInt(durationParts[0] || '0');
4066
4082
  const minute = parseInt(durationParts[1] || '0');
4067
4083
  const value = hour + (minute + 0.5) / 60;
4068
- return roundFloat$1(value, maxDecimals);
4084
+ return roundFloat(value, maxDecimals);
4069
4085
  }
4070
- function roundFloat$1(input, maxDecimals) {
4086
+ function roundFloat(input, maxDecimals) {
4071
4087
  if (maxDecimals > 0) {
4072
4088
  const powDecimal = Math.pow(10, maxDecimals);
4073
4089
  return Math.trunc(input * powDecimal + 0.5) / powDecimal;
@@ -4091,9 +4107,9 @@ const MASKS = {
4091
4107
  DD: [/[+-]/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '°']
4092
4108
  }
4093
4109
  };
4094
- const noop$1 = () => {
4110
+ const noop$7 = () => {
4095
4111
  };
4096
- const ɵ0$1 = noop$1;
4112
+ const ɵ0$a = noop$7;
4097
4113
  class MatLatLongField {
4098
4114
  constructor(platform, translate, formBuilder, cd, formGroupDir) {
4099
4115
  this.platform = platform;
@@ -4101,8 +4117,8 @@ class MatLatLongField {
4101
4117
  this.formBuilder = formBuilder;
4102
4118
  this.cd = cd;
4103
4119
  this.formGroupDir = formGroupDir;
4104
- this._onChangeCallback = noop$1;
4105
- this._onTouchedCallback = noop$1;
4120
+ this._onChangeCallback = noop$7;
4121
+ this._onTouchedCallback = noop$7;
4106
4122
  this._subscription = new Subscription();
4107
4123
  this.disabling = false;
4108
4124
  this.writing = false;
@@ -4438,14 +4454,14 @@ SharedMatLatLongModule.decorators = [
4438
4454
  },] }
4439
4455
  ];
4440
4456
 
4441
- const DEFAULT_VALUE_ACCESSOR = {
4457
+ const DEFAULT_VALUE_ACCESSOR$5 = {
4442
4458
  provide: NG_VALUE_ACCESSOR,
4443
4459
  useExisting: forwardRef(() => MatDate),
4444
4460
  multi: true
4445
4461
  };
4446
- const DAY_MASK = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
4447
- const noop$2 = () => { };
4448
- const ɵ0$2 = noop$2;
4462
+ const DAY_MASK$2 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
4463
+ const noop$6 = () => { };
4464
+ const ɵ0$9 = noop$6;
4449
4465
  class MatDate {
4450
4466
  constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
4451
4467
  this.dateAdapter = dateAdapter;
@@ -4454,12 +4470,12 @@ class MatDate {
4454
4470
  this.cd = cd;
4455
4471
  this.keyboard = keyboard;
4456
4472
  this.formGroupDir = formGroupDir;
4457
- this._onChangeCallback = noop$2;
4458
- this._onTouchedCallback = noop$2;
4473
+ this._onChangeCallback = noop$6;
4474
+ this._onTouchedCallback = noop$6;
4459
4475
  this._subscription = new Subscription();
4460
4476
  this.writing = true;
4461
4477
  this.disabling = false;
4462
- this.dayMask = DAY_MASK;
4478
+ this.dayMask = DAY_MASK$2;
4463
4479
  this.disabled = false;
4464
4480
  this.floatLabel = 'auto';
4465
4481
  this.readonly = false;
@@ -4696,7 +4712,7 @@ MatDate.decorators = [
4696
4712
  selector: 'mat-date-field',
4697
4713
  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",
4698
4714
  providers: [
4699
- DEFAULT_VALUE_ACCESSOR,
4715
+ DEFAULT_VALUE_ACCESSOR$5,
4700
4716
  ],
4701
4717
  changeDetection: ChangeDetectionStrategy.OnPush,
4702
4718
  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%}"]
@@ -4729,17 +4745,17 @@ MatDate.propDecorators = {
4729
4745
  matInputs: [{ type: ViewChildren, args: ['matInput',] }]
4730
4746
  };
4731
4747
 
4732
- const DEFAULT_VALUE_ACCESSOR$1 = {
4748
+ const DEFAULT_VALUE_ACCESSOR$4 = {
4733
4749
  provide: NG_VALUE_ACCESSOR,
4734
4750
  useExisting: forwardRef(() => MatDateTime),
4735
4751
  multi: true
4736
4752
  };
4737
4753
  const DAY_MASK$1 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
4738
4754
  const HOUR_REGEXP = /^[012][0-9][:][012345][0-9]$/;
4739
- const HOUR_MASK = [/[012]/, /\d/, ':', /[012345]/, /\d/];
4740
- const noop$3 = () => {
4755
+ const HOUR_MASK$1 = [/[012]/, /\d/, ':', /[012345]/, /\d/];
4756
+ const noop$5 = () => {
4741
4757
  };
4742
- const ɵ0$3 = noop$3;
4758
+ const ɵ0$8 = noop$5;
4743
4759
  class MatDateTime {
4744
4760
  constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
4745
4761
  this.platform = platform;
@@ -4749,14 +4765,14 @@ class MatDateTime {
4749
4765
  this.cd = cd;
4750
4766
  this.keyboard = keyboard;
4751
4767
  this.formGroupDir = formGroupDir;
4752
- this._onChangeCallback = noop$3;
4753
- this._onTouchedCallback = noop$3;
4768
+ this._onChangeCallback = noop$5;
4769
+ this._onTouchedCallback = noop$5;
4754
4770
  this._subscription = new Subscription();
4755
4771
  this.writing = true;
4756
4772
  this.disabling = false;
4757
4773
  this._readonly = false;
4758
4774
  this.dayMask = DAY_MASK$1;
4759
- this.hourMask = HOUR_MASK;
4775
+ this.hourMask = HOUR_MASK$1;
4760
4776
  this.floatLabel = 'auto';
4761
4777
  this.compact = false;
4762
4778
  this.placeholderChar = DEFAULT_PLACEHOLDER_CHAR;
@@ -5068,7 +5084,7 @@ MatDateTime.decorators = [
5068
5084
  selector: 'mat-date-time-field',
5069
5085
  template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled\">\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <input matInput hidden type=\"text\"\n readonly\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <ion-text>{{formControl.value|dateFormat: {pattern: displayPattern} }}</ion-text>\n</mat-form-field>\n\n<!-- writable + time -->\n<ng-template #writable >\n <ion-grid class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding no-wrap\" nowrap>\n\n <!-- day -->\n <ion-col class=\"day ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-invalid]=\"formControl.touched && formControl.invalid\">\n\n <mat-label>{{placeholder}}</mat-label>\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"dateFormControl\"\n [textMask]=\"{mask: dayMask, keepCharPositions: true, placeholderChar: placeholderChar}\"\n [placeholder]=\"'COMMON.DATE_PLACEHOLDER'|translate\"\n (blur)=\"checkIfTouched()\"\n (keyup.arrowdown)=\"openDatePicker($event, datePicker)\"\n (keyup.escape)=\"preventEvent($event)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [appAutofocus]=\"autofocus\">\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"dateFormControl\"\n (click)=\"openDatePickerIfMobile($event, datePicker)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n readonly>\n <input matInput type=\"text\" [formControl]=\"formControl\"\n hidden\n [matDatepicker]=\"datePicker\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n <button type=\"button\" mat-icon-button tabindex=\"-1\" matSuffix #datePickerButton2 (click)=\"openDatePicker($event, datePicker)\" [disabled]=\"formControl.disabled\">\n <div *ngIf=\"mobile; then iconDate; else iconDesktop\"></div>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clear()\"\n [hidden]=\"formControl.disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-datepicker #datePicker\n [touchUi]=\"mobile\"\n [disabled]=\"formControl.disabled\"\n [startAt]=\"startDate\"></mat-datepicker>\n <div class=\"mat-form-field-subscript mat-form-field-subscript-wrapper\" >\n <!-- errors -->\n <ng-container [ngSwitch]=\"formControl.touched && formControl.errors|mapKeys|arrayFirst\">\n <mat-error *ngSwitchCase=\"'required'\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngSwitchCase=\"'validDate'\" translate>ERROR.FIELD_NOT_VALID_DATE_TIME</mat-error>\n <mat-error *ngSwitchCase=\"'dateIsAfter'\">{{'ERROR.FIELD_NOT_VALID_DATE_AFTER' | translate: formControl.errors.dateIsAfter }}</mat-error>\n <mat-error *ngSwitchCase=\"'dateRange'\" translate>ERROR.FIELD_NOT_VALID_DATE_RANGE</mat-error>\n <mat-error *ngSwitchCase=\"'dateMaxDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MAX_DURATION</mat-error>\n <mat-error *ngSwitchCase=\"'dateMinDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MIN_DURATION</mat-error>\n <mat-error *ngSwitchCase=\"'msg'\">{{(formControl.errors.msg?.key || formControl.errors.msg) | translate: formControl.errors.msg?.params}}</mat-error>\n </ng-container>\n <ng-content select=\"mat-error\"></ng-content>\n\n <!-- mat hint -->\n <div class=\"mat-form-field-hint-wrapper\" [class.cdk-visually-hidden]=\"formControl.invalid\">\n <div class=\"mat-form-field-hint-spacer\"></div>\n <ng-content select=\"mat-hint\"></ng-content>\n </div>\n </div>\n\n </ion-col>\n\n <!-- hour -->\n <ion-col class=\"hour ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-invalid]=\"formControl.touched && (timeFormControl.invalid || formControl.invalid)\">\n <mat-label *ngIf=\"placeholder && floatLabel != 'never'\" translate>COMMON.TIME</mat-label>\n <input matInput #matInput type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"timeFormControl\"\n autocomplete=\"off\"\n min=\"0\" max=\"23\"\n [textMask]=\"{mask: hourMask, keepCharPositions: true, placeholderChar: placeholderChar, guide: true}\"\n [placeholder]=\"'COMMON.TIME_PLACEHOLDER'|translate\"\n [required]=\"required\"\n (keyup.arrowdown)=\"openTimePicker($event)\"\n (keyup.escape)=\"preventEvent($event)\"\n (blur)=\"checkIfTouched()\"\n [tabindex]=\"tabindex !== undefined ? tabindex+1 : undefined\">\n\n <input matInput #matInput type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"timeFormControl\"\n (click)=\"openTimePickerIfMobile($event)\"\n readonly>\n\n <input matInput type=\"text\"\n [formControl]=\"timeFormControl\"\n hidden\n [ngxTimepicker]=\"timePicker\"\n [format]=\"24\">\n\n <button matSuffix type=\"button\" mat-icon-button\n tabindex=\"-1\"\n *ngIf=\"!compact && !mobile\"\n [disabled]=\"formControl.disabled\"\n (click)=\"openTimePicker($event)\" >\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n <button matSuffix type=\"button\" mat-icon-button\n tabindex=\"-1\"\n *ngIf=\"!compact && mobile\"\n [disabled]=\"formControl.disabled\"\n (click)=\"openTimePickerIfMobile($event)\">\n <mat-icon>access_time</mat-icon>\n </button>\n\n <ngx-material-timepicker #timePicker [@.disabled]=\"true\"\n (timeSet)=\"onTimePickerChange($event)\"\n [ESC]=\"!mobile\"\n [defaultTime]=\"'00:00'\"\n [cancelBtnTmpl]=\"timePickerCancelButton\"\n [confirmBtnTmpl]=\"timePickerOkButton\"\n [preventOverlayClick]=\"mobile\"\n [enableKeyboardInput]=\"false\"\n [disableAnimation]=\"true\">\n <!-- cancel button -->\n <ng-template #timePickerCancelButton>\n <ion-button fill=\"clear\" color=\"dark\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n </ng-template>\n\n <!-- confirm button -->\n <ng-template #timePickerOkButton>\n <ion-button fill=\"solid\" color=\"tertiary\">\n <ion-label translate>COMMON.BTN_VALIDATE</ion-label>\n </ion-button>\n </ng-template>\n\n </ngx-material-timepicker>\n </mat-form-field>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n\n</ng-template>\n\n<ng-template #iconDesktop>\n <mat-icon>keyboard_arrow_down</mat-icon>\n</ng-template>\n\n<ng-template #iconDate>\n <mat-icon>date_range</mat-icon>\n</ng-template>\n\n<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n",
5070
5086
  providers: [
5071
- DEFAULT_VALUE_ACCESSOR$1,
5087
+ DEFAULT_VALUE_ACCESSOR$4,
5072
5088
  ],
5073
5089
  changeDetection: ChangeDetectionStrategy.OnPush,
5074
5090
  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%}"]
@@ -5102,15 +5118,15 @@ MatDateTime.propDecorators = {
5102
5118
  matInputs: [{ type: ViewChildren, args: ['matInput',] }]
5103
5119
  };
5104
5120
 
5105
- const DEFAULT_VALUE_ACCESSOR$2 = {
5121
+ const DEFAULT_VALUE_ACCESSOR$3 = {
5106
5122
  provide: NG_VALUE_ACCESSOR,
5107
5123
  useExisting: forwardRef(() => MatDateShort),
5108
5124
  multi: true
5109
5125
  };
5110
- const DAY_MASK$2 = [/\d/, /\d/, /\d/, /\d/];
5126
+ const DAY_MASK = [/\d/, /\d/, /\d/, /\d/];
5111
5127
  const noop$4 = () => {
5112
5128
  };
5113
- const ɵ0$4 = noop$4;
5129
+ const ɵ0$7 = noop$4;
5114
5130
  class MatDateShort {
5115
5131
  constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
5116
5132
  this.dateAdapter = dateAdapter;
@@ -5123,7 +5139,7 @@ class MatDateShort {
5123
5139
  this._onTouchedCallback = noop$4;
5124
5140
  this.writing = true;
5125
5141
  this.disabling = false;
5126
- this.dayMask = DAY_MASK$2;
5142
+ this.dayMask = DAY_MASK;
5127
5143
  this.disabled = false;
5128
5144
  this.floatLabel = 'auto';
5129
5145
  this.readonly = false;
@@ -5368,7 +5384,7 @@ MatDateShort.decorators = [
5368
5384
  selector: 'mat-date-short-field',
5369
5385
  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",
5370
5386
  providers: [
5371
- DEFAULT_VALUE_ACCESSOR$2,
5387
+ DEFAULT_VALUE_ACCESSOR$3,
5372
5388
  ],
5373
5389
  changeDetection: ChangeDetectionStrategy.OnPush,
5374
5390
  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%}"]
@@ -5436,16 +5452,16 @@ SharedMatDateTimeModule.decorators = [
5436
5452
  },] }
5437
5453
  ];
5438
5454
 
5439
- const DEFAULT_VALUE_ACCESSOR$3 = {
5455
+ const DEFAULT_VALUE_ACCESSOR$2 = {
5440
5456
  provide: NG_VALUE_ACCESSOR,
5441
5457
  useExisting: forwardRef(() => MatDuration),
5442
5458
  multi: true
5443
5459
  };
5444
5460
  const HOUR_TIME_PATTERN = /[0-9]\d\d:[0-5]\d/;
5445
- const HOUR_MASK$1 = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
5446
- const noop$5 = () => {
5461
+ const HOUR_MASK = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
5462
+ const noop$3 = () => {
5447
5463
  };
5448
- const ɵ0$5 = noop$5;
5464
+ const ɵ0$6 = noop$3;
5449
5465
  class MatDuration {
5450
5466
  constructor(platform, dateAdapter, translate, formBuilder, cd, formGroupDir) {
5451
5467
  this.dateAdapter = dateAdapter;
@@ -5454,11 +5470,11 @@ class MatDuration {
5454
5470
  this.cd = cd;
5455
5471
  this.formGroupDir = formGroupDir;
5456
5472
  this._subscription = new Subscription();
5457
- this._onChangeCallback = noop$5;
5458
- this._onTouchedCallback = noop$5;
5473
+ this._onChangeCallback = noop$3;
5474
+ this._onTouchedCallback = noop$3;
5459
5475
  this.writing = true;
5460
5476
  this.disabling = false;
5461
- this.hourMask = HOUR_MASK$1;
5477
+ this.hourMask = HOUR_MASK;
5462
5478
  this.disabled = false;
5463
5479
  this.floatLabel = 'auto';
5464
5480
  this.readonly = false;
@@ -5638,7 +5654,7 @@ MatDuration.decorators = [
5638
5654
  selector: 'mat-duration-field',
5639
5655
  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",
5640
5656
  providers: [
5641
- DEFAULT_VALUE_ACCESSOR$3,
5657
+ DEFAULT_VALUE_ACCESSOR$2,
5642
5658
  ],
5643
5659
  changeDetection: ChangeDetectionStrategy.OnPush,
5644
5660
  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%}"]
@@ -5695,22 +5711,22 @@ SharedMatDurationModule.decorators = [
5695
5711
  },] }
5696
5712
  ];
5697
5713
 
5698
- const DEFAULT_VALUE_ACCESSOR$4 = {
5714
+ const DEFAULT_VALUE_ACCESSOR$1 = {
5699
5715
  provide: NG_VALUE_ACCESSOR,
5700
5716
  useExisting: forwardRef(() => MatBooleanField),
5701
5717
  multi: true
5702
5718
  };
5703
- const noop$6 = () => {
5719
+ const noop$2 = () => {
5704
5720
  };
5705
- const ɵ0$6 = noop$6;
5721
+ const ɵ0$5 = noop$2;
5706
5722
  class MatBooleanField {
5707
5723
  constructor(translate, formBuilder, cd, formGroupDir) {
5708
5724
  this.translate = translate;
5709
5725
  this.formBuilder = formBuilder;
5710
5726
  this.cd = cd;
5711
5727
  this.formGroupDir = formGroupDir;
5712
- this._onChangeCallback = noop$6;
5713
- this._onTouchedCallback = noop$6;
5728
+ this._onChangeCallback = noop$2;
5729
+ this._onTouchedCallback = noop$2;
5714
5730
  this._writing = false;
5715
5731
  this.showRadio = false;
5716
5732
  this.disabled = false;
@@ -5873,7 +5889,7 @@ MatBooleanField.decorators = [
5873
5889
  selector: 'mat-boolean-field',
5874
5890
  template: "<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled {{classList}}\">\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n <input matInput hidden type=\"text\" readonly\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <ion-text>{{(formControl.value == null && 'COMMON.EMPTY_OPTION' || (formControl.value === true && yesLabel) || noLabel) | translate }}</ion-text>\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n</mat-form-field>\n\n<ng-template #writable>\n <ng-container [ngSwitch]=\"style\">\n\n <!-- Radio -->\n <mat-form-field *ngSwitchCase=\"'radio'\"\n [floatLabel]=\"showRadio && (!floatLabel || floatLabel === 'auto') ? 'always': floatLabel\"\n class=\"mat-boolean-field mat-boolean-field-radio {{classList}}\">\n <mat-label *ngIf=\"placeholder && floatLabel!=='never'\">\n {{placeholder}}\n <span [hidden]=\"showRadio\">({{yesLabel|translate}}/{{'COMMON.NO'|translate}})</span>\n </mat-label>\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n <input matInput #fakeInput type=\"text\" readonly=\"true\"\n [formControl]=\"formControl\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showRadio\"\n [tabindex]=\"tabindex\">\n\n <!-- radio button -->\n <mat-radio-group [hidden]=\"!showRadio\"\n [formControl]=\"formControl\"\n (change)=\"onRadioValueChanged($event)\">\n <mat-radio-button #yesButton [value]=\"true\">\n <span>{{yesLabel|translate}}</span>\n </mat-radio-button>&nbsp;\n <mat-radio-button #noButton [value]=\"false\">\n <span>{{noLabel|translate}}</span>\n </mat-radio-button>\n </mat-radio-group>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n </mat-form-field>\n\n <!-- Checkbox -->\n <mat-form-field *ngSwitchCase=\"'checkbox'\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-boolean-field mat-boolean-field-checkbox {{classList}}\">\n <mat-label *ngIf=\"placeholder && !showRadio\">\n {{placeholder}}\n </mat-label>\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n <input matInput #matInput\n [formControl]=\"formControl\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showRadio\"\n [tabindex]=\"tabindex\">\n\n <ion-label>&nbsp;</ion-label>\n\n <!-- checkbox, when compact -->\n <mat-checkbox #checkboxButton\n [formControl]=\"formControl\"\n (change)=\"onCheckboxValueChanged($event)\"\n [indeterminate]=\"value===undefined\"\n [hidden]=\"!showRadio\"\n [tabindex]=\"tabindex\">\n </mat-checkbox>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n </mat-form-field>\n\n <!-- Buttons -->\n <mat-form-field *ngSwitchCase=\"'button'\"\n [floatLabel]=\"floatLabel === 'never' ? 'never' : 'always'\"\n class=\"mat-boolean-field mat-boolean-field-button {{classList}}\">\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n <input matInput type=\"text\" hidden\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [required]=\"required\">\n <div class=\"mat-form-field-buttons\"\n [style.--buttons-col-count]=\"buttonsColCount\"\n *ngIf=\"!formControl.disabled; else disabledLabel\">\n <!-- yes -->\n <ion-button class=\"mat-form-field-button\"\n [tabindex]=\"_tabindex\"\n (click)=\"writeValue(true, $event)\"\n (keyup.enter)=\"writeValue(true, $event)\"\n [color]=\"_value == null ? 'tertiary' : (_value === true) ? 'accent' : 'light'\">\n <ion-icon *ngIf=\"showButtonIcons && yesIcon; let icon\" slot=\"start\" [name]=\"icon\"></ion-icon>\n {{yesLabel|translate}}\n </ion-button>\n\n <!-- No button -->\n <ion-button class=\"mat-form-field-button\"\n [tabindex]=\"_tabindex !== undefined ? (_tabindex + 1) : undefined\"\n (click)=\"writeValue(false, $event)\"\n (keyup.enter)=\"writeValue(false, $event)\"\n [color]=\"_value == null ? 'tertiary' : (_value === false) ? 'accent' : 'light'\">\n <ion-icon *ngIf=\"showButtonIcons && noIcon; let icon\" slot=\"start\" [name]=\"icon\"></ion-icon>\n {{noLabel|translate}}\n </ion-button>\n </div>\n <ng-template #disabledLabel>\n <ion-label><i translate>COMMON.EMPTY_OPTION</i></ion-label>\n </ng-template>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n\n </mat-form-field>\n </ng-container>\n\n</ng-template>\n\n\n<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n<ng-template #matSuffixTemplate>\n <ng-content select=\"[matSuffix]\"></ng-content>\n</ng-template>\n",
5875
5891
  providers: [
5876
- DEFAULT_VALUE_ACCESSOR$4
5892
+ DEFAULT_VALUE_ACCESSOR$1
5877
5893
  ],
5878
5894
  changeDetection: ChangeDetectionStrategy.OnPush,
5879
5895
  styles: [":host{width:100%}.mat-form-field.mat-boolean-field-radio{margin-top:-2px}.mat-form-field.mat-boolean-field-button{margin-top:-4px}.mat-form-field .mat-form-field-buttons{width:100%;display:flex;flex-flow:row wrap;justify-content:flex-start;align-items:center}.mat-form-field .mat-form-field-buttons .mat-form-field-button{--flex-basis:calc(100% / var(--buttons-col-count, 2));flex:0 1 var(--flex-basis);max-width:min(var(--flex-basis),150px);white-space:normal;padding:0 2px;height:40px}"]
@@ -6119,7 +6135,7 @@ class MatNumpadDomService {
6119
6135
  this.appRef.detachView(this.componentRef.hostView);
6120
6136
  }
6121
6137
  }
6122
- MatNumpadDomService.ɵprov = ɵɵdefineInjectable({ factory: function MatNumpadDomService_Factory() { return new MatNumpadDomService(ɵɵinject(ComponentFactoryResolver), ɵɵinject(ApplicationRef), ɵɵinject(INJECTOR), ɵɵinject(DOCUMENT, 8)); }, token: MatNumpadDomService, providedIn: "root" });
6138
+ 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$3.DOCUMENT, 8)); }, token: MatNumpadDomService, providedIn: "root" });
6123
6139
  MatNumpadDomService.decorators = [
6124
6140
  { type: Injectable, args: [{
6125
6141
  providedIn: 'root'
@@ -6483,7 +6499,7 @@ SharedMatNumpadModule.decorators = [
6483
6499
  },] }
6484
6500
  ];
6485
6501
 
6486
- const DEFAULT_VALUE_ACCESSOR$5 = {
6502
+ const DEFAULT_VALUE_ACCESSOR = {
6487
6503
  provide: NG_VALUE_ACCESSOR,
6488
6504
  useExisting: forwardRef(() => MatSwipeField),
6489
6505
  multi: true
@@ -6746,7 +6762,7 @@ MatSwipeField.decorators = [
6746
6762
  { type: Component, args: [{
6747
6763
  selector: 'mat-swipe-field',
6748
6764
  template: "<mat-form-field [floatLabel]=\"showSlides && (!floatLabel || floatLabel === 'auto') ? 'always': floatLabel\"\n [class]=\"classList\"\n [class.mat-form-field-disabled]=\"disabled\">\n <mat-label *ngIf=\"placeholder && floatLabel!=='never'\">\n {{placeholder}}\n </mat-label>\n <input matInput #fakeInput type=\"text\"\n [formControl]=\"formControl\"\n [readonly]=\"true\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showSlides\"\n [tabindex]=\"tabindex\">\n\n <div class=\"slides-container\" [class.hidden]=\"!showSlides\">\n <ion-slides #slides\n [options]=\"slidesOptions\"\n (ionSlidesDidLoad)=\"slidesLoaded()\"\n (ionSlideReachStart)=\"reachStart(true)\"\n (ionSlideReachEnd)=\"reachEnd(true)\"\n (ionSlideNextEnd)=\"reachStart(false)\"\n (ionSlidePrevEnd)=\"reachEnd(false)\"\n (ionSlideDidChange)=\"slideChanged()\"\n >\n <ion-slide *ngFor=\"let item of $items | async\">\n <ion-label>{{ displayWith(item) }}</ion-label>\n </ion-slide>\n\n </ion-slides>\n </div>\n\n <button #prevButton\n mat-icon-button\n type=\"button\"\n class=\"button-prev\"\n [hidden]=\"!showSlides\"\n [disabled]=\"previousDisabled\"\n (click)=\"previous()\">\n <mat-icon>chevron_left</mat-icon>\n </button>\n <button #nextButton\n mat-icon-button\n type=\"button\"\n class=\"button-next\"\n [hidden]=\"!showSlides\"\n [disabled]=\"nextDisabled\"\n (click)=\"next()\">\n <mat-icon>chevron_right</mat-icon>\n </button>\n\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clearValue($event)\"\n [hidden]=\"disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('entity')\" translate>ERROR.FIELD_INVALID</mat-error>\n\n</mat-form-field>\n",
6749
- providers: [DEFAULT_VALUE_ACCESSOR$5],
6765
+ providers: [DEFAULT_VALUE_ACCESSOR],
6750
6766
  changeDetection: ChangeDetectionStrategy.OnPush,
6751
6767
  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}"]
6752
6768
  },] }
@@ -6804,14 +6820,14 @@ SharedMatSwipeModule.decorators = [
6804
6820
  },] }
6805
6821
  ];
6806
6822
 
6807
- const noop$7 = () => { };
6808
- const ɵ0$7 = noop$7;
6823
+ const noop$1 = () => { };
6824
+ const ɵ0$4 = noop$1;
6809
6825
  class MatChipsField {
6810
6826
  constructor(cd, formGroupDir) {
6811
6827
  this.cd = cd;
6812
6828
  this.formGroupDir = formGroupDir;
6813
- this._onChangeCallback = noop$7;
6814
- this._onTouchedCallback = noop$7;
6829
+ this._onChangeCallback = noop$1;
6830
+ this._onTouchedCallback = noop$1;
6815
6831
  this.logPrefix = '[mat-chips] ';
6816
6832
  this.formControlName = null;
6817
6833
  this.required = false;
@@ -6988,7 +7004,7 @@ class MatChipsField {
6988
7004
  // Wait a debounce time
6989
7005
  debounceTime(this.debounceTime)
6990
7006
  // DEBUG
6991
- //tap((value) => console.debug(this.logPrefix + ' Search text changes:', value))
7007
+ //,tap((value) => this.debug && console.debug(this.logPrefix + ' Search text changes:', value))
6992
7008
  ),
6993
7009
  // Object set: use it (no distinctUntilChanged() pipe need)
6994
7010
  this.inputControl.valueChanges
@@ -7004,18 +7020,25 @@ class MatChipsField {
7004
7020
  merge(
7005
7021
  // Focus or click => Load all
7006
7022
  merge(this.focused, this.clicked)
7007
- .pipe(filter(_ => this.enabled), map((_) => this.showAllOnFocus ? '*' : this.inputControl.value)), merge(this.$inputItems, this._$filter)
7023
+ .pipe(filter(_ => this.enabled), map((_) => this.showAllOnFocus ? '*' : this.inputControl.value)
7024
+ // DEBUG
7025
+ //,tap(value => this.debug && console.debug(this.logPrefix + ' Received focused or clicked event: ', value))
7026
+ ), merge(this.$inputItems, this._$filter)
7008
7027
  .pipe(filter(_ => this.enabled), map(_ => this.inputControl.value)))
7009
7028
  .pipe(
7010
7029
  // Make sure there is enough characters
7011
7030
  filter(thresholdFilterFn),
7012
7031
  // Distinguish changes
7013
- distinctUntilChanged()))
7032
+ // - do NOT filter if loading, to force update after a blur event
7033
+ distinctUntilChanged((v1, v2) => !this.loading && (v1 === v2 || this.equals(v1, v2)))
7034
+ // DEBUG
7035
+ //,tap(value => this.debug && console.debug(this.logPrefix + ' Received update event: ', value))
7036
+ ))
7014
7037
  .pipe(
7015
7038
  // Suggest values
7016
7039
  mergeMap(value => this.suggest(value, this.filter)),
7017
7040
  // DEBUG
7018
- //tap(items => console.debug(this.logPrefix + ' Received from suggest: ', items)),
7041
+ //tap(items => this.debug && console.debug(this.logPrefix + ' Received from suggest: ', items)),
7019
7042
  // Store implicit value (will use it onBlur if not other value selected)
7020
7043
  tap(items => this.updateImplicitValue(items)));
7021
7044
  // Fetch more events
@@ -7036,7 +7059,10 @@ class MatChipsField {
7036
7059
  .subscribe(items => this.$filteredItems.next(items)));
7037
7060
  // Applying implicit value, on blur
7038
7061
  this._subscription.add(this.blurred
7039
- .pipe(map(_ => this.formControl.value))
7062
+ .pipe(map(_ => this.formControl.value)
7063
+ // DEBUG
7064
+ //,tap(value => this.debug && console.debug(this.logPrefix + ' Received blurred event: ', value)),
7065
+ )
7040
7066
  .subscribe(value => {
7041
7067
  // When leave component without object, use implicit value if :
7042
7068
  // - an explicit value
@@ -7148,6 +7174,8 @@ class MatChipsField {
7148
7174
  this._reload$.next(value || '*');
7149
7175
  }
7150
7176
  writeValue(value) {
7177
+ // DEBUG
7178
+ // if (this.debug) console.debug(this.logPrefix + ' Writing value: ', value);
7151
7179
  if (value && !Array.isArray(value)) {
7152
7180
  value = [value];
7153
7181
  }
@@ -7399,9 +7427,9 @@ MatChipsField.propDecorators = {
7399
7427
  showLoadingSpinner: [{ type: Input }],
7400
7428
  chipColor: [{ type: Input }],
7401
7429
  debug: [{ type: Input }],
7402
- clicked: [{ type: Output }],
7403
- blurred: [{ type: Output }],
7404
- focused: [{ type: Output }],
7430
+ clicked: [{ type: Output, args: ['click',] }],
7431
+ blurred: [{ type: Output, args: ['blur',] }],
7432
+ focused: [{ type: Output, args: ['focus',] }],
7405
7433
  dropButtonClick: [{ type: Output }],
7406
7434
  keydownEscape: [{ type: Output, args: ['keydown.escape',] }],
7407
7435
  keyupEnter: [{ type: Output, args: ['keyup.enter',] }],
@@ -7597,7 +7625,7 @@ class ProgressBarService {
7597
7625
  }
7598
7626
  }
7599
7627
  }
7600
- ProgressBarService.ɵprov = ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
7628
+ ProgressBarService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
7601
7629
  ProgressBarService.decorators = [
7602
7630
  { type: Injectable, args: [{ providedIn: 'root' },] }
7603
7631
  ];
@@ -7641,7 +7669,7 @@ class AppGestureConfig extends HammerGestureConfig {
7641
7669
  return mc;
7642
7670
  }
7643
7671
  }
7644
- AppGestureConfig.ɵprov = ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
7672
+ AppGestureConfig.ɵprov = i0.ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
7645
7673
  AppGestureConfig.decorators = [
7646
7674
  { type: Injectable, args: [{ providedIn: 'root' },] }
7647
7675
  ];
@@ -7866,7 +7894,7 @@ class MatPaginatorI18n extends MatPaginatorIntl {
7866
7894
  this.previousPageLabel = this.translate.instant('COMMON.PAGINATOR.PREVIOUS_PAGE');
7867
7895
  }
7868
7896
  }
7869
- MatPaginatorI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(ɵɵinject(TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
7897
+ MatPaginatorI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(i0.ɵɵinject(i1$1.TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
7870
7898
  MatPaginatorI18n.decorators = [
7871
7899
  { type: Injectable, args: [{ providedIn: 'root' },] }
7872
7900
  ];
@@ -7956,17 +7984,17 @@ function getColorContrast(color, bw) {
7956
7984
  return rgbArrayToHex(rgb.map(v => 255 - v));
7957
7985
  }
7958
7986
 
7959
- const noop$8 = () => {
7987
+ const noop = () => {
7960
7988
  };
7961
- const ɵ0$8 = noop$8;
7989
+ const ɵ0$3 = noop;
7962
7990
  class AppFormField {
7963
7991
  constructor(translate, cd, injector, formGroupDir) {
7964
7992
  this.translate = translate;
7965
7993
  this.cd = cd;
7966
7994
  this.injector = injector;
7967
7995
  this.formGroupDir = formGroupDir;
7968
- this._onChangeCallback = noop$8;
7969
- this._onTouchedCallback = noop$8;
7996
+ this._onChangeCallback = noop;
7997
+ this._onTouchedCallback = noop;
7970
7998
  this.readonly = false;
7971
7999
  this.compact = false;
7972
8000
  this.floatLabel = 'auto';
@@ -8399,14 +8427,14 @@ class AudioProvider extends StartableService {
8399
8427
  });
8400
8428
  }
8401
8429
  }
8402
- AudioProvider.ɵprov = ɵɵdefineInjectable({ factory: function AudioProvider_Factory() { return new AudioProvider(ɵɵinject(Platform), ɵɵinject(NativeAudio, 8), ɵɵinject(Vibration, 8), ɵɵinject(AudioManagement$1, 8)); }, token: AudioProvider, providedIn: "root" });
8430
+ AudioProvider.ɵprov = i0.ɵɵdefineInjectable({ factory: function AudioProvider_Factory() { return new AudioProvider(i0.ɵɵinject(i1$4.Platform), i0.ɵɵinject(i2.NativeAudio, 8), i0.ɵɵinject(i3.Vibration, 8), i0.ɵɵinject(i4.AudioManagement, 8)); }, token: AudioProvider, providedIn: "root" });
8403
8431
  AudioProvider.decorators = [
8404
8432
  { type: Injectable, args: [{ providedIn: 'root' },] }
8405
8433
  ];
8406
8434
  AudioProvider.ctorParameters = () => [
8407
8435
  { type: Platform },
8408
- { type: NativeAudio$1, decorators: [{ type: Optional }] },
8409
- { type: Vibration$1, decorators: [{ type: Optional }] },
8436
+ { type: NativeAudio, decorators: [{ type: Optional }] },
8437
+ { type: Vibration, decorators: [{ type: Optional }] },
8410
8438
  { type: AudioManagement, decorators: [{ type: Optional }] }
8411
8439
  ];
8412
8440
 
@@ -8488,7 +8516,7 @@ class Hotkeys {
8488
8516
  });
8489
8517
  }
8490
8518
  }
8491
- Hotkeys.ɵprov = ɵɵdefineInjectable({ factory: function Hotkeys_Factory() { return new Hotkeys(ɵɵinject(EventManager), ɵɵinject(MatDialog), ɵɵinject(DOCUMENT), ɵɵinject(ModalController)); }, token: Hotkeys, providedIn: "root" });
8519
+ Hotkeys.ɵprov = i0.ɵɵdefineInjectable({ factory: function Hotkeys_Factory() { return new Hotkeys(i0.ɵɵinject(i1$5.EventManager), i0.ɵɵinject(i2$1.MatDialog), i0.ɵɵinject(i1$3.DOCUMENT), i0.ɵɵinject(i1$4.ModalController)); }, token: Hotkeys, providedIn: "root" });
8492
8520
  Hotkeys.decorators = [
8493
8521
  { type: Injectable, args: [{
8494
8522
  providedIn: 'root'
@@ -8662,7 +8690,7 @@ class Base64ImageReader {
8662
8690
  }
8663
8691
  }
8664
8692
 
8665
- const uuidv4 = uuidv4Imported;
8693
+ const uuidv4$1 = uuidv4Imported;
8666
8694
  class FileService {
8667
8695
  constructor(platform,
8668
8696
  //private transfer: FileTransfer,
@@ -8699,7 +8727,7 @@ class FileService {
8699
8727
  const lastSlashIndex = source.lastIndexOf('/');
8700
8728
  if (lastSlashIndex === -1)
8701
8729
  throw new Error('Invalid URL: ' + source);
8702
- const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4();
8730
+ const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4$1();
8703
8731
  // Download into the file system
8704
8732
  if (responseType === 'file' && this.canUseFileSystem) {
8705
8733
  console.warn(`WARN: [file] Fetching image {${source}} in local file...`);
@@ -8755,7 +8783,7 @@ class FileService {
8755
8783
  this._started = true;
8756
8784
  }
8757
8785
  }
8758
- FileService.ɵprov = ɵɵdefineInjectable({ factory: function FileService_Factory() { return new FileService(ɵɵinject(Platform), ɵɵinject(HttpClient), ɵɵinject(ENVIRONMENT)); }, token: FileService, providedIn: "root" });
8786
+ FileService.ɵprov = i0.ɵɵdefineInjectable({ factory: function FileService_Factory() { return new FileService(i0.ɵɵinject(i1$4.Platform), i0.ɵɵinject(i2$2.HttpClient), i0.ɵɵinject(ENVIRONMENT)); }, token: FileService, providedIn: "root" });
8759
8787
  FileService.decorators = [
8760
8788
  { type: Injectable, args: [{
8761
8789
  providedIn: 'root',
@@ -8921,7 +8949,7 @@ class Base58 {
8921
8949
  Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
8922
8950
 
8923
8951
  const scrypt = require('scrypt-async');
8924
- const sha256 = require('hash.js/lib/hash/sha/256');
8952
+ const sha256$1 = require('hash.js/lib/hash/sha/256');
8925
8953
  const sha512 = require('hash.js/lib/hash/sha/512');
8926
8954
  const nacl = {
8927
8955
  sign,
@@ -9025,7 +9053,7 @@ class CryptoService {
9025
9053
  * Hash (using SHA256) a message
9026
9054
  */
9027
9055
  sha256(message) {
9028
- return sha256().update(message).digest('hex');
9056
+ return sha256$1().update(message).digest('hex');
9029
9057
  }
9030
9058
  /**
9031
9059
  * Hash (using SHA512) a message
@@ -9038,7 +9066,7 @@ class CryptoService {
9038
9066
  return nacl.util.encodeBase64(m);
9039
9067
  }
9040
9068
  }
9041
- CryptoService.ɵprov = ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
9069
+ CryptoService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
9042
9070
  CryptoService.decorators = [
9043
9071
  { type: Injectable, args: [{ providedIn: 'root' },] }
9044
9072
  ];
@@ -10266,7 +10294,7 @@ class LocalSettingsService extends StartableService {
10266
10294
  return page;
10267
10295
  }
10268
10296
  }
10269
- LocalSettingsService.ɵprov = ɵɵdefineInjectable({ factory: function LocalSettingsService_Factory() { return new LocalSettingsService(ɵɵinject(TranslateService), ɵɵinject(Platform), ɵɵinject(Storage), ɵɵinject(ENVIRONMENT), ɵɵinject(APP_LOCAL_SETTINGS, 8), ɵɵinject(APP_LOCAL_SETTINGS_OPTIONS, 8)); }, token: LocalSettingsService, providedIn: "root" });
10297
+ LocalSettingsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LocalSettingsService_Factory() { return new LocalSettingsService(i0.ɵɵinject(i1$1.TranslateService), i0.ɵɵinject(i1$4.Platform), i0.ɵɵinject(i3$1.Storage), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(APP_LOCAL_SETTINGS, 8), i0.ɵɵinject(APP_LOCAL_SETTINGS_OPTIONS, 8)); }, token: LocalSettingsService, providedIn: "root" });
10270
10298
  LocalSettingsService.decorators = [
10271
10299
  { type: Injectable, args: [{
10272
10300
  providedIn: 'root',
@@ -10924,7 +10952,7 @@ class NetworkService extends StartableService {
10924
10952
  });
10925
10953
  }
10926
10954
  }
10927
- NetworkService.ɵprov = ɵɵdefineInjectable({ factory: function NetworkService_Factory() { return new NetworkService(ɵɵinject(DOCUMENT), ɵɵinject(Platform), ɵɵinject(ModalController), ɵɵinject(CryptoService), ɵɵinject(Storage), ɵɵinject(LocalSettingsService), ɵɵinject(CacheService), ɵɵinject(HttpClient), ɵɵinject(ENVIRONMENT), ɵɵinject(Network, 8), ɵɵinject(SplashScreen, 8), ɵɵinject(TranslateService, 8), ɵɵinject(ToastController, 8)); }, token: NetworkService, providedIn: "root" });
10955
+ NetworkService.ɵprov = i0.ɵɵdefineInjectable({ factory: function NetworkService_Factory() { return new NetworkService(i0.ɵɵinject(i1$3.DOCUMENT), i0.ɵɵinject(i1$4.Platform), i0.ɵɵinject(i1$4.ModalController), i0.ɵɵinject(CryptoService), i0.ɵɵinject(i3$1.Storage), i0.ɵɵinject(LocalSettingsService), i0.ɵɵinject(i6.CacheService), i0.ɵɵinject(i2$2.HttpClient), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(i9.Network, 8), i0.ɵɵinject(i10.SplashScreen, 8), i0.ɵɵinject(i1$1.TranslateService, 8), i0.ɵɵinject(i1$4.ToastController, 8)); }, token: NetworkService, providedIn: "root" });
10928
10956
  NetworkService.decorators = [
10929
10957
  { type: Injectable, args: [{ providedIn: 'root' },] }
10930
10958
  ];
@@ -10935,16 +10963,16 @@ NetworkService.ctorParameters = () => [
10935
10963
  { type: CryptoService },
10936
10964
  { type: Storage },
10937
10965
  { type: LocalSettingsService },
10938
- { type: CacheService$1 },
10966
+ { type: CacheService },
10939
10967
  { type: HttpClient },
10940
10968
  { type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
10941
- { type: Network$1, decorators: [{ type: Optional }] },
10942
- { type: SplashScreen$1, decorators: [{ type: Optional }] },
10969
+ { type: Network, decorators: [{ type: Optional }] },
10970
+ { type: SplashScreen, decorators: [{ type: Optional }] },
10943
10971
  { type: TranslateService, decorators: [{ type: Optional }] },
10944
10972
  { type: ToastController, decorators: [{ type: Optional }] }
10945
10973
  ];
10946
10974
 
10947
- const ErrorCodes = {
10975
+ const ErrorCodes$2 = {
10948
10976
  UNKNOWN_ERROR: 0,
10949
10977
  LOAD_ACCOUNT_ERROR: 1,
10950
10978
  BAD_PASSWORD: 2,
@@ -11296,7 +11324,7 @@ class EntityStore {
11296
11324
  }
11297
11325
  catch (err) {
11298
11326
  console.error(err);
11299
- throw { code: ErrorCodes.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err };
11327
+ throw { code: ErrorCodes$2.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err };
11300
11328
  }
11301
11329
  }
11302
11330
  // Emit update event
@@ -11870,7 +11898,7 @@ class EntitiesStorage extends StartableService {
11870
11898
  }
11871
11899
  EntitiesStorage.TRASH_PREFIX = 'Trash#';
11872
11900
  EntitiesStorage.REMOTE_PREFIX = 'Remote#';
11873
- EntitiesStorage.ɵprov = ɵɵdefineInjectable({ factory: function EntitiesStorage_Factory() { return new EntitiesStorage(ɵɵinject(Platform), ɵɵinject(ProgressBarService), ɵɵinject(Storage), ɵɵinject(ENVIRONMENT), ɵɵinject(APP_LOCAL_STORAGE_TYPE_POLICIES, 8)); }, token: EntitiesStorage, providedIn: "root" });
11901
+ EntitiesStorage.ɵprov = i0.ɵɵdefineInjectable({ factory: function EntitiesStorage_Factory() { return new EntitiesStorage(i0.ɵɵinject(i1$4.Platform), i0.ɵɵinject(ProgressBarService), i0.ɵɵinject(i3$1.Storage), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(APP_LOCAL_STORAGE_TYPE_POLICIES, 8)); }, token: EntitiesStorage, providedIn: "root" });
11874
11902
  EntitiesStorage.decorators = [
11875
11903
  { type: Injectable, args: [{ providedIn: 'root' },] }
11876
11904
  ];
@@ -12007,10 +12035,10 @@ function referentialToString(obj, properties) {
12007
12035
  function referentialsToString(values, properties, separator) {
12008
12036
  return (values || []).map(v => referentialToString(v, properties)).join(separator || ', ');
12009
12037
  }
12010
- const ɵ0$9 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
12038
+ const ɵ0$2 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
12011
12039
  const StatusList = Object.freeze([
12012
12040
  {
12013
- id: ɵ0$9,
12041
+ id: ɵ0$2,
12014
12042
  icon: 'checkmark',
12015
12043
  label: 'REFERENTIAL.STATUS_ENUM.ENABLE'
12016
12044
  },
@@ -12285,7 +12313,7 @@ function accountToString(data) {
12285
12313
  (data.lastName || '')) || '';
12286
12314
  }
12287
12315
 
12288
- const uuidv4$1 = uuidv4Imported;
12316
+ const uuidv4 = uuidv4Imported;
12289
12317
  const _global = typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : {});
12290
12318
  const NativeWebSocket = _global.WebSocket || _global.MozWebSocket;
12291
12319
  /**
@@ -12329,7 +12357,7 @@ function createTrackerLink(opts) {
12329
12357
  // Skip if not tracked
12330
12358
  if (!context || !context.tracked)
12331
12359
  return forward(operation);
12332
- const id = context.serializationKey || uuidv4$1();
12360
+ const id = context.serializationKey || uuidv4();
12333
12361
  console.debug(`[apollo-tracker-link] Watching tracked query {${operation.operationName}#${id}}`);
12334
12362
  // Clean context, before calling JSON.stringify (remove unused attributes)
12335
12363
  const cleanContext = Object.assign(Object.assign({}, context), { optimisticResponse: null, cache: null });
@@ -12994,7 +13022,7 @@ class GraphqlService extends StartableService {
12994
13022
  (err.networkError && ((err.networkError.error && this.toAppError(err.networkError.error))
12995
13023
  || this.toAppError(err.networkError)
12996
13024
  || (err.networkError.error && this.createAppErrorByCode(err.networkError.error.status))
12997
- || this.createAppErrorByCode(ErrorCodes.UNKNOWN_NETWORK_ERROR)))
13025
+ || this.createAppErrorByCode(ErrorCodes$2.UNKNOWN_NETWORK_ERROR)))
12998
13026
  // If graphQL: try to convert the first error found
12999
13027
  || (err.graphQLErrors && err.graphQLErrors.length && this.toAppError(err.graphQLErrors[0]))
13000
13028
  || this.toAppError(err)
@@ -13002,7 +13030,7 @@ class GraphqlService extends StartableService {
13002
13030
  || (err.graphQLErrors && err.graphQLErrors[0])
13003
13031
  || err;
13004
13032
  console.error('[graphql] ' + (error && error.message || error), error.stack || '');
13005
- if (error && error.code === ErrorCodes.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
13033
+ if (error && error.code === ErrorCodes$2.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
13006
13034
  console.error('[graphql] original error: ' + err.networkError.message);
13007
13035
  this.onNetworkError.next(error);
13008
13036
  }
@@ -13038,7 +13066,7 @@ class GraphqlService extends StartableService {
13038
13066
  return 'ERROR.UNAUTHORIZED';
13039
13067
  case ServerErrorCodes.FORBIDDEN:
13040
13068
  return 'ERROR.FORBIDDEN';
13041
- case ErrorCodes.UNKNOWN_NETWORK_ERROR:
13069
+ case ErrorCodes$2.UNKNOWN_NETWORK_ERROR:
13042
13070
  return 'ERROR.UNKNOWN_NETWORK_ERROR';
13043
13071
  case ServerErrorCodes.BAD_UPDATE_DATE:
13044
13072
  return 'ERROR.BAD_UPDATE_DATE';
@@ -13069,7 +13097,7 @@ class GraphqlService extends StartableService {
13069
13097
  return undefined;
13070
13098
  }
13071
13099
  }
13072
- GraphqlService.ɵprov = ɵɵdefineInjectable({ factory: function GraphqlService_Factory() { return new GraphqlService(ɵɵinject(Platform), ɵɵinject(Apollo), ɵɵinject(HttpLink), ɵɵinject(NetworkService), ɵɵinject(Storage), ɵɵinject(CryptoService), ɵɵinject(ENVIRONMENT), ɵɵinject(APP_GRAPHQL_TYPE_POLICIES, 8)); }, token: GraphqlService, providedIn: "root" });
13100
+ GraphqlService.ɵprov = i0.ɵɵdefineInjectable({ factory: function GraphqlService_Factory() { return new GraphqlService(i0.ɵɵinject(i1$4.Platform), i0.ɵɵinject(i2$3.Apollo), i0.ɵɵinject(i3$2.HttpLink), i0.ɵɵinject(NetworkService), i0.ɵɵinject(i3$1.Storage), i0.ɵɵinject(CryptoService), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(APP_GRAPHQL_TYPE_POLICIES, 8)); }, token: GraphqlService, providedIn: "root" });
13073
13101
  GraphqlService.decorators = [
13074
13102
  { type: Injectable, args: [{
13075
13103
  providedIn: 'root'
@@ -13086,7 +13114,7 @@ GraphqlService.ctorParameters = () => [
13086
13114
  { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_GRAPHQL_TYPE_POLICIES,] }] }
13087
13115
  ];
13088
13116
 
13089
- const sha256$1 = require('hash.js/lib/hash/sha/256');
13117
+ const sha256 = require('hash.js/lib/hash/sha/256');
13090
13118
  class BaseGraphqlServiceOptions {
13091
13119
  }
13092
13120
  // eslint-disable-next-line @angular-eslint/directive-class-suffix
@@ -13237,8 +13265,8 @@ class BaseGraphqlService extends StartableService {
13237
13265
  }
13238
13266
  /* -- protected methods -- */
13239
13267
  computeMutableWatchQueryId(opts) {
13240
- const queryName = opts.queryName || sha256$1().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
13241
- const variablesKey = opts.variables && sha256$1().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
13268
+ const queryName = opts.queryName || sha256().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
13269
+ const variablesKey = opts.variables && sha256().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
13242
13270
  return [queryName, opts.arrayFieldName, variablesKey].join('|');
13243
13271
  }
13244
13272
  findMutableWatchQueries(opts) {
@@ -13304,7 +13332,7 @@ const DEFAULT_AVATAR_IMAGE = 'assets/img/person.png';
13304
13332
  /* ------------------------------------
13305
13333
  * GraphQL queries
13306
13334
  * ------------------------------------*/
13307
- const Fragments = {
13335
+ const Fragments$1 = {
13308
13336
  account: gql `
13309
13337
  fragment AccountFragment on AccountVO {
13310
13338
  id
@@ -13339,14 +13367,14 @@ const Fragments = {
13339
13367
  }`
13340
13368
  };
13341
13369
  // Load account query
13342
- const LoadQuery = gql `
13370
+ const LoadQuery$1 = gql `
13343
13371
  query Account {
13344
13372
  data: account {
13345
13373
  ...AccountFragment
13346
13374
  }
13347
13375
  }
13348
- ${Fragments.account}
13349
- ${Fragments.settings}
13376
+ ${Fragments$1.account}
13377
+ ${Fragments$1.settings}
13350
13378
  `;
13351
13379
  // Check email query
13352
13380
  const IsEmailExistsQuery = gql `
@@ -13361,21 +13389,21 @@ const AccountMutations = {
13361
13389
  ...AccountFragment
13362
13390
  }
13363
13391
  }
13364
- ${Fragments.account}
13365
- ${Fragments.settings}`,
13392
+ ${Fragments$1.account}
13393
+ ${Fragments$1.settings}`,
13366
13394
  create: gql `mutation CreateAccount($data:AccountVOInput){
13367
13395
  data: createAccount(account: $data){
13368
13396
  ...AccountFragment
13369
13397
  }
13370
13398
  }
13371
- ${Fragments.account}
13372
- ${Fragments.settings}`,
13399
+ ${Fragments$1.account}
13400
+ ${Fragments$1.settings}`,
13373
13401
  saveSettings: gql `mutation SaveSettings($data:UserSettingsVOInput){
13374
13402
  data: saveSettings(settings: $data){
13375
13403
  ...UserSettingsFragment
13376
13404
  }
13377
13405
  }
13378
- ${Fragments.settings}`
13406
+ ${Fragments$1.settings}`
13379
13407
  };
13380
13408
  // Sent confirmation email
13381
13409
  const SendConfirmEmailMutation = gql `
@@ -13684,7 +13712,7 @@ class AccountService extends BaseGraphqlService {
13684
13712
  catch (error) {
13685
13713
  console.error(error);
13686
13714
  this.resetData();
13687
- throw { code: ErrorCodes.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
13715
+ throw { code: ErrorCodes$2.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
13688
13716
  }
13689
13717
  // Store pubkey+keypair
13690
13718
  this._cache.pubkey = Base58.encode(keypair.publicKey);
@@ -13718,7 +13746,7 @@ class AccountService extends BaseGraphqlService {
13718
13746
  }
13719
13747
  catch (err) {
13720
13748
  // If account not found, check if email is valid
13721
- if (err && +(err.code) === ErrorCodes.LOAD_ACCOUNT_ERROR) {
13749
+ if (err && +(err.code) === ErrorCodes$2.LOAD_ACCOUNT_ERROR) {
13722
13750
  // Check email exists
13723
13751
  if (data.username.indexOf('@') !== -1) {
13724
13752
  let isEmailExists;
@@ -13730,11 +13758,11 @@ class AccountService extends BaseGraphqlService {
13730
13758
  }
13731
13759
  // Email not exists (no account)
13732
13760
  if (!isEmailExists) {
13733
- throw { code: ErrorCodes.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
13761
+ throw { code: ErrorCodes$2.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
13734
13762
  }
13735
13763
  }
13736
13764
  // Email exists, so error = 'bad password'
13737
- throw { code: ErrorCodes.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
13765
+ throw { code: ErrorCodes$2.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
13738
13766
  }
13739
13767
  throw err; // resend the first error
13740
13768
  }
@@ -13859,8 +13887,8 @@ class AccountService extends BaseGraphqlService {
13859
13887
  // Load remotely
13860
13888
  else {
13861
13889
  const { data } = yield this.graphql.query({
13862
- query: LoadQuery,
13863
- error: { code: ErrorCodes.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
13890
+ query: LoadQuery$1,
13891
+ error: { code: ErrorCodes$2.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
13864
13892
  fetchPolicy: opts && opts.fetchPolicy || 'no-cache' || undefined
13865
13893
  });
13866
13894
  json = data;
@@ -13887,7 +13915,7 @@ class AccountService extends BaseGraphqlService {
13887
13915
  return __awaiter(this, void 0, void 0, function* () {
13888
13916
  const isEmailExists = yield this.isEmailExists(email);
13889
13917
  if (isEmailExists) {
13890
- throw { code: ErrorCodes.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
13918
+ throw { code: ErrorCodes$2.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
13891
13919
  }
13892
13920
  });
13893
13921
  }
@@ -13923,7 +13951,7 @@ class AccountService extends BaseGraphqlService {
13923
13951
  locale
13924
13952
  },
13925
13953
  error: {
13926
- code: ErrorCodes.SENT_CONFIRMATION_EMAIL_FAILED,
13954
+ code: ErrorCodes$2.SENT_CONFIRMATION_EMAIL_FAILED,
13927
13955
  message: 'ERROR.SENT_ACCOUNT_CONFIRMATION_EMAIL_FAILED'
13928
13956
  }
13929
13957
  });
@@ -13939,7 +13967,7 @@ class AccountService extends BaseGraphqlService {
13939
13967
  code
13940
13968
  },
13941
13969
  error: {
13942
- code: ErrorCodes.CONFIRM_EMAIL_FAILED,
13970
+ code: ErrorCodes$2.CONFIRM_EMAIL_FAILED,
13943
13971
  message: 'ERROR.CONFIRM_ACCOUNT_EMAIL_FAILED'
13944
13972
  }
13945
13973
  });
@@ -13957,7 +13985,7 @@ class AccountService extends BaseGraphqlService {
13957
13985
  interval: 10
13958
13986
  },
13959
13987
  error: {
13960
- code: ErrorCodes.SUBSCRIBE_ACCOUNT_ERROR,
13988
+ code: ErrorCodes$2.SUBSCRIBE_ACCOUNT_ERROR,
13961
13989
  message: 'ERROR.ACCOUNT.SUBSCRIBE_ACCOUNT_ERROR'
13962
13990
  }
13963
13991
  }).subscribe({
@@ -14058,7 +14086,7 @@ class AccountService extends BaseGraphqlService {
14058
14086
  throw error;
14059
14087
  console.error(error);
14060
14088
  throw {
14061
- code: ErrorCodes.LOAD_ACCOUNT_ERROR,
14089
+ code: ErrorCodes$2.LOAD_ACCOUNT_ERROR,
14062
14090
  message: 'ERROR.LOAD_ACCOUNT_ERROR'
14063
14091
  };
14064
14092
  }
@@ -14226,7 +14254,7 @@ class AccountService extends BaseGraphqlService {
14226
14254
  if (!isNew) {
14227
14255
  const existingAccount = yield this.load({ fetchPolicy: 'network-only' });
14228
14256
  if (!existingAccount || !existingAccount.updateDate) {
14229
- throw { code: ErrorCodes.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
14257
+ throw { code: ErrorCodes$2.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
14230
14258
  }
14231
14259
  this.copyIdAndUpdateDate(existingAccount, account);
14232
14260
  }
@@ -14238,7 +14266,7 @@ class AccountService extends BaseGraphqlService {
14238
14266
  mutation: isNew ? AccountMutations.create : AccountMutations.save,
14239
14267
  variables: { data: json },
14240
14268
  error: {
14241
- code: ErrorCodes.SAVE_ACCOUNT_ERROR,
14269
+ code: ErrorCodes$2.SAVE_ACCOUNT_ERROR,
14242
14270
  message: 'ERROR.SAVE_ACCOUNT_ERROR'
14243
14271
  }
14244
14272
  });
@@ -14265,7 +14293,7 @@ class AccountService extends BaseGraphqlService {
14265
14293
  mutation: AccountMutations.saveSettings,
14266
14294
  variables: { data: json },
14267
14295
  error: {
14268
- code: ErrorCodes.SAVE_SETTINGS_ERROR,
14296
+ code: ErrorCodes$2.SAVE_SETTINGS_ERROR,
14269
14297
  message: 'ERROR.SAVE_SETTINGS_ERROR'
14270
14298
  }
14271
14299
  });
@@ -14287,7 +14315,7 @@ class AccountService extends BaseGraphqlService {
14287
14315
  if (counter > 4) {
14288
14316
  if (this._debug)
14289
14317
  console.debug(`[account] Failed to authentication on pod (after ${counter} attempts)`);
14290
- throw { code: ErrorCodes.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
14318
+ throw { code: ErrorCodes$2.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
14291
14319
  }
14292
14320
  // Check if valid
14293
14321
  if (token) {
@@ -14297,7 +14325,7 @@ class AccountService extends BaseGraphqlService {
14297
14325
  token
14298
14326
  },
14299
14327
  error: {
14300
- code: ErrorCodes.UNAUTHORIZED,
14328
+ code: ErrorCodes$2.UNAUTHORIZED,
14301
14329
  message: 'ERROR.UNAUTHORIZED'
14302
14330
  },
14303
14331
  fetchPolicy: 'no-cache'
@@ -14313,7 +14341,7 @@ class AccountService extends BaseGraphqlService {
14313
14341
  }
14314
14342
  // Generate a new token
14315
14343
  const challengeError = {
14316
- code: ErrorCodes.AUTH_CHALLENGE_ERROR,
14344
+ code: ErrorCodes$2.AUTH_CHALLENGE_ERROR,
14317
14345
  message: 'ERROR.AUTH_CHALLENGE_ERROR'
14318
14346
  };
14319
14347
  const data = yield this.graphql.query({
@@ -14352,7 +14380,7 @@ class AccountService extends BaseGraphqlService {
14352
14380
  target.updateDate = source.updateDate || target.updateDate;
14353
14381
  }
14354
14382
  }
14355
- AccountService.ɵprov = ɵɵdefineInjectable({ factory: function AccountService_Factory() { return new AccountService(ɵɵinject(CryptoService), ɵɵinject(NetworkService), ɵɵinject(GraphqlService), ɵɵinject(LocalSettingsService), ɵɵinject(Storage), ɵɵinject(FileService), ɵɵinject(ENVIRONMENT)); }, token: AccountService, providedIn: "root" });
14383
+ 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$1.Storage), i0.ɵɵinject(FileService), i0.ɵɵinject(ENVIRONMENT)); }, token: AccountService, providedIn: "root" });
14356
14384
  AccountService.decorators = [
14357
14385
  { type: Injectable, args: [{ providedIn: 'root' },] }
14358
14386
  ];
@@ -14612,7 +14640,7 @@ const CONFIGURATION_STORAGE_KEY = 'configuration';
14612
14640
  /* ------------------------------------
14613
14641
  * GraphQL queries
14614
14642
  * ------------------------------------*/
14615
- const Fragments$1 = {
14643
+ const Fragments = {
14616
14644
  config: gql `
14617
14645
  fragment ConfigFragment on ConfigurationVO {
14618
14646
  id
@@ -14639,13 +14667,13 @@ const Fragments$1 = {
14639
14667
  }
14640
14668
  `
14641
14669
  };
14642
- const LoadQuery$1 = gql `
14670
+ const LoadQuery = gql `
14643
14671
  query Configuration{
14644
14672
  data: configuration{
14645
14673
  ...ConfigFragment
14646
14674
  }
14647
14675
  }
14648
- ${Fragments$1.config}
14676
+ ${Fragments.config}
14649
14677
  `;
14650
14678
  // Save (create or update) account mutation
14651
14679
  const SaveMutation = gql `
@@ -14654,7 +14682,7 @@ const SaveMutation = gql `
14654
14682
  ...ConfigFragment
14655
14683
  }
14656
14684
  }
14657
- ${Fragments$1.config}
14685
+ ${Fragments.config}
14658
14686
  `;
14659
14687
  const ClearCache = gql `
14660
14688
  query ClearCache($name: String) {
@@ -14704,12 +14732,12 @@ class ConfigService extends BaseGraphqlService {
14704
14732
  return __awaiter(this, void 0, void 0, function* () {
14705
14733
  const now = Date.now();
14706
14734
  console.debug('[config] Loading Pod configuration...');
14707
- const query = opts && opts.query || LoadQuery$1;
14735
+ const query = opts && opts.query || LoadQuery;
14708
14736
  const variables = opts && opts.variables || undefined;
14709
14737
  const res = yield this.graphql.query({
14710
14738
  query,
14711
14739
  variables,
14712
- error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14740
+ error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14713
14741
  fetchPolicy: opts && opts.fetchPolicy || undefined /*default*/
14714
14742
  });
14715
14743
  const data = res && res.data ? Configuration.fromObject(res.data) : undefined;
@@ -14739,7 +14767,7 @@ class ConfigService extends BaseGraphqlService {
14739
14767
  data: json
14740
14768
  },
14741
14769
  error: {
14742
- code: ErrorCodes.SAVE_CONFIG_ERROR,
14770
+ code: ErrorCodes$2.SAVE_CONFIG_ERROR,
14743
14771
  message: 'ERROR.SAVE_CONFIG_ERROR'
14744
14772
  }
14745
14773
  });
@@ -14765,7 +14793,7 @@ class ConfigService extends BaseGraphqlService {
14765
14793
  const res = yield this.graphql.query({
14766
14794
  query: CacheStatistics,
14767
14795
  variables: null,
14768
- error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14796
+ error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14769
14797
  fetchPolicy: 'network-only'
14770
14798
  });
14771
14799
  const data = res && res.cacheStatistics || undefined;
@@ -14781,7 +14809,7 @@ class ConfigService extends BaseGraphqlService {
14781
14809
  const res = yield this.graphql.query({
14782
14810
  query: ClearCache,
14783
14811
  variables,
14784
- error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14812
+ error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14785
14813
  fetchPolicy: 'network-only'
14786
14814
  });
14787
14815
  const data = res && res.clearCache || undefined;
@@ -14940,7 +14968,7 @@ class ConfigService extends BaseGraphqlService {
14940
14968
  });
14941
14969
  }
14942
14970
  }
14943
- ConfigService.ɵprov = ɵɵdefineInjectable({ factory: function ConfigService_Factory() { return new ConfigService(ɵɵinject(Platform), ɵɵinject(GraphqlService), ɵɵinject(Storage), ɵɵinject(NetworkService), ɵɵinject(FileService), ɵɵinject(ToastController), ɵɵinject(TranslateService), ɵɵinject(ENVIRONMENT), ɵɵinject(APP_CONFIG_OPTIONS, 8)); }, token: ConfigService, providedIn: "root" });
14971
+ ConfigService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ConfigService_Factory() { return new ConfigService(i0.ɵɵinject(i1$4.Platform), i0.ɵɵinject(GraphqlService), i0.ɵɵinject(i3$1.Storage), i0.ɵɵinject(NetworkService), i0.ɵɵinject(FileService), i0.ɵɵinject(i1$4.ToastController), i0.ɵɵinject(i1$1.TranslateService), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(APP_CONFIG_OPTIONS, 8)); }, token: ConfigService, providedIn: "root" });
14944
14972
  ConfigService.decorators = [
14945
14973
  { type: Injectable, args: [{
14946
14974
  providedIn: 'root',
@@ -14959,7 +14987,7 @@ ConfigService.ctorParameters = () => [
14959
14987
  { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_CONFIG_OPTIONS,] }] }
14960
14988
  ];
14961
14989
 
14962
- const moment$4 = momentImported;
14990
+ const moment$2 = momentImported;
14963
14991
  class PlatformService extends StartableService {
14964
14992
  constructor(platform, cdkPlatform, toastController, translate, dateAdapter, entitiesStorage, settings, networkService, accountService, configService, cache, storage, audioProvider, environment, statusBar, keyboard, splashScreen, browser, downloader) {
14965
14993
  super(platform);
@@ -15163,16 +15191,16 @@ class PlatformService extends StartableService {
15163
15191
  }
15164
15192
  // config moment lib
15165
15193
  try {
15166
- moment$4.locale(event.lang);
15194
+ moment$2.locale(event.lang);
15167
15195
  console.debug('[platform] Use locale {' + event.lang + '}');
15168
15196
  }
15169
15197
  // If error, fallback to en
15170
15198
  catch (err) {
15171
- moment$4.locale('en');
15199
+ moment$2.locale('en');
15172
15200
  console.warn('[platform] Unknown local for moment lib. Using default [en]');
15173
15201
  }
15174
15202
  // Config date adapter
15175
- this.dateAdapter.setLocale(moment$4.locale());
15203
+ this.dateAdapter.setLocale(moment$2.locale());
15176
15204
  }
15177
15205
  });
15178
15206
  this.settings.onChange.subscribe(data => {
@@ -15306,7 +15334,7 @@ class PlatformService extends StartableService {
15306
15334
  });
15307
15335
  }
15308
15336
  }
15309
- PlatformService.ɵprov = ɵɵdefineInjectable({ factory: function PlatformService_Factory() { return new PlatformService(ɵɵinject(Platform), ɵɵinject(Platform$1), ɵɵinject(ToastController), ɵɵinject(TranslateService), ɵɵinject(MomentDateAdapter), ɵɵinject(EntitiesStorage), ɵɵinject(LocalSettingsService), ɵɵinject(NetworkService), ɵɵinject(AccountService), ɵɵinject(ConfigService), ɵɵinject(CacheService), ɵɵinject(Storage), ɵɵinject(AudioProvider), ɵɵinject(ENVIRONMENT), ɵɵinject(StatusBar, 8), ɵɵinject(Keyboard$1, 8), ɵɵinject(SplashScreen, 8), ɵɵinject(InAppBrowser, 8), ɵɵinject(Downloader, 8)); }, token: PlatformService, providedIn: "root" });
15337
+ PlatformService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PlatformService_Factory() { return new PlatformService(i0.ɵɵinject(i1$4.Platform), i0.ɵɵinject(i2$4.Platform), i0.ɵɵinject(i1$4.ToastController), i0.ɵɵinject(i1$1.TranslateService), i0.ɵɵinject(i1.MomentDateAdapter), i0.ɵɵinject(EntitiesStorage), i0.ɵɵinject(LocalSettingsService), i0.ɵɵinject(NetworkService), i0.ɵɵinject(AccountService), i0.ɵɵinject(ConfigService), i0.ɵɵinject(i6.CacheService), i0.ɵɵinject(i3$1.Storage), i0.ɵɵinject(AudioProvider), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(i14.StatusBar, 8), i0.ɵɵinject(i15.Keyboard, 8), i0.ɵɵinject(i10.SplashScreen, 8), i0.ɵɵinject(i17.InAppBrowser, 8), i0.ɵɵinject(i18.Downloader, 8)); }, token: PlatformService, providedIn: "root" });
15310
15338
  PlatformService.decorators = [
15311
15339
  { type: Injectable, args: [{ providedIn: 'root' },] }
15312
15340
  ];
@@ -15321,15 +15349,15 @@ PlatformService.ctorParameters = () => [
15321
15349
  { type: NetworkService },
15322
15350
  { type: AccountService },
15323
15351
  { type: ConfigService },
15324
- { type: CacheService$1 },
15352
+ { type: CacheService },
15325
15353
  { type: Storage },
15326
15354
  { type: AudioProvider },
15327
15355
  { type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
15328
- { type: StatusBar$1, decorators: [{ type: Optional }] },
15356
+ { type: StatusBar, decorators: [{ type: Optional }] },
15329
15357
  { type: Keyboard, decorators: [{ type: Optional }] },
15330
- { type: SplashScreen$1, decorators: [{ type: Optional }] },
15331
- { type: InAppBrowser$1, decorators: [{ type: Optional }] },
15332
- { type: Downloader$1, decorators: [{ type: Optional }] }
15358
+ { type: SplashScreen, decorators: [{ type: Optional }] },
15359
+ { type: InAppBrowser, decorators: [{ type: Optional }] },
15360
+ { type: Downloader, decorators: [{ type: Optional }] }
15333
15361
  ];
15334
15362
 
15335
15363
  class AppHelpModal {
@@ -15393,7 +15421,7 @@ class MatStepperI18n extends MatStepperIntl {
15393
15421
  this.optionalLabel = this.translate.instant('COMMON.OPTIONAL');
15394
15422
  }
15395
15423
  }
15396
- MatStepperI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(ɵɵinject(TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
15424
+ MatStepperI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(i0.ɵɵinject(i1$1.TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
15397
15425
  MatStepperI18n.decorators = [
15398
15426
  { type: Injectable, args: [{ providedIn: 'root' },] }
15399
15427
  ];
@@ -16395,7 +16423,7 @@ function state2side(state) {
16395
16423
  return 1;
16396
16424
  }
16397
16425
  }
16398
- const ɵ0$a = (defaultStateSize) => [
16426
+ const ɵ0$1 = (defaultStateSize) => [
16399
16427
  Math.round((rgbArrayMap.red[0] - 50) / defaultStateSize),
16400
16428
  Math.round((255 - rgbArrayMap.red[1]) / defaultStateSize),
16401
16429
  Math.round((255 - rgbArrayMap.red[2]) / defaultStateSize)
@@ -16403,7 +16431,7 @@ const ɵ0$a = (defaultStateSize) => [
16403
16431
  const SCALE_OPTIONS_DEFAULT = {
16404
16432
  startColor: rgbArrayMap.red,
16405
16433
  startStates: [0, 2, 3],
16406
- startStepsFn: ɵ0$a
16434
+ startStepsFn: ɵ0$1
16407
16435
  };
16408
16436
  /**
16409
16437
  * Internal function, that create a colors scale, using iteration
@@ -16495,21 +16523,21 @@ function linearColorGradient(count, options) {
16495
16523
  return result;
16496
16524
  }
16497
16525
 
16498
- class EntityTestClass {
16526
+ class EntityTestClass$1 {
16499
16527
  }
16500
- const FAKE_ENTITIES = [
16528
+ const FAKE_ENTITIES$1 = [
16501
16529
  { id: 1, label: 'AAA', name: 'Item A', description: 'Very long description A', comments: 'Very very long comments... again for A' },
16502
16530
  { id: 2, label: 'BBB', name: 'Item B', description: 'Very long description B', comments: 'Very very long comments... again for B' },
16503
16531
  { id: 3, label: 'CCC', name: 'Item C', description: 'Very long description C', comments: 'Very very long comments... again for C' }
16504
16532
  ];
16505
- function deepCopy(values, size) {
16533
+ function deepCopy$1(values, size) {
16506
16534
  if (isNil(size)) {
16507
- return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
16535
+ return (values || FAKE_ENTITIES$1).map(entity => Object.assign({}, entity));
16508
16536
  }
16509
16537
  let result = [];
16510
16538
  let i = 1;
16511
16539
  while (result.length < size) {
16512
- result = result.concat((values || FAKE_ENTITIES).map(entity => {
16540
+ result = result.concat((values || FAKE_ENTITIES$1).map(entity => {
16513
16541
  const name = entity.name + ' #' + i;
16514
16542
  return Object.assign(Object.assign({}, entity), { id: i++, name });
16515
16543
  }));
@@ -16519,7 +16547,7 @@ function deepCopy(values, size) {
16519
16547
  class AutocompleteTestPage {
16520
16548
  constructor(formBuilder) {
16521
16549
  this.formBuilder = formBuilder;
16522
- this._items = deepCopy(FAKE_ENTITIES, 100);
16550
+ this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
16523
16551
  this._$items = new BehaviorSubject(undefined);
16524
16552
  this.autocompleteFields = new MatAutocompleteConfigHolder();
16525
16553
  this.memoryHide = false;
@@ -16563,7 +16591,7 @@ class AutocompleteTestPage {
16563
16591
  });
16564
16592
  // From items
16565
16593
  this.autocompleteFields.add('entity-items-large', {
16566
- items: FAKE_ENTITIES.slice(),
16594
+ items: FAKE_ENTITIES$1.slice(),
16567
16595
  attributes: ['label', 'name', 'description', 'comments'],
16568
16596
  displayWith: this.entityToString
16569
16597
  });
@@ -16573,12 +16601,12 @@ class AutocompleteTestPage {
16573
16601
  loadData() {
16574
16602
  return __awaiter(this, void 0, void 0, function* () {
16575
16603
  const data = {
16576
- entity: deepCopy(FAKE_ENTITIES)[0],
16604
+ entity: deepCopy$1(FAKE_ENTITIES$1)[0],
16577
16605
  // This item is NOT in the items list => i should be displayed anyway
16578
16606
  missingEntity: {
16579
16607
  id: -1, label: '??', name: 'Missing item'
16580
16608
  },
16581
- disableEntity: deepCopy(FAKE_ENTITIES)[2]
16609
+ disableEntity: deepCopy$1(FAKE_ENTITIES$1)[2]
16582
16610
  };
16583
16611
  this.form.setValue(data);
16584
16612
  // Load observables
@@ -16751,13 +16779,13 @@ MaterialTestingPage.ctorParameters = () => [
16751
16779
  { type: Array, decorators: [{ type: Optional }, { type: Inject, args: [APP_TESTING_PAGES,] }] }
16752
16780
  ];
16753
16781
 
16754
- const moment$5 = momentImported;
16782
+ const moment$1 = momentImported;
16755
16783
  class SwipeTestPage {
16756
16784
  constructor(formBuilder, dateFormatPipe) {
16757
16785
  this.formBuilder = formBuilder;
16758
16786
  this.dateFormatPipe = dateFormatPipe;
16759
16787
  this.$dates = new BehaviorSubject(undefined);
16760
- this._today = moment$5().startOf('day');
16788
+ this._today = moment$1().startOf('day');
16761
16789
  this.form = formBuilder.group({
16762
16790
  empty: [null, Validators.required],
16763
16791
  date: [null, Validators.compose([Validators.required, SharedValidators.validDate])],
@@ -16770,7 +16798,7 @@ class SwipeTestPage {
16770
16798
  ngOnInit() {
16771
16799
  const dates = [];
16772
16800
  for (let d = 0; d < 7; d++) {
16773
- dates[d] = moment$5(this._today).add(d - 3, 'day');
16801
+ dates[d] = moment$1(this._today).add(d - 3, 'day');
16774
16802
  }
16775
16803
  this.$dates.next(dates);
16776
16804
  this.loadData();
@@ -16811,7 +16839,7 @@ SwipeTestPage.ctorParameters = () => [
16811
16839
  { type: DateFormatPipe }
16812
16840
  ];
16813
16841
 
16814
- const moment$6 = momentImported;
16842
+ const moment = momentImported;
16815
16843
  class DateTimeTestPage {
16816
16844
  constructor(platform, formBuilder, cd) {
16817
16845
  this.platform = platform;
@@ -16843,7 +16871,7 @@ class DateTimeTestPage {
16843
16871
  // Load the form with data
16844
16872
  loadData() {
16845
16873
  return __awaiter(this, void 0, void 0, function* () {
16846
- const now = moment$6();
16874
+ const now = moment();
16847
16875
  const data = {
16848
16876
  empty: toDateISOString(now.clone().add(2, 'hours')),
16849
16877
  enable: toDateISOString(now),
@@ -16904,9 +16932,9 @@ DateTimeTestPage.ctorParameters = () => [
16904
16932
  { type: ChangeDetectorRef }
16905
16933
  ];
16906
16934
 
16907
- class EntityTestClass$1 {
16935
+ class EntityTestClass {
16908
16936
  }
16909
- const FAKE_ENTITIES$1 = [
16937
+ const FAKE_ENTITIES = [
16910
16938
  { id: 1, label: 'AAA', name: 'Item A' },
16911
16939
  { id: 2, label: 'BBB', name: 'Item B' },
16912
16940
  { id: 3, label: 'CCC', name: 'Item C' },
@@ -16915,14 +16943,14 @@ const FAKE_ENTITIES$1 = [
16915
16943
  { id: 6, label: 'FFF', name: 'Item F' },
16916
16944
  { id: 7, label: 'GGG', name: 'Item G' }
16917
16945
  ];
16918
- function deepCopy$1(values, size) {
16946
+ function deepCopy(values, size) {
16919
16947
  if (isNil(size)) {
16920
- return (values || FAKE_ENTITIES$1).map(entity => Object.assign({}, entity));
16948
+ return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
16921
16949
  }
16922
16950
  let result = [];
16923
16951
  let i = 1;
16924
16952
  while (result.length < size) {
16925
- result = result.concat((values || FAKE_ENTITIES$1).map(entity => {
16953
+ result = result.concat((values || FAKE_ENTITIES).map(entity => {
16926
16954
  const name = entity.name + ' #' + i;
16927
16955
  return Object.assign(Object.assign({}, entity), { id: i++, name });
16928
16956
  }));
@@ -16932,7 +16960,7 @@ function deepCopy$1(values, size) {
16932
16960
  class ChipsTestPage {
16933
16961
  constructor(formBuilder) {
16934
16962
  this.formBuilder = formBuilder;
16935
- this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
16963
+ this._items = deepCopy(FAKE_ENTITIES, 100);
16936
16964
  this._$items = new BehaviorSubject(undefined);
16937
16965
  this.autocompleteFields = new MatAutocompleteConfigHolder();
16938
16966
  this.form = formBuilder.group({
@@ -16971,7 +16999,7 @@ class ChipsTestPage {
16971
16999
  // Load the form with data
16972
17000
  loadData() {
16973
17001
  return __awaiter(this, void 0, void 0, function* () {
16974
- const items = deepCopy$1(FAKE_ENTITIES$1);
17002
+ const items = deepCopy(FAKE_ENTITIES);
16975
17003
  const data = {
16976
17004
  entity: items.slice(0, 1),
16977
17005
  entityInitial: items.slice(1, 2),
@@ -17041,7 +17069,7 @@ MatBadgeIconTestPage.decorators = [
17041
17069
  },] }
17042
17070
  ];
17043
17071
 
17044
- const routes = [
17072
+ const routes$1 = [
17045
17073
  {
17046
17074
  path: '',
17047
17075
  pathMatch: 'full',
@@ -17093,7 +17121,7 @@ MaterialTestingModule.decorators = [
17093
17121
  ReactiveFormsModule,
17094
17122
  SharedMaterialModule,
17095
17123
  TranslateModule.forChild(),
17096
- RouterModule.forChild(routes)
17124
+ RouterModule.forChild(routes$1)
17097
17125
  ],
17098
17126
  declarations: [
17099
17127
  MaterialTestingPage,
@@ -17495,7 +17523,7 @@ class AuthForm extends AppForm {
17495
17523
  this.form.get('username').setValidators(Validators.required);
17496
17524
  }
17497
17525
  // Enable/disable registration link
17498
- this.canRegister = config.getProperty(CORE_CONFIG_OPTIONS.REGISTRATION_ENABLE);
17526
+ this.canRegister = config.getPropertyAsBoolean(CORE_CONFIG_OPTIONS.REGISTRATION_ENABLE);
17499
17527
  this.markForCheck();
17500
17528
  }));
17501
17529
  // For DEV only
@@ -18108,7 +18136,7 @@ class UserSettingsValidatorService extends AppValidatorService {
18108
18136
  });
18109
18137
  }
18110
18138
  }
18111
- UserSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(ɵɵinject(FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
18139
+ UserSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(i0.ɵɵinject(i1$6.FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
18112
18140
  UserSettingsValidatorService.decorators = [
18113
18141
  { type: Injectable, args: [{ providedIn: 'root' },] }
18114
18142
  ];
@@ -18152,7 +18180,7 @@ class AccountValidatorService extends AppValidatorService {
18152
18180
  return validatorFns.length ? Validators.compose(validatorFns) : validatorFns.length === 1 ? validatorFns[0] : undefined;
18153
18181
  }
18154
18182
  }
18155
- AccountValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
18183
+ AccountValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(i0.ɵɵinject(i1$6.FormBuilder), i0.ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
18156
18184
  AccountValidatorService.decorators = [
18157
18185
  { type: Injectable, args: [{ providedIn: 'root' },] }
18158
18186
  ];
@@ -18717,7 +18745,7 @@ class LocalSettingsValidatorService extends AppValidatorService {
18717
18745
  });
18718
18746
  }
18719
18747
  }
18720
- LocalSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(ɵɵinject(FormBuilder), ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
18748
+ LocalSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(i0.ɵɵinject(i1$6.FormBuilder), i0.ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
18721
18749
  LocalSettingsValidatorService.decorators = [
18722
18750
  { type: Injectable, args: [{ providedIn: 'root' },] }
18723
18751
  ];
@@ -19336,7 +19364,7 @@ class IsOnFieldModePipe {
19336
19364
  return value === 'FIELD';
19337
19365
  }
19338
19366
  }
19339
- IsOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
19367
+ IsOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
19340
19368
  IsOnFieldModePipe.decorators = [
19341
19369
  { type: Pipe, args: [{
19342
19370
  name: 'isOnField'
@@ -19348,7 +19376,7 @@ class IsNotOnFieldModePipe {
19348
19376
  return value !== 'FIELD';
19349
19377
  }
19350
19378
  }
19351
- IsNotOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
19379
+ IsNotOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
19352
19380
  IsNotOnFieldModePipe.decorators = [
19353
19381
  { type: Pipe, args: [{
19354
19382
  name: 'isNotOnField'
@@ -19363,7 +19391,7 @@ class PersonToStringPipe {
19363
19391
  return PersonUtils.personToString(value);
19364
19392
  }
19365
19393
  }
19366
- PersonToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
19394
+ PersonToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
19367
19395
  PersonToStringPipe.decorators = [
19368
19396
  { type: Pipe, args: [{
19369
19397
  name: 'personToString'
@@ -19748,7 +19776,7 @@ class IsLoginAccountPipe {
19748
19776
  return value && value.pubkey && true;
19749
19777
  }
19750
19778
  }
19751
- IsLoginAccountPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
19779
+ IsLoginAccountPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
19752
19780
  IsLoginAccountPipe.decorators = [
19753
19781
  { type: Pipe, args: [{
19754
19782
  name: 'isLogin'
@@ -19760,7 +19788,7 @@ class AccountToStringPipe {
19760
19788
  return accountToString(value);
19761
19789
  }
19762
19790
  }
19763
- AccountToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
19791
+ AccountToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
19764
19792
  AccountToStringPipe.decorators = [
19765
19793
  { type: Pipe, args: [{
19766
19794
  name: 'accountToString'
@@ -19775,7 +19803,7 @@ class DepartmentToStringPipe {
19775
19803
  return departmentToString(value);
19776
19804
  }
19777
19805
  }
19778
- DepartmentToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
19806
+ DepartmentToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
19779
19807
  DepartmentToStringPipe.decorators = [
19780
19808
  { type: Pipe, args: [{
19781
19809
  name: 'departmentToString'
@@ -19801,7 +19829,7 @@ class MenuService {
19801
19829
  this._visibleSubject.next(value);
19802
19830
  }
19803
19831
  }
19804
- MenuService.ɵprov = ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
19832
+ MenuService.ɵprov = i0.ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
19805
19833
  MenuService.decorators = [
19806
19834
  { type: Injectable, args: [{
19807
19835
  providedIn: 'root'
@@ -20325,7 +20353,7 @@ class AuthGuardService {
20325
20353
  }));
20326
20354
  }
20327
20355
  }
20328
- AuthGuardService.ɵprov = ɵɵdefineInjectable({ factory: function AuthGuardService_Factory() { return new AuthGuardService(ɵɵinject(AccountService), ɵɵinject(ModalController), ɵɵinject(Router), ɵɵinject(ENVIRONMENT)); }, token: AuthGuardService, providedIn: "root" });
20356
+ AuthGuardService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AuthGuardService_Factory() { return new AuthGuardService(i0.ɵɵinject(AccountService), i0.ɵɵinject(i1$4.ModalController), i0.ɵɵinject(i3$3.Router), i0.ɵɵinject(ENVIRONMENT)); }, token: AuthGuardService, providedIn: "root" });
20329
20357
  AuthGuardService.decorators = [
20330
20358
  { type: Injectable, args: [{ providedIn: 'root' },] }
20331
20359
  ];
@@ -20367,7 +20395,7 @@ class BaseEntityService extends BaseGraphqlService {
20367
20395
  query,
20368
20396
  variables: { id },
20369
20397
  fetchPolicy: opts && opts.fetchPolicy || undefined,
20370
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
20398
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
20371
20399
  })
20372
20400
  .pipe(map(({ data }) => (!opts || opts.toEntity !== false)
20373
20401
  ? (data && this.fromObject(data))
@@ -20382,7 +20410,7 @@ class BaseEntityService extends BaseGraphqlService {
20382
20410
  query,
20383
20411
  variables: { id },
20384
20412
  fetchPolicy: opts && opts.fetchPolicy || undefined,
20385
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
20413
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
20386
20414
  });
20387
20415
  // Convert to entity
20388
20416
  return (!opts || opts.toEntity !== false)
@@ -20413,7 +20441,7 @@ class BaseEntityService extends BaseGraphqlService {
20413
20441
  totalFieldName: withTotal ? 'total' : undefined,
20414
20442
  insertFilterFn: filter && filter.asFilterFn(),
20415
20443
  variables,
20416
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
20444
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
20417
20445
  fetchPolicy: opts && opts.fetchPolicy || undefined
20418
20446
  })
20419
20447
  .pipe(map(({ data, total }) => {
@@ -20449,7 +20477,7 @@ class BaseEntityService extends BaseGraphqlService {
20449
20477
  const { data, total } = yield this.graphql.query({
20450
20478
  query,
20451
20479
  variables,
20452
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
20480
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
20453
20481
  fetchPolicy: opts && opts.fetchPolicy || 'network-only'
20454
20482
  });
20455
20483
  const entities = (!opts || opts.toEntity !== false) ?
@@ -20488,7 +20516,7 @@ class BaseEntityService extends BaseGraphqlService {
20488
20516
  variables: {
20489
20517
  filter: filter && filter.asPodObject()
20490
20518
  },
20491
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
20519
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
20492
20520
  fetchPolicy: opts && opts.fetchPolicy || 'network-only'
20493
20521
  });
20494
20522
  return res.total;
@@ -20521,7 +20549,7 @@ class BaseEntityService extends BaseGraphqlService {
20521
20549
  variables: {
20522
20550
  data: json
20523
20551
  },
20524
- error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
20552
+ error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
20525
20553
  update: (proxy, { data }) => {
20526
20554
  const savedEntities = data && data.data;
20527
20555
  if (savedEntities) {
@@ -20577,7 +20605,7 @@ class BaseEntityService extends BaseGraphqlService {
20577
20605
  variables: {
20578
20606
  data: json
20579
20607
  },
20580
- error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
20608
+ error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
20581
20609
  update: (cache, { data }) => {
20582
20610
  // Update entity
20583
20611
  const savedEntity = data && data.data;
@@ -20625,7 +20653,7 @@ class BaseEntityService extends BaseGraphqlService {
20625
20653
  refetchQueries: this.getRefetchQueriesForMutation(opts),
20626
20654
  awaitRefetchQueries: opts && opts.awaitRefetchQueries,
20627
20655
  variables: { ids },
20628
- error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
20656
+ error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
20629
20657
  update: (cache, res) => {
20630
20658
  // Remove from cache
20631
20659
  if (this.watchQueriesUpdatePolicy === 'update-cache') {
@@ -20666,7 +20694,7 @@ class BaseEntityService extends BaseGraphqlService {
20666
20694
  refetchQueries: this.getRefetchQueriesForMutation(opts),
20667
20695
  awaitRefetchQueries: opts && opts.awaitRefetchQueries,
20668
20696
  variables: { id },
20669
- error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
20697
+ error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
20670
20698
  update: (proxy, res) => {
20671
20699
  // Remove from cache
20672
20700
  if (this.watchQueriesUpdatePolicy === 'update-cache') {
@@ -20699,7 +20727,7 @@ class BaseEntityService extends BaseGraphqlService {
20699
20727
  query: opts && opts.query || this.subscriptions.listenChanges,
20700
20728
  variables,
20701
20729
  error: {
20702
- code: ErrorCodes.SUBSCRIBE_DATA_ERROR,
20730
+ code: ErrorCodes$2.SUBSCRIBE_DATA_ERROR,
20703
20731
  message: 'ERROR.SUBSCRIBE_DATA_ERROR'
20704
20732
  }
20705
20733
  })
@@ -20885,7 +20913,7 @@ class EntitiesTableDataSource extends TableDataSource {
20885
20913
  if (this._debug)
20886
20914
  invalidRows.forEach(row => AppTableUtils.logRowErrors(row, `[table-datasource] ${this._logTypeName} row #${row.id}`));
20887
20915
  // Stop with an error
20888
- throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
20916
+ throw { code: ErrorCodes$2.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
20889
20917
  }
20890
20918
  this._editingRowCount = 0;
20891
20919
  let data;
@@ -21445,7 +21473,7 @@ class AppTable {
21445
21473
  .subscribe(value => this.onDirty.emit(value)));
21446
21474
  // Propagate row dirty state to table
21447
21475
  this.registerSubscription(this.onStartEditingRow
21448
- .pipe(filter(row => row.validator && true), mergeMap(row => row.validator.valueChanges
21476
+ .pipe(filter(row => (row === null || row === void 0 ? void 0 : row.validator) && true), mergeMap(row => row.validator.valueChanges
21449
21477
  .pipe(takeUntil(
21450
21478
  // Stop if next another row, or destroying
21451
21479
  combineLatest([
@@ -21747,14 +21775,14 @@ class AppTable {
21747
21775
  return __awaiter(this, void 0, void 0, function* () {
21748
21776
  opts = Object.assign({ keepEditing: this.keepEditedRowOnSave }, opts);
21749
21777
  if (this.readOnly) {
21750
- throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
21778
+ throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
21751
21779
  }
21752
21780
  this.resetError();
21753
21781
  // Keep edited row id (should be done BEFORE confirmEditCreate() )
21754
21782
  this.previouslyEditedRowId = opts.keepEditing && ((_a = this.editedRow) === null || _a === void 0 ? void 0 : _a.editing) ? this.editedRow.id : undefined;
21755
21783
  const previouslyEditedData = isNotNil(this.previouslyEditedRowId) && this.editedRow.currentData || ((_b = this.singleSelectedRow) === null || _b === void 0 ? void 0 : _b.currentData);
21756
21784
  if (!this.confirmEditCreate()) {
21757
- throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
21785
+ throw { code: ErrorCodes$2.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
21758
21786
  }
21759
21787
  // Mark as saving
21760
21788
  this.markAsSaving();
@@ -21871,7 +21899,7 @@ class AppTable {
21871
21899
  var _a;
21872
21900
  return __awaiter(this, void 0, void 0, function* () {
21873
21901
  if (this.readOnly) {
21874
- throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
21902
+ throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
21875
21903
  }
21876
21904
  if (event === null || event === void 0 ? void 0 : event.defaultPrevented)
21877
21905
  return 0; // SKip
@@ -23397,7 +23425,7 @@ class AppEntityEditor extends AppTabEditor {
23397
23425
  try {
23398
23426
  const data = yield this.dataService.load(id, opts);
23399
23427
  if (!data)
23400
- throw { code: ErrorCodes.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
23428
+ throw { code: ErrorCodes$2.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
23401
23429
  this._usageMode = this.computeUsageMode(data);
23402
23430
  yield this.onEntityLoaded(data, opts);
23403
23431
  yield this.updateView(data, opts);
@@ -24302,7 +24330,7 @@ class UserEventService extends BaseGraphqlService {
24302
24330
  EntityUtils.copyIdAndUpdateDate(source, target);
24303
24331
  }
24304
24332
  }
24305
- UserEventService.ɵprov = ɵɵdefineInjectable({ factory: function UserEventService_Factory() { return new UserEventService(ɵɵinject(GraphqlService), ɵɵinject(AccountService), ɵɵinject(NetworkService), ɵɵinject(TranslateService), ɵɵinject(ToastController), ɵɵinject(ENVIRONMENT)); }, token: UserEventService, providedIn: "root" });
24333
+ UserEventService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UserEventService_Factory() { return new UserEventService(i0.ɵɵinject(GraphqlService), i0.ɵɵinject(AccountService), i0.ɵɵinject(NetworkService), i0.ɵɵinject(i1$1.TranslateService), i0.ɵɵinject(i1$4.ToastController), i0.ɵɵinject(ENVIRONMENT)); }, token: UserEventService, providedIn: "root" });
24306
24334
  UserEventService.decorators = [
24307
24335
  { type: Injectable, args: [{ providedIn: 'root' },] }
24308
24336
  ];
@@ -24687,7 +24715,7 @@ class PersonService extends BaseEntityService {
24687
24715
  return target;
24688
24716
  }
24689
24717
  }
24690
- PersonService.ɵprov = ɵɵdefineInjectable({ factory: function PersonService_Factory() { return new PersonService(ɵɵinject(GraphqlService), ɵɵinject(PlatformService), ɵɵinject(NetworkService), ɵɵinject(EntitiesStorage)); }, token: PersonService, providedIn: "root" });
24718
+ 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" });
24691
24719
  PersonService.decorators = [
24692
24720
  { type: Injectable, args: [{ providedIn: 'root' },] }
24693
24721
  ];
@@ -24718,7 +24746,7 @@ class PersonValidatorService {
24718
24746
  return this.formBuilder.group(formConfig);
24719
24747
  }
24720
24748
  }
24721
- PersonValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
24749
+ PersonValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(i0.ɵɵinject(i1$6.FormBuilder), i0.ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
24722
24750
  PersonValidatorService.decorators = [
24723
24751
  { type: Injectable, args: [{ providedIn: 'root' },] }
24724
24752
  ];
@@ -24924,16 +24952,16 @@ AdminModule.decorators = [
24924
24952
  ];
24925
24953
  AdminModule.ctorParameters = () => [];
24926
24954
 
24927
- const ɵ0$b = {
24955
+ const ɵ0 = {
24928
24956
  profile: 'ADMIN'
24929
24957
  };
24930
- const routes$1 = [
24958
+ const routes = [
24931
24959
  {
24932
24960
  path: 'users',
24933
24961
  pathMatch: 'full',
24934
24962
  component: UsersPage,
24935
24963
  canActivate: [AuthGuardService],
24936
- data: ɵ0$b
24964
+ data: ɵ0
24937
24965
  }
24938
24966
  ];
24939
24967
  class AdminRoutingModule {
@@ -24943,13 +24971,13 @@ AdminRoutingModule.decorators = [
24943
24971
  imports: [
24944
24972
  SharedRoutingModule,
24945
24973
  AdminModule,
24946
- RouterModule.forChild(routes$1)
24974
+ RouterModule.forChild(routes)
24947
24975
  ],
24948
24976
  exports: [RouterModule]
24949
24977
  },] }
24950
24978
  ];
24951
24979
 
24952
- const ErrorCodes$2 = {
24980
+ const ErrorCodes = {
24953
24981
  LOAD_PERSONS_ERROR: 100,
24954
24982
  SAVE_PERSONS_ERROR: 101,
24955
24983
  DELETE_PERSONS_ERROR: 102,
@@ -24961,5 +24989,5 @@ const ErrorCodes$2 = {
24961
24989
  * Generated bundle index. Do not edit.
24962
24990
  */
24963
24991
 
24964
- export { APP_ABOUT_DEVELOPERS, APP_ABOUT_PARTNERS, APP_CONFIG_OPTIONS, APP_FORM_ERROR_I18N_KEYS, APP_GRAPHQL_TYPE_POLICIES, APP_HOME_BUTTONS, APP_LOCALES, APP_LOCAL_SETTINGS, APP_LOCAL_SETTINGS_OPTIONS, APP_LOCAL_STORAGE_TYPE_POLICIES, APP_MENU_ITEMS, APP_TESTING_PAGES, AboutModal, Account, AccountPage, AccountService, AccountToStringPipe, ActionsColumnComponent, AdminModule, AdminRoutingModule, Alerts, AnimationState, AppEditor, AppEditorOptions, AppEntityEditor, AppForm, AppFormField, AppFormProvider, AppFormUtils, AppGestureConfig, AppGraphQLModule, AppHelpModal, AppInMemoryTable, AppInstallUpgradeCard, AppListForm, AppLoadingSpinner, AppMenuModule, AppNullForm, AppPropertiesForm, AppTabEditor, AppTabEditorOptions, AppTable, AppTableDataSourceOptions, AppTableUtils, AppValidatorService, AppendToInputDirective, ArrayFilterPipe, ArrayFirstPipe, ArrayIncludesPipe, ArrayLengthPipe, ArrayPluckPipe, AudioProvider, AuthForm, AuthGuardService, AuthModal, AutocompleteTestPage, AutofocusDirective, Base58, BaseEntityService, BaseGraphqlService, BaseGraphqlServiceOptions, BaseReferential, Beans, CORE_CONFIG_OPTIONS, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigService, Configuration, CoreModule, CryptoService, DATE_ISO_PATTERN, DATE_UNIX_MS_TIMESTAMP, DATE_UNIX_TIMESTAMP, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLACEHOLDER_CHAR, DEFAULT_REQUIRED_COLUMNS, DateDiffDurationPipe, DateFormatPipe, DateFromNowPipe, DateTimeTestPage, DateUtils, Department, DepartmentToStringPipe, DurationPipe, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesService, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, ErrorCodes$2 as ErrorCodes, EvenPipe, FileService, FileSizePipe, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, FormErrorTranslatePipe, FormErrorTranslator, FormFieldValuesHolder, Fragments$1 as Fragments, GraphqlService, HAMMER_PRESS_TIME, HAMMER_TAP_TIME, HighlightPipe, HomePage, Hotkeys, HotkeysDialogComponent, InMemoryEntitiesService, IsLoginAccountPipe, IsNilOrBlankPipe, IsNotNilOrBlankPipe, IsNotOnFieldModePipe, IsOnFieldModePipe, JobUtils, KEYBOARD_HIDE_DELAY_MS, LAT_LONG_DEFAULT_MAX_DECIMALS, LAT_LONG_PATTERNS, LatLongFormatPipe, LatLongTestPage, LatitudeFormatPipe, LocalSettingsService, LongitudeFormatPipe, MINIFY_ENTITY_FOR_LOCAL_STORAGE, MINIFY_ENTITY_FOR_POD, MapGetPipe, MapKeysPipe, MapValuesPipe, MatAutocompleteConfigHolder, MatAutocompleteField, MatBooleanField, MatChipsField, MatDate, MatDateShort, MatDateTime, MatDuration, MatLatLongField, MatNumpadComponent, MatNumpadContainerComponent, MatNumpadContent, MatPaginatorI18n, MatStepperI18n, MatSwipeField, MaterialChipsModule, MaterialTestingModule, MaterialTestingPage, MathAbsPipe, MenuComponent, MenuItems, MenuService, ModalToolbarComponent, NetworkService, NgInitDirective, NotEmptyArrayPipe, NumberFormatPipe, NumpadDirective, OddPipe, PRIORITIZED_AUTHORITIES, PUBKEY_REGEXP, Peer, Person, PersonFilter, PersonFragments, PersonService, PersonToStringPipe, PersonUtils, PersonValidatorService, PlatformService, ProgressBarService, ProgressInterceptor, PropertyGetPipe, RESERVED_END_COLUMNS, RESERVED_START_COLUMNS, Referential, ReferentialRef, ReferentialUtils, RegisterConfirmPage, SETTINGS_DISPLAY_COLUMNS, SETTINGS_FILTER, SETTINGS_PAGE_SIZE, SETTINGS_SORTED_COLUMN, SETTINGS_STORAGE_KEY, SETTINGS_TRANSIENT_PROPERTIES, SPACE_PLACEHOLDER_CHAR, SelectPeerModal, SettingsPage, SharedDirectivesModule, SharedFormArrayValidators, SharedFormGroupValidators, SharedHotkeysModule, SharedMatAutocompleteModule, SharedMatBooleanModule, SharedMatDateTimeModule, SharedMatDurationModule, SharedMatLatLongModule, SharedMatNumpadModule, SharedMatSwipeModule, SharedMaterialModule, SharedModule, SharedPipesModule, SharedRoutingModule, SharedTestingModule, SharedValidators, SocialModule, Software, StartableService, StatusById, StatusIds, StatusList, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, UserEvent, UserEventFilter, UserEventService, UserEventTypes, UserEventsTable, UserSettings, UsersPage, accountToString, adaptValueToControl, addValueInArray, arrayDistinct, arrayGroupBy, arraySize, asInputElement, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, copyEntity2Form, createPromiseEvent, createPromiseEventEmitter, departmentToString, departmentsToString, disableControls, emitPromiseEvent, entityToString, equals, equalsOrNil, fadeInAnimation, fadeInOutAnimation, filterFalse, filterNotNil, filterNumberInput, filterTrue, firstArrayValue, firstFalse, firstFalsePromise, firstNotNil, firstNotNilPromise, firstTrue, firstTruePromise, focusInput, focusNextInput, focusPreviousInput, formatLatitude, formatLongitude, fromDateISOString, fromScrollEndEvent, fromUnixMsTimestamp, fromUnixTimestamp, getCaretPosition, getColorContrast, getColorShade, getColorTint, getConnectionType, getControlFromPath, getFocusableInputElements, getFormErrors, getFormValueFromEntity, getProperty, getPropertyByPath, getPropertyByPathAsString, getRandomImage, hexToRgb, hexToRgbArray, isControlHasInput, isEmptyArray, isInputElement, isInstanceOf, isInt, isNil, isNilOrBlank, isNilOrNaN, isNotEmptyArray, isNotNil, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, joinProperties, joinPropertiesPath, logFormErrors, markAllAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, matchUpperCase, mergeLoadResult, mixHex, moveInputCaretToSeparator, noTrailingSlash, notNilOrDefault, nullIfUndefined, parseLatitudeOrLongitude, propertiesPathComparator, propertyComparator, propertyPathComparator, referentialToString, referentialsToString, remove, removeAll, removeDiacritics, removeDuplicatesFromArray, removeEnd, removeValueInArray, replaceAll, resetCalculatedValue, resizeArray, rgbArrayToHex, rgbToHex, round, scrollFactory, selectInputContent, selectInputRange, setCalculatedValue, setTabIndex, sleep, slideInOutAnimation, slideUpDownAnimation, sort, splitById, splitByProperty, startsWithUpperCase, suggestFromArray, suggestFromStringArray, tabindexComparator, toBoolean, toDateISOString, toDuration, toFloat, toInt, toNotNil, toNumber, trimEmptyToNull, uncapitalizeFirstLetter, updateValueAndValidity, waitFor, waitForTrue, waitIdle, waitWhilePending, ɵ0$7 as ɵ0, CustomReuseStrategy as ɵa, MatNumpadDomService as ɵb, SharedMatBadgeIconModule as ɵc, MatBadgeIconDirective as ɵd, isFocusableElement as ɵe, MatBadgeIconTestPage as ɵf, RegisterForm as ɵg, AccountValidatorService as ɵh, RegisterModal as ɵi, UserSettingsValidatorService as ɵj, LocalSettingsValidatorService as ɵk, AppIconComponent as ɵl };
24992
+ export { APP_ABOUT_DEVELOPERS, APP_ABOUT_PARTNERS, APP_CONFIG_OPTIONS, APP_FORM_ERROR_I18N_KEYS, APP_GRAPHQL_TYPE_POLICIES, APP_HOME_BUTTONS, APP_LOCALES, APP_LOCAL_SETTINGS, APP_LOCAL_SETTINGS_OPTIONS, APP_LOCAL_STORAGE_TYPE_POLICIES, APP_MENU_ITEMS, APP_TESTING_PAGES, AboutModal, Account, AccountPage, AccountService, AccountToStringPipe, ActionsColumnComponent, AdminModule, AdminRoutingModule, Alerts, AnimationState, AppEditor, AppEditorOptions, AppEntityEditor, AppForm, AppFormField, AppFormProvider, AppFormUtils, AppGestureConfig, AppGraphQLModule, AppHelpModal, AppInMemoryTable, AppInstallUpgradeCard, AppListForm, AppLoadingSpinner, AppMenuModule, AppNullForm, AppPropertiesForm, AppTabEditor, AppTabEditorOptions, AppTable, AppTableDataSourceOptions, AppTableUtils, AppValidatorService, AppendToInputDirective, ArrayFilterPipe, ArrayFirstPipe, ArrayIncludesPipe, ArrayLengthPipe, ArrayPluckPipe, AudioProvider, AuthForm, AuthGuardService, AuthModal, AutocompleteTestPage, AutofocusDirective, Base58, BaseEntityService, BaseGraphqlService, BaseGraphqlServiceOptions, BaseReferential, Beans, CORE_CONFIG_OPTIONS, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigService, Configuration, CoreModule, CryptoService, DATE_ISO_PATTERN, DATE_UNIX_MS_TIMESTAMP, DATE_UNIX_TIMESTAMP, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLACEHOLDER_CHAR, DEFAULT_REQUIRED_COLUMNS, DateDiffDurationPipe, DateFormatPipe, DateFromNowPipe, DateTimeTestPage, DateUtils, Department, DepartmentToStringPipe, DurationPipe, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesService, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, ErrorCodes, EvenPipe, FileService, FileSizePipe, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, FormErrorTranslatePipe, FormErrorTranslator, FormFieldValuesHolder, Fragments, GraphqlService, HAMMER_PRESS_TIME, HAMMER_TAP_TIME, HighlightPipe, HomePage, Hotkeys, HotkeysDialogComponent, InMemoryEntitiesService, IsLoginAccountPipe, IsNilOrBlankPipe, IsNotNilOrBlankPipe, IsNotOnFieldModePipe, IsOnFieldModePipe, JobUtils, KEYBOARD_HIDE_DELAY_MS, LAT_LONG_DEFAULT_MAX_DECIMALS, LAT_LONG_PATTERNS, LatLongFormatPipe, LatLongTestPage, LatitudeFormatPipe, LocalSettingsService, LongitudeFormatPipe, MINIFY_ENTITY_FOR_LOCAL_STORAGE, MINIFY_ENTITY_FOR_POD, MapGetPipe, MapKeysPipe, MapValuesPipe, MatAutocompleteConfigHolder, MatAutocompleteField, MatBooleanField, MatChipsField, MatDate, MatDateShort, MatDateTime, MatDuration, MatLatLongField, MatNumpadComponent, MatNumpadContainerComponent, MatNumpadContent, MatPaginatorI18n, MatStepperI18n, MatSwipeField, MaterialChipsModule, MaterialTestingModule, MaterialTestingPage, MathAbsPipe, MenuComponent, MenuItems, MenuService, ModalToolbarComponent, NetworkService, NgInitDirective, NotEmptyArrayPipe, NumberFormatPipe, NumpadDirective, OddPipe, PRIORITIZED_AUTHORITIES, PUBKEY_REGEXP, Peer, Person, PersonFilter, PersonFragments, PersonService, PersonToStringPipe, PersonUtils, PersonValidatorService, PlatformService, ProgressBarService, ProgressInterceptor, PropertyGetPipe, RESERVED_END_COLUMNS, RESERVED_START_COLUMNS, Referential, ReferentialRef, ReferentialUtils, RegisterConfirmPage, SETTINGS_DISPLAY_COLUMNS, SETTINGS_FILTER, SETTINGS_PAGE_SIZE, SETTINGS_SORTED_COLUMN, SETTINGS_STORAGE_KEY, SETTINGS_TRANSIENT_PROPERTIES, SPACE_PLACEHOLDER_CHAR, SelectPeerModal, SettingsPage, SharedDirectivesModule, SharedFormArrayValidators, SharedFormGroupValidators, SharedHotkeysModule, SharedMatAutocompleteModule, SharedMatBooleanModule, SharedMatDateTimeModule, SharedMatDurationModule, SharedMatLatLongModule, SharedMatNumpadModule, SharedMatSwipeModule, SharedMaterialModule, SharedModule, SharedPipesModule, SharedRoutingModule, SharedTestingModule, SharedValidators, SocialModule, Software, StartableService, StatusById, StatusIds, StatusList, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, UserEvent, UserEventFilter, UserEventService, UserEventTypes, UserEventsTable, UserSettings, UsersPage, accountToString, adaptValueToControl, addValueInArray, arrayDistinct, arrayGroupBy, arraySize, asInputElement, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, copyEntity2Form, createPromiseEvent, createPromiseEventEmitter, departmentToString, departmentsToString, disableControls, emitPromiseEvent, entityToString, equals, equalsOrNil, fadeInAnimation, fadeInOutAnimation, filterFalse, filterNotNil, filterNumberInput, filterTrue, firstArrayValue, firstFalse, firstFalsePromise, firstNotNil, firstNotNilPromise, firstTrue, firstTruePromise, focusInput, focusNextInput, focusPreviousInput, formatLatitude, formatLongitude, fromDateISOString, fromScrollEndEvent, fromUnixMsTimestamp, fromUnixTimestamp, getCaretPosition, getColorContrast, getColorShade, getColorTint, getConnectionType, getControlFromPath, getFocusableInputElements, getFormErrors, getFormValueFromEntity, getProperty, getPropertyByPath, getPropertyByPathAsString, getRandomImage, hexToRgb, hexToRgbArray, isControlHasInput, isEmptyArray, isInputElement, isInstanceOf, isInt, isNil, isNilOrBlank, isNilOrNaN, isNotEmptyArray, isNotNil, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, joinProperties, joinPropertiesPath, logFormErrors, markAllAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, matchUpperCase, mergeLoadResult, mixHex, moveInputCaretToSeparator, noTrailingSlash, notNilOrDefault, nullIfUndefined, parseLatitudeOrLongitude, propertiesPathComparator, propertyComparator, propertyPathComparator, referentialToString, referentialsToString, remove, removeAll, removeDiacritics, removeDuplicatesFromArray, removeEnd, removeValueInArray, replaceAll, resetCalculatedValue, resizeArray, rgbArrayToHex, rgbToHex, round, scrollFactory, selectInputContent, selectInputRange, setCalculatedValue, setTabIndex, sleep, slideInOutAnimation, slideUpDownAnimation, sort, splitById, splitByProperty, startsWithUpperCase, suggestFromArray, suggestFromStringArray, tabindexComparator, toBoolean, toDateISOString, toDuration, toFloat, toInt, toNotNil, toNumber, trimEmptyToNull, uncapitalizeFirstLetter, updateValueAndValidity, waitFor, waitForTrue, waitIdle, waitWhilePending, CustomReuseStrategy as ɵa, MatNumpadDomService as ɵb, SharedMatBadgeIconModule as ɵc, MatBadgeIconDirective as ɵd, isFocusableElement as ɵe, MatBadgeIconTestPage as ɵf, RegisterForm as ɵg, AccountValidatorService as ɵh, RegisterModal as ɵi, UserSettingsValidatorService as ɵj, LocalSettingsValidatorService as ɵk, AppIconComponent as ɵl };
24965
24993
  //# sourceMappingURL=sumaris-net.ngx-components.js.map