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