@sumaris-net/ngx-components 0.11.9 → 0.11.10
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/ngx-sumaris-components.umd.js +267 -243
- package/bundles/ngx-sumaris-components.umd.js.map +1 -1
- package/bundles/ngx-sumaris-components.umd.min.js +2 -2
- package/bundles/ngx-sumaris-components.umd.min.js.map +1 -1
- package/esm2015/src/app/admin/users/list/users.js +1 -1
- package/esm2015/src/app/core/table/table.class.js +3 -3
- package/esm2015/src/app/shared/functions.js +1 -1
- package/esm2015/src/app/shared/material/autocomplete/material.autocomplete.js +1 -1
- package/fesm2015/ngx-sumaris-components.js +269 -255
- package/fesm2015/ngx-sumaris-components.js.map +1 -1
- package/ngx-sumaris-components.metadata.json +1 -1
- package/package.json +1 -1
- package/src/app/core/table/table.class.d.ts +1 -0
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { InjectionToken, EventEmitter, forwardRef, Component, ChangeDetectionStrategy, ChangeDetectorRef, Optional, Input, HostBinding, Output, ViewChild, Pipe, Injectable, Directive, NgModule, ElementRef, ViewChildren, HostListener, ComponentFactoryResolver, ApplicationRef, Injector, Inject, Renderer2 } 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 { MatAutocompleteModule, MatAutocompleteTrigger, 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, ReactiveFormsModule, AbstractControl, Validators, FormBuilder, FormControl, FormGroup, FormArray } from '@angular/forms';
|
|
34
39
|
import { fromEvent, Subscription, BehaviorSubject, Subject, isObservable, merge, of, timer, noop as noop$8, Observable, defer, concat, combineLatest, EMPTY } from 'rxjs';
|
|
35
40
|
import { filter, first, startWith, debounceTime, takeWhile, switchMap, tap, map, distinctUntilChanged, mergeMap, takeUntil, catchError, throttleTime } 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, IonicRouteStrategy, NavParams, AlertController, 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,31 +54,36 @@ 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
|
|
72
|
-
import { InAppBrowser
|
|
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 { InAppBrowser } from '@ionic-native/in-app-browser/ngx';
|
|
73
85
|
import { ApolloLink, NetworkStatus, InMemoryCache, ApolloClient, gql } from '@apollo/client/core';
|
|
86
|
+
import * as i2$3 from 'apollo-angular';
|
|
74
87
|
import { Apollo } from 'apollo-angular';
|
|
75
88
|
import { WebSocketLink } from '@apollo/client/link/ws';
|
|
76
89
|
import { getMainDefinition } from '@apollo/client/utilities';
|
|
@@ -78,11 +91,12 @@ import { RetryLink } from '@apollo/client/link/retry';
|
|
|
78
91
|
import QueueLink from 'apollo-link-queue';
|
|
79
92
|
import SerializingLink from 'apollo-link-serialize';
|
|
80
93
|
import loggerLink from 'apollo-link-logger';
|
|
94
|
+
import * as i3$2 from 'apollo-angular/http';
|
|
81
95
|
import { HttpLink } from 'apollo-angular/http';
|
|
82
96
|
import { IonicStorageWrapper, persistCache } from 'apollo3-cache-persist';
|
|
83
|
-
import
|
|
84
|
-
import
|
|
85
|
-
import
|
|
97
|
+
import * as i13 from '@ionic-native/status-bar/ngx/index';
|
|
98
|
+
import * as i14 from '@ionic-native/keyboard/ngx/index';
|
|
99
|
+
import * as i16 from '@ionic-native/in-app-browser/ngx/index';
|
|
86
100
|
import { ValidatorService, TableDataSource } from '@e-is/ngx-material-table';
|
|
87
101
|
import { SelectionModel } from '@angular/cdk/collections';
|
|
88
102
|
import { NgxJdenticonModule } from 'ngx-jdenticon';
|
|
@@ -833,19 +847,19 @@ class MatAutocompleteConfigHolder {
|
|
|
833
847
|
return this.fields[fieldName] || this.add(fieldName);
|
|
834
848
|
}
|
|
835
849
|
}
|
|
836
|
-
const DEFAULT_VALUE_ACCESSOR = {
|
|
850
|
+
const DEFAULT_VALUE_ACCESSOR$6 = {
|
|
837
851
|
provide: NG_VALUE_ACCESSOR,
|
|
838
852
|
useExisting: forwardRef(() => MatAutocompleteField),
|
|
839
853
|
multi: true
|
|
840
854
|
};
|
|
841
|
-
const noop = () => { };
|
|
842
|
-
const ɵ0 = noop;
|
|
855
|
+
const noop$7 = () => { };
|
|
856
|
+
const ɵ0$a = noop$7;
|
|
843
857
|
class MatAutocompleteField {
|
|
844
858
|
constructor(cd, formGroupDir) {
|
|
845
859
|
this.cd = cd;
|
|
846
860
|
this.formGroupDir = formGroupDir;
|
|
847
|
-
this._onChangeCallback = noop;
|
|
848
|
-
this._onTouchedCallback = noop;
|
|
861
|
+
this._onChangeCallback = noop$7;
|
|
862
|
+
this._onTouchedCallback = noop$7;
|
|
849
863
|
this._subscription = new Subscription();
|
|
850
864
|
this._filter$ = new BehaviorSubject(undefined);
|
|
851
865
|
this._reload$ = new Subject();
|
|
@@ -1360,7 +1374,7 @@ MatAutocompleteField.decorators = [
|
|
|
1360
1374
|
// eslint-disable-next-line @angular-eslint/component-selector
|
|
1361
1375
|
selector: 'mat-autocomplete-field',
|
|
1362
1376
|
template: "<ion-grid class=\"ion-no-padding\">\n <ion-row>\n <ion-col class=\"ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-disabled]=\"disabled\"\n [title]=\"displayValue\">\n\n <div matPrefix><ng-content select=\"[matPrefix]\"></ng-content></div>\n\n <!-- readonly -->\n <ng-container *ngIf=\"readonly; else writable\">\n <input matInput hidden type=\"text\"\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\"\n readonly>\n <ion-label>{{ displayWith(value) }} </ion-label>\n </ng-container>\n\n <ng-template #writable>\n\n <!-- Basic select -->\n <mat-select #matSelect\n *ngIf=\"!searchable; else searchableTemplate\"\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\"\n [tabindex]=\"_tabindex\"\n [panelClass]=\"classList\"\n [style.width]=\"panelWidth\"\n (focus)=\"filterMatSelectFocusEvent($event)\"\n (blur)=\"filterMatSelectBlurEvent($event)\"\n [compareWith]=\"compareWith\"\n [multiple]=\"multiple\">\n <mat-select-trigger>{{ displayWith(value) }}</mat-select-trigger>\n\n <!-- header -->\n <ion-row class=\"mat-autocomplete-header ion-no-padding\">\n <ion-col *ngFor=\"let attr of displayAttributes; index as i; last as isLast\" [size]=\"displayColumnSizes[i]\" >\n <ion-label [innerHTML]=\"displayColumnNames[i] | translate\"></ion-label>\n </ion-col>\n </ion-row>\n\n <!-- None option -->\n <mat-option *ngIf=\"!required\" class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding\">\n <ion-col class=\"ion-no-padding\">\n <ion-label><i translate>COMMON.EMPTY_OPTION</i></ion-label>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <ng-container *ngIf=\"$filteredItems | async; let items\">\n <!-- No item option -->\n <mat-option *ngIf=\"items | isEmptyArray\" class=\"ion-padding text-italic\" disabled>\n <ion-label>{{noResultMessage | translate}}</ion-label>\n </mat-option>\n\n <!-- options -->\n <mat-option *ngFor=\"let item of items\" [value]=\"item\" class=\"ion-no-padding\">\n <ion-row [classList]=\"item.classList\">\n <ion-col *ngFor=\"let path of displayAttributes; index as i;\"\n [size]=\"displayColumnSizes[i]\">\n <ion-text>{{item | propertyGet: path }}</ion-text>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <!-- More item -->\n <a class=\"ion-padding mat-option \"\n *ngIf=\"_moreItemsCount\"\n (click)=\"_fetchMore$.emit($event)\" >\n <ion-label color=\"primary\" style=\"width: 100%;\">\n <span translate>COMMON.BTN_SHOW_MORE</span>\n <mat-icon class=\"ion-color-primary\">expand_more</mat-icon>\n </ion-label>\n </a>\n </ng-container>\n </mat-select>\n </ng-template>\n\n <!--\n NOTE :\n - \"selectInputContent($event) || onFocus.emit($event)\" : call onFocus only when to the input is empty (nothing to select)\n -->\n <ng-template #searchableTemplate>\n <input matInput #matInputText type=\"text\"\n [matAutocomplete]=\"autoComplete\"\n [matAutocompletePosition]=\"matAutocompletePosition\"\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [appAutofocus]=\"autofocus\"\n [tabindex]=\"_tabindex\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n (click)=\"onClick.emit($event)\"\n (blur)=\"onBlur.emit($event)\"\n (focusin)=\"filterInputTextFocusInEvent($event)\"\n (focusout)=\"filterInputTextFocusOutEvent($event)\"\n (keyup.arrowdown)=\"!autoComplete.showPanel && onDropButtonClick.emit($event)\">\n\n <!-- autocomplete -->\n <mat-autocomplete #autoComplete=\"matAutocomplete\"\n autoActiveFirstOption\n [displayWith]=\"displayWith\"\n [class]=\"classList\"\n [class.cdk-visually-hidden]=\"!searchable\"\n [panelWidth]=\"panelWidth\">\n\n <ion-row class=\"mat-autocomplete-header ion-no-padding\">\n <ion-col *ngFor=\"let attr of displayAttributes; index as i; last as last\" [size]=\"displayColumnSizes[i]\" >\n <ion-label [innerHTML]=\"displayColumnNames[i] | translate\"></ion-label>\n <ion-text color=\"light\" *ngIf=\"last && itemCount; let count \" class=\"ion-float-end ion-padding-end\"><i>{{'COMMON.RESULT_COUNT'|translate: {count: count} }}</i></ion-text>\n </ion-col>\n </ion-row>\n\n <ng-container *ngIf=\"$filteredItems | async; else loadingTemplate; let items\">\n <!-- No item option -->\n <mat-option *ngIf=\"items | isEmptyArray\" class=\"ion-padding text-italic\" disabled>\n <ion-label>{{noResultMessage | translate}}</ion-label>\n </mat-option>\n\n <mat-option *ngFor=\"let item of items\" [value]=\"item\" class=\"ion-no-padding\" >\n <ion-row [classList]=\"item.classList\">\n <ion-col *ngFor=\"let path of displayAttributes; index as i;\"\n [size]=\"displayColumnSizes[i]\">\n <ion-text [innerHTML]=\"item | propertyGet: path | highlight: { search: formControl.value, withAccent: highlightAccent }\"></ion-text>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <!-- More item -->\n <mat-option *ngIf=\"_moreItemsCount\" (ngInit)=\"_initInfiniteScroll()\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-container>\n\n <!-- Loading spinner -->\n <ng-template #loadingTemplate>\n <mat-option *ngIf=\"(matInputText.value | strLength) >= suggestLengthThreshold; else waitMoreCharacterTemplate\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-template>\n\n <!-- Need more characters -->\n <ng-template #waitMoreCharacterTemplate>\n <mat-option class=\"ion-padding text-italic\" disabled>\n <ion-label>\n {{'INFO.PLEASE_TYPE_MORE_CHARACTERS'|translate:{minLength: suggestLengthThreshold} }}\n </ion-label>\n </mat-option>\n </ng-template>\n </mat-autocomplete>\n\n </ng-template>\n\n\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"searchable\"\n (click)=\"onDropButtonClick.emit($event)\"\n [hidden]=\"disabled\">\n <mat-icon class=\"large select-arrow\">arrow_drop_down</mat-icon>\n </button>\n <button matSuffix type=\"button\" mat-icon-button tabindex=\"-1\"\n *ngIf=\"enabled && mobile && !searchable && !multiple\"\n [title]=\"'COMMON.BTN_SEARCH'|translate\"\n (click)=\"toggleSearch($event)\">\n <mat-icon>search</mat-icon>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clearValue($event)\"\n [hidden]=\"disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <ng-content matSuffix select=\"[matSuffix]\"></ng-content>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('entity')\" translate>ERROR.FIELD_INVALID</mat-error>\n <ng-content select=\"[matError]\"></ng-content>\n\n </mat-form-field>\n </ion-col>\n <ion-col size=\"auto\" class=\"ion-align-self-center\">\n <ng-content select=\"[matAfter]\"></ng-content>\n </ion-col>\n </ion-row>\n\n</ion-grid>\n",
|
|
1363
|
-
providers: [DEFAULT_VALUE_ACCESSOR],
|
|
1377
|
+
providers: [DEFAULT_VALUE_ACCESSOR$6],
|
|
1364
1378
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1365
1379
|
styles: [":host{display:inline-block;position:relative}:host.ion-text-wrap ion-label{white-space:normal!important}button[hidden]{display:none}mat-icon.select-arrow{color:rgba(0,0,0,.47);font-size:150%}.fact-scroll-viewport{height:100%;width:100%}.fact-item{height:54px;display:flex}.fact-item .fact-date{min-width:100px;text-align:center;font-size:24pt}.fact-item .fact-date,.fact-item .fact-text{height:100%;align-items:center;justify-content:center;display:flex}.fact-item .fact-text{border-radius:10px}cdk-virtual-scroll-viewport{border:1px solid #000}cdk-virtual-scroll-viewport li{list-style:none}"]
|
|
1366
1380
|
},] }
|
|
@@ -1434,7 +1448,7 @@ class DateFormatPipe {
|
|
|
1434
1448
|
return this.dateAdapter.format(date, displayFormat);
|
|
1435
1449
|
}
|
|
1436
1450
|
}
|
|
1437
|
-
DateFormatPipe.ɵprov =
|
|
1451
|
+
DateFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DateFormatPipe_Factory() { return new DateFormatPipe(i0.ɵɵinject(i1.MomentDateAdapter), i0.ɵɵinject(i1$1.TranslateService)); }, token: DateFormatPipe, providedIn: "root" });
|
|
1438
1452
|
DateFormatPipe.decorators = [
|
|
1439
1453
|
{ type: Pipe, args: [{
|
|
1440
1454
|
name: 'dateFormat'
|
|
@@ -1446,7 +1460,7 @@ DateFormatPipe.ctorParameters = () => [
|
|
|
1446
1460
|
{ type: TranslateService }
|
|
1447
1461
|
];
|
|
1448
1462
|
|
|
1449
|
-
const moment = momentImported;
|
|
1463
|
+
const moment$6 = momentImported;
|
|
1450
1464
|
class DateDiffDurationPipe {
|
|
1451
1465
|
constructor(dateAdapter, translate) {
|
|
1452
1466
|
this.dateAdapter = dateAdapter;
|
|
@@ -1462,17 +1476,17 @@ class DateDiffDurationPipe {
|
|
|
1462
1476
|
return this.format(startDate, endDate);
|
|
1463
1477
|
}
|
|
1464
1478
|
format(startDate, endDate) {
|
|
1465
|
-
const duration = moment.duration(endDate.diff(startDate));
|
|
1479
|
+
const duration = moment$6.duration(endDate.diff(startDate));
|
|
1466
1480
|
if (duration.asMinutes() < 0)
|
|
1467
1481
|
return '';
|
|
1468
|
-
const timeDuration = moment(0)
|
|
1482
|
+
const timeDuration = moment$6(0)
|
|
1469
1483
|
.hour(duration.hours())
|
|
1470
1484
|
.minute(duration.minutes());
|
|
1471
1485
|
const days = Math.floor(duration.asDays());
|
|
1472
1486
|
return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + timeDuration.format('HH:mm');
|
|
1473
1487
|
}
|
|
1474
1488
|
}
|
|
1475
|
-
DateDiffDurationPipe.ɵprov =
|
|
1489
|
+
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" });
|
|
1476
1490
|
DateDiffDurationPipe.decorators = [
|
|
1477
1491
|
{ type: Pipe, args: [{
|
|
1478
1492
|
name: 'dateDiffDuration'
|
|
@@ -1493,7 +1507,7 @@ class DateFromNowPipe {
|
|
|
1493
1507
|
return date ? date.fromNow(args && args.withoutSuffix) : '';
|
|
1494
1508
|
}
|
|
1495
1509
|
}
|
|
1496
|
-
DateFromNowPipe.ɵprov =
|
|
1510
|
+
DateFromNowPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(i0.ɵɵinject(i1.MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
|
|
1497
1511
|
DateFromNowPipe.decorators = [
|
|
1498
1512
|
{ type: Pipe, args: [{
|
|
1499
1513
|
name: 'dateFromNow'
|
|
@@ -1562,7 +1576,7 @@ function formatToDD(value, opts) {
|
|
|
1562
1576
|
value *= -1;
|
|
1563
1577
|
}
|
|
1564
1578
|
}
|
|
1565
|
-
let degrees = roundFloat(value, opts.maxDecimals).toString();
|
|
1579
|
+
let degrees = roundFloat$1(value, opts.maxDecimals).toString();
|
|
1566
1580
|
// Add sign
|
|
1567
1581
|
let sign = negative ? '-' : '+';
|
|
1568
1582
|
if (opts.placeholderChar) {
|
|
@@ -1613,7 +1627,7 @@ function formatToDDMMSS(value, opts) {
|
|
|
1613
1627
|
}
|
|
1614
1628
|
let degrees = Math.trunc(value);
|
|
1615
1629
|
let minutes = Math.trunc((value - degrees) * 60);
|
|
1616
|
-
let seconds = roundFloat(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
|
|
1630
|
+
let seconds = roundFloat$1(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
|
|
1617
1631
|
while (seconds >= 60) {
|
|
1618
1632
|
seconds -= 60;
|
|
1619
1633
|
minutes += 1;
|
|
@@ -1681,7 +1695,7 @@ function formatToDDMM(value, opts) {
|
|
|
1681
1695
|
}
|
|
1682
1696
|
}
|
|
1683
1697
|
let degrees = Math.trunc(value);
|
|
1684
|
-
let minutes = roundFloat((value - degrees) * 60, opts.maxDecimals);
|
|
1698
|
+
let minutes = roundFloat$1((value - degrees) * 60, opts.maxDecimals);
|
|
1685
1699
|
while (minutes >= 60) {
|
|
1686
1700
|
minutes -= 60;
|
|
1687
1701
|
degrees += 1;
|
|
@@ -1732,15 +1746,15 @@ function parseLatitudeOrLongitude(input, pattern, maxDecimals, placeholderChar)
|
|
|
1732
1746
|
return NaN;
|
|
1733
1747
|
}
|
|
1734
1748
|
if (pattern === 'DD')
|
|
1735
|
-
return roundFloat(degrees, maxDecimals);
|
|
1749
|
+
return roundFloat$1(degrees, maxDecimals);
|
|
1736
1750
|
const minutes = (pattern === 'DDMMSS' || pattern === 'DDMM') && parts[1] && parseFloat(parts[1].replace(/,/g, '.')) || 0;
|
|
1737
1751
|
const seconds = (pattern === 'DDMMSS') && parts[2] && parseFloat(parts[2].replace(/,/g, '.')) || 0;
|
|
1738
1752
|
const direction = ((pattern === 'DDMMSS') && parts[3]) || ((pattern === 'DDMM') && parts[2]) || undefined;
|
|
1739
1753
|
const sign = (direction && (direction === 's' || direction === 'S' || direction === 'w' || direction === 'W')) ? -1 : 1;
|
|
1740
1754
|
degrees = sign * (degrees + minutes / 60 + seconds / (60 * 60));
|
|
1741
|
-
return roundFloat(degrees, maxDecimals);
|
|
1755
|
+
return roundFloat$1(degrees, maxDecimals);
|
|
1742
1756
|
}
|
|
1743
|
-
function roundFloat(input, maxDecimals) {
|
|
1757
|
+
function roundFloat$1(input, maxDecimals) {
|
|
1744
1758
|
if (maxDecimals > 0) {
|
|
1745
1759
|
const powDecimal = Math.pow(10, maxDecimals);
|
|
1746
1760
|
return Math.trunc(input * powDecimal + 0.5) / powDecimal;
|
|
@@ -1760,7 +1774,7 @@ class LatLongFormatPipe {
|
|
|
1760
1774
|
return ((!args.type || args.type !== 'latitude') ? formatLongitude : formatLatitude)(value, args);
|
|
1761
1775
|
}
|
|
1762
1776
|
}
|
|
1763
|
-
LatLongFormatPipe.ɵprov =
|
|
1777
|
+
LatLongFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
|
|
1764
1778
|
LatLongFormatPipe.decorators = [
|
|
1765
1779
|
{ type: Pipe, args: [{
|
|
1766
1780
|
name: 'latLongFormat'
|
|
@@ -1772,7 +1786,7 @@ class LatitudeFormatPipe {
|
|
|
1772
1786
|
this.transform = formatLatitude;
|
|
1773
1787
|
}
|
|
1774
1788
|
}
|
|
1775
|
-
LatitudeFormatPipe.ɵprov =
|
|
1789
|
+
LatitudeFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
|
|
1776
1790
|
LatitudeFormatPipe.decorators = [
|
|
1777
1791
|
{ type: Pipe, args: [{
|
|
1778
1792
|
name: 'latitudeFormat'
|
|
@@ -1784,7 +1798,7 @@ class LongitudeFormatPipe {
|
|
|
1784
1798
|
this.transform = formatLongitude;
|
|
1785
1799
|
}
|
|
1786
1800
|
}
|
|
1787
|
-
LongitudeFormatPipe.ɵprov =
|
|
1801
|
+
LongitudeFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
|
|
1788
1802
|
LongitudeFormatPipe.decorators = [
|
|
1789
1803
|
{ type: Pipe, args: [{
|
|
1790
1804
|
name: 'longitudeFormat'
|
|
@@ -1804,7 +1818,7 @@ class NumberFormatPipe {
|
|
|
1804
1818
|
}
|
|
1805
1819
|
}
|
|
1806
1820
|
}
|
|
1807
|
-
NumberFormatPipe.ɵprov =
|
|
1821
|
+
NumberFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
|
|
1808
1822
|
NumberFormatPipe.decorators = [
|
|
1809
1823
|
{ type: Pipe, args: [{
|
|
1810
1824
|
name: 'numberFormat'
|
|
@@ -1844,7 +1858,7 @@ class HighlightPipe {
|
|
|
1844
1858
|
}
|
|
1845
1859
|
}
|
|
1846
1860
|
}
|
|
1847
|
-
HighlightPipe.ɵprov =
|
|
1861
|
+
HighlightPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
|
|
1848
1862
|
HighlightPipe.decorators = [
|
|
1849
1863
|
{ type: Pipe, args: [{
|
|
1850
1864
|
name: 'highlight'
|
|
@@ -1909,7 +1923,7 @@ FileSizePipe.decorators = [
|
|
|
1909
1923
|
{ type: Pipe, args: [{ name: 'fileSize' },] }
|
|
1910
1924
|
];
|
|
1911
1925
|
|
|
1912
|
-
const moment$
|
|
1926
|
+
const moment$5 = momentImported;
|
|
1913
1927
|
const DATE_UNIX_TIMESTAMP = 'X';
|
|
1914
1928
|
const DATE_UNIX_MS_TIMESTAMP = 'x';
|
|
1915
1929
|
class DateUtils {
|
|
@@ -1943,32 +1957,32 @@ function fromDateISOString(value) {
|
|
|
1943
1957
|
if (!value || isMoment(value))
|
|
1944
1958
|
return value;
|
|
1945
1959
|
// Parse the input value, as a ISO date time
|
|
1946
|
-
const date = moment$
|
|
1960
|
+
const date = moment$5(value, DATE_ISO_PATTERN);
|
|
1947
1961
|
if (date.isValid())
|
|
1948
1962
|
return date;
|
|
1949
1963
|
// Not valid: trying to convert from unix timestamp
|
|
1950
1964
|
if (typeof value === 'string') {
|
|
1951
1965
|
console.warn('Wrong date format - Trying to convert from local time: ' + value);
|
|
1952
1966
|
if (value.length === 10) {
|
|
1953
|
-
return moment$
|
|
1967
|
+
return moment$5(value, DATE_UNIX_TIMESTAMP);
|
|
1954
1968
|
}
|
|
1955
1969
|
else if (value.length === 13) {
|
|
1956
|
-
return moment$
|
|
1970
|
+
return moment$5(value, DATE_UNIX_MS_TIMESTAMP);
|
|
1957
1971
|
}
|
|
1958
1972
|
}
|
|
1959
1973
|
console.warn('Unable to parse date: ' + value);
|
|
1960
1974
|
return undefined;
|
|
1961
1975
|
}
|
|
1962
1976
|
function fromUnixTimestamp(timeInSec) {
|
|
1963
|
-
return moment$
|
|
1977
|
+
return moment$5(timeInSec, DATE_UNIX_TIMESTAMP);
|
|
1964
1978
|
}
|
|
1965
1979
|
function fromUnixMsTimestamp(timeInMs) {
|
|
1966
|
-
return moment$
|
|
1980
|
+
return moment$5(timeInMs, DATE_UNIX_MS_TIMESTAMP);
|
|
1967
1981
|
}
|
|
1968
1982
|
function toDuration(value, unit) {
|
|
1969
1983
|
if (!value)
|
|
1970
1984
|
return undefined;
|
|
1971
|
-
const duration = moment$
|
|
1985
|
+
const duration = moment$5.duration(value, unit);
|
|
1972
1986
|
// fix 990+ ms
|
|
1973
1987
|
if (duration.milliseconds() >= 990) {
|
|
1974
1988
|
duration.add(1000 - duration.milliseconds(), 'ms');
|
|
@@ -1997,7 +2011,7 @@ class DurationPipe {
|
|
|
1997
2011
|
return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + hour + ':' + minute;
|
|
1998
2012
|
}
|
|
1999
2013
|
}
|
|
2000
|
-
DurationPipe.ɵprov =
|
|
2014
|
+
DurationPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(i0.ɵɵinject(i1$1.TranslateService)); }, token: DurationPipe, providedIn: "root" });
|
|
2001
2015
|
DurationPipe.decorators = [
|
|
2002
2016
|
{ type: Pipe, args: [{
|
|
2003
2017
|
name: 'duration'
|
|
@@ -2018,7 +2032,7 @@ class MathAbsPipe {
|
|
|
2018
2032
|
}
|
|
2019
2033
|
}
|
|
2020
2034
|
}
|
|
2021
|
-
MathAbsPipe.ɵprov =
|
|
2035
|
+
MathAbsPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
|
|
2022
2036
|
MathAbsPipe.decorators = [
|
|
2023
2037
|
{ type: Pipe, args: [{
|
|
2024
2038
|
name: 'mathAbs'
|
|
@@ -2030,7 +2044,7 @@ class EvenPipe {
|
|
|
2030
2044
|
return val % 2 === 0;
|
|
2031
2045
|
}
|
|
2032
2046
|
}
|
|
2033
|
-
EvenPipe.ɵprov =
|
|
2047
|
+
EvenPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
|
|
2034
2048
|
EvenPipe.decorators = [
|
|
2035
2049
|
{ type: Pipe, args: [{
|
|
2036
2050
|
name: 'even'
|
|
@@ -2042,7 +2056,7 @@ class OddPipe {
|
|
|
2042
2056
|
return val % 2 !== 0;
|
|
2043
2057
|
}
|
|
2044
2058
|
}
|
|
2045
|
-
OddPipe.ɵprov =
|
|
2059
|
+
OddPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
|
|
2046
2060
|
OddPipe.decorators = [
|
|
2047
2061
|
{ type: Pipe, args: [{
|
|
2048
2062
|
name: 'odd'
|
|
@@ -2150,7 +2164,7 @@ class MapGetPipe {
|
|
|
2150
2164
|
return val[key];
|
|
2151
2165
|
}
|
|
2152
2166
|
}
|
|
2153
|
-
MapGetPipe.ɵprov =
|
|
2167
|
+
MapGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
|
|
2154
2168
|
MapGetPipe.decorators = [
|
|
2155
2169
|
{ type: Pipe, args: [{
|
|
2156
2170
|
name: 'mapGet'
|
|
@@ -2164,7 +2178,7 @@ class MapKeysPipe {
|
|
|
2164
2178
|
return Object.keys(map);
|
|
2165
2179
|
}
|
|
2166
2180
|
}
|
|
2167
|
-
MapKeysPipe.ɵprov =
|
|
2181
|
+
MapKeysPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
|
|
2168
2182
|
MapKeysPipe.decorators = [
|
|
2169
2183
|
{ type: Pipe, args: [{
|
|
2170
2184
|
name: 'mapKeys'
|
|
@@ -2178,7 +2192,7 @@ class MapValuesPipe {
|
|
|
2178
2192
|
return Object.values(map);
|
|
2179
2193
|
}
|
|
2180
2194
|
}
|
|
2181
|
-
MapValuesPipe.ɵprov =
|
|
2195
|
+
MapValuesPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
|
|
2182
2196
|
MapValuesPipe.decorators = [
|
|
2183
2197
|
{ type: Pipe, args: [{
|
|
2184
2198
|
name: 'mapValues'
|
|
@@ -2191,7 +2205,7 @@ class IsNotNilOrBlankPipe {
|
|
|
2191
2205
|
return isNotNilOrBlank(value);
|
|
2192
2206
|
}
|
|
2193
2207
|
}
|
|
2194
|
-
IsNotNilOrBlankPipe.ɵprov =
|
|
2208
|
+
IsNotNilOrBlankPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
|
|
2195
2209
|
IsNotNilOrBlankPipe.decorators = [
|
|
2196
2210
|
{ type: Pipe, args: [{
|
|
2197
2211
|
name: 'isNotNilOrBlank'
|
|
@@ -2203,7 +2217,7 @@ class IsNilOrBlankPipe {
|
|
|
2203
2217
|
return isNilOrBlank(value);
|
|
2204
2218
|
}
|
|
2205
2219
|
}
|
|
2206
|
-
IsNilOrBlankPipe.ɵprov =
|
|
2220
|
+
IsNilOrBlankPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
|
|
2207
2221
|
IsNilOrBlankPipe.decorators = [
|
|
2208
2222
|
{ type: Pipe, args: [{
|
|
2209
2223
|
name: 'isNilOrBlank'
|
|
@@ -2215,7 +2229,7 @@ class ToStringPipe {
|
|
|
2215
2229
|
return (value !== null && value !== undefined) ? value.toString() : '';
|
|
2216
2230
|
}
|
|
2217
2231
|
}
|
|
2218
|
-
ToStringPipe.ɵprov =
|
|
2232
|
+
ToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
|
|
2219
2233
|
ToStringPipe.decorators = [
|
|
2220
2234
|
{ type: Pipe, args: [{
|
|
2221
2235
|
name: 'toString'
|
|
@@ -2227,7 +2241,7 @@ class StrLengthPipe {
|
|
|
2227
2241
|
return value && value.length || 0;
|
|
2228
2242
|
}
|
|
2229
2243
|
}
|
|
2230
|
-
StrLengthPipe.ɵprov =
|
|
2244
|
+
StrLengthPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
|
|
2231
2245
|
StrLengthPipe.decorators = [
|
|
2232
2246
|
{ type: Pipe, args: [{
|
|
2233
2247
|
name: 'strLength'
|
|
@@ -2278,7 +2292,7 @@ class TranslateContextService {
|
|
|
2278
2292
|
: parts.slice(0, parts.length - 1).concat(context + parts[parts.length - 1]).join('.');
|
|
2279
2293
|
}
|
|
2280
2294
|
}
|
|
2281
|
-
TranslateContextService.ɵprov =
|
|
2295
|
+
TranslateContextService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(i0.ɵɵinject(i1$1.TranslateService)); }, token: TranslateContextService, providedIn: "root" });
|
|
2282
2296
|
TranslateContextService.decorators = [
|
|
2283
2297
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
2284
2298
|
];
|
|
@@ -2294,7 +2308,7 @@ class TranslateContextPipe {
|
|
|
2294
2308
|
return this.translateContext.instant(key, context);
|
|
2295
2309
|
}
|
|
2296
2310
|
}
|
|
2297
|
-
TranslateContextPipe.ɵprov =
|
|
2311
|
+
TranslateContextPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslateContextPipe_Factory() { return new TranslateContextPipe(i0.ɵɵinject(TranslateContextService)); }, token: TranslateContextPipe, providedIn: "root" });
|
|
2298
2312
|
TranslateContextPipe.decorators = [
|
|
2299
2313
|
{ type: Pipe, args: [{
|
|
2300
2314
|
name: 'translateContext'
|
|
@@ -2311,7 +2325,7 @@ class TranslatablePipe {
|
|
|
2311
2325
|
return (_a = changeCaseToUnderscore(value)) === null || _a === void 0 ? void 0 : _a.toUpperCase();
|
|
2312
2326
|
}
|
|
2313
2327
|
}
|
|
2314
|
-
TranslatablePipe.ɵprov =
|
|
2328
|
+
TranslatablePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslatablePipe_Factory() { return new TranslatablePipe(); }, token: TranslatablePipe, providedIn: "root" });
|
|
2315
2329
|
TranslatablePipe.decorators = [
|
|
2316
2330
|
{ type: Pipe, args: [{
|
|
2317
2331
|
name: 'translatable'
|
|
@@ -2328,7 +2342,7 @@ class PropertyGetPipe {
|
|
|
2328
2342
|
args && args.defaultValue);
|
|
2329
2343
|
}
|
|
2330
2344
|
}
|
|
2331
|
-
PropertyGetPipe.ɵprov =
|
|
2345
|
+
PropertyGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
|
|
2332
2346
|
PropertyGetPipe.decorators = [
|
|
2333
2347
|
{ type: Pipe, args: [{
|
|
2334
2348
|
name: 'propertyGet'
|
|
@@ -2572,12 +2586,12 @@ SharedMatAutocompleteModule.decorators = [
|
|
|
2572
2586
|
},] }
|
|
2573
2587
|
];
|
|
2574
2588
|
|
|
2575
|
-
const moment$
|
|
2589
|
+
const moment$4 = momentImported;
|
|
2576
2590
|
// @dynamic
|
|
2577
2591
|
class SharedValidators {
|
|
2578
2592
|
static validDate(control) {
|
|
2579
2593
|
const value = control.value;
|
|
2580
|
-
const date = !value || moment$
|
|
2594
|
+
const date = !value || moment$4.isMoment(value) ? value : moment$4(control.value, DATE_ISO_PATTERN);
|
|
2581
2595
|
if (date && (!date.isValid() || date.year() < 1970)) {
|
|
2582
2596
|
return { validDate: true };
|
|
2583
2597
|
}
|
|
@@ -2980,9 +2994,9 @@ function parseDuration(input, maxDecimals, placeholderChar) {
|
|
|
2980
2994
|
const hour = parseInt(durationParts[0] || '0');
|
|
2981
2995
|
const minute = parseInt(durationParts[1] || '0');
|
|
2982
2996
|
const value = hour + (minute + 0.5) / 60;
|
|
2983
|
-
return roundFloat
|
|
2997
|
+
return roundFloat(value, maxDecimals);
|
|
2984
2998
|
}
|
|
2985
|
-
function roundFloat
|
|
2999
|
+
function roundFloat(input, maxDecimals) {
|
|
2986
3000
|
if (maxDecimals > 0) {
|
|
2987
3001
|
const powDecimal = Math.pow(10, maxDecimals);
|
|
2988
3002
|
return Math.trunc(input * powDecimal + 0.5) / powDecimal;
|
|
@@ -3006,9 +3020,9 @@ const MASKS = {
|
|
|
3006
3020
|
DD: [/[+-]/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '°']
|
|
3007
3021
|
}
|
|
3008
3022
|
};
|
|
3009
|
-
const noop$
|
|
3023
|
+
const noop$6 = () => {
|
|
3010
3024
|
};
|
|
3011
|
-
const ɵ0$
|
|
3025
|
+
const ɵ0$9 = noop$6;
|
|
3012
3026
|
class MatLatLongField {
|
|
3013
3027
|
constructor(platform, translate, formBuilder, cd, formGroupDir) {
|
|
3014
3028
|
this.platform = platform;
|
|
@@ -3016,8 +3030,8 @@ class MatLatLongField {
|
|
|
3016
3030
|
this.formBuilder = formBuilder;
|
|
3017
3031
|
this.cd = cd;
|
|
3018
3032
|
this.formGroupDir = formGroupDir;
|
|
3019
|
-
this._onChangeCallback = noop$
|
|
3020
|
-
this._onTouchedCallback = noop$
|
|
3033
|
+
this._onChangeCallback = noop$6;
|
|
3034
|
+
this._onTouchedCallback = noop$6;
|
|
3021
3035
|
this._subscription = new Subscription();
|
|
3022
3036
|
this.disabling = false;
|
|
3023
3037
|
this.writing = false;
|
|
@@ -3358,14 +3372,14 @@ SharedMatLatLongModule.decorators = [
|
|
|
3358
3372
|
},] }
|
|
3359
3373
|
];
|
|
3360
3374
|
|
|
3361
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
3375
|
+
const DEFAULT_VALUE_ACCESSOR$5 = {
|
|
3362
3376
|
provide: NG_VALUE_ACCESSOR,
|
|
3363
3377
|
useExisting: forwardRef(() => MatDate),
|
|
3364
3378
|
multi: true
|
|
3365
3379
|
};
|
|
3366
|
-
const DAY_MASK = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
|
|
3367
|
-
const noop$
|
|
3368
|
-
const ɵ0$
|
|
3380
|
+
const DAY_MASK$2 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
|
|
3381
|
+
const noop$5 = () => { };
|
|
3382
|
+
const ɵ0$8 = noop$5;
|
|
3369
3383
|
class MatDate {
|
|
3370
3384
|
constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
3371
3385
|
this.dateAdapter = dateAdapter;
|
|
@@ -3374,12 +3388,12 @@ class MatDate {
|
|
|
3374
3388
|
this.cd = cd;
|
|
3375
3389
|
this.keyboard = keyboard;
|
|
3376
3390
|
this.formGroupDir = formGroupDir;
|
|
3377
|
-
this._onChangeCallback = noop$
|
|
3378
|
-
this._onTouchedCallback = noop$
|
|
3391
|
+
this._onChangeCallback = noop$5;
|
|
3392
|
+
this._onTouchedCallback = noop$5;
|
|
3379
3393
|
this._subscription = new Subscription();
|
|
3380
3394
|
this.writing = true;
|
|
3381
3395
|
this.disabling = false;
|
|
3382
|
-
this.dayMask = DAY_MASK;
|
|
3396
|
+
this.dayMask = DAY_MASK$2;
|
|
3383
3397
|
this.disabled = false;
|
|
3384
3398
|
this.floatLabel = 'auto';
|
|
3385
3399
|
this.readonly = false;
|
|
@@ -3616,7 +3630,7 @@ MatDate.decorators = [
|
|
|
3616
3630
|
selector: 'mat-date-field',
|
|
3617
3631
|
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",
|
|
3618
3632
|
providers: [
|
|
3619
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
3633
|
+
DEFAULT_VALUE_ACCESSOR$5,
|
|
3620
3634
|
],
|
|
3621
3635
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3622
3636
|
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%}"]
|
|
@@ -3649,17 +3663,17 @@ MatDate.propDecorators = {
|
|
|
3649
3663
|
matInputs: [{ type: ViewChildren, args: ['matInput',] }]
|
|
3650
3664
|
};
|
|
3651
3665
|
|
|
3652
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
3666
|
+
const DEFAULT_VALUE_ACCESSOR$4 = {
|
|
3653
3667
|
provide: NG_VALUE_ACCESSOR,
|
|
3654
3668
|
useExisting: forwardRef(() => MatDateTime),
|
|
3655
3669
|
multi: true
|
|
3656
3670
|
};
|
|
3657
3671
|
const DAY_MASK$1 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
|
|
3658
3672
|
const HOUR_REGEXP = /^[012][0-9][:][012345][0-9]$/;
|
|
3659
|
-
const HOUR_MASK = [/[012]/, /\d/, ':', /[012345]/, /\d/];
|
|
3660
|
-
const noop$
|
|
3673
|
+
const HOUR_MASK$1 = [/[012]/, /\d/, ':', /[012345]/, /\d/];
|
|
3674
|
+
const noop$4 = () => {
|
|
3661
3675
|
};
|
|
3662
|
-
const ɵ0$
|
|
3676
|
+
const ɵ0$7 = noop$4;
|
|
3663
3677
|
class MatDateTime {
|
|
3664
3678
|
constructor(platform, dateAdapter, translate, formBuilder, keyboard, cd, formGroupDir) {
|
|
3665
3679
|
this.platform = platform;
|
|
@@ -3669,14 +3683,14 @@ class MatDateTime {
|
|
|
3669
3683
|
this.keyboard = keyboard;
|
|
3670
3684
|
this.cd = cd;
|
|
3671
3685
|
this.formGroupDir = formGroupDir;
|
|
3672
|
-
this._onChangeCallback = noop$
|
|
3673
|
-
this._onTouchedCallback = noop$
|
|
3686
|
+
this._onChangeCallback = noop$4;
|
|
3687
|
+
this._onTouchedCallback = noop$4;
|
|
3674
3688
|
this._subscription = new Subscription();
|
|
3675
3689
|
this.writing = true;
|
|
3676
3690
|
this.disabling = false;
|
|
3677
3691
|
this._onDestroy = new EventEmitter();
|
|
3678
3692
|
this.dayMask = DAY_MASK$1;
|
|
3679
|
-
this.hourMask = HOUR_MASK;
|
|
3693
|
+
this.hourMask = HOUR_MASK$1;
|
|
3680
3694
|
this.floatLabel = 'auto';
|
|
3681
3695
|
this.readonly = false;
|
|
3682
3696
|
this.compact = false;
|
|
@@ -3982,7 +3996,7 @@ MatDateTime.decorators = [
|
|
|
3982
3996
|
selector: 'mat-date-time-field',
|
|
3983
3997
|
template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled\">\n <input matInput hidden type=\"text\"\n readonly\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <ion-text>{{formControl.value|dateFormat: {pattern: displayPattern} }}</ion-text>\n</mat-form-field>\n\n<!-- writable + time -->\n<ng-template #writable >\n <ion-grid class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding no-wrap\" nowrap>\n\n <!-- day -->\n <ion-col class=\"day ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-invalid]=\"formControl.touched && formControl.invalid\">\n\n <mat-label>{{placeholder}}</mat-label>\n\n <div matPrefix><ng-content select=\"[matPrefix]\"></ng-content></div>\n\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"dateFormControl\"\n [textMask]=\"{mask: dayMask, keepCharPositions: true, placeholderChar: placeholderChar}\"\n [placeholder]=\"'COMMON.DATE_PLACEHOLDER'|translate\"\n (blur)=\"checkIfTouched()\"\n (keyup.arrowdown)=\"openDatePicker($event, datePicker)\"\n (keyup.escape)=\"preventEvent($event)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [appAutofocus]=\"autofocus\">\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"dateFormControl\"\n (click)=\"openDatePickerIfMobile($event, datePicker)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n readonly>\n <input matInput type=\"text\" [formControl]=\"formControl\"\n hidden\n [matDatepicker]=\"datePicker\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n <button type=\"button\" mat-icon-button tabindex=\"-1\" matSuffix #datePickerButton2 (click)=\"openDatePicker($event, datePicker)\" [disabled]=\"formControl.disabled\">\n <div *ngIf=\"mobile; then iconDate; else iconDesktop\"></div>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clear()\"\n [hidden]=\"formControl.disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-datepicker #datePicker\n [touchUi]=\"mobile\"\n [disabled]=\"formControl.disabled\"\n [startAt]=\"startDate\"></mat-datepicker>\n <div class=\"mat-form-field-subscript mat-form-field-subscript-wrapper\" >\n <!-- errors -->\n <ng-container [ngSwitch]=\"formControl.touched && formControl.errors|mapKeys|arrayFirst\">\n <mat-error *ngSwitchCase=\"'required'\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngSwitchCase=\"'validDate'\" translate>ERROR.FIELD_NOT_VALID_DATE_TIME</mat-error>\n <mat-error *ngSwitchCase=\"'dateIsAfter'\">{{'ERROR.FIELD_NOT_VALID_DATE_AFTER' | translate: formControl.errors.dateIsAfter }}</mat-error>\n <mat-error *ngSwitchCase=\"'dateRange'\" translate>ERROR.FIELD_NOT_VALID_DATE_RANGE</mat-error>\n <mat-error *ngSwitchCase=\"'dateMaxDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MAX_DURATION</mat-error>\n <mat-error *ngSwitchCase=\"'dateMinDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MIN_DURATION</mat-error>\n <mat-error *ngSwitchCase=\"'msg'\">{{formControl.errors.msg}}</mat-error>\n </ng-container>\n <ng-content select=\"mat-error\"></ng-content>\n\n <!-- mat hint -->\n <div class=\"mat-form-field-hint-wrapper\" [class.cdk-visually-hidden]=\"formControl.invalid\">\n <div class=\"mat-form-field-hint-spacer\"></div>\n <ng-content select=\"mat-hint\"></ng-content>\n </div>\n </div>\n\n </ion-col>\n\n <!-- hour -->\n <ion-col class=\"hour ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-invalid]=\"formControl.touched && (timeFormControl.invalid || formControl.invalid)\">\n <mat-label *ngIf=\"placeholder && floatLabel != 'never'\" translate>COMMON.TIME</mat-label>\n <input matInput #matInput type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"timeFormControl\"\n autocomplete=\"off\"\n min=\"0\" max=\"23\"\n [textMask]=\"{mask: hourMask, keepCharPositions: true, placeholderChar: placeholderChar, guide: true}\"\n [placeholder]=\"'COMMON.TIME_PLACEHOLDER'|translate\"\n [required]=\"required\"\n (keyup.arrowdown)=\"openTimePicker($event)\"\n (keyup.escape)=\"preventEvent($event)\"\n (blur)=\"checkIfTouched()\"\n [tabindex]=\"tabindex !== undefined ? tabindex+1 : undefined\">\n\n <input matInput #matInput type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"timeFormControl\"\n (click)=\"openTimePickerIfMobile($event)\"\n readonly>\n\n <input matInput type=\"text\"\n [formControl]=\"timeFormControl\"\n hidden\n [ngxTimepicker]=\"timePicker\"\n [format]=\"24\">\n\n <button matSuffix type=\"button\" mat-icon-button\n tabindex=\"-1\"\n *ngIf=\"!compact && !mobile\"\n [disabled]=\"formControl.disabled\"\n (click)=\"openTimePicker($event)\" >\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n <button matSuffix type=\"button\" mat-icon-button\n tabindex=\"-1\"\n *ngIf=\"!compact && mobile\"\n [disabled]=\"formControl.disabled\"\n (click)=\"openTimePickerIfMobile($event)\">\n <mat-icon>access_time</mat-icon>\n </button>\n\n <ngx-material-timepicker #timePicker [@.disabled]=\"true\"\n (timeSet)=\"onTimePickerChange($event)\"\n [ESC]=\"!mobile\"\n [defaultTime]=\"'00:00'\"\n [cancelBtnTmpl]=\"timePickerCancelButton\"\n [confirmBtnTmpl]=\"timePickerOkButton\"\n [preventOverlayClick]=\"mobile\"\n [enableKeyboardInput]=\"false\"\n [disableAnimation]=\"true\">\n <!-- cancel button -->\n <ng-template #timePickerCancelButton>\n <ion-button fill=\"clear\" color=\"dark\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n </ng-template>\n\n <!-- confirm button -->\n <ng-template #timePickerOkButton>\n <ion-button fill=\"solid\" color=\"tertiary\">\n <ion-label translate>COMMON.BTN_VALIDATE</ion-label>\n </ion-button>\n </ng-template>\n\n </ngx-material-timepicker>\n </mat-form-field>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n\n</ng-template>\n\n<ng-template #iconDesktop>\n <mat-icon>keyboard_arrow_down</mat-icon>\n</ng-template>\n\n<ng-template #iconDate>\n <mat-icon>date_range</mat-icon>\n</ng-template>\n",
|
|
3984
3998
|
providers: [
|
|
3985
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
3999
|
+
DEFAULT_VALUE_ACCESSOR$4,
|
|
3986
4000
|
],
|
|
3987
4001
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3988
4002
|
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%}"]
|
|
@@ -4021,10 +4035,10 @@ const DEFAULT_VALUE_ACCESSOR$3 = {
|
|
|
4021
4035
|
useExisting: forwardRef(() => MatDateShort),
|
|
4022
4036
|
multi: true
|
|
4023
4037
|
};
|
|
4024
|
-
const DAY_MASK
|
|
4025
|
-
const noop$
|
|
4038
|
+
const DAY_MASK = [/\d/, /\d/, /\d/, /\d/];
|
|
4039
|
+
const noop$3 = () => {
|
|
4026
4040
|
};
|
|
4027
|
-
const ɵ0$
|
|
4041
|
+
const ɵ0$6 = noop$3;
|
|
4028
4042
|
class MatDateShort {
|
|
4029
4043
|
constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
4030
4044
|
this.dateAdapter = dateAdapter;
|
|
@@ -4033,11 +4047,11 @@ class MatDateShort {
|
|
|
4033
4047
|
this.cd = cd;
|
|
4034
4048
|
this.keyboard = keyboard;
|
|
4035
4049
|
this.formGroupDir = formGroupDir;
|
|
4036
|
-
this._onChangeCallback = noop$
|
|
4037
|
-
this._onTouchedCallback = noop$
|
|
4050
|
+
this._onChangeCallback = noop$3;
|
|
4051
|
+
this._onTouchedCallback = noop$3;
|
|
4038
4052
|
this.writing = true;
|
|
4039
4053
|
this.disabling = false;
|
|
4040
|
-
this.dayMask = DAY_MASK
|
|
4054
|
+
this.dayMask = DAY_MASK;
|
|
4041
4055
|
this.disabled = false;
|
|
4042
4056
|
this.floatLabel = 'auto';
|
|
4043
4057
|
this.readonly = false;
|
|
@@ -4350,16 +4364,16 @@ SharedMatDateTimeModule.decorators = [
|
|
|
4350
4364
|
},] }
|
|
4351
4365
|
];
|
|
4352
4366
|
|
|
4353
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
4367
|
+
const DEFAULT_VALUE_ACCESSOR$2 = {
|
|
4354
4368
|
provide: NG_VALUE_ACCESSOR,
|
|
4355
4369
|
useExisting: forwardRef(() => MatDuration),
|
|
4356
4370
|
multi: true
|
|
4357
4371
|
};
|
|
4358
4372
|
const HOUR_TIME_PATTERN = /[0-9]\d\d:[0-5]\d/;
|
|
4359
|
-
const HOUR_MASK
|
|
4360
|
-
const noop$
|
|
4373
|
+
const HOUR_MASK = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
|
|
4374
|
+
const noop$2 = () => {
|
|
4361
4375
|
};
|
|
4362
|
-
const ɵ0$5 = noop$
|
|
4376
|
+
const ɵ0$5 = noop$2;
|
|
4363
4377
|
class MatDuration {
|
|
4364
4378
|
constructor(platform, dateAdapter, translate, formBuilder, cd, formGroupDir) {
|
|
4365
4379
|
this.dateAdapter = dateAdapter;
|
|
@@ -4368,11 +4382,11 @@ class MatDuration {
|
|
|
4368
4382
|
this.cd = cd;
|
|
4369
4383
|
this.formGroupDir = formGroupDir;
|
|
4370
4384
|
this._subscription = new Subscription();
|
|
4371
|
-
this._onChangeCallback = noop$
|
|
4372
|
-
this._onTouchedCallback = noop$
|
|
4385
|
+
this._onChangeCallback = noop$2;
|
|
4386
|
+
this._onTouchedCallback = noop$2;
|
|
4373
4387
|
this.writing = true;
|
|
4374
4388
|
this.disabling = false;
|
|
4375
|
-
this.hourMask = HOUR_MASK
|
|
4389
|
+
this.hourMask = HOUR_MASK;
|
|
4376
4390
|
this.disabled = false;
|
|
4377
4391
|
this.floatLabel = 'auto';
|
|
4378
4392
|
this.readonly = false;
|
|
@@ -4552,7 +4566,7 @@ MatDuration.decorators = [
|
|
|
4552
4566
|
selector: 'mat-duration-field',
|
|
4553
4567
|
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",
|
|
4554
4568
|
providers: [
|
|
4555
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
4569
|
+
DEFAULT_VALUE_ACCESSOR$2,
|
|
4556
4570
|
],
|
|
4557
4571
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4558
4572
|
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%}"]
|
|
@@ -4609,22 +4623,22 @@ SharedMatDurationModule.decorators = [
|
|
|
4609
4623
|
},] }
|
|
4610
4624
|
];
|
|
4611
4625
|
|
|
4612
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
4626
|
+
const DEFAULT_VALUE_ACCESSOR$1 = {
|
|
4613
4627
|
provide: NG_VALUE_ACCESSOR,
|
|
4614
4628
|
useExisting: forwardRef(() => MatBooleanField),
|
|
4615
4629
|
multi: true
|
|
4616
4630
|
};
|
|
4617
|
-
const noop$
|
|
4631
|
+
const noop$1 = () => {
|
|
4618
4632
|
};
|
|
4619
|
-
const ɵ0$
|
|
4633
|
+
const ɵ0$4 = noop$1;
|
|
4620
4634
|
class MatBooleanField {
|
|
4621
4635
|
constructor(translate, formBuilder, cd, formGroupDir) {
|
|
4622
4636
|
this.translate = translate;
|
|
4623
4637
|
this.formBuilder = formBuilder;
|
|
4624
4638
|
this.cd = cd;
|
|
4625
4639
|
this.formGroupDir = formGroupDir;
|
|
4626
|
-
this._onChangeCallback = noop$
|
|
4627
|
-
this._onTouchedCallback = noop$
|
|
4640
|
+
this._onChangeCallback = noop$1;
|
|
4641
|
+
this._onTouchedCallback = noop$1;
|
|
4628
4642
|
this._writing = false;
|
|
4629
4643
|
this.showRadio = false;
|
|
4630
4644
|
this.disabled = false;
|
|
@@ -4788,7 +4802,7 @@ MatBooleanField.decorators = [
|
|
|
4788
4802
|
selector: 'mat-boolean-field',
|
|
4789
4803
|
template: "<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled\">\n <input matInput hidden type=\"text\" readonly\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <ion-text>{{(formControl.value ? 'COMMON.YES' : 'COMMON.NO') | translate }}</ion-text>\n</mat-form-field>\n\n<ng-template #writable>\n <ng-container [ngSwitch]=\"style\">\n\n <!-- Radio -->\n <mat-form-field *ngSwitchCase=\"'radio'\"\n [floatLabel]=\"showRadio && (!floatLabel || floatLabel === 'auto') ? 'always': floatLabel\"\n class=\"mat-boolean-field mat-boolean-field-radio\">\n <mat-label *ngIf=\"placeholder && floatLabel!=='never'\">\n {{placeholder}}\n <span [hidden]=\"showRadio\">({{'COMMON.YES'|translate}}/{{'COMMON.NO'|translate}})</span>\n </mat-label>\n\n <input matInput #fakeInput type=\"text\" readonly=\"true\"\n [formControl]=\"formControl\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showRadio\"\n [tabindex]=\"tabindex\">\n\n <!-- radio button -->\n <mat-radio-group [hidden]=\"!showRadio\"\n [formControl]=\"formControl\"\n (change)=\"onRadioValueChanged($event)\">\n <mat-radio-button #yesButton [value]=\"true\">\n <span translate>COMMON.YES</span>\n </mat-radio-button> \n <mat-radio-button #noButton [value]=\"false\">\n <span translate>COMMON.NO</span>\n </mat-radio-button>\n </mat-radio-group>\n\n <div matSuffix #injectMatSuffix></div>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n\n <!-- Checkbox -->\n <mat-form-field *ngSwitchCase=\"'checkbox'\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-boolean-field mat-boolean-field-checkbox\">\n <mat-label *ngIf=\"placeholder && !showRadio\">\n {{placeholder}}\n </mat-label>\n\n <input matInput #matInput\n [formControl]=\"formControl\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showRadio\"\n [tabindex]=\"tabindex\">\n\n <ion-label> </ion-label>\n\n <!-- checkbox, when compact -->\n <mat-checkbox #checkboxButton\n [formControl]=\"formControl\"\n (change)=\"onCheckboxValueChanged($event)\"\n [indeterminate]=\"value===undefined\"\n [hidden]=\"!showRadio\"\n [tabindex]=\"tabindex\">\n </mat-checkbox>\n\n <div matSuffix #injectMatSuffix></div>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n\n <!-- Buttons -->\n <mat-form-field *ngSwitchCase=\"'button'\"\n [floatLabel]=\"floatLabel === 'never' ? 'never' : 'always'\"\n class=\"mat-boolean-field mat-boolean-field-button\">\n <input matInput type=\"text\" hidden\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [required]=\"required\">\n <ion-grid class=\"ion-no-padding\" *ngIf=\"!formControl.disabled; else disabledLabel\">\n <ion-row class=\"ion-no-padding\">\n <!-- Yes button -->\n <ion-col>\n <ion-button style=\"width: 100%;\"\n class=\"mat-form-field-button\"\n [tabindex]=\"_tabindex\"\n (click)=\"writeValue(true, $event)\"\n (keyup.enter)=\"writeValue(true, $event)\"\n [color]=\"_value == null ? 'danger' : (_value === true) ? 'accent' : 'light'\">\n <ion-icon slot=\"start\" name=\"checkmark\"></ion-icon>\n {{'COMMON.YES'|translate}}\n </ion-button>\n </ion-col>\n <!-- No button -->\n <ion-col>\n <ion-button style=\"width: 100%;\"\n class=\"mat-form-field-button\"\n [tabindex]=\"_tabindex !== undefined ? (_tabindex + 1) : undefined\"\n (click)=\"writeValue(false, $event)\"\n (keyup.enter)=\"writeValue(false, $event)\"\n [color]=\"_value == null ? 'danger' : (_value === false) ? 'accent' : 'light'\">\n <ion-icon slot=\"start\" name=\"close\"></ion-icon>\n {{'COMMON.NO'|translate}}\n </ion-button>\n </ion-col>\n </ion-row>\n </ion-grid>\n <ng-template #disabledLabel>\n <ion-label><i translate>COMMON.EMPTY_OPTION</i></ion-label>\n </ng-template>\n\n <div matSuffix #injectMatSuffix></div>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n </ng-container>\n\n <div class=\"cdk-visually-hidden\">\n <div #suffix><ng-content select=\"[matSuffix]\"></ng-content></div>\n </div>\n\n</ng-template>\n\n\n",
|
|
4790
4804
|
providers: [
|
|
4791
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
4805
|
+
DEFAULT_VALUE_ACCESSOR$1
|
|
4792
4806
|
],
|
|
4793
4807
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4794
4808
|
styles: [":host{width:100%}"]
|
|
@@ -5029,7 +5043,7 @@ class MatNumpadDomService {
|
|
|
5029
5043
|
this.appRef.detachView(this.componentRef.hostView);
|
|
5030
5044
|
}
|
|
5031
5045
|
}
|
|
5032
|
-
MatNumpadDomService.ɵprov =
|
|
5046
|
+
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" });
|
|
5033
5047
|
MatNumpadDomService.decorators = [
|
|
5034
5048
|
{ type: Injectable, args: [{
|
|
5035
5049
|
providedIn: 'root'
|
|
@@ -5393,7 +5407,7 @@ SharedMatNumpadModule.decorators = [
|
|
|
5393
5407
|
},] }
|
|
5394
5408
|
];
|
|
5395
5409
|
|
|
5396
|
-
const DEFAULT_VALUE_ACCESSOR
|
|
5410
|
+
const DEFAULT_VALUE_ACCESSOR = {
|
|
5397
5411
|
provide: NG_VALUE_ACCESSOR,
|
|
5398
5412
|
useExisting: forwardRef(() => MatSwipeField),
|
|
5399
5413
|
multi: true
|
|
@@ -5656,7 +5670,7 @@ MatSwipeField.decorators = [
|
|
|
5656
5670
|
{ type: Component, args: [{
|
|
5657
5671
|
selector: 'mat-swipe-field',
|
|
5658
5672
|
template: "<mat-form-field [floatLabel]=\"showSlides && (!floatLabel || floatLabel === 'auto') ? 'always': floatLabel\"\n [class.mat-form-field-disabled]=\"disabled\">\n <mat-label *ngIf=\"placeholder && floatLabel!=='never'\">\n {{placeholder}}\n </mat-label>\n <input matInput #fakeInput type=\"text\"\n [formControl]=\"formControl\"\n [readonly]=\"true\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showSlides\"\n [tabindex]=\"tabindex\">\n\n <div class=\"slides-container\" [class.hidden]=\"!showSlides\">\n <ion-slides #slides\n [options]=\"slidesOptions\"\n (ionSlidesDidLoad)=\"slidesLoaded()\"\n (ionSlideReachStart)=\"reachStart(true)\"\n (ionSlideReachEnd)=\"reachEnd(true)\"\n (ionSlideNextEnd)=\"reachStart(false)\"\n (ionSlidePrevEnd)=\"reachEnd(false)\"\n (ionSlideDidChange)=\"slideChanged()\"\n >\n <ion-slide *ngFor=\"let item of $items | async\">\n <ion-label>{{ displayWith(item) }}</ion-label>\n </ion-slide>\n\n </ion-slides>\n </div>\n\n <button #prevButton\n mat-icon-button\n type=\"button\"\n class=\"button-prev\"\n [hidden]=\"!showSlides\"\n [disabled]=\"previousDisabled\"\n (click)=\"previous()\">\n <mat-icon>chevron_left</mat-icon>\n </button>\n <button #nextButton\n mat-icon-button\n type=\"button\"\n class=\"button-next\"\n [hidden]=\"!showSlides\"\n [disabled]=\"nextDisabled\"\n (click)=\"next()\">\n <mat-icon>chevron_right</mat-icon>\n </button>\n\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clearValue($event)\"\n [hidden]=\"disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('entity')\" translate>ERROR.FIELD_INVALID</mat-error>\n\n</mat-form-field>\n",
|
|
5659
|
-
providers: [DEFAULT_VALUE_ACCESSOR
|
|
5673
|
+
providers: [DEFAULT_VALUE_ACCESSOR],
|
|
5660
5674
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
5661
5675
|
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}"]
|
|
5662
5676
|
},] }
|
|
@@ -6151,7 +6165,7 @@ class ProgressBarService {
|
|
|
6151
6165
|
}
|
|
6152
6166
|
}
|
|
6153
6167
|
}
|
|
6154
|
-
ProgressBarService.ɵprov =
|
|
6168
|
+
ProgressBarService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
|
|
6155
6169
|
ProgressBarService.decorators = [
|
|
6156
6170
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
6157
6171
|
];
|
|
@@ -6195,7 +6209,7 @@ class AppGestureConfig extends HammerGestureConfig {
|
|
|
6195
6209
|
return mc;
|
|
6196
6210
|
}
|
|
6197
6211
|
}
|
|
6198
|
-
AppGestureConfig.ɵprov =
|
|
6212
|
+
AppGestureConfig.ɵprov = i0.ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
|
|
6199
6213
|
AppGestureConfig.decorators = [
|
|
6200
6214
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
6201
6215
|
];
|
|
@@ -6418,7 +6432,7 @@ class MatPaginatorI18n extends MatPaginatorIntl {
|
|
|
6418
6432
|
this.previousPageLabel = this.translate.instant('COMMON.PAGINATOR.PREVIOUS_PAGE');
|
|
6419
6433
|
}
|
|
6420
6434
|
}
|
|
6421
|
-
MatPaginatorI18n.ɵprov =
|
|
6435
|
+
MatPaginatorI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(i0.ɵɵinject(i1$1.TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
|
|
6422
6436
|
MatPaginatorI18n.decorators = [
|
|
6423
6437
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
6424
6438
|
];
|
|
@@ -6508,17 +6522,17 @@ function getColorContrast(color, bw) {
|
|
|
6508
6522
|
return rgbArrayToHex(rgb.map(v => 255 - v));
|
|
6509
6523
|
}
|
|
6510
6524
|
|
|
6511
|
-
const noop
|
|
6525
|
+
const noop = () => {
|
|
6512
6526
|
};
|
|
6513
|
-
const ɵ0$
|
|
6527
|
+
const ɵ0$3 = noop;
|
|
6514
6528
|
class AppFormField {
|
|
6515
6529
|
constructor(translate, cd, injector, formGroupDir) {
|
|
6516
6530
|
this.translate = translate;
|
|
6517
6531
|
this.cd = cd;
|
|
6518
6532
|
this.injector = injector;
|
|
6519
6533
|
this.formGroupDir = formGroupDir;
|
|
6520
|
-
this._onChangeCallback = noop
|
|
6521
|
-
this._onTouchedCallback = noop
|
|
6534
|
+
this._onChangeCallback = noop;
|
|
6535
|
+
this._onTouchedCallback = noop;
|
|
6522
6536
|
this.readonly = false;
|
|
6523
6537
|
this.compact = false;
|
|
6524
6538
|
this.floatLabel = 'auto';
|
|
@@ -6889,14 +6903,14 @@ class AudioProvider {
|
|
|
6889
6903
|
});
|
|
6890
6904
|
}
|
|
6891
6905
|
}
|
|
6892
|
-
AudioProvider.ɵprov =
|
|
6906
|
+
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" });
|
|
6893
6907
|
AudioProvider.decorators = [
|
|
6894
6908
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
6895
6909
|
];
|
|
6896
6910
|
AudioProvider.ctorParameters = () => [
|
|
6897
6911
|
{ type: Platform },
|
|
6898
|
-
{ type: NativeAudio
|
|
6899
|
-
{ type: Vibration
|
|
6912
|
+
{ type: NativeAudio, decorators: [{ type: Optional }] },
|
|
6913
|
+
{ type: Vibration, decorators: [{ type: Optional }] },
|
|
6900
6914
|
{ type: AudioManagement, decorators: [{ type: Optional }] }
|
|
6901
6915
|
];
|
|
6902
6916
|
|
|
@@ -6978,7 +6992,7 @@ class Hotkeys {
|
|
|
6978
6992
|
});
|
|
6979
6993
|
}
|
|
6980
6994
|
}
|
|
6981
|
-
Hotkeys.ɵprov =
|
|
6995
|
+
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" });
|
|
6982
6996
|
Hotkeys.decorators = [
|
|
6983
6997
|
{ type: Injectable, args: [{
|
|
6984
6998
|
providedIn: 'root'
|
|
@@ -7152,7 +7166,7 @@ class Base64ImageReader {
|
|
|
7152
7166
|
}
|
|
7153
7167
|
}
|
|
7154
7168
|
|
|
7155
|
-
const uuidv4 = uuidv4Imported;
|
|
7169
|
+
const uuidv4$1 = uuidv4Imported;
|
|
7156
7170
|
class FileService {
|
|
7157
7171
|
constructor(platform,
|
|
7158
7172
|
//private transfer: FileTransfer,
|
|
@@ -7189,7 +7203,7 @@ class FileService {
|
|
|
7189
7203
|
const lastSlashIndex = source.lastIndexOf('/');
|
|
7190
7204
|
if (lastSlashIndex === -1)
|
|
7191
7205
|
throw new Error('Invalid URL: ' + source);
|
|
7192
|
-
const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4();
|
|
7206
|
+
const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4$1();
|
|
7193
7207
|
// Download into the file system
|
|
7194
7208
|
if (responseType === 'file' && this.canUseFileSystem) {
|
|
7195
7209
|
console.warn(`WARN: [file] Fetching image {${source}} in local file...`);
|
|
@@ -7245,7 +7259,7 @@ class FileService {
|
|
|
7245
7259
|
this._started = true;
|
|
7246
7260
|
}
|
|
7247
7261
|
}
|
|
7248
|
-
FileService.ɵprov =
|
|
7262
|
+
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" });
|
|
7249
7263
|
FileService.decorators = [
|
|
7250
7264
|
{ type: Injectable, args: [{
|
|
7251
7265
|
providedIn: 'root',
|
|
@@ -7407,7 +7421,7 @@ class Base58 {
|
|
|
7407
7421
|
Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
|
|
7408
7422
|
|
|
7409
7423
|
const scrypt = require('scrypt-async');
|
|
7410
|
-
const sha256 = require('hash.js/lib/hash/sha/256');
|
|
7424
|
+
const sha256$1 = require('hash.js/lib/hash/sha/256');
|
|
7411
7425
|
const sha512 = require('hash.js/lib/hash/sha/512');
|
|
7412
7426
|
const nacl = {
|
|
7413
7427
|
sign,
|
|
@@ -7511,7 +7525,7 @@ class CryptoService {
|
|
|
7511
7525
|
* Hash (using SHA256) a message
|
|
7512
7526
|
*/
|
|
7513
7527
|
sha256(message) {
|
|
7514
|
-
return sha256().update(message).digest('hex');
|
|
7528
|
+
return sha256$1().update(message).digest('hex');
|
|
7515
7529
|
}
|
|
7516
7530
|
/**
|
|
7517
7531
|
* Hash (using SHA512) a message
|
|
@@ -7524,7 +7538,7 @@ class CryptoService {
|
|
|
7524
7538
|
return nacl.util.encodeBase64(m);
|
|
7525
7539
|
}
|
|
7526
7540
|
}
|
|
7527
|
-
CryptoService.ɵprov =
|
|
7541
|
+
CryptoService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
|
|
7528
7542
|
CryptoService.decorators = [
|
|
7529
7543
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
7530
7544
|
];
|
|
@@ -8731,7 +8745,7 @@ class LocalSettingsService {
|
|
|
8731
8745
|
return page;
|
|
8732
8746
|
}
|
|
8733
8747
|
}
|
|
8734
|
-
LocalSettingsService.ɵprov =
|
|
8748
|
+
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" });
|
|
8735
8749
|
LocalSettingsService.decorators = [
|
|
8736
8750
|
{ type: Injectable, args: [{
|
|
8737
8751
|
providedIn: 'root',
|
|
@@ -9427,7 +9441,7 @@ class NetworkService {
|
|
|
9427
9441
|
});
|
|
9428
9442
|
}
|
|
9429
9443
|
}
|
|
9430
|
-
NetworkService.ɵprov =
|
|
9444
|
+
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" });
|
|
9431
9445
|
NetworkService.decorators = [
|
|
9432
9446
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
9433
9447
|
];
|
|
@@ -9438,16 +9452,16 @@ NetworkService.ctorParameters = () => [
|
|
|
9438
9452
|
{ type: CryptoService },
|
|
9439
9453
|
{ type: Storage },
|
|
9440
9454
|
{ type: LocalSettingsService },
|
|
9441
|
-
{ type: CacheService
|
|
9455
|
+
{ type: CacheService },
|
|
9442
9456
|
{ type: HttpClient },
|
|
9443
9457
|
{ type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
|
|
9444
|
-
{ type: Network
|
|
9445
|
-
{ type: SplashScreen
|
|
9458
|
+
{ type: Network, decorators: [{ type: Optional }] },
|
|
9459
|
+
{ type: SplashScreen, decorators: [{ type: Optional }] },
|
|
9446
9460
|
{ type: TranslateService, decorators: [{ type: Optional }] },
|
|
9447
9461
|
{ type: ToastController, decorators: [{ type: Optional }] }
|
|
9448
9462
|
];
|
|
9449
9463
|
|
|
9450
|
-
const ErrorCodes = {
|
|
9464
|
+
const ErrorCodes$2 = {
|
|
9451
9465
|
UNKNOWN_ERROR: 0,
|
|
9452
9466
|
LOAD_ACCOUNT_ERROR: 1,
|
|
9453
9467
|
BAD_PASSWORD: 2,
|
|
@@ -9794,7 +9808,7 @@ class EntityStore {
|
|
|
9794
9808
|
}
|
|
9795
9809
|
catch (err) {
|
|
9796
9810
|
console.error(err);
|
|
9797
|
-
throw { code: ErrorCodes.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err };
|
|
9811
|
+
throw { code: ErrorCodes$2.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err };
|
|
9798
9812
|
}
|
|
9799
9813
|
}
|
|
9800
9814
|
// Emit update event
|
|
@@ -10371,7 +10385,7 @@ class EntitiesStorage {
|
|
|
10371
10385
|
}
|
|
10372
10386
|
EntitiesStorage.TRASH_PREFIX = 'Trash#';
|
|
10373
10387
|
EntitiesStorage.REMOTE_PREFIX = 'Remote#';
|
|
10374
|
-
EntitiesStorage.ɵprov =
|
|
10388
|
+
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" });
|
|
10375
10389
|
EntitiesStorage.decorators = [
|
|
10376
10390
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
10377
10391
|
];
|
|
@@ -10468,10 +10482,10 @@ function referentialToString(obj, properties) {
|
|
|
10468
10482
|
function referentialsToString(values, properties, separator) {
|
|
10469
10483
|
return (values || []).map(v => referentialToString(v, properties)).join(separator || ', ');
|
|
10470
10484
|
}
|
|
10471
|
-
const ɵ0$
|
|
10485
|
+
const ɵ0$2 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
|
|
10472
10486
|
const StatusList = Object.freeze([
|
|
10473
10487
|
{
|
|
10474
|
-
id: ɵ0$
|
|
10488
|
+
id: ɵ0$2,
|
|
10475
10489
|
icon: 'checkmark',
|
|
10476
10490
|
label: 'REFERENTIAL.STATUS_ENUM.ENABLE'
|
|
10477
10491
|
},
|
|
@@ -10742,7 +10756,7 @@ function accountToString(data) {
|
|
|
10742
10756
|
(data.lastName || '')) || '';
|
|
10743
10757
|
}
|
|
10744
10758
|
|
|
10745
|
-
const uuidv4
|
|
10759
|
+
const uuidv4 = uuidv4Imported;
|
|
10746
10760
|
const _global = typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : {});
|
|
10747
10761
|
const NativeWebSocket = _global.WebSocket || _global.MozWebSocket;
|
|
10748
10762
|
/**
|
|
@@ -10786,7 +10800,7 @@ function createTrackerLink(opts) {
|
|
|
10786
10800
|
// Skip if not tracked
|
|
10787
10801
|
if (!context || !context.tracked)
|
|
10788
10802
|
return forward(operation);
|
|
10789
|
-
const id = context.serializationKey || uuidv4
|
|
10803
|
+
const id = context.serializationKey || uuidv4();
|
|
10790
10804
|
console.debug(`[apollo-tracker-link] Watching tracked query {${operation.operationName}#${id}}`);
|
|
10791
10805
|
// Clean context, before calling JSON.stringify (remove unused attributes)
|
|
10792
10806
|
const cleanContext = Object.assign(Object.assign({}, context), { optimisticResponse: null, cache: null });
|
|
@@ -11491,7 +11505,7 @@ class GraphqlService {
|
|
|
11491
11505
|
(err.networkError && ((err.networkError.error && this.toAppError(err.networkError.error))
|
|
11492
11506
|
|| this.toAppError(err.networkError)
|
|
11493
11507
|
|| (err.networkError.error && this.createAppErrorByCode(err.networkError.error.status))
|
|
11494
|
-
|| this.createAppErrorByCode(ErrorCodes.UNKNOWN_NETWORK_ERROR)))
|
|
11508
|
+
|| this.createAppErrorByCode(ErrorCodes$2.UNKNOWN_NETWORK_ERROR)))
|
|
11495
11509
|
// If graphQL: try to convert the first error found
|
|
11496
11510
|
|| (err.graphQLErrors && err.graphQLErrors.length && this.toAppError(err.graphQLErrors[0]))
|
|
11497
11511
|
|| this.toAppError(err)
|
|
@@ -11499,7 +11513,7 @@ class GraphqlService {
|
|
|
11499
11513
|
|| (err.graphQLErrors && err.graphQLErrors[0])
|
|
11500
11514
|
|| err;
|
|
11501
11515
|
console.error('[graphql] ' + (error && error.message || error), error.stack || '');
|
|
11502
|
-
if (error && error.code === ErrorCodes.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
|
|
11516
|
+
if (error && error.code === ErrorCodes$2.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
|
|
11503
11517
|
console.error('[graphql] original error: ' + err.networkError.message);
|
|
11504
11518
|
this.onNetworkError.next(error);
|
|
11505
11519
|
}
|
|
@@ -11535,7 +11549,7 @@ class GraphqlService {
|
|
|
11535
11549
|
return 'ERROR.UNAUTHORIZED';
|
|
11536
11550
|
case ServerErrorCodes.FORBIDDEN:
|
|
11537
11551
|
return 'ERROR.FORBIDDEN';
|
|
11538
|
-
case ErrorCodes.UNKNOWN_NETWORK_ERROR:
|
|
11552
|
+
case ErrorCodes$2.UNKNOWN_NETWORK_ERROR:
|
|
11539
11553
|
return 'ERROR.UNKNOWN_NETWORK_ERROR';
|
|
11540
11554
|
case ServerErrorCodes.BAD_UPDATE_DATE:
|
|
11541
11555
|
return 'ERROR.BAD_UPDATE_DATE';
|
|
@@ -11572,7 +11586,7 @@ class GraphqlService {
|
|
|
11572
11586
|
});
|
|
11573
11587
|
}
|
|
11574
11588
|
}
|
|
11575
|
-
GraphqlService.ɵprov =
|
|
11589
|
+
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" });
|
|
11576
11590
|
GraphqlService.decorators = [
|
|
11577
11591
|
{ type: Injectable, args: [{
|
|
11578
11592
|
providedIn: 'root'
|
|
@@ -11589,7 +11603,7 @@ GraphqlService.ctorParameters = () => [
|
|
|
11589
11603
|
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_GRAPHQL_TYPE_POLICIES,] }] }
|
|
11590
11604
|
];
|
|
11591
11605
|
|
|
11592
|
-
const sha256
|
|
11606
|
+
const sha256 = require('hash.js/lib/hash/sha/256');
|
|
11593
11607
|
class BaseGraphqlServiceOptions {
|
|
11594
11608
|
}
|
|
11595
11609
|
// eslint-disable-next-line @angular-eslint/directive-class-suffix
|
|
@@ -11725,8 +11739,8 @@ class BaseGraphqlService {
|
|
|
11725
11739
|
}
|
|
11726
11740
|
/* -- protected methods -- */
|
|
11727
11741
|
computeMutableWatchQueryId(opts) {
|
|
11728
|
-
const queryName = opts.queryName || sha256
|
|
11729
|
-
const variablesKey = opts.variables && sha256
|
|
11742
|
+
const queryName = opts.queryName || sha256().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
|
|
11743
|
+
const variablesKey = opts.variables && sha256().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
|
|
11730
11744
|
return [queryName, opts.arrayFieldName, variablesKey].join('|');
|
|
11731
11745
|
}
|
|
11732
11746
|
findMutableWatchQueries(opts) {
|
|
@@ -11789,7 +11803,7 @@ const DEFAULT_AVATAR_IMAGE = 'assets/img/person.png';
|
|
|
11789
11803
|
/* ------------------------------------
|
|
11790
11804
|
* GraphQL queries
|
|
11791
11805
|
* ------------------------------------*/
|
|
11792
|
-
const Fragments = {
|
|
11806
|
+
const Fragments$1 = {
|
|
11793
11807
|
account: gql `
|
|
11794
11808
|
fragment AccountFragment on AccountVO {
|
|
11795
11809
|
id
|
|
@@ -11822,13 +11836,13 @@ const Fragments = {
|
|
|
11822
11836
|
`
|
|
11823
11837
|
};
|
|
11824
11838
|
// Load account query
|
|
11825
|
-
const LoadQuery = gql `
|
|
11839
|
+
const LoadQuery$1 = gql `
|
|
11826
11840
|
query Account {
|
|
11827
11841
|
account {
|
|
11828
11842
|
...AccountFragment
|
|
11829
11843
|
}
|
|
11830
11844
|
}
|
|
11831
|
-
${Fragments.account}
|
|
11845
|
+
${Fragments$1.account}
|
|
11832
11846
|
`;
|
|
11833
11847
|
// Check email query
|
|
11834
11848
|
const IsEmailExistsQuery = gql `
|
|
@@ -11837,13 +11851,13 @@ const IsEmailExistsQuery = gql `
|
|
|
11837
11851
|
}
|
|
11838
11852
|
`;
|
|
11839
11853
|
// Save (create or update) account mutation
|
|
11840
|
-
const SaveMutation = gql `
|
|
11854
|
+
const SaveMutation$1 = gql `
|
|
11841
11855
|
mutation SaveAccount($account:AccountVOInput){
|
|
11842
11856
|
saveAccount(account: $account){
|
|
11843
11857
|
...AccountFragment
|
|
11844
11858
|
}
|
|
11845
11859
|
}
|
|
11846
|
-
${Fragments.account}
|
|
11860
|
+
${Fragments$1.account}
|
|
11847
11861
|
`;
|
|
11848
11862
|
// Create account mutation
|
|
11849
11863
|
const CreateMutation = gql `
|
|
@@ -11852,7 +11866,7 @@ const CreateMutation = gql `
|
|
|
11852
11866
|
...AccountFragment
|
|
11853
11867
|
}
|
|
11854
11868
|
}
|
|
11855
|
-
${Fragments.account}
|
|
11869
|
+
${Fragments$1.account}
|
|
11856
11870
|
`;
|
|
11857
11871
|
// Sent confirmation email
|
|
11858
11872
|
const SendConfirmEmailMutation = gql `
|
|
@@ -12191,7 +12205,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12191
12205
|
catch (error) {
|
|
12192
12206
|
console.error(error);
|
|
12193
12207
|
this.resetData();
|
|
12194
|
-
throw { code: ErrorCodes.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
|
|
12208
|
+
throw { code: ErrorCodes$2.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
|
|
12195
12209
|
}
|
|
12196
12210
|
// Store pubkey+keypair
|
|
12197
12211
|
this.data.pubkey = Base58.encode(keypair.publicKey);
|
|
@@ -12225,7 +12239,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12225
12239
|
}
|
|
12226
12240
|
catch (err) {
|
|
12227
12241
|
// If account not found, check if email is valid
|
|
12228
|
-
if (err && +(err.code) === ErrorCodes.LOAD_ACCOUNT_ERROR) {
|
|
12242
|
+
if (err && +(err.code) === ErrorCodes$2.LOAD_ACCOUNT_ERROR) {
|
|
12229
12243
|
// Check email exists
|
|
12230
12244
|
if (data.username.indexOf('@') !== -1) {
|
|
12231
12245
|
let isEmailExists;
|
|
@@ -12237,11 +12251,11 @@ class AccountService extends BaseGraphqlService {
|
|
|
12237
12251
|
}
|
|
12238
12252
|
// Email not exists (no account)
|
|
12239
12253
|
if (!isEmailExists) {
|
|
12240
|
-
throw { code: ErrorCodes.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
|
|
12254
|
+
throw { code: ErrorCodes$2.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
|
|
12241
12255
|
}
|
|
12242
12256
|
}
|
|
12243
12257
|
// Email exists, so error = 'bad password'
|
|
12244
|
-
throw { code: ErrorCodes.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
|
|
12258
|
+
throw { code: ErrorCodes$2.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
|
|
12245
12259
|
}
|
|
12246
12260
|
throw err; // resend the first error
|
|
12247
12261
|
}
|
|
@@ -12302,7 +12316,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12302
12316
|
throw error;
|
|
12303
12317
|
console.error(error);
|
|
12304
12318
|
throw {
|
|
12305
|
-
code: ErrorCodes.LOAD_ACCOUNT_ERROR,
|
|
12319
|
+
code: ErrorCodes$2.LOAD_ACCOUNT_ERROR,
|
|
12306
12320
|
message: 'ERROR.LOAD_ACCOUNT_ERROR'
|
|
12307
12321
|
};
|
|
12308
12322
|
}
|
|
@@ -12514,8 +12528,8 @@ class AccountService extends BaseGraphqlService {
|
|
|
12514
12528
|
}
|
|
12515
12529
|
else {
|
|
12516
12530
|
const res = yield this.graphql.query({
|
|
12517
|
-
query: LoadQuery,
|
|
12518
|
-
error: { code: ErrorCodes.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
|
|
12531
|
+
query: LoadQuery$1,
|
|
12532
|
+
error: { code: ErrorCodes$2.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
|
|
12519
12533
|
fetchPolicy: opts && opts.fetchPolicy || 'no-cache' || undefined
|
|
12520
12534
|
});
|
|
12521
12535
|
accountJson = res && res.account;
|
|
@@ -12549,7 +12563,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12549
12563
|
if (!isNew) {
|
|
12550
12564
|
const existingAccount = yield this.loadAccount({ fetchPolicy: 'network-only' });
|
|
12551
12565
|
if (!existingAccount || !existingAccount.updateDate) {
|
|
12552
|
-
throw { code: ErrorCodes.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
|
|
12566
|
+
throw { code: ErrorCodes$2.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
|
|
12553
12567
|
}
|
|
12554
12568
|
account.updateDate = existingAccount.updateDate || account.updateDate;
|
|
12555
12569
|
if (account.settings && existingAccount.settings) {
|
|
@@ -12562,12 +12576,12 @@ class AccountService extends BaseGraphqlService {
|
|
|
12562
12576
|
delete json.mainProfile; // Not known on server
|
|
12563
12577
|
// Execute mutation
|
|
12564
12578
|
const res = yield this.graphql.mutate({
|
|
12565
|
-
mutation: isNew ? CreateMutation : SaveMutation,
|
|
12579
|
+
mutation: isNew ? CreateMutation : SaveMutation$1,
|
|
12566
12580
|
variables: {
|
|
12567
12581
|
account: json
|
|
12568
12582
|
},
|
|
12569
12583
|
error: {
|
|
12570
|
-
code: ErrorCodes.SAVE_ACCOUNT_ERROR,
|
|
12584
|
+
code: ErrorCodes$2.SAVE_ACCOUNT_ERROR,
|
|
12571
12585
|
message: 'ERROR.SAVE_ACCOUNT_ERROR'
|
|
12572
12586
|
}
|
|
12573
12587
|
});
|
|
@@ -12592,7 +12606,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12592
12606
|
return __awaiter(this, void 0, void 0, function* () {
|
|
12593
12607
|
const isEmailExists = yield this.isEmailExists(email);
|
|
12594
12608
|
if (isEmailExists) {
|
|
12595
|
-
throw { code: ErrorCodes.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
|
|
12609
|
+
throw { code: ErrorCodes$2.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
|
|
12596
12610
|
}
|
|
12597
12611
|
});
|
|
12598
12612
|
}
|
|
@@ -12628,7 +12642,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12628
12642
|
locale
|
|
12629
12643
|
},
|
|
12630
12644
|
error: {
|
|
12631
|
-
code: ErrorCodes.SENT_CONFIRMATION_EMAIL_FAILED,
|
|
12645
|
+
code: ErrorCodes$2.SENT_CONFIRMATION_EMAIL_FAILED,
|
|
12632
12646
|
message: 'ERROR.SENT_ACCOUNT_CONFIRMATION_EMAIL_FAILED'
|
|
12633
12647
|
}
|
|
12634
12648
|
});
|
|
@@ -12644,7 +12658,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12644
12658
|
code
|
|
12645
12659
|
},
|
|
12646
12660
|
error: {
|
|
12647
|
-
code: ErrorCodes.CONFIRM_EMAIL_FAILED,
|
|
12661
|
+
code: ErrorCodes$2.CONFIRM_EMAIL_FAILED,
|
|
12648
12662
|
message: 'ERROR.CONFIRM_ACCOUNT_EMAIL_FAILED'
|
|
12649
12663
|
}
|
|
12650
12664
|
});
|
|
@@ -12662,7 +12676,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12662
12676
|
interval: 10
|
|
12663
12677
|
},
|
|
12664
12678
|
error: {
|
|
12665
|
-
code: ErrorCodes.SUBSCRIBE_ACCOUNT_ERROR,
|
|
12679
|
+
code: ErrorCodes$2.SUBSCRIBE_ACCOUNT_ERROR,
|
|
12666
12680
|
message: 'ERROR.ACCOUNT.SUBSCRIBE_ACCOUNT_ERROR'
|
|
12667
12681
|
}
|
|
12668
12682
|
}).subscribe({
|
|
@@ -12741,7 +12755,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12741
12755
|
if (counter > 4) {
|
|
12742
12756
|
if (this._debug)
|
|
12743
12757
|
console.debug(`[account] Failed to authentication on pod (after ${counter} attempts)`);
|
|
12744
|
-
throw { code: ErrorCodes.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
|
|
12758
|
+
throw { code: ErrorCodes$2.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
|
|
12745
12759
|
}
|
|
12746
12760
|
// Check if valid
|
|
12747
12761
|
if (token) {
|
|
@@ -12751,7 +12765,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12751
12765
|
token
|
|
12752
12766
|
},
|
|
12753
12767
|
error: {
|
|
12754
|
-
code: ErrorCodes.UNAUTHORIZED,
|
|
12768
|
+
code: ErrorCodes$2.UNAUTHORIZED,
|
|
12755
12769
|
message: 'ERROR.UNAUTHORIZED'
|
|
12756
12770
|
},
|
|
12757
12771
|
fetchPolicy: 'no-cache'
|
|
@@ -12767,7 +12781,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12767
12781
|
}
|
|
12768
12782
|
// Generate a new token
|
|
12769
12783
|
const challengeError = {
|
|
12770
|
-
code: ErrorCodes.AUTH_CHALLENGE_ERROR,
|
|
12784
|
+
code: ErrorCodes$2.AUTH_CHALLENGE_ERROR,
|
|
12771
12785
|
message: 'ERROR.AUTH_CHALLENGE_ERROR'
|
|
12772
12786
|
};
|
|
12773
12787
|
const data = yield this.graphql.query({
|
|
@@ -12793,7 +12807,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12793
12807
|
});
|
|
12794
12808
|
}
|
|
12795
12809
|
}
|
|
12796
|
-
AccountService.ɵprov =
|
|
12810
|
+
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" });
|
|
12797
12811
|
AccountService.decorators = [
|
|
12798
12812
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
12799
12813
|
];
|
|
@@ -13043,7 +13057,7 @@ const CONFIGURATION_STORAGE_KEY = 'configuration';
|
|
|
13043
13057
|
/* ------------------------------------
|
|
13044
13058
|
* GraphQL queries
|
|
13045
13059
|
* ------------------------------------*/
|
|
13046
|
-
const Fragments
|
|
13060
|
+
const Fragments = {
|
|
13047
13061
|
config: gql `
|
|
13048
13062
|
fragment ConfigFragment on ConfigurationVO {
|
|
13049
13063
|
id
|
|
@@ -13070,22 +13084,22 @@ const Fragments$1 = {
|
|
|
13070
13084
|
}
|
|
13071
13085
|
`
|
|
13072
13086
|
};
|
|
13073
|
-
const LoadQuery
|
|
13087
|
+
const LoadQuery = gql `
|
|
13074
13088
|
query Configuration{
|
|
13075
13089
|
data: configuration{
|
|
13076
13090
|
...ConfigFragment
|
|
13077
13091
|
}
|
|
13078
13092
|
}
|
|
13079
|
-
${Fragments
|
|
13093
|
+
${Fragments.config}
|
|
13080
13094
|
`;
|
|
13081
13095
|
// Save (create or update) account mutation
|
|
13082
|
-
const SaveMutation
|
|
13096
|
+
const SaveMutation = gql `
|
|
13083
13097
|
mutation SaveConfiguration($data: ConfigurationVOInput){
|
|
13084
13098
|
data: saveConfiguration(config: $data){
|
|
13085
13099
|
...ConfigFragment
|
|
13086
13100
|
}
|
|
13087
13101
|
}
|
|
13088
|
-
${Fragments
|
|
13102
|
+
${Fragments.config}
|
|
13089
13103
|
`;
|
|
13090
13104
|
const ClearCache = gql `
|
|
13091
13105
|
query ClearCache($name: String) {
|
|
@@ -13173,12 +13187,12 @@ class ConfigService extends BaseGraphqlService {
|
|
|
13173
13187
|
return __awaiter(this, void 0, void 0, function* () {
|
|
13174
13188
|
const now = Date.now();
|
|
13175
13189
|
console.debug('[config] Loading Pod configuration...');
|
|
13176
|
-
const query = opts && opts.query || LoadQuery
|
|
13190
|
+
const query = opts && opts.query || LoadQuery;
|
|
13177
13191
|
const variables = opts && opts.variables || undefined;
|
|
13178
13192
|
const res = yield this.graphql.query({
|
|
13179
13193
|
query,
|
|
13180
13194
|
variables,
|
|
13181
|
-
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
13195
|
+
error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
13182
13196
|
fetchPolicy: opts && opts.fetchPolicy || undefined /*default*/
|
|
13183
13197
|
});
|
|
13184
13198
|
const data = res && res.data ? Configuration.fromObject(res.data) : undefined;
|
|
@@ -13203,12 +13217,12 @@ class ConfigService extends BaseGraphqlService {
|
|
|
13203
13217
|
const json = config.asObject();
|
|
13204
13218
|
// Execute mutation
|
|
13205
13219
|
const res = yield this.graphql.mutate({
|
|
13206
|
-
mutation: SaveMutation
|
|
13220
|
+
mutation: SaveMutation,
|
|
13207
13221
|
variables: {
|
|
13208
13222
|
data: json
|
|
13209
13223
|
},
|
|
13210
13224
|
error: {
|
|
13211
|
-
code: ErrorCodes.SAVE_CONFIG_ERROR,
|
|
13225
|
+
code: ErrorCodes$2.SAVE_CONFIG_ERROR,
|
|
13212
13226
|
message: 'ERROR.SAVE_CONFIG_ERROR'
|
|
13213
13227
|
}
|
|
13214
13228
|
});
|
|
@@ -13234,7 +13248,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
13234
13248
|
const res = yield this.graphql.query({
|
|
13235
13249
|
query: CacheStatistics,
|
|
13236
13250
|
variables: null,
|
|
13237
|
-
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
13251
|
+
error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
13238
13252
|
fetchPolicy: 'network-only'
|
|
13239
13253
|
});
|
|
13240
13254
|
const data = res && res.cacheStatistics || undefined;
|
|
@@ -13250,7 +13264,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
13250
13264
|
const res = yield this.graphql.query({
|
|
13251
13265
|
query: ClearCache,
|
|
13252
13266
|
variables,
|
|
13253
|
-
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
13267
|
+
error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
13254
13268
|
fetchPolicy: 'network-only'
|
|
13255
13269
|
});
|
|
13256
13270
|
const data = res && res.clearCache || undefined;
|
|
@@ -13409,7 +13423,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
13409
13423
|
});
|
|
13410
13424
|
}
|
|
13411
13425
|
}
|
|
13412
|
-
ConfigService.ɵprov =
|
|
13426
|
+
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" });
|
|
13413
13427
|
ConfigService.decorators = [
|
|
13414
13428
|
{ type: Injectable, args: [{
|
|
13415
13429
|
providedIn: 'root',
|
|
@@ -13428,7 +13442,7 @@ ConfigService.ctorParameters = () => [
|
|
|
13428
13442
|
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_CONFIG_OPTIONS,] }] }
|
|
13429
13443
|
];
|
|
13430
13444
|
|
|
13431
|
-
const moment$
|
|
13445
|
+
const moment$2 = momentImported;
|
|
13432
13446
|
class PlatformService {
|
|
13433
13447
|
constructor(platform, toastController, translate, dateAdapter, entitiesStorage, settings, networkService, accountService, configService, cache, storage, audioProvider, environment, statusBar, keyboard, splashScreen, browser) {
|
|
13434
13448
|
this.platform = platform;
|
|
@@ -13592,16 +13606,16 @@ class PlatformService {
|
|
|
13592
13606
|
}
|
|
13593
13607
|
// config moment lib
|
|
13594
13608
|
try {
|
|
13595
|
-
moment$
|
|
13609
|
+
moment$2.locale(event.lang);
|
|
13596
13610
|
console.debug('[platform] Use locale {' + event.lang + '}');
|
|
13597
13611
|
}
|
|
13598
13612
|
// If error, fallback to en
|
|
13599
13613
|
catch (err) {
|
|
13600
|
-
moment$
|
|
13614
|
+
moment$2.locale('en');
|
|
13601
13615
|
console.warn('[platform] Unknown local for moment lib. Using default [en]');
|
|
13602
13616
|
}
|
|
13603
13617
|
// Config date adapter
|
|
13604
|
-
this.dateAdapter.setLocale(moment$
|
|
13618
|
+
this.dateAdapter.setLocale(moment$2.locale());
|
|
13605
13619
|
}
|
|
13606
13620
|
});
|
|
13607
13621
|
this.settings.onChange.subscribe(data => {
|
|
@@ -13734,7 +13748,7 @@ class PlatformService {
|
|
|
13734
13748
|
});
|
|
13735
13749
|
}
|
|
13736
13750
|
}
|
|
13737
|
-
PlatformService.ɵprov =
|
|
13751
|
+
PlatformService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PlatformService_Factory() { return new PlatformService(i0.ɵɵinject(i1$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(i13.StatusBar, 8), i0.ɵɵinject(i14.Keyboard, 8), i0.ɵɵinject(i10.SplashScreen, 8), i0.ɵɵinject(i16.InAppBrowser, 8)); }, token: PlatformService, providedIn: "root" });
|
|
13738
13752
|
PlatformService.decorators = [
|
|
13739
13753
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
13740
13754
|
];
|
|
@@ -13748,14 +13762,14 @@ PlatformService.ctorParameters = () => [
|
|
|
13748
13762
|
{ type: NetworkService },
|
|
13749
13763
|
{ type: AccountService },
|
|
13750
13764
|
{ type: ConfigService },
|
|
13751
|
-
{ type: CacheService
|
|
13765
|
+
{ type: CacheService },
|
|
13752
13766
|
{ type: Storage },
|
|
13753
13767
|
{ type: AudioProvider },
|
|
13754
13768
|
{ type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
|
|
13755
|
-
{ type: StatusBar
|
|
13769
|
+
{ type: StatusBar, decorators: [{ type: Optional }] },
|
|
13756
13770
|
{ type: Keyboard, decorators: [{ type: Optional }] },
|
|
13757
|
-
{ type: SplashScreen
|
|
13758
|
-
{ type: InAppBrowser
|
|
13771
|
+
{ type: SplashScreen, decorators: [{ type: Optional }] },
|
|
13772
|
+
{ type: InAppBrowser, decorators: [{ type: Optional }] }
|
|
13759
13773
|
];
|
|
13760
13774
|
|
|
13761
13775
|
class AppHelpModal {
|
|
@@ -13819,7 +13833,7 @@ class MatStepperI18n extends MatStepperIntl {
|
|
|
13819
13833
|
this.optionalLabel = this.translate.instant('COMMON.OPTIONAL');
|
|
13820
13834
|
}
|
|
13821
13835
|
}
|
|
13822
|
-
MatStepperI18n.ɵprov =
|
|
13836
|
+
MatStepperI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(i0.ɵɵinject(i1$1.TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
|
|
13823
13837
|
MatStepperI18n.decorators = [
|
|
13824
13838
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
13825
13839
|
];
|
|
@@ -14727,7 +14741,7 @@ function state2side(state) {
|
|
|
14727
14741
|
return 1;
|
|
14728
14742
|
}
|
|
14729
14743
|
}
|
|
14730
|
-
const ɵ0$
|
|
14744
|
+
const ɵ0$1 = (defaultStateSize) => [
|
|
14731
14745
|
Math.round((rgbArrayMap.red[0] - 50) / defaultStateSize),
|
|
14732
14746
|
Math.round((255 - rgbArrayMap.red[1]) / defaultStateSize),
|
|
14733
14747
|
Math.round((255 - rgbArrayMap.red[2]) / defaultStateSize)
|
|
@@ -14735,7 +14749,7 @@ const ɵ0$9 = (defaultStateSize) => [
|
|
|
14735
14749
|
const SCALE_OPTIONS_DEFAULT = {
|
|
14736
14750
|
startColor: rgbArrayMap.red,
|
|
14737
14751
|
startStates: [0, 2, 3],
|
|
14738
|
-
startStepsFn: ɵ0$
|
|
14752
|
+
startStepsFn: ɵ0$1
|
|
14739
14753
|
};
|
|
14740
14754
|
/**
|
|
14741
14755
|
* Internal function, that create a colors scale, using iteration
|
|
@@ -14827,21 +14841,21 @@ function linearColorGradient(count, options) {
|
|
|
14827
14841
|
return result;
|
|
14828
14842
|
}
|
|
14829
14843
|
|
|
14830
|
-
class EntityTestClass {
|
|
14844
|
+
class EntityTestClass$1 {
|
|
14831
14845
|
}
|
|
14832
|
-
const FAKE_ENTITIES = [
|
|
14846
|
+
const FAKE_ENTITIES$1 = [
|
|
14833
14847
|
{ id: 1, label: 'AAA', name: 'Item A', description: 'Very long description A', comments: 'Very very long comments... again for A' },
|
|
14834
14848
|
{ id: 2, label: 'BBB', name: 'Item B', description: 'Very long description B', comments: 'Very very long comments... again for B' },
|
|
14835
14849
|
{ id: 3, label: 'CCC', name: 'Item C', description: 'Very long description C', comments: 'Very very long comments... again for C' }
|
|
14836
14850
|
];
|
|
14837
|
-
function deepCopy(values, size) {
|
|
14851
|
+
function deepCopy$1(values, size) {
|
|
14838
14852
|
if (isNil(size)) {
|
|
14839
|
-
return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
|
|
14853
|
+
return (values || FAKE_ENTITIES$1).map(entity => Object.assign({}, entity));
|
|
14840
14854
|
}
|
|
14841
14855
|
let result = [];
|
|
14842
14856
|
let i = 1;
|
|
14843
14857
|
while (result.length < size) {
|
|
14844
|
-
result = result.concat((values || FAKE_ENTITIES).map(entity => {
|
|
14858
|
+
result = result.concat((values || FAKE_ENTITIES$1).map(entity => {
|
|
14845
14859
|
const name = entity.name + ' #' + i;
|
|
14846
14860
|
return Object.assign(Object.assign({}, entity), { id: i++, name });
|
|
14847
14861
|
}));
|
|
@@ -14851,7 +14865,7 @@ function deepCopy(values, size) {
|
|
|
14851
14865
|
class AutocompleteTestPage {
|
|
14852
14866
|
constructor(formBuilder) {
|
|
14853
14867
|
this.formBuilder = formBuilder;
|
|
14854
|
-
this._items = deepCopy(FAKE_ENTITIES, 100);
|
|
14868
|
+
this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
|
|
14855
14869
|
this.$items = new BehaviorSubject(undefined);
|
|
14856
14870
|
this.autocompleteFields = new MatAutocompleteConfigHolder();
|
|
14857
14871
|
this.memoryHide = false;
|
|
@@ -14895,7 +14909,7 @@ class AutocompleteTestPage {
|
|
|
14895
14909
|
});
|
|
14896
14910
|
// From items
|
|
14897
14911
|
this.autocompleteFields.add('entity-items-large', {
|
|
14898
|
-
items: FAKE_ENTITIES.slice(),
|
|
14912
|
+
items: FAKE_ENTITIES$1.slice(),
|
|
14899
14913
|
attributes: ['label', 'name', 'description', 'comments'],
|
|
14900
14914
|
displayWith: this.entityToString
|
|
14901
14915
|
});
|
|
@@ -14905,12 +14919,12 @@ class AutocompleteTestPage {
|
|
|
14905
14919
|
loadData() {
|
|
14906
14920
|
return __awaiter(this, void 0, void 0, function* () {
|
|
14907
14921
|
const data = {
|
|
14908
|
-
entity: deepCopy(FAKE_ENTITIES)[1],
|
|
14922
|
+
entity: deepCopy$1(FAKE_ENTITIES$1)[1],
|
|
14909
14923
|
// This item is NOT in the items list => i should be displayed anyway
|
|
14910
14924
|
missingEntity: {
|
|
14911
14925
|
id: -1, label: '??', name: 'Missing item'
|
|
14912
14926
|
},
|
|
14913
|
-
disableEntity: deepCopy(FAKE_ENTITIES)[2]
|
|
14927
|
+
disableEntity: deepCopy$1(FAKE_ENTITIES$1)[2]
|
|
14914
14928
|
};
|
|
14915
14929
|
this.form.setValue(data);
|
|
14916
14930
|
// Load observables
|
|
@@ -15080,13 +15094,13 @@ MaterialTestingPage.ctorParameters = () => [
|
|
|
15080
15094
|
{ type: Array, decorators: [{ type: Optional }, { type: Inject, args: [APP_TESTING_PAGES,] }] }
|
|
15081
15095
|
];
|
|
15082
15096
|
|
|
15083
|
-
const moment$
|
|
15097
|
+
const moment$1 = momentImported;
|
|
15084
15098
|
class SwipeTestPage {
|
|
15085
15099
|
constructor(formBuilder, dateFormatPipe) {
|
|
15086
15100
|
this.formBuilder = formBuilder;
|
|
15087
15101
|
this.dateFormatPipe = dateFormatPipe;
|
|
15088
15102
|
this.$dates = new BehaviorSubject(undefined);
|
|
15089
|
-
this._today = moment$
|
|
15103
|
+
this._today = moment$1().startOf('day');
|
|
15090
15104
|
this.form = formBuilder.group({
|
|
15091
15105
|
empty: [null, Validators.required],
|
|
15092
15106
|
date: [null, Validators.compose([Validators.required, SharedValidators.validDate])],
|
|
@@ -15099,7 +15113,7 @@ class SwipeTestPage {
|
|
|
15099
15113
|
ngOnInit() {
|
|
15100
15114
|
const dates = [];
|
|
15101
15115
|
for (let d = 0; d < 7; d++) {
|
|
15102
|
-
dates[d] = moment$
|
|
15116
|
+
dates[d] = moment$1(this._today).add(d - 3, 'day');
|
|
15103
15117
|
}
|
|
15104
15118
|
this.$dates.next(dates);
|
|
15105
15119
|
this.loadData();
|
|
@@ -15700,7 +15714,7 @@ class FormArrayHelper {
|
|
|
15700
15714
|
}
|
|
15701
15715
|
}
|
|
15702
15716
|
|
|
15703
|
-
const moment
|
|
15717
|
+
const moment = momentImported;
|
|
15704
15718
|
class DateTimeTestPage {
|
|
15705
15719
|
constructor(platform, formBuilder, cd) {
|
|
15706
15720
|
this.platform = platform;
|
|
@@ -15731,7 +15745,7 @@ class DateTimeTestPage {
|
|
|
15731
15745
|
// Load the form with data
|
|
15732
15746
|
loadData() {
|
|
15733
15747
|
return __awaiter(this, void 0, void 0, function* () {
|
|
15734
|
-
const now = moment
|
|
15748
|
+
const now = moment();
|
|
15735
15749
|
const data = {
|
|
15736
15750
|
empty: toDateISOString(now.clone().add(2, 'hours')),
|
|
15737
15751
|
enable: toDateISOString(now),
|
|
@@ -15791,20 +15805,20 @@ DateTimeTestPage.ctorParameters = () => [
|
|
|
15791
15805
|
{ type: ChangeDetectorRef }
|
|
15792
15806
|
];
|
|
15793
15807
|
|
|
15794
|
-
class EntityTestClass
|
|
15808
|
+
class EntityTestClass {
|
|
15795
15809
|
}
|
|
15796
|
-
const FAKE_ENTITIES
|
|
15810
|
+
const FAKE_ENTITIES = [
|
|
15797
15811
|
{ id: 1, label: 'AAA', name: 'Item A' },
|
|
15798
15812
|
{ id: 2, label: 'BBB', name: 'Item B' },
|
|
15799
15813
|
{ id: 3, label: 'CCC', name: 'Item C' }
|
|
15800
15814
|
];
|
|
15801
|
-
function deepCopy
|
|
15802
|
-
return (values || FAKE_ENTITIES
|
|
15815
|
+
function deepCopy(values) {
|
|
15816
|
+
return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
|
|
15803
15817
|
}
|
|
15804
15818
|
class ChipsTestPage {
|
|
15805
15819
|
constructor(formBuilder) {
|
|
15806
15820
|
this.formBuilder = formBuilder;
|
|
15807
|
-
this._items = deepCopy
|
|
15821
|
+
this._items = deepCopy(FAKE_ENTITIES);
|
|
15808
15822
|
this._$items = new BehaviorSubject(undefined);
|
|
15809
15823
|
this.autocompleteFields = new MatAutocompleteConfigHolder();
|
|
15810
15824
|
this.form = formBuilder.group({
|
|
@@ -15823,7 +15837,7 @@ class ChipsTestPage {
|
|
|
15823
15837
|
});
|
|
15824
15838
|
// From items
|
|
15825
15839
|
this.autocompleteFields.add('entity-items', {
|
|
15826
|
-
items: FAKE_ENTITIES
|
|
15840
|
+
items: FAKE_ENTITIES.slice(),
|
|
15827
15841
|
attributes: ['label', 'name'],
|
|
15828
15842
|
displayWith: this.entityToString
|
|
15829
15843
|
});
|
|
@@ -15844,15 +15858,15 @@ class ChipsTestPage {
|
|
|
15844
15858
|
const data = {
|
|
15845
15859
|
entity: [],
|
|
15846
15860
|
// THis item is NOT in the items list => i should be displayed anyway
|
|
15847
|
-
entityInitial: FAKE_ENTITIES
|
|
15848
|
-
disableEntity: FAKE_ENTITIES
|
|
15861
|
+
entityInitial: FAKE_ENTITIES.slice(1, 2),
|
|
15862
|
+
disableEntity: FAKE_ENTITIES.slice(1, 2)
|
|
15849
15863
|
};
|
|
15850
15864
|
this.form.setValue(data);
|
|
15851
15865
|
});
|
|
15852
15866
|
}
|
|
15853
15867
|
loadItems() {
|
|
15854
15868
|
return __awaiter(this, void 0, void 0, function* () {
|
|
15855
|
-
this._$items.next(deepCopy
|
|
15869
|
+
this._$items.next(deepCopy(FAKE_ENTITIES));
|
|
15856
15870
|
});
|
|
15857
15871
|
}
|
|
15858
15872
|
entityToString(item) {
|
|
@@ -15884,7 +15898,7 @@ ChipsTestPage.ctorParameters = () => [
|
|
|
15884
15898
|
{ type: FormBuilder }
|
|
15885
15899
|
];
|
|
15886
15900
|
|
|
15887
|
-
const routes = [
|
|
15901
|
+
const routes$1 = [
|
|
15888
15902
|
{
|
|
15889
15903
|
path: '',
|
|
15890
15904
|
pathMatch: 'full',
|
|
@@ -15931,7 +15945,7 @@ MaterialTestingModule.decorators = [
|
|
|
15931
15945
|
ReactiveFormsModule,
|
|
15932
15946
|
SharedMaterialModule,
|
|
15933
15947
|
TranslateModule.forChild(),
|
|
15934
|
-
RouterModule.forChild(routes)
|
|
15948
|
+
RouterModule.forChild(routes$1)
|
|
15935
15949
|
],
|
|
15936
15950
|
declarations: [
|
|
15937
15951
|
MaterialTestingPage,
|
|
@@ -16832,7 +16846,7 @@ class UserSettingsValidatorService extends AppValidatorService {
|
|
|
16832
16846
|
});
|
|
16833
16847
|
}
|
|
16834
16848
|
}
|
|
16835
|
-
UserSettingsValidatorService.ɵprov =
|
|
16849
|
+
UserSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(i0.ɵɵinject(i1$6.FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
|
|
16836
16850
|
UserSettingsValidatorService.decorators = [
|
|
16837
16851
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
16838
16852
|
];
|
|
@@ -16876,7 +16890,7 @@ class AccountValidatorService extends AppValidatorService {
|
|
|
16876
16890
|
return validatorFns.length ? Validators.compose(validatorFns) : validatorFns.length === 1 ? validatorFns[0] : undefined;
|
|
16877
16891
|
}
|
|
16878
16892
|
}
|
|
16879
|
-
AccountValidatorService.ɵprov =
|
|
16893
|
+
AccountValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(i0.ɵɵinject(i1$6.FormBuilder), i0.ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
|
|
16880
16894
|
AccountValidatorService.decorators = [
|
|
16881
16895
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
16882
16896
|
];
|
|
@@ -17405,7 +17419,7 @@ class LocalSettingsValidatorService extends AppValidatorService {
|
|
|
17405
17419
|
});
|
|
17406
17420
|
}
|
|
17407
17421
|
}
|
|
17408
|
-
LocalSettingsValidatorService.ɵprov =
|
|
17422
|
+
LocalSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(i0.ɵɵinject(i1$6.FormBuilder), i0.ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
|
|
17409
17423
|
LocalSettingsValidatorService.decorators = [
|
|
17410
17424
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
17411
17425
|
];
|
|
@@ -18013,7 +18027,7 @@ class IsOnFieldModePipe {
|
|
|
18013
18027
|
return value === 'FIELD';
|
|
18014
18028
|
}
|
|
18015
18029
|
}
|
|
18016
|
-
IsOnFieldModePipe.ɵprov =
|
|
18030
|
+
IsOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
|
|
18017
18031
|
IsOnFieldModePipe.decorators = [
|
|
18018
18032
|
{ type: Pipe, args: [{
|
|
18019
18033
|
name: 'isOnField'
|
|
@@ -18025,7 +18039,7 @@ class IsNotOnFieldModePipe {
|
|
|
18025
18039
|
return value !== 'FIELD';
|
|
18026
18040
|
}
|
|
18027
18041
|
}
|
|
18028
|
-
IsNotOnFieldModePipe.ɵprov =
|
|
18042
|
+
IsNotOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
|
|
18029
18043
|
IsNotOnFieldModePipe.decorators = [
|
|
18030
18044
|
{ type: Pipe, args: [{
|
|
18031
18045
|
name: 'isNotOnField'
|
|
@@ -18040,7 +18054,7 @@ class PersonToStringPipe {
|
|
|
18040
18054
|
return PersonUtils.personToString(value);
|
|
18041
18055
|
}
|
|
18042
18056
|
}
|
|
18043
|
-
PersonToStringPipe.ɵprov =
|
|
18057
|
+
PersonToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
|
|
18044
18058
|
PersonToStringPipe.decorators = [
|
|
18045
18059
|
{ type: Pipe, args: [{
|
|
18046
18060
|
name: 'personToString'
|
|
@@ -18257,7 +18271,7 @@ class IsLoginAccountPipe {
|
|
|
18257
18271
|
return value && value.pubkey && true;
|
|
18258
18272
|
}
|
|
18259
18273
|
}
|
|
18260
|
-
IsLoginAccountPipe.ɵprov =
|
|
18274
|
+
IsLoginAccountPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
|
|
18261
18275
|
IsLoginAccountPipe.decorators = [
|
|
18262
18276
|
{ type: Pipe, args: [{
|
|
18263
18277
|
name: 'isLogin'
|
|
@@ -18269,7 +18283,7 @@ class AccountToStringPipe {
|
|
|
18269
18283
|
return accountToString(value);
|
|
18270
18284
|
}
|
|
18271
18285
|
}
|
|
18272
|
-
AccountToStringPipe.ɵprov =
|
|
18286
|
+
AccountToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
|
|
18273
18287
|
AccountToStringPipe.decorators = [
|
|
18274
18288
|
{ type: Pipe, args: [{
|
|
18275
18289
|
name: 'accountToString'
|
|
@@ -18284,7 +18298,7 @@ class DepartmentToStringPipe {
|
|
|
18284
18298
|
return departmentToString(value);
|
|
18285
18299
|
}
|
|
18286
18300
|
}
|
|
18287
|
-
DepartmentToStringPipe.ɵprov =
|
|
18301
|
+
DepartmentToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
|
|
18288
18302
|
DepartmentToStringPipe.decorators = [
|
|
18289
18303
|
{ type: Pipe, args: [{
|
|
18290
18304
|
name: 'departmentToString'
|
|
@@ -18310,7 +18324,7 @@ class MenuService {
|
|
|
18310
18324
|
this._visibleSubject.next(value);
|
|
18311
18325
|
}
|
|
18312
18326
|
}
|
|
18313
|
-
MenuService.ɵprov =
|
|
18327
|
+
MenuService.ɵprov = i0.ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
|
|
18314
18328
|
MenuService.decorators = [
|
|
18315
18329
|
{ type: Injectable, args: [{
|
|
18316
18330
|
providedIn: 'root'
|
|
@@ -18804,7 +18818,7 @@ class AuthGuardService {
|
|
|
18804
18818
|
}));
|
|
18805
18819
|
}
|
|
18806
18820
|
}
|
|
18807
|
-
AuthGuardService.ɵprov =
|
|
18821
|
+
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" });
|
|
18808
18822
|
AuthGuardService.decorators = [
|
|
18809
18823
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
18810
18824
|
];
|
|
@@ -18852,7 +18866,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
18852
18866
|
query,
|
|
18853
18867
|
variables: { id },
|
|
18854
18868
|
fetchPolicy: opts && opts.fetchPolicy || undefined,
|
|
18855
|
-
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
|
|
18869
|
+
error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
|
|
18856
18870
|
})
|
|
18857
18871
|
.pipe(map(({ data }) => (!opts || opts.toEntity !== false)
|
|
18858
18872
|
? (data && this.fromObject(data))
|
|
@@ -18867,7 +18881,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
18867
18881
|
query,
|
|
18868
18882
|
variables: { id },
|
|
18869
18883
|
fetchPolicy: opts && opts.fetchPolicy || undefined,
|
|
18870
|
-
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
|
|
18884
|
+
error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
|
|
18871
18885
|
});
|
|
18872
18886
|
// Convert to entity
|
|
18873
18887
|
return (!opts || opts.toEntity !== false)
|
|
@@ -18898,7 +18912,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
18898
18912
|
totalFieldName: withTotal ? 'total' : undefined,
|
|
18899
18913
|
insertFilterFn: filter && filter.asFilterFn(),
|
|
18900
18914
|
variables,
|
|
18901
|
-
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
|
|
18915
|
+
error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
|
|
18902
18916
|
fetchPolicy: opts && opts.fetchPolicy || undefined
|
|
18903
18917
|
})
|
|
18904
18918
|
.pipe(map(({ data, total }) => {
|
|
@@ -18934,7 +18948,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
18934
18948
|
const { data, total } = yield this.graphql.query({
|
|
18935
18949
|
query,
|
|
18936
18950
|
variables,
|
|
18937
|
-
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
|
|
18951
|
+
error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
|
|
18938
18952
|
fetchPolicy: opts && opts.fetchPolicy || 'network-only'
|
|
18939
18953
|
});
|
|
18940
18954
|
const entities = (!opts || opts.toEntity !== false) ?
|
|
@@ -18983,7 +18997,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
18983
18997
|
variables: {
|
|
18984
18998
|
data: json
|
|
18985
18999
|
},
|
|
18986
|
-
error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
|
|
19000
|
+
error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
|
|
18987
19001
|
update: (proxy, { data }) => {
|
|
18988
19002
|
const savedEntities = data && data.data;
|
|
18989
19003
|
if (savedEntities) {
|
|
@@ -19039,7 +19053,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
19039
19053
|
variables: {
|
|
19040
19054
|
data: json
|
|
19041
19055
|
},
|
|
19042
|
-
error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
|
|
19056
|
+
error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
|
|
19043
19057
|
update: (cache, { data }) => {
|
|
19044
19058
|
// Update entity
|
|
19045
19059
|
const savedEntity = data && data.data;
|
|
@@ -19087,7 +19101,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
19087
19101
|
refetchQueries: this.getRefetchQueriesForMutation(opts),
|
|
19088
19102
|
awaitRefetchQueries: opts && opts.awaitRefetchQueries,
|
|
19089
19103
|
variables: { ids },
|
|
19090
|
-
error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
|
|
19104
|
+
error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
|
|
19091
19105
|
update: (cache, res) => {
|
|
19092
19106
|
// Remove from cache
|
|
19093
19107
|
if (this.watchQueriesUpdatePolicy === 'update-cache') {
|
|
@@ -19128,7 +19142,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
19128
19142
|
refetchQueries: this.getRefetchQueriesForMutation(opts),
|
|
19129
19143
|
awaitRefetchQueries: opts && opts.awaitRefetchQueries,
|
|
19130
19144
|
variables: { id },
|
|
19131
|
-
error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
|
|
19145
|
+
error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
|
|
19132
19146
|
update: (proxy, res) => {
|
|
19133
19147
|
// Remove from cache
|
|
19134
19148
|
if (this.watchQueriesUpdatePolicy === 'update-cache') {
|
|
@@ -19161,7 +19175,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
19161
19175
|
query: opts && opts.query || this.subscriptions.listenChanges,
|
|
19162
19176
|
variables,
|
|
19163
19177
|
error: {
|
|
19164
|
-
code: ErrorCodes.SUBSCRIBE_DATA_ERROR,
|
|
19178
|
+
code: ErrorCodes$2.SUBSCRIBE_DATA_ERROR,
|
|
19165
19179
|
message: 'ERROR.SUBSCRIBE_DATA_ERROR'
|
|
19166
19180
|
}
|
|
19167
19181
|
})
|
|
@@ -19323,7 +19337,7 @@ class EntitiesTableDataSource extends TableDataSource {
|
|
|
19323
19337
|
if (this._debug)
|
|
19324
19338
|
invalidRows.forEach(this.logRowErrors);
|
|
19325
19339
|
// Stop with an error
|
|
19326
|
-
throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
19340
|
+
throw { code: ErrorCodes$2.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
19327
19341
|
}
|
|
19328
19342
|
this._editingRowCount = 0;
|
|
19329
19343
|
let data;
|
|
@@ -20127,11 +20141,11 @@ class AppTable {
|
|
|
20127
20141
|
var _a;
|
|
20128
20142
|
return __awaiter(this, void 0, void 0, function* () {
|
|
20129
20143
|
if (this.readOnly) {
|
|
20130
|
-
throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
|
|
20144
|
+
throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
|
|
20131
20145
|
}
|
|
20132
20146
|
this.resetError();
|
|
20133
20147
|
if (!this.confirmEditCreate()) {
|
|
20134
|
-
throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
20148
|
+
throw { code: ErrorCodes$2.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
20135
20149
|
}
|
|
20136
20150
|
// Keep edited row id
|
|
20137
20151
|
const editedRowId = this.keepEditedRowOnSave && ((_a = this.editedRow) === null || _a === void 0 ? void 0 : _a.id);
|
|
@@ -20260,7 +20274,7 @@ class AppTable {
|
|
|
20260
20274
|
deleteRows(event, rows, opts) {
|
|
20261
20275
|
return __awaiter(this, void 0, void 0, function* () {
|
|
20262
20276
|
if (this.readOnly) {
|
|
20263
|
-
throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
|
|
20277
|
+
throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
|
|
20264
20278
|
}
|
|
20265
20279
|
if (event === null || event === void 0 ? void 0 : event.defaultPrevented)
|
|
20266
20280
|
return 0; // SKip
|
|
@@ -20431,7 +20445,7 @@ class AppTable {
|
|
|
20431
20445
|
else {
|
|
20432
20446
|
// cancel (if confirmation)
|
|
20433
20447
|
if (this.confirmBeforeCancel) {
|
|
20434
|
-
this.cancelExistingRow(event, row);
|
|
20448
|
+
this.cancelExistingRow(event, row, { keepEditing: false });
|
|
20435
20449
|
}
|
|
20436
20450
|
// Or validate, if no confirmation
|
|
20437
20451
|
else {
|
|
@@ -20822,7 +20836,7 @@ class AppTable {
|
|
|
20822
20836
|
});
|
|
20823
20837
|
return;
|
|
20824
20838
|
}
|
|
20825
|
-
const keepEditing = row.editing;
|
|
20839
|
+
const keepEditing = row.editing && (!opts || opts.keepEditing !== false);
|
|
20826
20840
|
this.editedRow = undefined; // unselect row
|
|
20827
20841
|
this._dataSource.cancelOrDelete(row);
|
|
20828
20842
|
this.onCancelOrDeleteRow.next(row);
|
|
@@ -21624,7 +21638,7 @@ class AppEntityEditor extends AppTabEditor {
|
|
|
21624
21638
|
try {
|
|
21625
21639
|
const data = yield this.dataService.load(id, opts);
|
|
21626
21640
|
if (!data)
|
|
21627
|
-
throw { code: ErrorCodes.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
|
|
21641
|
+
throw { code: ErrorCodes$2.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
|
|
21628
21642
|
this._usageMode = this.computeUsageMode(data);
|
|
21629
21643
|
yield this.onEntityLoaded(data, opts);
|
|
21630
21644
|
this.updateView(data, opts);
|
|
@@ -22516,7 +22530,7 @@ class UserEventService extends BaseGraphqlService {
|
|
|
22516
22530
|
EntityUtils.copyIdAndUpdateDate(source, target);
|
|
22517
22531
|
}
|
|
22518
22532
|
}
|
|
22519
|
-
UserEventService.ɵprov =
|
|
22533
|
+
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" });
|
|
22520
22534
|
UserEventService.decorators = [
|
|
22521
22535
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
22522
22536
|
];
|
|
@@ -22898,7 +22912,7 @@ class PersonService extends BaseEntityService {
|
|
|
22898
22912
|
return target;
|
|
22899
22913
|
}
|
|
22900
22914
|
}
|
|
22901
|
-
PersonService.ɵprov =
|
|
22915
|
+
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" });
|
|
22902
22916
|
PersonService.decorators = [
|
|
22903
22917
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
22904
22918
|
];
|
|
@@ -22929,7 +22943,7 @@ class PersonValidatorService {
|
|
|
22929
22943
|
return this.formBuilder.group(formConfig);
|
|
22930
22944
|
}
|
|
22931
22945
|
}
|
|
22932
|
-
PersonValidatorService.ɵprov =
|
|
22946
|
+
PersonValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(i0.ɵɵinject(i1$6.FormBuilder), i0.ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
|
|
22933
22947
|
PersonValidatorService.decorators = [
|
|
22934
22948
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
22935
22949
|
];
|
|
@@ -23085,7 +23099,7 @@ UsersPage.decorators = [
|
|
|
23085
23099
|
],
|
|
23086
23100
|
animations: [slideUpDownAnimation],
|
|
23087
23101
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
23088
|
-
styles: [".mat-expansion-panel{margin-bottom:5px}.mat-expansion-panel .form-container mat-form-field{width:100%}.mat-expansion-panel mat-action-row ion-label{line-height:36px}.table-container{height:100%}.mat-table .mat-cell .avatar{height:40px;width:40px;margin:2px 0 0;background-size:cover;background-repeat:no-repeat;background-position:50%}.mat-table .mat-column-avatar{min-width:50px}.mat-table .mat-column-profile{min-width:110px}.mat-table .mat-column-status{min-width:130px}.mat-table .mat-column-department{min-width:150px}"]
|
|
23102
|
+
styles: [".mat-expansion-panel{margin-bottom:5px}.mat-expansion-panel .form-container mat-form-field{width:100%}.mat-expansion-panel mat-action-row ion-label{line-height:36px}.table-container{height:calc(100%)}.mat-table .mat-cell .avatar{height:40px;width:40px;margin:2px 0 0;background-size:cover;background-repeat:no-repeat;background-position:50%}.mat-table .mat-column-avatar{min-width:50px}.mat-table .mat-column-profile{min-width:110px}.mat-table .mat-column-status{min-width:130px}.mat-table .mat-column-department{min-width:150px}"]
|
|
23089
23103
|
},] }
|
|
23090
23104
|
];
|
|
23091
23105
|
UsersPage.ctorParameters = () => [
|
|
@@ -23133,16 +23147,16 @@ AdminModule.decorators = [
|
|
|
23133
23147
|
];
|
|
23134
23148
|
AdminModule.ctorParameters = () => [];
|
|
23135
23149
|
|
|
23136
|
-
const ɵ0
|
|
23150
|
+
const ɵ0 = {
|
|
23137
23151
|
profile: 'ADMIN'
|
|
23138
23152
|
};
|
|
23139
|
-
const routes
|
|
23153
|
+
const routes = [
|
|
23140
23154
|
{
|
|
23141
23155
|
path: 'users',
|
|
23142
23156
|
pathMatch: 'full',
|
|
23143
23157
|
component: UsersPage,
|
|
23144
23158
|
canActivate: [AuthGuardService],
|
|
23145
|
-
data: ɵ0
|
|
23159
|
+
data: ɵ0
|
|
23146
23160
|
}
|
|
23147
23161
|
];
|
|
23148
23162
|
class AdminRoutingModule {
|
|
@@ -23152,13 +23166,13 @@ AdminRoutingModule.decorators = [
|
|
|
23152
23166
|
imports: [
|
|
23153
23167
|
SharedRoutingModule,
|
|
23154
23168
|
AdminModule,
|
|
23155
|
-
RouterModule.forChild(routes
|
|
23169
|
+
RouterModule.forChild(routes)
|
|
23156
23170
|
],
|
|
23157
23171
|
exports: [RouterModule]
|
|
23158
23172
|
},] }
|
|
23159
23173
|
];
|
|
23160
23174
|
|
|
23161
|
-
const ErrorCodes
|
|
23175
|
+
const ErrorCodes = {
|
|
23162
23176
|
LOAD_PERSONS_ERROR: 100,
|
|
23163
23177
|
SAVE_PERSONS_ERROR: 101,
|
|
23164
23178
|
DELETE_PERSONS_ERROR: 102,
|
|
@@ -23170,5 +23184,5 @@ const ErrorCodes$2 = {
|
|
|
23170
23184
|
* Generated bundle index. Do not edit.
|
|
23171
23185
|
*/
|
|
23172
23186
|
|
|
23173
|
-
export { APP_ABOUT_DEVELOPERS, APP_ABOUT_PARTNERS, APP_CONFIG_OPTIONS, 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, AppEditorOptions, AppEntityEditor, AppForm, AppFormField, AppFormHolder, 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, 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
|
|
23187
|
+
export { APP_ABOUT_DEVELOPERS, APP_ABOUT_PARTNERS, APP_CONFIG_OPTIONS, 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, AppEditorOptions, AppEntityEditor, AppForm, AppFormField, AppFormHolder, 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, 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, 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, StatusIds, StatusList, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, UserEvent, UserEventFilter, UserEventService, UserEventTypes, UserEventsTable, UserSettings, UsersPage, accountToString, addValueInArray, arrayDistinct, arrayGroupBy, arraySize, asInputElement, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, copyEntity2Form, copyForm2Entity, createPromiseEvent, createPromiseEventEmitter, departmentToString, departmentsToString, disableControls, emitPromiseEvent, entityToString, equalsOrNil, fadeInAnimation, fadeInOutAnimation, filterFalse, filterNotNil, filterNumberInput, filterTrue, firstArrayValue, firstFalsePromise, firstNotNil, firstNotNilPromise, 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, isArray, isControlHasInput, isEmptyArray, isInputElement, isInstanceOf, isInt, isNil, isNilOrBlank, isNotEmptyArray, isNotNil, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, joinProperties, joinPropertiesPath, logFormErrors, markAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, matchUpperCase, 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, waitWhilePending, ɵ0$5 as ɵ0, CustomReuseStrategy as ɵa, MatNumpadDomService as ɵb, isFocusableElement as ɵc, RegisterForm as ɵd, AccountValidatorService as ɵe, RegisterModal as ɵf, UserSettingsValidatorService as ɵg, LocalSettingsValidatorService as ɵh };
|
|
23174
23188
|
//# sourceMappingURL=ngx-sumaris-components.js.map
|