@sumaris-net/ngx-components 1.6.10 → 1.6.11

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
  ];
@@ -2630,7 +2648,7 @@ class PropertyGetPipe {
2630
2648
  args && args.defaultValue);
2631
2649
  }
2632
2650
  }
2633
- PropertyGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
2651
+ PropertyGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
2634
2652
  PropertyGetPipe.decorators = [
2635
2653
  { type: Pipe, args: [{
2636
2654
  name: 'propertyGet'
@@ -2655,7 +2673,7 @@ NgInitDirective.propDecorators = {
2655
2673
  ngInit: [{ type: Output }]
2656
2674
  };
2657
2675
 
2658
- const moment$2 = momentImported;
2676
+ const moment$4 = momentImported;
2659
2677
  // @dynamic
2660
2678
  class SharedValidators {
2661
2679
  static getDoubleRegexp(maxDecimals) {
@@ -2672,7 +2690,7 @@ class SharedValidators {
2672
2690
  }
2673
2691
  static validDate(control) {
2674
2692
  const value = control.value;
2675
- const date = !value || moment$2.isMoment(value) ? value : moment$2(control.value, DATE_ISO_PATTERN);
2693
+ const date = !value || moment$4.isMoment(value) ? value : moment$4(control.value, DATE_ISO_PATTERN);
2676
2694
  if (date && (!date.isValid() || date.year() < 1970)) {
2677
2695
  return { validDate: true };
2678
2696
  }
@@ -3746,7 +3764,7 @@ class FormErrorTranslator {
3746
3764
  return errorKey;
3747
3765
  }
3748
3766
  }
3749
- FormErrorTranslator.ɵprov = ɵɵdefineInjectable({ factory: function FormErrorTranslator_Factory() { return new FormErrorTranslator(ɵɵinject(TranslateService), ɵɵinject(APP_FORM_ERROR_I18N_KEYS, 8)); }, token: FormErrorTranslator, providedIn: "root" });
3767
+ 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
3768
  FormErrorTranslator.decorators = [
3751
3769
  { type: Injectable, args: [{ providedIn: 'root' },] }
3752
3770
  ];
@@ -4065,9 +4083,9 @@ function parseDuration(input, maxDecimals, placeholderChar) {
4065
4083
  const hour = parseInt(durationParts[0] || '0');
4066
4084
  const minute = parseInt(durationParts[1] || '0');
4067
4085
  const value = hour + (minute + 0.5) / 60;
4068
- return roundFloat$1(value, maxDecimals);
4086
+ return roundFloat(value, maxDecimals);
4069
4087
  }
4070
- function roundFloat$1(input, maxDecimals) {
4088
+ function roundFloat(input, maxDecimals) {
4071
4089
  if (maxDecimals > 0) {
4072
4090
  const powDecimal = Math.pow(10, maxDecimals);
4073
4091
  return Math.trunc(input * powDecimal + 0.5) / powDecimal;
@@ -4091,9 +4109,9 @@ const MASKS = {
4091
4109
  DD: [/[+-]/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '°']
4092
4110
  }
4093
4111
  };
4094
- const noop$1 = () => {
4112
+ const noop$7 = () => {
4095
4113
  };
4096
- const ɵ0$1 = noop$1;
4114
+ const ɵ0$a = noop$7;
4097
4115
  class MatLatLongField {
4098
4116
  constructor(platform, translate, formBuilder, cd, formGroupDir) {
4099
4117
  this.platform = platform;
@@ -4101,8 +4119,8 @@ class MatLatLongField {
4101
4119
  this.formBuilder = formBuilder;
4102
4120
  this.cd = cd;
4103
4121
  this.formGroupDir = formGroupDir;
4104
- this._onChangeCallback = noop$1;
4105
- this._onTouchedCallback = noop$1;
4122
+ this._onChangeCallback = noop$7;
4123
+ this._onTouchedCallback = noop$7;
4106
4124
  this._subscription = new Subscription();
4107
4125
  this.disabling = false;
4108
4126
  this.writing = false;
@@ -4438,14 +4456,14 @@ SharedMatLatLongModule.decorators = [
4438
4456
  },] }
4439
4457
  ];
4440
4458
 
4441
- const DEFAULT_VALUE_ACCESSOR = {
4459
+ const DEFAULT_VALUE_ACCESSOR$5 = {
4442
4460
  provide: NG_VALUE_ACCESSOR,
4443
4461
  useExisting: forwardRef(() => MatDate),
4444
4462
  multi: true
4445
4463
  };
4446
- const DAY_MASK = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
4447
- const noop$2 = () => { };
4448
- const ɵ0$2 = noop$2;
4464
+ const DAY_MASK$2 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
4465
+ const noop$6 = () => { };
4466
+ const ɵ0$9 = noop$6;
4449
4467
  class MatDate {
4450
4468
  constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
4451
4469
  this.dateAdapter = dateAdapter;
@@ -4454,12 +4472,12 @@ class MatDate {
4454
4472
  this.cd = cd;
4455
4473
  this.keyboard = keyboard;
4456
4474
  this.formGroupDir = formGroupDir;
4457
- this._onChangeCallback = noop$2;
4458
- this._onTouchedCallback = noop$2;
4475
+ this._onChangeCallback = noop$6;
4476
+ this._onTouchedCallback = noop$6;
4459
4477
  this._subscription = new Subscription();
4460
4478
  this.writing = true;
4461
4479
  this.disabling = false;
4462
- this.dayMask = DAY_MASK;
4480
+ this.dayMask = DAY_MASK$2;
4463
4481
  this.disabled = false;
4464
4482
  this.floatLabel = 'auto';
4465
4483
  this.readonly = false;
@@ -4696,7 +4714,7 @@ MatDate.decorators = [
4696
4714
  selector: 'mat-date-field',
4697
4715
  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
4716
  providers: [
4699
- DEFAULT_VALUE_ACCESSOR,
4717
+ DEFAULT_VALUE_ACCESSOR$5,
4700
4718
  ],
4701
4719
  changeDetection: ChangeDetectionStrategy.OnPush,
4702
4720
  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 +4747,17 @@ MatDate.propDecorators = {
4729
4747
  matInputs: [{ type: ViewChildren, args: ['matInput',] }]
4730
4748
  };
4731
4749
 
4732
- const DEFAULT_VALUE_ACCESSOR$1 = {
4750
+ const DEFAULT_VALUE_ACCESSOR$4 = {
4733
4751
  provide: NG_VALUE_ACCESSOR,
4734
4752
  useExisting: forwardRef(() => MatDateTime),
4735
4753
  multi: true
4736
4754
  };
4737
4755
  const DAY_MASK$1 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
4738
4756
  const HOUR_REGEXP = /^[012][0-9][:][012345][0-9]$/;
4739
- const HOUR_MASK = [/[012]/, /\d/, ':', /[012345]/, /\d/];
4740
- const noop$3 = () => {
4757
+ const HOUR_MASK$1 = [/[012]/, /\d/, ':', /[012345]/, /\d/];
4758
+ const noop$5 = () => {
4741
4759
  };
4742
- const ɵ0$3 = noop$3;
4760
+ const ɵ0$8 = noop$5;
4743
4761
  class MatDateTime {
4744
4762
  constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
4745
4763
  this.platform = platform;
@@ -4749,14 +4767,14 @@ class MatDateTime {
4749
4767
  this.cd = cd;
4750
4768
  this.keyboard = keyboard;
4751
4769
  this.formGroupDir = formGroupDir;
4752
- this._onChangeCallback = noop$3;
4753
- this._onTouchedCallback = noop$3;
4770
+ this._onChangeCallback = noop$5;
4771
+ this._onTouchedCallback = noop$5;
4754
4772
  this._subscription = new Subscription();
4755
4773
  this.writing = true;
4756
4774
  this.disabling = false;
4757
4775
  this._readonly = false;
4758
4776
  this.dayMask = DAY_MASK$1;
4759
- this.hourMask = HOUR_MASK;
4777
+ this.hourMask = HOUR_MASK$1;
4760
4778
  this.floatLabel = 'auto';
4761
4779
  this.compact = false;
4762
4780
  this.placeholderChar = DEFAULT_PLACEHOLDER_CHAR;
@@ -5068,7 +5086,7 @@ MatDateTime.decorators = [
5068
5086
  selector: 'mat-date-time-field',
5069
5087
  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
5088
  providers: [
5071
- DEFAULT_VALUE_ACCESSOR$1,
5089
+ DEFAULT_VALUE_ACCESSOR$4,
5072
5090
  ],
5073
5091
  changeDetection: ChangeDetectionStrategy.OnPush,
5074
5092
  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 +5120,15 @@ MatDateTime.propDecorators = {
5102
5120
  matInputs: [{ type: ViewChildren, args: ['matInput',] }]
5103
5121
  };
5104
5122
 
5105
- const DEFAULT_VALUE_ACCESSOR$2 = {
5123
+ const DEFAULT_VALUE_ACCESSOR$3 = {
5106
5124
  provide: NG_VALUE_ACCESSOR,
5107
5125
  useExisting: forwardRef(() => MatDateShort),
5108
5126
  multi: true
5109
5127
  };
5110
- const DAY_MASK$2 = [/\d/, /\d/, /\d/, /\d/];
5128
+ const DAY_MASK = [/\d/, /\d/, /\d/, /\d/];
5111
5129
  const noop$4 = () => {
5112
5130
  };
5113
- const ɵ0$4 = noop$4;
5131
+ const ɵ0$7 = noop$4;
5114
5132
  class MatDateShort {
5115
5133
  constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
5116
5134
  this.dateAdapter = dateAdapter;
@@ -5123,7 +5141,7 @@ class MatDateShort {
5123
5141
  this._onTouchedCallback = noop$4;
5124
5142
  this.writing = true;
5125
5143
  this.disabling = false;
5126
- this.dayMask = DAY_MASK$2;
5144
+ this.dayMask = DAY_MASK;
5127
5145
  this.disabled = false;
5128
5146
  this.floatLabel = 'auto';
5129
5147
  this.readonly = false;
@@ -5368,7 +5386,7 @@ MatDateShort.decorators = [
5368
5386
  selector: 'mat-date-short-field',
5369
5387
  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
5388
  providers: [
5371
- DEFAULT_VALUE_ACCESSOR$2,
5389
+ DEFAULT_VALUE_ACCESSOR$3,
5372
5390
  ],
5373
5391
  changeDetection: ChangeDetectionStrategy.OnPush,
5374
5392
  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 +5454,16 @@ SharedMatDateTimeModule.decorators = [
5436
5454
  },] }
5437
5455
  ];
5438
5456
 
5439
- const DEFAULT_VALUE_ACCESSOR$3 = {
5457
+ const DEFAULT_VALUE_ACCESSOR$2 = {
5440
5458
  provide: NG_VALUE_ACCESSOR,
5441
5459
  useExisting: forwardRef(() => MatDuration),
5442
5460
  multi: true
5443
5461
  };
5444
5462
  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 = () => {
5463
+ const HOUR_MASK = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
5464
+ const noop$3 = () => {
5447
5465
  };
5448
- const ɵ0$5 = noop$5;
5466
+ const ɵ0$6 = noop$3;
5449
5467
  class MatDuration {
5450
5468
  constructor(platform, dateAdapter, translate, formBuilder, cd, formGroupDir) {
5451
5469
  this.dateAdapter = dateAdapter;
@@ -5454,11 +5472,11 @@ class MatDuration {
5454
5472
  this.cd = cd;
5455
5473
  this.formGroupDir = formGroupDir;
5456
5474
  this._subscription = new Subscription();
5457
- this._onChangeCallback = noop$5;
5458
- this._onTouchedCallback = noop$5;
5475
+ this._onChangeCallback = noop$3;
5476
+ this._onTouchedCallback = noop$3;
5459
5477
  this.writing = true;
5460
5478
  this.disabling = false;
5461
- this.hourMask = HOUR_MASK$1;
5479
+ this.hourMask = HOUR_MASK;
5462
5480
  this.disabled = false;
5463
5481
  this.floatLabel = 'auto';
5464
5482
  this.readonly = false;
@@ -5638,7 +5656,7 @@ MatDuration.decorators = [
5638
5656
  selector: 'mat-duration-field',
5639
5657
  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
5658
  providers: [
5641
- DEFAULT_VALUE_ACCESSOR$3,
5659
+ DEFAULT_VALUE_ACCESSOR$2,
5642
5660
  ],
5643
5661
  changeDetection: ChangeDetectionStrategy.OnPush,
5644
5662
  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 +5713,22 @@ SharedMatDurationModule.decorators = [
5695
5713
  },] }
5696
5714
  ];
5697
5715
 
5698
- const DEFAULT_VALUE_ACCESSOR$4 = {
5716
+ const DEFAULT_VALUE_ACCESSOR$1 = {
5699
5717
  provide: NG_VALUE_ACCESSOR,
5700
5718
  useExisting: forwardRef(() => MatBooleanField),
5701
5719
  multi: true
5702
5720
  };
5703
- const noop$6 = () => {
5721
+ const noop$2 = () => {
5704
5722
  };
5705
- const ɵ0$6 = noop$6;
5723
+ const ɵ0$5 = noop$2;
5706
5724
  class MatBooleanField {
5707
5725
  constructor(translate, formBuilder, cd, formGroupDir) {
5708
5726
  this.translate = translate;
5709
5727
  this.formBuilder = formBuilder;
5710
5728
  this.cd = cd;
5711
5729
  this.formGroupDir = formGroupDir;
5712
- this._onChangeCallback = noop$6;
5713
- this._onTouchedCallback = noop$6;
5730
+ this._onChangeCallback = noop$2;
5731
+ this._onTouchedCallback = noop$2;
5714
5732
  this._writing = false;
5715
5733
  this.showRadio = false;
5716
5734
  this.disabled = false;
@@ -5873,7 +5891,7 @@ MatBooleanField.decorators = [
5873
5891
  selector: 'mat-boolean-field',
5874
5892
  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
5893
  providers: [
5876
- DEFAULT_VALUE_ACCESSOR$4
5894
+ DEFAULT_VALUE_ACCESSOR$1
5877
5895
  ],
5878
5896
  changeDetection: ChangeDetectionStrategy.OnPush,
5879
5897
  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 +6137,7 @@ class MatNumpadDomService {
6119
6137
  this.appRef.detachView(this.componentRef.hostView);
6120
6138
  }
6121
6139
  }
6122
- MatNumpadDomService.ɵprov = ɵɵdefineInjectable({ factory: function MatNumpadDomService_Factory() { return new MatNumpadDomService(ɵɵinject(ComponentFactoryResolver), ɵɵinject(ApplicationRef), ɵɵinject(INJECTOR), ɵɵinject(DOCUMENT, 8)); }, token: MatNumpadDomService, providedIn: "root" });
6140
+ 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
6141
  MatNumpadDomService.decorators = [
6124
6142
  { type: Injectable, args: [{
6125
6143
  providedIn: 'root'
@@ -6483,7 +6501,7 @@ SharedMatNumpadModule.decorators = [
6483
6501
  },] }
6484
6502
  ];
6485
6503
 
6486
- const DEFAULT_VALUE_ACCESSOR$5 = {
6504
+ const DEFAULT_VALUE_ACCESSOR = {
6487
6505
  provide: NG_VALUE_ACCESSOR,
6488
6506
  useExisting: forwardRef(() => MatSwipeField),
6489
6507
  multi: true
@@ -6746,7 +6764,7 @@ MatSwipeField.decorators = [
6746
6764
  { type: Component, args: [{
6747
6765
  selector: 'mat-swipe-field',
6748
6766
  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],
6767
+ providers: [DEFAULT_VALUE_ACCESSOR],
6750
6768
  changeDetection: ChangeDetectionStrategy.OnPush,
6751
6769
  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
6770
  },] }
@@ -6804,14 +6822,14 @@ SharedMatSwipeModule.decorators = [
6804
6822
  },] }
6805
6823
  ];
6806
6824
 
6807
- const noop$7 = () => { };
6808
- const ɵ0$7 = noop$7;
6825
+ const noop$1 = () => { };
6826
+ const ɵ0$4 = noop$1;
6809
6827
  class MatChipsField {
6810
6828
  constructor(cd, formGroupDir) {
6811
6829
  this.cd = cd;
6812
6830
  this.formGroupDir = formGroupDir;
6813
- this._onChangeCallback = noop$7;
6814
- this._onTouchedCallback = noop$7;
6831
+ this._onChangeCallback = noop$1;
6832
+ this._onTouchedCallback = noop$1;
6815
6833
  this.logPrefix = '[mat-chips] ';
6816
6834
  this.formControlName = null;
6817
6835
  this.required = false;
@@ -6988,7 +7006,7 @@ class MatChipsField {
6988
7006
  // Wait a debounce time
6989
7007
  debounceTime(this.debounceTime)
6990
7008
  // DEBUG
6991
- //tap((value) => console.debug(this.logPrefix + ' Search text changes:', value))
7009
+ //,tap((value) => this.debug && console.debug(this.logPrefix + ' Search text changes:', value))
6992
7010
  ),
6993
7011
  // Object set: use it (no distinctUntilChanged() pipe need)
6994
7012
  this.inputControl.valueChanges
@@ -7004,18 +7022,25 @@ class MatChipsField {
7004
7022
  merge(
7005
7023
  // Focus or click => Load all
7006
7024
  merge(this.focused, this.clicked)
7007
- .pipe(filter(_ => this.enabled), map((_) => this.showAllOnFocus ? '*' : this.inputControl.value)), merge(this.$inputItems, this._$filter)
7025
+ .pipe(filter(_ => this.enabled), map((_) => this.showAllOnFocus ? '*' : this.inputControl.value)
7026
+ // DEBUG
7027
+ //,tap(value => this.debug && console.debug(this.logPrefix + ' Received focused or clicked event: ', value))
7028
+ ), merge(this.$inputItems, this._$filter)
7008
7029
  .pipe(filter(_ => this.enabled), map(_ => this.inputControl.value)))
7009
7030
  .pipe(
7010
7031
  // Make sure there is enough characters
7011
7032
  filter(thresholdFilterFn),
7012
7033
  // Distinguish changes
7013
- distinctUntilChanged()))
7034
+ // - do NOT filter if loading, to force update after a blur event
7035
+ distinctUntilChanged((v1, v2) => !this.loading && (v1 === v2 || this.equals(v1, v2)))
7036
+ // DEBUG
7037
+ //,tap(value => this.debug && console.debug(this.logPrefix + ' Received update event: ', value))
7038
+ ))
7014
7039
  .pipe(
7015
7040
  // Suggest values
7016
7041
  mergeMap(value => this.suggest(value, this.filter)),
7017
7042
  // DEBUG
7018
- //tap(items => console.debug(this.logPrefix + ' Received from suggest: ', items)),
7043
+ //tap(items => this.debug && console.debug(this.logPrefix + ' Received from suggest: ', items)),
7019
7044
  // Store implicit value (will use it onBlur if not other value selected)
7020
7045
  tap(items => this.updateImplicitValue(items)));
7021
7046
  // Fetch more events
@@ -7036,7 +7061,10 @@ class MatChipsField {
7036
7061
  .subscribe(items => this.$filteredItems.next(items)));
7037
7062
  // Applying implicit value, on blur
7038
7063
  this._subscription.add(this.blurred
7039
- .pipe(map(_ => this.formControl.value))
7064
+ .pipe(map(_ => this.formControl.value)
7065
+ // DEBUG
7066
+ //,tap(value => this.debug && console.debug(this.logPrefix + ' Received blurred event: ', value)),
7067
+ )
7040
7068
  .subscribe(value => {
7041
7069
  // When leave component without object, use implicit value if :
7042
7070
  // - an explicit value
@@ -7148,6 +7176,8 @@ class MatChipsField {
7148
7176
  this._reload$.next(value || '*');
7149
7177
  }
7150
7178
  writeValue(value) {
7179
+ // DEBUG
7180
+ // if (this.debug) console.debug(this.logPrefix + ' Writing value: ', value);
7151
7181
  if (value && !Array.isArray(value)) {
7152
7182
  value = [value];
7153
7183
  }
@@ -7399,9 +7429,9 @@ MatChipsField.propDecorators = {
7399
7429
  showLoadingSpinner: [{ type: Input }],
7400
7430
  chipColor: [{ type: Input }],
7401
7431
  debug: [{ type: Input }],
7402
- clicked: [{ type: Output }],
7403
- blurred: [{ type: Output }],
7404
- focused: [{ type: Output }],
7432
+ clicked: [{ type: Output, args: ['click',] }],
7433
+ blurred: [{ type: Output, args: ['blur',] }],
7434
+ focused: [{ type: Output, args: ['focus',] }],
7405
7435
  dropButtonClick: [{ type: Output }],
7406
7436
  keydownEscape: [{ type: Output, args: ['keydown.escape',] }],
7407
7437
  keyupEnter: [{ type: Output, args: ['keyup.enter',] }],
@@ -7597,7 +7627,7 @@ class ProgressBarService {
7597
7627
  }
7598
7628
  }
7599
7629
  }
7600
- ProgressBarService.ɵprov = ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
7630
+ ProgressBarService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
7601
7631
  ProgressBarService.decorators = [
7602
7632
  { type: Injectable, args: [{ providedIn: 'root' },] }
7603
7633
  ];
@@ -7641,7 +7671,7 @@ class AppGestureConfig extends HammerGestureConfig {
7641
7671
  return mc;
7642
7672
  }
7643
7673
  }
7644
- AppGestureConfig.ɵprov = ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
7674
+ AppGestureConfig.ɵprov = i0.ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
7645
7675
  AppGestureConfig.decorators = [
7646
7676
  { type: Injectable, args: [{ providedIn: 'root' },] }
7647
7677
  ];
@@ -7866,7 +7896,7 @@ class MatPaginatorI18n extends MatPaginatorIntl {
7866
7896
  this.previousPageLabel = this.translate.instant('COMMON.PAGINATOR.PREVIOUS_PAGE');
7867
7897
  }
7868
7898
  }
7869
- MatPaginatorI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(ɵɵinject(TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
7899
+ MatPaginatorI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(i0.ɵɵinject(i1$1.TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
7870
7900
  MatPaginatorI18n.decorators = [
7871
7901
  { type: Injectable, args: [{ providedIn: 'root' },] }
7872
7902
  ];
@@ -7956,17 +7986,17 @@ function getColorContrast(color, bw) {
7956
7986
  return rgbArrayToHex(rgb.map(v => 255 - v));
7957
7987
  }
7958
7988
 
7959
- const noop$8 = () => {
7989
+ const noop = () => {
7960
7990
  };
7961
- const ɵ0$8 = noop$8;
7991
+ const ɵ0$3 = noop;
7962
7992
  class AppFormField {
7963
7993
  constructor(translate, cd, injector, formGroupDir) {
7964
7994
  this.translate = translate;
7965
7995
  this.cd = cd;
7966
7996
  this.injector = injector;
7967
7997
  this.formGroupDir = formGroupDir;
7968
- this._onChangeCallback = noop$8;
7969
- this._onTouchedCallback = noop$8;
7998
+ this._onChangeCallback = noop;
7999
+ this._onTouchedCallback = noop;
7970
8000
  this.readonly = false;
7971
8001
  this.compact = false;
7972
8002
  this.floatLabel = 'auto';
@@ -8399,14 +8429,14 @@ class AudioProvider extends StartableService {
8399
8429
  });
8400
8430
  }
8401
8431
  }
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" });
8432
+ 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
8433
  AudioProvider.decorators = [
8404
8434
  { type: Injectable, args: [{ providedIn: 'root' },] }
8405
8435
  ];
8406
8436
  AudioProvider.ctorParameters = () => [
8407
8437
  { type: Platform },
8408
- { type: NativeAudio$1, decorators: [{ type: Optional }] },
8409
- { type: Vibration$1, decorators: [{ type: Optional }] },
8438
+ { type: NativeAudio, decorators: [{ type: Optional }] },
8439
+ { type: Vibration, decorators: [{ type: Optional }] },
8410
8440
  { type: AudioManagement, decorators: [{ type: Optional }] }
8411
8441
  ];
8412
8442
 
@@ -8488,7 +8518,7 @@ class Hotkeys {
8488
8518
  });
8489
8519
  }
8490
8520
  }
8491
- Hotkeys.ɵprov = ɵɵdefineInjectable({ factory: function Hotkeys_Factory() { return new Hotkeys(ɵɵinject(EventManager), ɵɵinject(MatDialog), ɵɵinject(DOCUMENT), ɵɵinject(ModalController)); }, token: Hotkeys, providedIn: "root" });
8521
+ 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
8522
  Hotkeys.decorators = [
8493
8523
  { type: Injectable, args: [{
8494
8524
  providedIn: 'root'
@@ -8662,7 +8692,7 @@ class Base64ImageReader {
8662
8692
  }
8663
8693
  }
8664
8694
 
8665
- const uuidv4 = uuidv4Imported;
8695
+ const uuidv4$1 = uuidv4Imported;
8666
8696
  class FileService {
8667
8697
  constructor(platform,
8668
8698
  //private transfer: FileTransfer,
@@ -8699,7 +8729,7 @@ class FileService {
8699
8729
  const lastSlashIndex = source.lastIndexOf('/');
8700
8730
  if (lastSlashIndex === -1)
8701
8731
  throw new Error('Invalid URL: ' + source);
8702
- const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4();
8732
+ const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4$1();
8703
8733
  // Download into the file system
8704
8734
  if (responseType === 'file' && this.canUseFileSystem) {
8705
8735
  console.warn(`WARN: [file] Fetching image {${source}} in local file...`);
@@ -8755,7 +8785,7 @@ class FileService {
8755
8785
  this._started = true;
8756
8786
  }
8757
8787
  }
8758
- FileService.ɵprov = ɵɵdefineInjectable({ factory: function FileService_Factory() { return new FileService(ɵɵinject(Platform), ɵɵinject(HttpClient), ɵɵinject(ENVIRONMENT)); }, token: FileService, providedIn: "root" });
8788
+ 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
8789
  FileService.decorators = [
8760
8790
  { type: Injectable, args: [{
8761
8791
  providedIn: 'root',
@@ -8921,7 +8951,7 @@ class Base58 {
8921
8951
  Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
8922
8952
 
8923
8953
  const scrypt = require('scrypt-async');
8924
- const sha256 = require('hash.js/lib/hash/sha/256');
8954
+ const sha256$1 = require('hash.js/lib/hash/sha/256');
8925
8955
  const sha512 = require('hash.js/lib/hash/sha/512');
8926
8956
  const nacl = {
8927
8957
  sign,
@@ -9025,7 +9055,7 @@ class CryptoService {
9025
9055
  * Hash (using SHA256) a message
9026
9056
  */
9027
9057
  sha256(message) {
9028
- return sha256().update(message).digest('hex');
9058
+ return sha256$1().update(message).digest('hex');
9029
9059
  }
9030
9060
  /**
9031
9061
  * Hash (using SHA512) a message
@@ -9038,7 +9068,7 @@ class CryptoService {
9038
9068
  return nacl.util.encodeBase64(m);
9039
9069
  }
9040
9070
  }
9041
- CryptoService.ɵprov = ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
9071
+ CryptoService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
9042
9072
  CryptoService.decorators = [
9043
9073
  { type: Injectable, args: [{ providedIn: 'root' },] }
9044
9074
  ];
@@ -10266,7 +10296,7 @@ class LocalSettingsService extends StartableService {
10266
10296
  return page;
10267
10297
  }
10268
10298
  }
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" });
10299
+ 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
10300
  LocalSettingsService.decorators = [
10271
10301
  { type: Injectable, args: [{
10272
10302
  providedIn: 'root',
@@ -10924,7 +10954,7 @@ class NetworkService extends StartableService {
10924
10954
  });
10925
10955
  }
10926
10956
  }
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" });
10957
+ 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
10958
  NetworkService.decorators = [
10929
10959
  { type: Injectable, args: [{ providedIn: 'root' },] }
10930
10960
  ];
@@ -10935,16 +10965,16 @@ NetworkService.ctorParameters = () => [
10935
10965
  { type: CryptoService },
10936
10966
  { type: Storage },
10937
10967
  { type: LocalSettingsService },
10938
- { type: CacheService$1 },
10968
+ { type: CacheService },
10939
10969
  { type: HttpClient },
10940
10970
  { type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
10941
- { type: Network$1, decorators: [{ type: Optional }] },
10942
- { type: SplashScreen$1, decorators: [{ type: Optional }] },
10971
+ { type: Network, decorators: [{ type: Optional }] },
10972
+ { type: SplashScreen, decorators: [{ type: Optional }] },
10943
10973
  { type: TranslateService, decorators: [{ type: Optional }] },
10944
10974
  { type: ToastController, decorators: [{ type: Optional }] }
10945
10975
  ];
10946
10976
 
10947
- const ErrorCodes = {
10977
+ const ErrorCodes$2 = {
10948
10978
  UNKNOWN_ERROR: 0,
10949
10979
  LOAD_ACCOUNT_ERROR: 1,
10950
10980
  BAD_PASSWORD: 2,
@@ -11296,7 +11326,7 @@ class EntityStore {
11296
11326
  }
11297
11327
  catch (err) {
11298
11328
  console.error(err);
11299
- throw { code: ErrorCodes.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err };
11329
+ throw { code: ErrorCodes$2.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err };
11300
11330
  }
11301
11331
  }
11302
11332
  // Emit update event
@@ -11870,7 +11900,7 @@ class EntitiesStorage extends StartableService {
11870
11900
  }
11871
11901
  EntitiesStorage.TRASH_PREFIX = 'Trash#';
11872
11902
  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" });
11903
+ 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
11904
  EntitiesStorage.decorators = [
11875
11905
  { type: Injectable, args: [{ providedIn: 'root' },] }
11876
11906
  ];
@@ -12007,10 +12037,10 @@ function referentialToString(obj, properties) {
12007
12037
  function referentialsToString(values, properties, separator) {
12008
12038
  return (values || []).map(v => referentialToString(v, properties)).join(separator || ', ');
12009
12039
  }
12010
- const ɵ0$9 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
12040
+ const ɵ0$2 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
12011
12041
  const StatusList = Object.freeze([
12012
12042
  {
12013
- id: ɵ0$9,
12043
+ id: ɵ0$2,
12014
12044
  icon: 'checkmark',
12015
12045
  label: 'REFERENTIAL.STATUS_ENUM.ENABLE'
12016
12046
  },
@@ -12285,7 +12315,7 @@ function accountToString(data) {
12285
12315
  (data.lastName || '')) || '';
12286
12316
  }
12287
12317
 
12288
- const uuidv4$1 = uuidv4Imported;
12318
+ const uuidv4 = uuidv4Imported;
12289
12319
  const _global = typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : {});
12290
12320
  const NativeWebSocket = _global.WebSocket || _global.MozWebSocket;
12291
12321
  /**
@@ -12329,7 +12359,7 @@ function createTrackerLink(opts) {
12329
12359
  // Skip if not tracked
12330
12360
  if (!context || !context.tracked)
12331
12361
  return forward(operation);
12332
- const id = context.serializationKey || uuidv4$1();
12362
+ const id = context.serializationKey || uuidv4();
12333
12363
  console.debug(`[apollo-tracker-link] Watching tracked query {${operation.operationName}#${id}}`);
12334
12364
  // Clean context, before calling JSON.stringify (remove unused attributes)
12335
12365
  const cleanContext = Object.assign(Object.assign({}, context), { optimisticResponse: null, cache: null });
@@ -12994,7 +13024,7 @@ class GraphqlService extends StartableService {
12994
13024
  (err.networkError && ((err.networkError.error && this.toAppError(err.networkError.error))
12995
13025
  || this.toAppError(err.networkError)
12996
13026
  || (err.networkError.error && this.createAppErrorByCode(err.networkError.error.status))
12997
- || this.createAppErrorByCode(ErrorCodes.UNKNOWN_NETWORK_ERROR)))
13027
+ || this.createAppErrorByCode(ErrorCodes$2.UNKNOWN_NETWORK_ERROR)))
12998
13028
  // If graphQL: try to convert the first error found
12999
13029
  || (err.graphQLErrors && err.graphQLErrors.length && this.toAppError(err.graphQLErrors[0]))
13000
13030
  || this.toAppError(err)
@@ -13002,7 +13032,7 @@ class GraphqlService extends StartableService {
13002
13032
  || (err.graphQLErrors && err.graphQLErrors[0])
13003
13033
  || err;
13004
13034
  console.error('[graphql] ' + (error && error.message || error), error.stack || '');
13005
- if (error && error.code === ErrorCodes.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
13035
+ if (error && error.code === ErrorCodes$2.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
13006
13036
  console.error('[graphql] original error: ' + err.networkError.message);
13007
13037
  this.onNetworkError.next(error);
13008
13038
  }
@@ -13038,7 +13068,7 @@ class GraphqlService extends StartableService {
13038
13068
  return 'ERROR.UNAUTHORIZED';
13039
13069
  case ServerErrorCodes.FORBIDDEN:
13040
13070
  return 'ERROR.FORBIDDEN';
13041
- case ErrorCodes.UNKNOWN_NETWORK_ERROR:
13071
+ case ErrorCodes$2.UNKNOWN_NETWORK_ERROR:
13042
13072
  return 'ERROR.UNKNOWN_NETWORK_ERROR';
13043
13073
  case ServerErrorCodes.BAD_UPDATE_DATE:
13044
13074
  return 'ERROR.BAD_UPDATE_DATE';
@@ -13069,7 +13099,7 @@ class GraphqlService extends StartableService {
13069
13099
  return undefined;
13070
13100
  }
13071
13101
  }
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" });
13102
+ 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
13103
  GraphqlService.decorators = [
13074
13104
  { type: Injectable, args: [{
13075
13105
  providedIn: 'root'
@@ -13086,7 +13116,7 @@ GraphqlService.ctorParameters = () => [
13086
13116
  { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_GRAPHQL_TYPE_POLICIES,] }] }
13087
13117
  ];
13088
13118
 
13089
- const sha256$1 = require('hash.js/lib/hash/sha/256');
13119
+ const sha256 = require('hash.js/lib/hash/sha/256');
13090
13120
  class BaseGraphqlServiceOptions {
13091
13121
  }
13092
13122
  // eslint-disable-next-line @angular-eslint/directive-class-suffix
@@ -13237,8 +13267,8 @@ class BaseGraphqlService extends StartableService {
13237
13267
  }
13238
13268
  /* -- protected methods -- */
13239
13269
  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) || '';
13270
+ const queryName = opts.queryName || sha256().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
13271
+ const variablesKey = opts.variables && sha256().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
13242
13272
  return [queryName, opts.arrayFieldName, variablesKey].join('|');
13243
13273
  }
13244
13274
  findMutableWatchQueries(opts) {
@@ -13304,7 +13334,7 @@ const DEFAULT_AVATAR_IMAGE = 'assets/img/person.png';
13304
13334
  /* ------------------------------------
13305
13335
  * GraphQL queries
13306
13336
  * ------------------------------------*/
13307
- const Fragments = {
13337
+ const Fragments$1 = {
13308
13338
  account: gql `
13309
13339
  fragment AccountFragment on AccountVO {
13310
13340
  id
@@ -13339,14 +13369,14 @@ const Fragments = {
13339
13369
  }`
13340
13370
  };
13341
13371
  // Load account query
13342
- const LoadQuery = gql `
13372
+ const LoadQuery$1 = gql `
13343
13373
  query Account {
13344
13374
  data: account {
13345
13375
  ...AccountFragment
13346
13376
  }
13347
13377
  }
13348
- ${Fragments.account}
13349
- ${Fragments.settings}
13378
+ ${Fragments$1.account}
13379
+ ${Fragments$1.settings}
13350
13380
  `;
13351
13381
  // Check email query
13352
13382
  const IsEmailExistsQuery = gql `
@@ -13361,21 +13391,21 @@ const AccountMutations = {
13361
13391
  ...AccountFragment
13362
13392
  }
13363
13393
  }
13364
- ${Fragments.account}
13365
- ${Fragments.settings}`,
13394
+ ${Fragments$1.account}
13395
+ ${Fragments$1.settings}`,
13366
13396
  create: gql `mutation CreateAccount($data:AccountVOInput){
13367
13397
  data: createAccount(account: $data){
13368
13398
  ...AccountFragment
13369
13399
  }
13370
13400
  }
13371
- ${Fragments.account}
13372
- ${Fragments.settings}`,
13401
+ ${Fragments$1.account}
13402
+ ${Fragments$1.settings}`,
13373
13403
  saveSettings: gql `mutation SaveSettings($data:UserSettingsVOInput){
13374
13404
  data: saveSettings(settings: $data){
13375
13405
  ...UserSettingsFragment
13376
13406
  }
13377
13407
  }
13378
- ${Fragments.settings}`
13408
+ ${Fragments$1.settings}`
13379
13409
  };
13380
13410
  // Sent confirmation email
13381
13411
  const SendConfirmEmailMutation = gql `
@@ -13684,7 +13714,7 @@ class AccountService extends BaseGraphqlService {
13684
13714
  catch (error) {
13685
13715
  console.error(error);
13686
13716
  this.resetData();
13687
- throw { code: ErrorCodes.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
13717
+ throw { code: ErrorCodes$2.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
13688
13718
  }
13689
13719
  // Store pubkey+keypair
13690
13720
  this._cache.pubkey = Base58.encode(keypair.publicKey);
@@ -13718,7 +13748,7 @@ class AccountService extends BaseGraphqlService {
13718
13748
  }
13719
13749
  catch (err) {
13720
13750
  // If account not found, check if email is valid
13721
- if (err && +(err.code) === ErrorCodes.LOAD_ACCOUNT_ERROR) {
13751
+ if (err && +(err.code) === ErrorCodes$2.LOAD_ACCOUNT_ERROR) {
13722
13752
  // Check email exists
13723
13753
  if (data.username.indexOf('@') !== -1) {
13724
13754
  let isEmailExists;
@@ -13730,11 +13760,11 @@ class AccountService extends BaseGraphqlService {
13730
13760
  }
13731
13761
  // Email not exists (no account)
13732
13762
  if (!isEmailExists) {
13733
- throw { code: ErrorCodes.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
13763
+ throw { code: ErrorCodes$2.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
13734
13764
  }
13735
13765
  }
13736
13766
  // Email exists, so error = 'bad password'
13737
- throw { code: ErrorCodes.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
13767
+ throw { code: ErrorCodes$2.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
13738
13768
  }
13739
13769
  throw err; // resend the first error
13740
13770
  }
@@ -13859,8 +13889,8 @@ class AccountService extends BaseGraphqlService {
13859
13889
  // Load remotely
13860
13890
  else {
13861
13891
  const { data } = yield this.graphql.query({
13862
- query: LoadQuery,
13863
- error: { code: ErrorCodes.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
13892
+ query: LoadQuery$1,
13893
+ error: { code: ErrorCodes$2.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
13864
13894
  fetchPolicy: opts && opts.fetchPolicy || 'no-cache' || undefined
13865
13895
  });
13866
13896
  json = data;
@@ -13887,7 +13917,7 @@ class AccountService extends BaseGraphqlService {
13887
13917
  return __awaiter(this, void 0, void 0, function* () {
13888
13918
  const isEmailExists = yield this.isEmailExists(email);
13889
13919
  if (isEmailExists) {
13890
- throw { code: ErrorCodes.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
13920
+ throw { code: ErrorCodes$2.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
13891
13921
  }
13892
13922
  });
13893
13923
  }
@@ -13923,7 +13953,7 @@ class AccountService extends BaseGraphqlService {
13923
13953
  locale
13924
13954
  },
13925
13955
  error: {
13926
- code: ErrorCodes.SENT_CONFIRMATION_EMAIL_FAILED,
13956
+ code: ErrorCodes$2.SENT_CONFIRMATION_EMAIL_FAILED,
13927
13957
  message: 'ERROR.SENT_ACCOUNT_CONFIRMATION_EMAIL_FAILED'
13928
13958
  }
13929
13959
  });
@@ -13939,7 +13969,7 @@ class AccountService extends BaseGraphqlService {
13939
13969
  code
13940
13970
  },
13941
13971
  error: {
13942
- code: ErrorCodes.CONFIRM_EMAIL_FAILED,
13972
+ code: ErrorCodes$2.CONFIRM_EMAIL_FAILED,
13943
13973
  message: 'ERROR.CONFIRM_ACCOUNT_EMAIL_FAILED'
13944
13974
  }
13945
13975
  });
@@ -13957,7 +13987,7 @@ class AccountService extends BaseGraphqlService {
13957
13987
  interval: 10
13958
13988
  },
13959
13989
  error: {
13960
- code: ErrorCodes.SUBSCRIBE_ACCOUNT_ERROR,
13990
+ code: ErrorCodes$2.SUBSCRIBE_ACCOUNT_ERROR,
13961
13991
  message: 'ERROR.ACCOUNT.SUBSCRIBE_ACCOUNT_ERROR'
13962
13992
  }
13963
13993
  }).subscribe({
@@ -14058,7 +14088,7 @@ class AccountService extends BaseGraphqlService {
14058
14088
  throw error;
14059
14089
  console.error(error);
14060
14090
  throw {
14061
- code: ErrorCodes.LOAD_ACCOUNT_ERROR,
14091
+ code: ErrorCodes$2.LOAD_ACCOUNT_ERROR,
14062
14092
  message: 'ERROR.LOAD_ACCOUNT_ERROR'
14063
14093
  };
14064
14094
  }
@@ -14226,7 +14256,7 @@ class AccountService extends BaseGraphqlService {
14226
14256
  if (!isNew) {
14227
14257
  const existingAccount = yield this.load({ fetchPolicy: 'network-only' });
14228
14258
  if (!existingAccount || !existingAccount.updateDate) {
14229
- throw { code: ErrorCodes.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
14259
+ throw { code: ErrorCodes$2.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
14230
14260
  }
14231
14261
  this.copyIdAndUpdateDate(existingAccount, account);
14232
14262
  }
@@ -14238,7 +14268,7 @@ class AccountService extends BaseGraphqlService {
14238
14268
  mutation: isNew ? AccountMutations.create : AccountMutations.save,
14239
14269
  variables: { data: json },
14240
14270
  error: {
14241
- code: ErrorCodes.SAVE_ACCOUNT_ERROR,
14271
+ code: ErrorCodes$2.SAVE_ACCOUNT_ERROR,
14242
14272
  message: 'ERROR.SAVE_ACCOUNT_ERROR'
14243
14273
  }
14244
14274
  });
@@ -14265,7 +14295,7 @@ class AccountService extends BaseGraphqlService {
14265
14295
  mutation: AccountMutations.saveSettings,
14266
14296
  variables: { data: json },
14267
14297
  error: {
14268
- code: ErrorCodes.SAVE_SETTINGS_ERROR,
14298
+ code: ErrorCodes$2.SAVE_SETTINGS_ERROR,
14269
14299
  message: 'ERROR.SAVE_SETTINGS_ERROR'
14270
14300
  }
14271
14301
  });
@@ -14287,7 +14317,7 @@ class AccountService extends BaseGraphqlService {
14287
14317
  if (counter > 4) {
14288
14318
  if (this._debug)
14289
14319
  console.debug(`[account] Failed to authentication on pod (after ${counter} attempts)`);
14290
- throw { code: ErrorCodes.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
14320
+ throw { code: ErrorCodes$2.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
14291
14321
  }
14292
14322
  // Check if valid
14293
14323
  if (token) {
@@ -14297,7 +14327,7 @@ class AccountService extends BaseGraphqlService {
14297
14327
  token
14298
14328
  },
14299
14329
  error: {
14300
- code: ErrorCodes.UNAUTHORIZED,
14330
+ code: ErrorCodes$2.UNAUTHORIZED,
14301
14331
  message: 'ERROR.UNAUTHORIZED'
14302
14332
  },
14303
14333
  fetchPolicy: 'no-cache'
@@ -14313,7 +14343,7 @@ class AccountService extends BaseGraphqlService {
14313
14343
  }
14314
14344
  // Generate a new token
14315
14345
  const challengeError = {
14316
- code: ErrorCodes.AUTH_CHALLENGE_ERROR,
14346
+ code: ErrorCodes$2.AUTH_CHALLENGE_ERROR,
14317
14347
  message: 'ERROR.AUTH_CHALLENGE_ERROR'
14318
14348
  };
14319
14349
  const data = yield this.graphql.query({
@@ -14352,7 +14382,7 @@ class AccountService extends BaseGraphqlService {
14352
14382
  target.updateDate = source.updateDate || target.updateDate;
14353
14383
  }
14354
14384
  }
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" });
14385
+ 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
14386
  AccountService.decorators = [
14357
14387
  { type: Injectable, args: [{ providedIn: 'root' },] }
14358
14388
  ];
@@ -14612,7 +14642,7 @@ const CONFIGURATION_STORAGE_KEY = 'configuration';
14612
14642
  /* ------------------------------------
14613
14643
  * GraphQL queries
14614
14644
  * ------------------------------------*/
14615
- const Fragments$1 = {
14645
+ const Fragments = {
14616
14646
  config: gql `
14617
14647
  fragment ConfigFragment on ConfigurationVO {
14618
14648
  id
@@ -14639,13 +14669,13 @@ const Fragments$1 = {
14639
14669
  }
14640
14670
  `
14641
14671
  };
14642
- const LoadQuery$1 = gql `
14672
+ const LoadQuery = gql `
14643
14673
  query Configuration{
14644
14674
  data: configuration{
14645
14675
  ...ConfigFragment
14646
14676
  }
14647
14677
  }
14648
- ${Fragments$1.config}
14678
+ ${Fragments.config}
14649
14679
  `;
14650
14680
  // Save (create or update) account mutation
14651
14681
  const SaveMutation = gql `
@@ -14654,7 +14684,7 @@ const SaveMutation = gql `
14654
14684
  ...ConfigFragment
14655
14685
  }
14656
14686
  }
14657
- ${Fragments$1.config}
14687
+ ${Fragments.config}
14658
14688
  `;
14659
14689
  const ClearCache = gql `
14660
14690
  query ClearCache($name: String) {
@@ -14704,12 +14734,12 @@ class ConfigService extends BaseGraphqlService {
14704
14734
  return __awaiter(this, void 0, void 0, function* () {
14705
14735
  const now = Date.now();
14706
14736
  console.debug('[config] Loading Pod configuration...');
14707
- const query = opts && opts.query || LoadQuery$1;
14737
+ const query = opts && opts.query || LoadQuery;
14708
14738
  const variables = opts && opts.variables || undefined;
14709
14739
  const res = yield this.graphql.query({
14710
14740
  query,
14711
14741
  variables,
14712
- error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14742
+ error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14713
14743
  fetchPolicy: opts && opts.fetchPolicy || undefined /*default*/
14714
14744
  });
14715
14745
  const data = res && res.data ? Configuration.fromObject(res.data) : undefined;
@@ -14739,7 +14769,7 @@ class ConfigService extends BaseGraphqlService {
14739
14769
  data: json
14740
14770
  },
14741
14771
  error: {
14742
- code: ErrorCodes.SAVE_CONFIG_ERROR,
14772
+ code: ErrorCodes$2.SAVE_CONFIG_ERROR,
14743
14773
  message: 'ERROR.SAVE_CONFIG_ERROR'
14744
14774
  }
14745
14775
  });
@@ -14765,7 +14795,7 @@ class ConfigService extends BaseGraphqlService {
14765
14795
  const res = yield this.graphql.query({
14766
14796
  query: CacheStatistics,
14767
14797
  variables: null,
14768
- error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14798
+ error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14769
14799
  fetchPolicy: 'network-only'
14770
14800
  });
14771
14801
  const data = res && res.cacheStatistics || undefined;
@@ -14781,7 +14811,7 @@ class ConfigService extends BaseGraphqlService {
14781
14811
  const res = yield this.graphql.query({
14782
14812
  query: ClearCache,
14783
14813
  variables,
14784
- error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14814
+ error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14785
14815
  fetchPolicy: 'network-only'
14786
14816
  });
14787
14817
  const data = res && res.clearCache || undefined;
@@ -14940,7 +14970,7 @@ class ConfigService extends BaseGraphqlService {
14940
14970
  });
14941
14971
  }
14942
14972
  }
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" });
14973
+ 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
14974
  ConfigService.decorators = [
14945
14975
  { type: Injectable, args: [{
14946
14976
  providedIn: 'root',
@@ -14959,7 +14989,7 @@ ConfigService.ctorParameters = () => [
14959
14989
  { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_CONFIG_OPTIONS,] }] }
14960
14990
  ];
14961
14991
 
14962
- const moment$4 = momentImported;
14992
+ const moment$2 = momentImported;
14963
14993
  class PlatformService extends StartableService {
14964
14994
  constructor(platform, cdkPlatform, toastController, translate, dateAdapter, entitiesStorage, settings, networkService, accountService, configService, cache, storage, audioProvider, environment, statusBar, keyboard, splashScreen, browser, downloader) {
14965
14995
  super(platform);
@@ -15163,16 +15193,16 @@ class PlatformService extends StartableService {
15163
15193
  }
15164
15194
  // config moment lib
15165
15195
  try {
15166
- moment$4.locale(event.lang);
15196
+ moment$2.locale(event.lang);
15167
15197
  console.debug('[platform] Use locale {' + event.lang + '}');
15168
15198
  }
15169
15199
  // If error, fallback to en
15170
15200
  catch (err) {
15171
- moment$4.locale('en');
15201
+ moment$2.locale('en');
15172
15202
  console.warn('[platform] Unknown local for moment lib. Using default [en]');
15173
15203
  }
15174
15204
  // Config date adapter
15175
- this.dateAdapter.setLocale(moment$4.locale());
15205
+ this.dateAdapter.setLocale(moment$2.locale());
15176
15206
  }
15177
15207
  });
15178
15208
  this.settings.onChange.subscribe(data => {
@@ -15306,7 +15336,7 @@ class PlatformService extends StartableService {
15306
15336
  });
15307
15337
  }
15308
15338
  }
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" });
15339
+ 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
15340
  PlatformService.decorators = [
15311
15341
  { type: Injectable, args: [{ providedIn: 'root' },] }
15312
15342
  ];
@@ -15321,15 +15351,15 @@ PlatformService.ctorParameters = () => [
15321
15351
  { type: NetworkService },
15322
15352
  { type: AccountService },
15323
15353
  { type: ConfigService },
15324
- { type: CacheService$1 },
15354
+ { type: CacheService },
15325
15355
  { type: Storage },
15326
15356
  { type: AudioProvider },
15327
15357
  { type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
15328
- { type: StatusBar$1, decorators: [{ type: Optional }] },
15358
+ { type: StatusBar, decorators: [{ type: Optional }] },
15329
15359
  { 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 }] }
15360
+ { type: SplashScreen, decorators: [{ type: Optional }] },
15361
+ { type: InAppBrowser, decorators: [{ type: Optional }] },
15362
+ { type: Downloader, decorators: [{ type: Optional }] }
15333
15363
  ];
15334
15364
 
15335
15365
  class AppHelpModal {
@@ -15393,7 +15423,7 @@ class MatStepperI18n extends MatStepperIntl {
15393
15423
  this.optionalLabel = this.translate.instant('COMMON.OPTIONAL');
15394
15424
  }
15395
15425
  }
15396
- MatStepperI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(ɵɵinject(TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
15426
+ MatStepperI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(i0.ɵɵinject(i1$1.TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
15397
15427
  MatStepperI18n.decorators = [
15398
15428
  { type: Injectable, args: [{ providedIn: 'root' },] }
15399
15429
  ];
@@ -16395,7 +16425,7 @@ function state2side(state) {
16395
16425
  return 1;
16396
16426
  }
16397
16427
  }
16398
- const ɵ0$a = (defaultStateSize) => [
16428
+ const ɵ0$1 = (defaultStateSize) => [
16399
16429
  Math.round((rgbArrayMap.red[0] - 50) / defaultStateSize),
16400
16430
  Math.round((255 - rgbArrayMap.red[1]) / defaultStateSize),
16401
16431
  Math.round((255 - rgbArrayMap.red[2]) / defaultStateSize)
@@ -16403,7 +16433,7 @@ const ɵ0$a = (defaultStateSize) => [
16403
16433
  const SCALE_OPTIONS_DEFAULT = {
16404
16434
  startColor: rgbArrayMap.red,
16405
16435
  startStates: [0, 2, 3],
16406
- startStepsFn: ɵ0$a
16436
+ startStepsFn: ɵ0$1
16407
16437
  };
16408
16438
  /**
16409
16439
  * Internal function, that create a colors scale, using iteration
@@ -16495,21 +16525,21 @@ function linearColorGradient(count, options) {
16495
16525
  return result;
16496
16526
  }
16497
16527
 
16498
- class EntityTestClass {
16528
+ class EntityTestClass$1 {
16499
16529
  }
16500
- const FAKE_ENTITIES = [
16530
+ const FAKE_ENTITIES$1 = [
16501
16531
  { id: 1, label: 'AAA', name: 'Item A', description: 'Very long description A', comments: 'Very very long comments... again for A' },
16502
16532
  { id: 2, label: 'BBB', name: 'Item B', description: 'Very long description B', comments: 'Very very long comments... again for B' },
16503
16533
  { id: 3, label: 'CCC', name: 'Item C', description: 'Very long description C', comments: 'Very very long comments... again for C' }
16504
16534
  ];
16505
- function deepCopy(values, size) {
16535
+ function deepCopy$1(values, size) {
16506
16536
  if (isNil(size)) {
16507
- return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
16537
+ return (values || FAKE_ENTITIES$1).map(entity => Object.assign({}, entity));
16508
16538
  }
16509
16539
  let result = [];
16510
16540
  let i = 1;
16511
16541
  while (result.length < size) {
16512
- result = result.concat((values || FAKE_ENTITIES).map(entity => {
16542
+ result = result.concat((values || FAKE_ENTITIES$1).map(entity => {
16513
16543
  const name = entity.name + ' #' + i;
16514
16544
  return Object.assign(Object.assign({}, entity), { id: i++, name });
16515
16545
  }));
@@ -16519,7 +16549,7 @@ function deepCopy(values, size) {
16519
16549
  class AutocompleteTestPage {
16520
16550
  constructor(formBuilder) {
16521
16551
  this.formBuilder = formBuilder;
16522
- this._items = deepCopy(FAKE_ENTITIES, 100);
16552
+ this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
16523
16553
  this._$items = new BehaviorSubject(undefined);
16524
16554
  this.autocompleteFields = new MatAutocompleteConfigHolder();
16525
16555
  this.memoryHide = false;
@@ -16563,7 +16593,7 @@ class AutocompleteTestPage {
16563
16593
  });
16564
16594
  // From items
16565
16595
  this.autocompleteFields.add('entity-items-large', {
16566
- items: FAKE_ENTITIES.slice(),
16596
+ items: FAKE_ENTITIES$1.slice(),
16567
16597
  attributes: ['label', 'name', 'description', 'comments'],
16568
16598
  displayWith: this.entityToString
16569
16599
  });
@@ -16573,12 +16603,12 @@ class AutocompleteTestPage {
16573
16603
  loadData() {
16574
16604
  return __awaiter(this, void 0, void 0, function* () {
16575
16605
  const data = {
16576
- entity: deepCopy(FAKE_ENTITIES)[0],
16606
+ entity: deepCopy$1(FAKE_ENTITIES$1)[0],
16577
16607
  // This item is NOT in the items list => i should be displayed anyway
16578
16608
  missingEntity: {
16579
16609
  id: -1, label: '??', name: 'Missing item'
16580
16610
  },
16581
- disableEntity: deepCopy(FAKE_ENTITIES)[2]
16611
+ disableEntity: deepCopy$1(FAKE_ENTITIES$1)[2]
16582
16612
  };
16583
16613
  this.form.setValue(data);
16584
16614
  // Load observables
@@ -16751,13 +16781,13 @@ MaterialTestingPage.ctorParameters = () => [
16751
16781
  { type: Array, decorators: [{ type: Optional }, { type: Inject, args: [APP_TESTING_PAGES,] }] }
16752
16782
  ];
16753
16783
 
16754
- const moment$5 = momentImported;
16784
+ const moment$1 = momentImported;
16755
16785
  class SwipeTestPage {
16756
16786
  constructor(formBuilder, dateFormatPipe) {
16757
16787
  this.formBuilder = formBuilder;
16758
16788
  this.dateFormatPipe = dateFormatPipe;
16759
16789
  this.$dates = new BehaviorSubject(undefined);
16760
- this._today = moment$5().startOf('day');
16790
+ this._today = moment$1().startOf('day');
16761
16791
  this.form = formBuilder.group({
16762
16792
  empty: [null, Validators.required],
16763
16793
  date: [null, Validators.compose([Validators.required, SharedValidators.validDate])],
@@ -16770,7 +16800,7 @@ class SwipeTestPage {
16770
16800
  ngOnInit() {
16771
16801
  const dates = [];
16772
16802
  for (let d = 0; d < 7; d++) {
16773
- dates[d] = moment$5(this._today).add(d - 3, 'day');
16803
+ dates[d] = moment$1(this._today).add(d - 3, 'day');
16774
16804
  }
16775
16805
  this.$dates.next(dates);
16776
16806
  this.loadData();
@@ -16811,7 +16841,7 @@ SwipeTestPage.ctorParameters = () => [
16811
16841
  { type: DateFormatPipe }
16812
16842
  ];
16813
16843
 
16814
- const moment$6 = momentImported;
16844
+ const moment = momentImported;
16815
16845
  class DateTimeTestPage {
16816
16846
  constructor(platform, formBuilder, cd) {
16817
16847
  this.platform = platform;
@@ -16843,7 +16873,7 @@ class DateTimeTestPage {
16843
16873
  // Load the form with data
16844
16874
  loadData() {
16845
16875
  return __awaiter(this, void 0, void 0, function* () {
16846
- const now = moment$6();
16876
+ const now = moment();
16847
16877
  const data = {
16848
16878
  empty: toDateISOString(now.clone().add(2, 'hours')),
16849
16879
  enable: toDateISOString(now),
@@ -16904,9 +16934,9 @@ DateTimeTestPage.ctorParameters = () => [
16904
16934
  { type: ChangeDetectorRef }
16905
16935
  ];
16906
16936
 
16907
- class EntityTestClass$1 {
16937
+ class EntityTestClass {
16908
16938
  }
16909
- const FAKE_ENTITIES$1 = [
16939
+ const FAKE_ENTITIES = [
16910
16940
  { id: 1, label: 'AAA', name: 'Item A' },
16911
16941
  { id: 2, label: 'BBB', name: 'Item B' },
16912
16942
  { id: 3, label: 'CCC', name: 'Item C' },
@@ -16915,14 +16945,14 @@ const FAKE_ENTITIES$1 = [
16915
16945
  { id: 6, label: 'FFF', name: 'Item F' },
16916
16946
  { id: 7, label: 'GGG', name: 'Item G' }
16917
16947
  ];
16918
- function deepCopy$1(values, size) {
16948
+ function deepCopy(values, size) {
16919
16949
  if (isNil(size)) {
16920
- return (values || FAKE_ENTITIES$1).map(entity => Object.assign({}, entity));
16950
+ return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
16921
16951
  }
16922
16952
  let result = [];
16923
16953
  let i = 1;
16924
16954
  while (result.length < size) {
16925
- result = result.concat((values || FAKE_ENTITIES$1).map(entity => {
16955
+ result = result.concat((values || FAKE_ENTITIES).map(entity => {
16926
16956
  const name = entity.name + ' #' + i;
16927
16957
  return Object.assign(Object.assign({}, entity), { id: i++, name });
16928
16958
  }));
@@ -16932,7 +16962,7 @@ function deepCopy$1(values, size) {
16932
16962
  class ChipsTestPage {
16933
16963
  constructor(formBuilder) {
16934
16964
  this.formBuilder = formBuilder;
16935
- this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
16965
+ this._items = deepCopy(FAKE_ENTITIES, 100);
16936
16966
  this._$items = new BehaviorSubject(undefined);
16937
16967
  this.autocompleteFields = new MatAutocompleteConfigHolder();
16938
16968
  this.form = formBuilder.group({
@@ -16971,7 +17001,7 @@ class ChipsTestPage {
16971
17001
  // Load the form with data
16972
17002
  loadData() {
16973
17003
  return __awaiter(this, void 0, void 0, function* () {
16974
- const items = deepCopy$1(FAKE_ENTITIES$1);
17004
+ const items = deepCopy(FAKE_ENTITIES);
16975
17005
  const data = {
16976
17006
  entity: items.slice(0, 1),
16977
17007
  entityInitial: items.slice(1, 2),
@@ -17041,7 +17071,7 @@ MatBadgeIconTestPage.decorators = [
17041
17071
  },] }
17042
17072
  ];
17043
17073
 
17044
- const routes = [
17074
+ const routes$1 = [
17045
17075
  {
17046
17076
  path: '',
17047
17077
  pathMatch: 'full',
@@ -17093,7 +17123,7 @@ MaterialTestingModule.decorators = [
17093
17123
  ReactiveFormsModule,
17094
17124
  SharedMaterialModule,
17095
17125
  TranslateModule.forChild(),
17096
- RouterModule.forChild(routes)
17126
+ RouterModule.forChild(routes$1)
17097
17127
  ],
17098
17128
  declarations: [
17099
17129
  MaterialTestingPage,
@@ -18108,7 +18138,7 @@ class UserSettingsValidatorService extends AppValidatorService {
18108
18138
  });
18109
18139
  }
18110
18140
  }
18111
- UserSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(ɵɵinject(FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
18141
+ UserSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(i0.ɵɵinject(i1$6.FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
18112
18142
  UserSettingsValidatorService.decorators = [
18113
18143
  { type: Injectable, args: [{ providedIn: 'root' },] }
18114
18144
  ];
@@ -18152,7 +18182,7 @@ class AccountValidatorService extends AppValidatorService {
18152
18182
  return validatorFns.length ? Validators.compose(validatorFns) : validatorFns.length === 1 ? validatorFns[0] : undefined;
18153
18183
  }
18154
18184
  }
18155
- AccountValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
18185
+ AccountValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(i0.ɵɵinject(i1$6.FormBuilder), i0.ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
18156
18186
  AccountValidatorService.decorators = [
18157
18187
  { type: Injectable, args: [{ providedIn: 'root' },] }
18158
18188
  ];
@@ -18717,7 +18747,7 @@ class LocalSettingsValidatorService extends AppValidatorService {
18717
18747
  });
18718
18748
  }
18719
18749
  }
18720
- LocalSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(ɵɵinject(FormBuilder), ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
18750
+ LocalSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(i0.ɵɵinject(i1$6.FormBuilder), i0.ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
18721
18751
  LocalSettingsValidatorService.decorators = [
18722
18752
  { type: Injectable, args: [{ providedIn: 'root' },] }
18723
18753
  ];
@@ -19336,7 +19366,7 @@ class IsOnFieldModePipe {
19336
19366
  return value === 'FIELD';
19337
19367
  }
19338
19368
  }
19339
- IsOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
19369
+ IsOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
19340
19370
  IsOnFieldModePipe.decorators = [
19341
19371
  { type: Pipe, args: [{
19342
19372
  name: 'isOnField'
@@ -19348,7 +19378,7 @@ class IsNotOnFieldModePipe {
19348
19378
  return value !== 'FIELD';
19349
19379
  }
19350
19380
  }
19351
- IsNotOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
19381
+ IsNotOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
19352
19382
  IsNotOnFieldModePipe.decorators = [
19353
19383
  { type: Pipe, args: [{
19354
19384
  name: 'isNotOnField'
@@ -19363,7 +19393,7 @@ class PersonToStringPipe {
19363
19393
  return PersonUtils.personToString(value);
19364
19394
  }
19365
19395
  }
19366
- PersonToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
19396
+ PersonToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
19367
19397
  PersonToStringPipe.decorators = [
19368
19398
  { type: Pipe, args: [{
19369
19399
  name: 'personToString'
@@ -19748,7 +19778,7 @@ class IsLoginAccountPipe {
19748
19778
  return value && value.pubkey && true;
19749
19779
  }
19750
19780
  }
19751
- IsLoginAccountPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
19781
+ IsLoginAccountPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
19752
19782
  IsLoginAccountPipe.decorators = [
19753
19783
  { type: Pipe, args: [{
19754
19784
  name: 'isLogin'
@@ -19760,7 +19790,7 @@ class AccountToStringPipe {
19760
19790
  return accountToString(value);
19761
19791
  }
19762
19792
  }
19763
- AccountToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
19793
+ AccountToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
19764
19794
  AccountToStringPipe.decorators = [
19765
19795
  { type: Pipe, args: [{
19766
19796
  name: 'accountToString'
@@ -19775,7 +19805,7 @@ class DepartmentToStringPipe {
19775
19805
  return departmentToString(value);
19776
19806
  }
19777
19807
  }
19778
- DepartmentToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
19808
+ DepartmentToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
19779
19809
  DepartmentToStringPipe.decorators = [
19780
19810
  { type: Pipe, args: [{
19781
19811
  name: 'departmentToString'
@@ -19801,7 +19831,7 @@ class MenuService {
19801
19831
  this._visibleSubject.next(value);
19802
19832
  }
19803
19833
  }
19804
- MenuService.ɵprov = ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
19834
+ MenuService.ɵprov = i0.ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
19805
19835
  MenuService.decorators = [
19806
19836
  { type: Injectable, args: [{
19807
19837
  providedIn: 'root'
@@ -20325,7 +20355,7 @@ class AuthGuardService {
20325
20355
  }));
20326
20356
  }
20327
20357
  }
20328
- AuthGuardService.ɵprov = ɵɵdefineInjectable({ factory: function AuthGuardService_Factory() { return new AuthGuardService(ɵɵinject(AccountService), ɵɵinject(ModalController), ɵɵinject(Router), ɵɵinject(ENVIRONMENT)); }, token: AuthGuardService, providedIn: "root" });
20358
+ 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
20359
  AuthGuardService.decorators = [
20330
20360
  { type: Injectable, args: [{ providedIn: 'root' },] }
20331
20361
  ];
@@ -20367,7 +20397,7 @@ class BaseEntityService extends BaseGraphqlService {
20367
20397
  query,
20368
20398
  variables: { id },
20369
20399
  fetchPolicy: opts && opts.fetchPolicy || undefined,
20370
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
20400
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
20371
20401
  })
20372
20402
  .pipe(map(({ data }) => (!opts || opts.toEntity !== false)
20373
20403
  ? (data && this.fromObject(data))
@@ -20382,7 +20412,7 @@ class BaseEntityService extends BaseGraphqlService {
20382
20412
  query,
20383
20413
  variables: { id },
20384
20414
  fetchPolicy: opts && opts.fetchPolicy || undefined,
20385
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
20415
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
20386
20416
  });
20387
20417
  // Convert to entity
20388
20418
  return (!opts || opts.toEntity !== false)
@@ -20413,7 +20443,7 @@ class BaseEntityService extends BaseGraphqlService {
20413
20443
  totalFieldName: withTotal ? 'total' : undefined,
20414
20444
  insertFilterFn: filter && filter.asFilterFn(),
20415
20445
  variables,
20416
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
20446
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
20417
20447
  fetchPolicy: opts && opts.fetchPolicy || undefined
20418
20448
  })
20419
20449
  .pipe(map(({ data, total }) => {
@@ -20449,7 +20479,7 @@ class BaseEntityService extends BaseGraphqlService {
20449
20479
  const { data, total } = yield this.graphql.query({
20450
20480
  query,
20451
20481
  variables,
20452
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
20482
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
20453
20483
  fetchPolicy: opts && opts.fetchPolicy || 'network-only'
20454
20484
  });
20455
20485
  const entities = (!opts || opts.toEntity !== false) ?
@@ -20488,7 +20518,7 @@ class BaseEntityService extends BaseGraphqlService {
20488
20518
  variables: {
20489
20519
  filter: filter && filter.asPodObject()
20490
20520
  },
20491
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
20521
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
20492
20522
  fetchPolicy: opts && opts.fetchPolicy || 'network-only'
20493
20523
  });
20494
20524
  return res.total;
@@ -20521,7 +20551,7 @@ class BaseEntityService extends BaseGraphqlService {
20521
20551
  variables: {
20522
20552
  data: json
20523
20553
  },
20524
- error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
20554
+ error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
20525
20555
  update: (proxy, { data }) => {
20526
20556
  const savedEntities = data && data.data;
20527
20557
  if (savedEntities) {
@@ -20577,7 +20607,7 @@ class BaseEntityService extends BaseGraphqlService {
20577
20607
  variables: {
20578
20608
  data: json
20579
20609
  },
20580
- error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
20610
+ error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
20581
20611
  update: (cache, { data }) => {
20582
20612
  // Update entity
20583
20613
  const savedEntity = data && data.data;
@@ -20625,7 +20655,7 @@ class BaseEntityService extends BaseGraphqlService {
20625
20655
  refetchQueries: this.getRefetchQueriesForMutation(opts),
20626
20656
  awaitRefetchQueries: opts && opts.awaitRefetchQueries,
20627
20657
  variables: { ids },
20628
- error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
20658
+ error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
20629
20659
  update: (cache, res) => {
20630
20660
  // Remove from cache
20631
20661
  if (this.watchQueriesUpdatePolicy === 'update-cache') {
@@ -20666,7 +20696,7 @@ class BaseEntityService extends BaseGraphqlService {
20666
20696
  refetchQueries: this.getRefetchQueriesForMutation(opts),
20667
20697
  awaitRefetchQueries: opts && opts.awaitRefetchQueries,
20668
20698
  variables: { id },
20669
- error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
20699
+ error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
20670
20700
  update: (proxy, res) => {
20671
20701
  // Remove from cache
20672
20702
  if (this.watchQueriesUpdatePolicy === 'update-cache') {
@@ -20699,7 +20729,7 @@ class BaseEntityService extends BaseGraphqlService {
20699
20729
  query: opts && opts.query || this.subscriptions.listenChanges,
20700
20730
  variables,
20701
20731
  error: {
20702
- code: ErrorCodes.SUBSCRIBE_DATA_ERROR,
20732
+ code: ErrorCodes$2.SUBSCRIBE_DATA_ERROR,
20703
20733
  message: 'ERROR.SUBSCRIBE_DATA_ERROR'
20704
20734
  }
20705
20735
  })
@@ -20885,7 +20915,7 @@ class EntitiesTableDataSource extends TableDataSource {
20885
20915
  if (this._debug)
20886
20916
  invalidRows.forEach(row => AppTableUtils.logRowErrors(row, `[table-datasource] ${this._logTypeName} row #${row.id}`));
20887
20917
  // Stop with an error
20888
- throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
20918
+ throw { code: ErrorCodes$2.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
20889
20919
  }
20890
20920
  this._editingRowCount = 0;
20891
20921
  let data;
@@ -21747,14 +21777,14 @@ class AppTable {
21747
21777
  return __awaiter(this, void 0, void 0, function* () {
21748
21778
  opts = Object.assign({ keepEditing: this.keepEditedRowOnSave }, opts);
21749
21779
  if (this.readOnly) {
21750
- throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
21780
+ throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
21751
21781
  }
21752
21782
  this.resetError();
21753
21783
  // Keep edited row id (should be done BEFORE confirmEditCreate() )
21754
21784
  this.previouslyEditedRowId = opts.keepEditing && ((_a = this.editedRow) === null || _a === void 0 ? void 0 : _a.editing) ? this.editedRow.id : undefined;
21755
21785
  const previouslyEditedData = isNotNil(this.previouslyEditedRowId) && this.editedRow.currentData || ((_b = this.singleSelectedRow) === null || _b === void 0 ? void 0 : _b.currentData);
21756
21786
  if (!this.confirmEditCreate()) {
21757
- throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
21787
+ throw { code: ErrorCodes$2.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
21758
21788
  }
21759
21789
  // Mark as saving
21760
21790
  this.markAsSaving();
@@ -21871,7 +21901,7 @@ class AppTable {
21871
21901
  var _a;
21872
21902
  return __awaiter(this, void 0, void 0, function* () {
21873
21903
  if (this.readOnly) {
21874
- throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
21904
+ throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
21875
21905
  }
21876
21906
  if (event === null || event === void 0 ? void 0 : event.defaultPrevented)
21877
21907
  return 0; // SKip
@@ -23397,7 +23427,7 @@ class AppEntityEditor extends AppTabEditor {
23397
23427
  try {
23398
23428
  const data = yield this.dataService.load(id, opts);
23399
23429
  if (!data)
23400
- throw { code: ErrorCodes.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
23430
+ throw { code: ErrorCodes$2.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
23401
23431
  this._usageMode = this.computeUsageMode(data);
23402
23432
  yield this.onEntityLoaded(data, opts);
23403
23433
  yield this.updateView(data, opts);
@@ -24302,7 +24332,7 @@ class UserEventService extends BaseGraphqlService {
24302
24332
  EntityUtils.copyIdAndUpdateDate(source, target);
24303
24333
  }
24304
24334
  }
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" });
24335
+ 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
24336
  UserEventService.decorators = [
24307
24337
  { type: Injectable, args: [{ providedIn: 'root' },] }
24308
24338
  ];
@@ -24687,7 +24717,7 @@ class PersonService extends BaseEntityService {
24687
24717
  return target;
24688
24718
  }
24689
24719
  }
24690
- PersonService.ɵprov = ɵɵdefineInjectable({ factory: function PersonService_Factory() { return new PersonService(ɵɵinject(GraphqlService), ɵɵinject(PlatformService), ɵɵinject(NetworkService), ɵɵinject(EntitiesStorage)); }, token: PersonService, providedIn: "root" });
24720
+ 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
24721
  PersonService.decorators = [
24692
24722
  { type: Injectable, args: [{ providedIn: 'root' },] }
24693
24723
  ];
@@ -24718,7 +24748,7 @@ class PersonValidatorService {
24718
24748
  return this.formBuilder.group(formConfig);
24719
24749
  }
24720
24750
  }
24721
- PersonValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
24751
+ PersonValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(i0.ɵɵinject(i1$6.FormBuilder), i0.ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
24722
24752
  PersonValidatorService.decorators = [
24723
24753
  { type: Injectable, args: [{ providedIn: 'root' },] }
24724
24754
  ];
@@ -24924,16 +24954,16 @@ AdminModule.decorators = [
24924
24954
  ];
24925
24955
  AdminModule.ctorParameters = () => [];
24926
24956
 
24927
- const ɵ0$b = {
24957
+ const ɵ0 = {
24928
24958
  profile: 'ADMIN'
24929
24959
  };
24930
- const routes$1 = [
24960
+ const routes = [
24931
24961
  {
24932
24962
  path: 'users',
24933
24963
  pathMatch: 'full',
24934
24964
  component: UsersPage,
24935
24965
  canActivate: [AuthGuardService],
24936
- data: ɵ0$b
24966
+ data: ɵ0
24937
24967
  }
24938
24968
  ];
24939
24969
  class AdminRoutingModule {
@@ -24943,13 +24973,13 @@ AdminRoutingModule.decorators = [
24943
24973
  imports: [
24944
24974
  SharedRoutingModule,
24945
24975
  AdminModule,
24946
- RouterModule.forChild(routes$1)
24976
+ RouterModule.forChild(routes)
24947
24977
  ],
24948
24978
  exports: [RouterModule]
24949
24979
  },] }
24950
24980
  ];
24951
24981
 
24952
- const ErrorCodes$2 = {
24982
+ const ErrorCodes = {
24953
24983
  LOAD_PERSONS_ERROR: 100,
24954
24984
  SAVE_PERSONS_ERROR: 101,
24955
24985
  DELETE_PERSONS_ERROR: 102,
@@ -24961,5 +24991,5 @@ const ErrorCodes$2 = {
24961
24991
  * Generated bundle index. Do not edit.
24962
24992
  */
24963
24993
 
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, 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 };
24994
+ 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
24995
  //# sourceMappingURL=sumaris-net.ngx-components.js.map