@sumaris-net/ngx-components 0.13.13 → 0.13.14
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 +243 -268
- 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/services/model/entity.model.js +2 -2
- package/fesm2015/ngx-sumaris-components.js +255 -270
- package/fesm2015/ngx-sumaris-components.js.map +1 -1
- package/ngx-sumaris-components.metadata.json +1 -1
- package/package.json +1 -1
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
import
|
|
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';
|
|
1
|
+
import { InjectionToken, EventEmitter, forwardRef, Component, ChangeDetectionStrategy, ChangeDetectorRef, Optional, Input, HostBinding, Output, ViewChild, ɵɵdefineInjectable, ɵɵinject, Pipe, Injectable, Directive, NgModule, ElementRef, ViewChildren, HostListener, ComponentFactoryResolver, ApplicationRef, INJECTOR, Injector, Inject, Renderer2 } from '@angular/core';
|
|
4
2
|
import { CommonModule, DOCUMENT, Location } from '@angular/common';
|
|
5
3
|
import { CdkTableModule } from '@angular/cdk/table';
|
|
6
4
|
import { A11yModule } from '@angular/cdk/a11y';
|
|
7
5
|
import { OverlayModule, OverlayContainer, FullscreenOverlayContainer, Overlay } from '@angular/cdk/overlay';
|
|
8
6
|
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
9
|
-
import * as i1$2 from '@angular/material/core';
|
|
10
7
|
import { DateAdapter, MatCommonModule, MatRippleModule } from '@angular/material/core';
|
|
11
8
|
import { MatTableModule, MatTable, MatColumnDef } from '@angular/material/table';
|
|
12
9
|
import { MatSortModule, MatSort } from '@angular/material/sort';
|
|
@@ -30,21 +27,16 @@ import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
|
30
27
|
import { MatRadioModule } from '@angular/material/radio';
|
|
31
28
|
import { MatBadgeModule } from '@angular/material/badge';
|
|
32
29
|
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
33
|
-
import * as i2$1 from '@angular/material/dialog';
|
|
34
30
|
import { MatDialogModule, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';
|
|
35
31
|
import { MatAutocompleteModule, MatAutocompleteTrigger, MAT_AUTOCOMPLETE_SCROLL_STRATEGY, MAT_AUTOCOMPLETE_DEFAULT_OPTIONS } from '@angular/material/autocomplete';
|
|
36
32
|
import { __awaiter, __decorate } from 'tslib';
|
|
37
|
-
import * as i1$6 from '@angular/forms';
|
|
38
33
|
import { NG_VALUE_ACCESSOR, FormGroupDirective, ReactiveFormsModule, AbstractControl, Validators, FormBuilder, FormControl, FormGroup, FormArray } from '@angular/forms';
|
|
39
34
|
import { fromEvent, Subscription, BehaviorSubject, Subject, isObservable, merge, of, timer, noop as noop$8, Observable, defer, concat, combineLatest, EMPTY } from 'rxjs';
|
|
40
35
|
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';
|
|
42
36
|
import { TranslateService, TranslateModule } from '@ngx-translate/core';
|
|
43
|
-
import * as i1$4 from '@ionic/angular';
|
|
44
37
|
import { IonicModule, Platform, IonRouterOutlet, ModalController, IonicSafeString, createAnimation, ToastController, IonicRouteStrategy, NavParams, AlertController, MenuController, IonContent } from '@ionic/angular';
|
|
45
38
|
import * as momentImported from 'moment';
|
|
46
39
|
import { isMoment } from 'moment';
|
|
47
|
-
import * as i1 from '@angular/material-moment-adapter';
|
|
48
40
|
import { MomentDateAdapter, MatMomentDateModule } from '@angular/material-moment-adapter';
|
|
49
41
|
import { Keyboard } from '@ionic-native/keyboard/ngx';
|
|
50
42
|
import { TextMaskModule } from 'angular2-text-mask';
|
|
@@ -54,38 +46,32 @@ import { trigger, state, style, transition, animate } from '@angular/animations'
|
|
|
54
46
|
import { MatDividerModule } from '@angular/material/divider';
|
|
55
47
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
56
48
|
import { MatChipsModule } from '@angular/material/chips';
|
|
57
|
-
import * as i3$3 from '@angular/router';
|
|
58
49
|
import { Router, RouterModule, RouteReuseStrategy, ActivatedRoute } from '@angular/router';
|
|
59
|
-
import * as i1$5 from '@angular/platform-browser';
|
|
60
50
|
import { HammerGestureConfig, EventManager } from '@angular/platform-browser';
|
|
61
|
-
import * as i2$2 from '@angular/common/http';
|
|
62
51
|
import { HttpResponse, HttpClient, HttpHeaders, HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
|
|
63
52
|
import { ColorPickerModule } from 'ngx-color-picker';
|
|
64
|
-
import { NativeAudio } from '@ionic-native/native-audio/ngx';
|
|
65
|
-
import { Vibration } from '@ionic-native/vibration/ngx';
|
|
53
|
+
import { NativeAudio as NativeAudio$1 } from '@ionic-native/native-audio/ngx';
|
|
54
|
+
import { Vibration as Vibration$1 } from '@ionic-native/vibration/ngx';
|
|
66
55
|
import { AudioManagement } from '@ionic-native/audio-management/ngx';
|
|
67
|
-
import
|
|
68
|
-
import
|
|
69
|
-
import
|
|
56
|
+
import { NativeAudio } from '@ionic-native/native-audio/ngx/index';
|
|
57
|
+
import { Vibration } from '@ionic-native/vibration/ngx/index';
|
|
58
|
+
import { AudioManagement as AudioManagement$1 } from '@ionic-native/audio-management/ngx/index';
|
|
70
59
|
import * as uuidv4Imported from 'uuid/v4';
|
|
71
60
|
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
72
61
|
import { MarkdownModule } from 'ngx-markdown';
|
|
73
62
|
import { sign, box, hash, verify } from 'tweetnacl';
|
|
74
|
-
import * as i3$1 from '@ionic/storage';
|
|
75
63
|
import { Storage, IonicStorageModule } from '@ionic/storage';
|
|
76
64
|
import 'zone.js/dist/zone-error';
|
|
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
|
|
81
|
-
import
|
|
82
|
-
import
|
|
83
|
-
import { StatusBar } from '@ionic-native/status-bar/ngx';
|
|
84
|
-
import * as i2$4 from '@angular/cdk/platform';
|
|
65
|
+
import { SplashScreen as SplashScreen$1 } from '@ionic-native/splash-screen/ngx';
|
|
66
|
+
import { Connection, Network as Network$1 } from '@ionic-native/network/ngx';
|
|
67
|
+
import { CacheService as CacheService$1, CacheModule } from 'ionic-cache';
|
|
68
|
+
import { CacheService } from 'ionic-cache/dist/cache.service';
|
|
69
|
+
import { Network } from '@ionic-native/network/ngx/index';
|
|
70
|
+
import { SplashScreen } from '@ionic-native/splash-screen/ngx/index';
|
|
71
|
+
import { StatusBar as StatusBar$1 } from '@ionic-native/status-bar/ngx';
|
|
85
72
|
import { Platform as Platform$1 } from '@angular/cdk/platform';
|
|
86
|
-
import { InAppBrowser } from '@ionic-native/in-app-browser/ngx';
|
|
73
|
+
import { InAppBrowser as InAppBrowser$1 } from '@ionic-native/in-app-browser/ngx';
|
|
87
74
|
import { ApolloLink, NetworkStatus, InMemoryCache, ApolloClient, gql } from '@apollo/client/core';
|
|
88
|
-
import * as i2$3 from 'apollo-angular';
|
|
89
75
|
import { Apollo } from 'apollo-angular';
|
|
90
76
|
import { WebSocketLink } from '@apollo/client/link/ws';
|
|
91
77
|
import { getMainDefinition } from '@apollo/client/utilities';
|
|
@@ -93,12 +79,11 @@ import { RetryLink } from '@apollo/client/link/retry';
|
|
|
93
79
|
import QueueLink from 'apollo-link-queue';
|
|
94
80
|
import SerializingLink from 'apollo-link-serialize';
|
|
95
81
|
import loggerLink from 'apollo-link-logger';
|
|
96
|
-
import * as i3$2 from 'apollo-angular/http';
|
|
97
82
|
import { HttpLink } from 'apollo-angular/http';
|
|
98
83
|
import { IonicStorageWrapper, persistCache } from 'apollo3-cache-persist';
|
|
99
|
-
import
|
|
100
|
-
import
|
|
101
|
-
import
|
|
84
|
+
import { StatusBar } from '@ionic-native/status-bar/ngx/index';
|
|
85
|
+
import { Keyboard as Keyboard$1 } from '@ionic-native/keyboard/ngx/index';
|
|
86
|
+
import { InAppBrowser } from '@ionic-native/in-app-browser/ngx/index';
|
|
102
87
|
import { ValidatorService, TableDataSource } from '@e-is/ngx-material-table';
|
|
103
88
|
import { SelectionModel } from '@angular/cdk/collections';
|
|
104
89
|
import { NgxJdenticonModule } from 'ngx-jdenticon';
|
|
@@ -865,19 +850,19 @@ class MatAutocompleteConfigHolder {
|
|
|
865
850
|
return this.fields[fieldName] || this.add(fieldName);
|
|
866
851
|
}
|
|
867
852
|
}
|
|
868
|
-
const DEFAULT_VALUE_ACCESSOR
|
|
853
|
+
const DEFAULT_VALUE_ACCESSOR = {
|
|
869
854
|
provide: NG_VALUE_ACCESSOR,
|
|
870
855
|
useExisting: forwardRef(() => MatAutocompleteField),
|
|
871
856
|
multi: true
|
|
872
857
|
};
|
|
873
|
-
const noop
|
|
874
|
-
const ɵ0
|
|
858
|
+
const noop = () => { };
|
|
859
|
+
const ɵ0 = noop;
|
|
875
860
|
class MatAutocompleteField {
|
|
876
861
|
constructor(cd, formGroupDir) {
|
|
877
862
|
this.cd = cd;
|
|
878
863
|
this.formGroupDir = formGroupDir;
|
|
879
|
-
this._onChangeCallback = noop
|
|
880
|
-
this._onTouchedCallback = noop
|
|
864
|
+
this._onChangeCallback = noop;
|
|
865
|
+
this._onTouchedCallback = noop;
|
|
881
866
|
this._subscription = new Subscription();
|
|
882
867
|
this._filter$ = new BehaviorSubject(undefined);
|
|
883
868
|
this._reload$ = new Subject();
|
|
@@ -1393,7 +1378,7 @@ MatAutocompleteField.decorators = [
|
|
|
1393
1378
|
// eslint-disable-next-line @angular-eslint/component-selector
|
|
1394
1379
|
selector: 'mat-autocomplete-field',
|
|
1395
1380
|
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 (focus)=\"filterInputTextFocusInEvent($event)\"\n (blur)=\"filterInputTextBlurEvent($event)\"\n (keyup.arrowdown)=\"!autoComplete.showPanel && onDropButtonClick.emit($event)\">\n\n <!-- autocomplete -->\n <mat-autocomplete #autoComplete=\"matAutocomplete\"\n autoActiveFirstOption\n [displayWith]=\"displayWith\"\n [class]=\"classList\"\n [class.cdk-visually-hidden]=\"!searchable\"\n [panelWidth]=\"panelWidth\">\n\n <ion-row class=\"mat-autocomplete-header ion-no-padding\">\n <ion-col *ngFor=\"let attr of displayAttributes; index as i; last as last\" [size]=\"displayColumnSizes[i]\" >\n <ion-label [innerHTML]=\"displayColumnNames[i] | translate\"></ion-label>\n <ion-text color=\"light\" *ngIf=\"last && itemCount; let count \" class=\"ion-float-end ion-padding-end\"><i>{{'COMMON.RESULT_COUNT'|translate: {count: count} }}</i></ion-text>\n </ion-col>\n </ion-row>\n\n <ng-container *ngIf=\"$filteredItems | async; else loadingTemplate; let items\">\n <!-- No item option -->\n <mat-option *ngIf=\"items | isEmptyArray\" class=\"ion-padding text-italic\" disabled>\n <ion-label>{{noResultMessage | translate}}</ion-label>\n </mat-option>\n\n <mat-option *ngFor=\"let item of items\" [value]=\"item\" class=\"ion-no-padding\" >\n <ion-row [classList]=\"item.classList\">\n <ion-col *ngFor=\"let path of displayAttributes; index as i;\"\n [size]=\"displayColumnSizes[i]\">\n <ion-text [innerHTML]=\"item | propertyGet: path | highlight: { search: formControl.value, withAccent: highlightAccent }\"></ion-text>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <!-- More item -->\n <mat-option *ngIf=\"_moreItemsCount\" (ngInit)=\"_initInfiniteScroll()\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-container>\n\n <!-- Loading spinner -->\n <ng-template #loadingTemplate>\n <mat-option *ngIf=\"(matInputText.value | strLength) >= suggestLengthThreshold; else waitMoreCharacterTemplate\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-template>\n\n <!-- Need more characters -->\n <ng-template #waitMoreCharacterTemplate>\n <mat-option class=\"ion-padding text-italic\" disabled>\n <ion-label>\n {{'INFO.PLEASE_TYPE_MORE_CHARACTERS'|translate:{minLength: suggestLengthThreshold} }}\n </ion-label>\n </mat-option>\n </ng-template>\n </mat-autocomplete>\n\n </ng-template>\n\n\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"searchable\"\n (click)=\"onDropButtonClick.emit($event)\"\n [hidden]=\"disabled\">\n <mat-icon class=\"large select-arrow\">arrow_drop_down</mat-icon>\n </button>\n <button matSuffix type=\"button\" mat-icon-button tabindex=\"-1\"\n *ngIf=\"enabled && mobile && !searchable && !multiple\"\n [title]=\"'COMMON.BTN_SEARCH'|translate\"\n (click)=\"toggleSearch($event)\">\n <mat-icon>search</mat-icon>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clearValue($event)\"\n [hidden]=\"disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <ng-content matSuffix select=\"[matSuffix]\"></ng-content>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('entity')\" translate>ERROR.FIELD_INVALID</mat-error>\n <ng-content select=\"[matError]\"></ng-content>\n\n </mat-form-field>\n </ion-col>\n <ion-col size=\"auto\" class=\"ion-align-self-center\">\n <ng-content select=\"[matAfter]\"></ng-content>\n </ion-col>\n </ion-row>\n\n</ion-grid>\n",
|
|
1396
|
-
providers: [DEFAULT_VALUE_ACCESSOR
|
|
1381
|
+
providers: [DEFAULT_VALUE_ACCESSOR],
|
|
1397
1382
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1398
1383
|
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}"]
|
|
1399
1384
|
},] }
|
|
@@ -1467,7 +1452,7 @@ class DateFormatPipe {
|
|
|
1467
1452
|
return this.dateAdapter.format(date, displayFormat);
|
|
1468
1453
|
}
|
|
1469
1454
|
}
|
|
1470
|
-
DateFormatPipe.ɵprov =
|
|
1455
|
+
DateFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateFormatPipe_Factory() { return new DateFormatPipe(ɵɵinject(MomentDateAdapter), ɵɵinject(TranslateService)); }, token: DateFormatPipe, providedIn: "root" });
|
|
1471
1456
|
DateFormatPipe.decorators = [
|
|
1472
1457
|
{ type: Pipe, args: [{
|
|
1473
1458
|
name: 'dateFormat'
|
|
@@ -1479,7 +1464,7 @@ DateFormatPipe.ctorParameters = () => [
|
|
|
1479
1464
|
{ type: TranslateService }
|
|
1480
1465
|
];
|
|
1481
1466
|
|
|
1482
|
-
const moment
|
|
1467
|
+
const moment = momentImported;
|
|
1483
1468
|
class DateDiffDurationPipe {
|
|
1484
1469
|
constructor(dateAdapter, translate) {
|
|
1485
1470
|
this.dateAdapter = dateAdapter;
|
|
@@ -1495,17 +1480,17 @@ class DateDiffDurationPipe {
|
|
|
1495
1480
|
return this.format(startDate, endDate);
|
|
1496
1481
|
}
|
|
1497
1482
|
format(startDate, endDate) {
|
|
1498
|
-
const duration = moment
|
|
1483
|
+
const duration = moment.duration(endDate.diff(startDate));
|
|
1499
1484
|
if (duration.asMinutes() < 0)
|
|
1500
1485
|
return '';
|
|
1501
|
-
const timeDuration = moment
|
|
1486
|
+
const timeDuration = moment(0)
|
|
1502
1487
|
.hour(duration.hours())
|
|
1503
1488
|
.minute(duration.minutes());
|
|
1504
1489
|
const days = Math.floor(duration.asDays());
|
|
1505
1490
|
return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + timeDuration.format('HH:mm');
|
|
1506
1491
|
}
|
|
1507
1492
|
}
|
|
1508
|
-
DateDiffDurationPipe.ɵprov =
|
|
1493
|
+
DateDiffDurationPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateDiffDurationPipe_Factory() { return new DateDiffDurationPipe(ɵɵinject(DateAdapter), ɵɵinject(TranslateService)); }, token: DateDiffDurationPipe, providedIn: "root" });
|
|
1509
1494
|
DateDiffDurationPipe.decorators = [
|
|
1510
1495
|
{ type: Pipe, args: [{
|
|
1511
1496
|
name: 'dateDiffDuration'
|
|
@@ -1526,7 +1511,7 @@ class DateFromNowPipe {
|
|
|
1526
1511
|
return date ? date.fromNow(args && args.withoutSuffix) : '';
|
|
1527
1512
|
}
|
|
1528
1513
|
}
|
|
1529
|
-
DateFromNowPipe.ɵprov =
|
|
1514
|
+
DateFromNowPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(ɵɵinject(MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
|
|
1530
1515
|
DateFromNowPipe.decorators = [
|
|
1531
1516
|
{ type: Pipe, args: [{
|
|
1532
1517
|
name: 'dateFromNow'
|
|
@@ -1595,7 +1580,7 @@ function formatToDD(value, opts) {
|
|
|
1595
1580
|
value *= -1;
|
|
1596
1581
|
}
|
|
1597
1582
|
}
|
|
1598
|
-
let degrees = roundFloat
|
|
1583
|
+
let degrees = roundFloat(value, opts.maxDecimals).toString();
|
|
1599
1584
|
// Add sign
|
|
1600
1585
|
let sign = negative ? '-' : '+';
|
|
1601
1586
|
if (opts.placeholderChar) {
|
|
@@ -1646,7 +1631,7 @@ function formatToDDMMSS(value, opts) {
|
|
|
1646
1631
|
}
|
|
1647
1632
|
let degrees = Math.trunc(value);
|
|
1648
1633
|
let minutes = Math.trunc((value - degrees) * 60);
|
|
1649
|
-
let seconds = roundFloat
|
|
1634
|
+
let seconds = roundFloat(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
|
|
1650
1635
|
while (seconds >= 60) {
|
|
1651
1636
|
seconds -= 60;
|
|
1652
1637
|
minutes += 1;
|
|
@@ -1714,7 +1699,7 @@ function formatToDDMM(value, opts) {
|
|
|
1714
1699
|
}
|
|
1715
1700
|
}
|
|
1716
1701
|
let degrees = Math.trunc(value);
|
|
1717
|
-
let minutes = roundFloat
|
|
1702
|
+
let minutes = roundFloat((value - degrees) * 60, opts.maxDecimals);
|
|
1718
1703
|
while (minutes >= 60) {
|
|
1719
1704
|
minutes -= 60;
|
|
1720
1705
|
degrees += 1;
|
|
@@ -1765,15 +1750,15 @@ function parseLatitudeOrLongitude(input, pattern, maxDecimals, placeholderChar)
|
|
|
1765
1750
|
return NaN;
|
|
1766
1751
|
}
|
|
1767
1752
|
if (pattern === 'DD')
|
|
1768
|
-
return roundFloat
|
|
1753
|
+
return roundFloat(degrees, maxDecimals);
|
|
1769
1754
|
const minutes = (pattern === 'DDMMSS' || pattern === 'DDMM') && parts[1] && parseFloat(parts[1].replace(/,/g, '.')) || 0;
|
|
1770
1755
|
const seconds = (pattern === 'DDMMSS') && parts[2] && parseFloat(parts[2].replace(/,/g, '.')) || 0;
|
|
1771
1756
|
const direction = ((pattern === 'DDMMSS') && parts[3]) || ((pattern === 'DDMM') && parts[2]) || undefined;
|
|
1772
1757
|
const sign = (direction && (direction === 's' || direction === 'S' || direction === 'w' || direction === 'W')) ? -1 : 1;
|
|
1773
1758
|
degrees = sign * (degrees + minutes / 60 + seconds / (60 * 60));
|
|
1774
|
-
return roundFloat
|
|
1759
|
+
return roundFloat(degrees, maxDecimals);
|
|
1775
1760
|
}
|
|
1776
|
-
function roundFloat
|
|
1761
|
+
function roundFloat(input, maxDecimals) {
|
|
1777
1762
|
if (maxDecimals > 0) {
|
|
1778
1763
|
const powDecimal = Math.pow(10, maxDecimals);
|
|
1779
1764
|
return Math.trunc(input * powDecimal + 0.5) / powDecimal;
|
|
@@ -1793,7 +1778,7 @@ class LatLongFormatPipe {
|
|
|
1793
1778
|
return ((!args.type || args.type !== 'latitude') ? formatLongitude : formatLatitude)(value, args);
|
|
1794
1779
|
}
|
|
1795
1780
|
}
|
|
1796
|
-
LatLongFormatPipe.ɵprov =
|
|
1781
|
+
LatLongFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
|
|
1797
1782
|
LatLongFormatPipe.decorators = [
|
|
1798
1783
|
{ type: Pipe, args: [{
|
|
1799
1784
|
name: 'latLongFormat'
|
|
@@ -1805,7 +1790,7 @@ class LatitudeFormatPipe {
|
|
|
1805
1790
|
this.transform = formatLatitude;
|
|
1806
1791
|
}
|
|
1807
1792
|
}
|
|
1808
|
-
LatitudeFormatPipe.ɵprov =
|
|
1793
|
+
LatitudeFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
|
|
1809
1794
|
LatitudeFormatPipe.decorators = [
|
|
1810
1795
|
{ type: Pipe, args: [{
|
|
1811
1796
|
name: 'latitudeFormat'
|
|
@@ -1817,7 +1802,7 @@ class LongitudeFormatPipe {
|
|
|
1817
1802
|
this.transform = formatLongitude;
|
|
1818
1803
|
}
|
|
1819
1804
|
}
|
|
1820
|
-
LongitudeFormatPipe.ɵprov =
|
|
1805
|
+
LongitudeFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
|
|
1821
1806
|
LongitudeFormatPipe.decorators = [
|
|
1822
1807
|
{ type: Pipe, args: [{
|
|
1823
1808
|
name: 'longitudeFormat'
|
|
@@ -1837,7 +1822,7 @@ class NumberFormatPipe {
|
|
|
1837
1822
|
}
|
|
1838
1823
|
}
|
|
1839
1824
|
}
|
|
1840
|
-
NumberFormatPipe.ɵprov =
|
|
1825
|
+
NumberFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
|
|
1841
1826
|
NumberFormatPipe.decorators = [
|
|
1842
1827
|
{ type: Pipe, args: [{
|
|
1843
1828
|
name: 'numberFormat'
|
|
@@ -1877,7 +1862,7 @@ class HighlightPipe {
|
|
|
1877
1862
|
}
|
|
1878
1863
|
}
|
|
1879
1864
|
}
|
|
1880
|
-
HighlightPipe.ɵprov =
|
|
1865
|
+
HighlightPipe.ɵprov = ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
|
|
1881
1866
|
HighlightPipe.decorators = [
|
|
1882
1867
|
{ type: Pipe, args: [{
|
|
1883
1868
|
name: 'highlight'
|
|
@@ -1942,7 +1927,7 @@ FileSizePipe.decorators = [
|
|
|
1942
1927
|
{ type: Pipe, args: [{ name: 'fileSize' },] }
|
|
1943
1928
|
];
|
|
1944
1929
|
|
|
1945
|
-
const moment$
|
|
1930
|
+
const moment$1 = momentImported;
|
|
1946
1931
|
const DATE_UNIX_TIMESTAMP = 'X';
|
|
1947
1932
|
const DATE_UNIX_MS_TIMESTAMP = 'x';
|
|
1948
1933
|
class DateUtils {
|
|
@@ -1976,32 +1961,32 @@ function fromDateISOString(value) {
|
|
|
1976
1961
|
if (!value || isMoment(value))
|
|
1977
1962
|
return value;
|
|
1978
1963
|
// Parse the input value, as a ISO date time
|
|
1979
|
-
const date = moment$
|
|
1964
|
+
const date = moment$1(value, DATE_ISO_PATTERN);
|
|
1980
1965
|
if (date.isValid())
|
|
1981
1966
|
return date;
|
|
1982
1967
|
// Not valid: trying to convert from unix timestamp
|
|
1983
1968
|
if (typeof value === 'string') {
|
|
1984
1969
|
console.warn('Wrong date format - Trying to convert from local time: ' + value);
|
|
1985
1970
|
if (value.length === 10) {
|
|
1986
|
-
return moment$
|
|
1971
|
+
return moment$1(value, DATE_UNIX_TIMESTAMP);
|
|
1987
1972
|
}
|
|
1988
1973
|
else if (value.length === 13) {
|
|
1989
|
-
return moment$
|
|
1974
|
+
return moment$1(value, DATE_UNIX_MS_TIMESTAMP);
|
|
1990
1975
|
}
|
|
1991
1976
|
}
|
|
1992
1977
|
console.warn('Unable to parse date: ' + value);
|
|
1993
1978
|
return undefined;
|
|
1994
1979
|
}
|
|
1995
1980
|
function fromUnixTimestamp(timeInSec) {
|
|
1996
|
-
return moment$
|
|
1981
|
+
return moment$1(timeInSec, DATE_UNIX_TIMESTAMP);
|
|
1997
1982
|
}
|
|
1998
1983
|
function fromUnixMsTimestamp(timeInMs) {
|
|
1999
|
-
return moment$
|
|
1984
|
+
return moment$1(timeInMs, DATE_UNIX_MS_TIMESTAMP);
|
|
2000
1985
|
}
|
|
2001
1986
|
function toDuration(value, unit) {
|
|
2002
1987
|
if (!value)
|
|
2003
1988
|
return undefined;
|
|
2004
|
-
const duration = moment$
|
|
1989
|
+
const duration = moment$1.duration(value, unit);
|
|
2005
1990
|
// fix 990+ ms
|
|
2006
1991
|
if (duration.milliseconds() >= 990) {
|
|
2007
1992
|
duration.add(1000 - duration.milliseconds(), 'ms');
|
|
@@ -2030,7 +2015,7 @@ class DurationPipe {
|
|
|
2030
2015
|
return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + hour + ':' + minute;
|
|
2031
2016
|
}
|
|
2032
2017
|
}
|
|
2033
|
-
DurationPipe.ɵprov =
|
|
2018
|
+
DurationPipe.ɵprov = ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(ɵɵinject(TranslateService)); }, token: DurationPipe, providedIn: "root" });
|
|
2034
2019
|
DurationPipe.decorators = [
|
|
2035
2020
|
{ type: Pipe, args: [{
|
|
2036
2021
|
name: 'duration'
|
|
@@ -2051,7 +2036,7 @@ class MathAbsPipe {
|
|
|
2051
2036
|
}
|
|
2052
2037
|
}
|
|
2053
2038
|
}
|
|
2054
|
-
MathAbsPipe.ɵprov =
|
|
2039
|
+
MathAbsPipe.ɵprov = ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
|
|
2055
2040
|
MathAbsPipe.decorators = [
|
|
2056
2041
|
{ type: Pipe, args: [{
|
|
2057
2042
|
name: 'mathAbs'
|
|
@@ -2063,7 +2048,7 @@ class EvenPipe {
|
|
|
2063
2048
|
return val % 2 === 0;
|
|
2064
2049
|
}
|
|
2065
2050
|
}
|
|
2066
|
-
EvenPipe.ɵprov =
|
|
2051
|
+
EvenPipe.ɵprov = ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
|
|
2067
2052
|
EvenPipe.decorators = [
|
|
2068
2053
|
{ type: Pipe, args: [{
|
|
2069
2054
|
name: 'even'
|
|
@@ -2075,7 +2060,7 @@ class OddPipe {
|
|
|
2075
2060
|
return val % 2 !== 0;
|
|
2076
2061
|
}
|
|
2077
2062
|
}
|
|
2078
|
-
OddPipe.ɵprov =
|
|
2063
|
+
OddPipe.ɵprov = ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
|
|
2079
2064
|
OddPipe.decorators = [
|
|
2080
2065
|
{ type: Pipe, args: [{
|
|
2081
2066
|
name: 'odd'
|
|
@@ -2183,7 +2168,7 @@ class MapGetPipe {
|
|
|
2183
2168
|
return val[key];
|
|
2184
2169
|
}
|
|
2185
2170
|
}
|
|
2186
|
-
MapGetPipe.ɵprov =
|
|
2171
|
+
MapGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
|
|
2187
2172
|
MapGetPipe.decorators = [
|
|
2188
2173
|
{ type: Pipe, args: [{
|
|
2189
2174
|
name: 'mapGet'
|
|
@@ -2197,7 +2182,7 @@ class MapKeysPipe {
|
|
|
2197
2182
|
return Object.keys(map);
|
|
2198
2183
|
}
|
|
2199
2184
|
}
|
|
2200
|
-
MapKeysPipe.ɵprov =
|
|
2185
|
+
MapKeysPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
|
|
2201
2186
|
MapKeysPipe.decorators = [
|
|
2202
2187
|
{ type: Pipe, args: [{
|
|
2203
2188
|
name: 'mapKeys'
|
|
@@ -2211,7 +2196,7 @@ class MapValuesPipe {
|
|
|
2211
2196
|
return Object.values(map);
|
|
2212
2197
|
}
|
|
2213
2198
|
}
|
|
2214
|
-
MapValuesPipe.ɵprov =
|
|
2199
|
+
MapValuesPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
|
|
2215
2200
|
MapValuesPipe.decorators = [
|
|
2216
2201
|
{ type: Pipe, args: [{
|
|
2217
2202
|
name: 'mapValues'
|
|
@@ -2224,7 +2209,7 @@ class IsNotNilOrBlankPipe {
|
|
|
2224
2209
|
return isNotNilOrBlank(value);
|
|
2225
2210
|
}
|
|
2226
2211
|
}
|
|
2227
|
-
IsNotNilOrBlankPipe.ɵprov =
|
|
2212
|
+
IsNotNilOrBlankPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
|
|
2228
2213
|
IsNotNilOrBlankPipe.decorators = [
|
|
2229
2214
|
{ type: Pipe, args: [{
|
|
2230
2215
|
name: 'isNotNilOrBlank'
|
|
@@ -2236,7 +2221,7 @@ class IsNilOrBlankPipe {
|
|
|
2236
2221
|
return isNilOrBlank(value);
|
|
2237
2222
|
}
|
|
2238
2223
|
}
|
|
2239
|
-
IsNilOrBlankPipe.ɵprov =
|
|
2224
|
+
IsNilOrBlankPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
|
|
2240
2225
|
IsNilOrBlankPipe.decorators = [
|
|
2241
2226
|
{ type: Pipe, args: [{
|
|
2242
2227
|
name: 'isNilOrBlank'
|
|
@@ -2248,7 +2233,7 @@ class ToStringPipe {
|
|
|
2248
2233
|
return (value !== null && value !== undefined) ? value.toString() : '';
|
|
2249
2234
|
}
|
|
2250
2235
|
}
|
|
2251
|
-
ToStringPipe.ɵprov =
|
|
2236
|
+
ToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
|
|
2252
2237
|
ToStringPipe.decorators = [
|
|
2253
2238
|
{ type: Pipe, args: [{
|
|
2254
2239
|
name: 'toString'
|
|
@@ -2260,7 +2245,7 @@ class StrLengthPipe {
|
|
|
2260
2245
|
return value && value.length || 0;
|
|
2261
2246
|
}
|
|
2262
2247
|
}
|
|
2263
|
-
StrLengthPipe.ɵprov =
|
|
2248
|
+
StrLengthPipe.ɵprov = ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
|
|
2264
2249
|
StrLengthPipe.decorators = [
|
|
2265
2250
|
{ type: Pipe, args: [{
|
|
2266
2251
|
name: 'strLength'
|
|
@@ -2311,7 +2296,7 @@ class TranslateContextService {
|
|
|
2311
2296
|
: parts.slice(0, parts.length - 1).concat(context + parts[parts.length - 1]).join('.');
|
|
2312
2297
|
}
|
|
2313
2298
|
}
|
|
2314
|
-
TranslateContextService.ɵprov =
|
|
2299
|
+
TranslateContextService.ɵprov = ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(ɵɵinject(TranslateService)); }, token: TranslateContextService, providedIn: "root" });
|
|
2315
2300
|
TranslateContextService.decorators = [
|
|
2316
2301
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
2317
2302
|
];
|
|
@@ -2327,7 +2312,7 @@ class TranslateContextPipe {
|
|
|
2327
2312
|
return this.translateContext.instant(key, context);
|
|
2328
2313
|
}
|
|
2329
2314
|
}
|
|
2330
|
-
TranslateContextPipe.ɵprov =
|
|
2315
|
+
TranslateContextPipe.ɵprov = ɵɵdefineInjectable({ factory: function TranslateContextPipe_Factory() { return new TranslateContextPipe(ɵɵinject(TranslateContextService)); }, token: TranslateContextPipe, providedIn: "root" });
|
|
2331
2316
|
TranslateContextPipe.decorators = [
|
|
2332
2317
|
{ type: Pipe, args: [{
|
|
2333
2318
|
name: 'translateContext'
|
|
@@ -2344,7 +2329,7 @@ class TranslatablePipe {
|
|
|
2344
2329
|
return (_a = changeCaseToUnderscore(value)) === null || _a === void 0 ? void 0 : _a.toUpperCase();
|
|
2345
2330
|
}
|
|
2346
2331
|
}
|
|
2347
|
-
TranslatablePipe.ɵprov =
|
|
2332
|
+
TranslatablePipe.ɵprov = ɵɵdefineInjectable({ factory: function TranslatablePipe_Factory() { return new TranslatablePipe(); }, token: TranslatablePipe, providedIn: "root" });
|
|
2348
2333
|
TranslatablePipe.decorators = [
|
|
2349
2334
|
{ type: Pipe, args: [{
|
|
2350
2335
|
name: 'translatable'
|
|
@@ -2361,7 +2346,7 @@ class PropertyGetPipe {
|
|
|
2361
2346
|
args && args.defaultValue);
|
|
2362
2347
|
}
|
|
2363
2348
|
}
|
|
2364
|
-
PropertyGetPipe.ɵprov =
|
|
2349
|
+
PropertyGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
|
|
2365
2350
|
PropertyGetPipe.decorators = [
|
|
2366
2351
|
{ type: Pipe, args: [{
|
|
2367
2352
|
name: 'propertyGet'
|
|
@@ -2605,12 +2590,12 @@ SharedMatAutocompleteModule.decorators = [
|
|
|
2605
2590
|
},] }
|
|
2606
2591
|
];
|
|
2607
2592
|
|
|
2608
|
-
const moment$
|
|
2593
|
+
const moment$2 = momentImported;
|
|
2609
2594
|
// @dynamic
|
|
2610
2595
|
class SharedValidators {
|
|
2611
2596
|
static validDate(control) {
|
|
2612
2597
|
const value = control.value;
|
|
2613
|
-
const date = !value || moment$
|
|
2598
|
+
const date = !value || moment$2.isMoment(value) ? value : moment$2(control.value, DATE_ISO_PATTERN);
|
|
2614
2599
|
if (date && (!date.isValid() || date.year() < 1970)) {
|
|
2615
2600
|
return { validDate: true };
|
|
2616
2601
|
}
|
|
@@ -3013,9 +2998,9 @@ function parseDuration(input, maxDecimals, placeholderChar) {
|
|
|
3013
2998
|
const hour = parseInt(durationParts[0] || '0');
|
|
3014
2999
|
const minute = parseInt(durationParts[1] || '0');
|
|
3015
3000
|
const value = hour + (minute + 0.5) / 60;
|
|
3016
|
-
return roundFloat(value, maxDecimals);
|
|
3001
|
+
return roundFloat$1(value, maxDecimals);
|
|
3017
3002
|
}
|
|
3018
|
-
function roundFloat(input, maxDecimals) {
|
|
3003
|
+
function roundFloat$1(input, maxDecimals) {
|
|
3019
3004
|
if (maxDecimals > 0) {
|
|
3020
3005
|
const powDecimal = Math.pow(10, maxDecimals);
|
|
3021
3006
|
return Math.trunc(input * powDecimal + 0.5) / powDecimal;
|
|
@@ -3039,9 +3024,9 @@ const MASKS = {
|
|
|
3039
3024
|
DD: [/[+-]/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '°']
|
|
3040
3025
|
}
|
|
3041
3026
|
};
|
|
3042
|
-
const noop$
|
|
3027
|
+
const noop$1 = () => {
|
|
3043
3028
|
};
|
|
3044
|
-
const ɵ0$
|
|
3029
|
+
const ɵ0$1 = noop$1;
|
|
3045
3030
|
class MatLatLongField {
|
|
3046
3031
|
constructor(platform, translate, formBuilder, cd, formGroupDir) {
|
|
3047
3032
|
this.platform = platform;
|
|
@@ -3049,8 +3034,8 @@ class MatLatLongField {
|
|
|
3049
3034
|
this.formBuilder = formBuilder;
|
|
3050
3035
|
this.cd = cd;
|
|
3051
3036
|
this.formGroupDir = formGroupDir;
|
|
3052
|
-
this._onChangeCallback = noop$
|
|
3053
|
-
this._onTouchedCallback = noop$
|
|
3037
|
+
this._onChangeCallback = noop$1;
|
|
3038
|
+
this._onTouchedCallback = noop$1;
|
|
3054
3039
|
this._subscription = new Subscription();
|
|
3055
3040
|
this.disabling = false;
|
|
3056
3041
|
this.writing = false;
|
|
@@ -3391,14 +3376,14 @@ SharedMatLatLongModule.decorators = [
|
|
|
3391
3376
|
},] }
|
|
3392
3377
|
];
|
|
3393
3378
|
|
|
3394
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
3379
|
+
const DEFAULT_VALUE_ACCESSOR$1 = {
|
|
3395
3380
|
provide: NG_VALUE_ACCESSOR,
|
|
3396
3381
|
useExisting: forwardRef(() => MatDate),
|
|
3397
3382
|
multi: true
|
|
3398
3383
|
};
|
|
3399
|
-
const DAY_MASK
|
|
3400
|
-
const noop$
|
|
3401
|
-
const ɵ0$
|
|
3384
|
+
const DAY_MASK = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
|
|
3385
|
+
const noop$2 = () => { };
|
|
3386
|
+
const ɵ0$2 = noop$2;
|
|
3402
3387
|
class MatDate {
|
|
3403
3388
|
constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
3404
3389
|
this.dateAdapter = dateAdapter;
|
|
@@ -3407,12 +3392,12 @@ class MatDate {
|
|
|
3407
3392
|
this.cd = cd;
|
|
3408
3393
|
this.keyboard = keyboard;
|
|
3409
3394
|
this.formGroupDir = formGroupDir;
|
|
3410
|
-
this._onChangeCallback = noop$
|
|
3411
|
-
this._onTouchedCallback = noop$
|
|
3395
|
+
this._onChangeCallback = noop$2;
|
|
3396
|
+
this._onTouchedCallback = noop$2;
|
|
3412
3397
|
this._subscription = new Subscription();
|
|
3413
3398
|
this.writing = true;
|
|
3414
3399
|
this.disabling = false;
|
|
3415
|
-
this.dayMask = DAY_MASK
|
|
3400
|
+
this.dayMask = DAY_MASK;
|
|
3416
3401
|
this.disabled = false;
|
|
3417
3402
|
this.floatLabel = 'auto';
|
|
3418
3403
|
this.readonly = false;
|
|
@@ -3649,7 +3634,7 @@ MatDate.decorators = [
|
|
|
3649
3634
|
selector: 'mat-date-field',
|
|
3650
3635
|
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",
|
|
3651
3636
|
providers: [
|
|
3652
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
3637
|
+
DEFAULT_VALUE_ACCESSOR$1,
|
|
3653
3638
|
],
|
|
3654
3639
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3655
3640
|
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%}"]
|
|
@@ -3682,17 +3667,17 @@ MatDate.propDecorators = {
|
|
|
3682
3667
|
matInputs: [{ type: ViewChildren, args: ['matInput',] }]
|
|
3683
3668
|
};
|
|
3684
3669
|
|
|
3685
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
3670
|
+
const DEFAULT_VALUE_ACCESSOR$2 = {
|
|
3686
3671
|
provide: NG_VALUE_ACCESSOR,
|
|
3687
3672
|
useExisting: forwardRef(() => MatDateTime),
|
|
3688
3673
|
multi: true
|
|
3689
3674
|
};
|
|
3690
3675
|
const DAY_MASK$1 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
|
|
3691
3676
|
const HOUR_REGEXP = /^[012][0-9][:][012345][0-9]$/;
|
|
3692
|
-
const HOUR_MASK
|
|
3693
|
-
const noop$
|
|
3677
|
+
const HOUR_MASK = [/[012]/, /\d/, ':', /[012345]/, /\d/];
|
|
3678
|
+
const noop$3 = () => {
|
|
3694
3679
|
};
|
|
3695
|
-
const ɵ0$
|
|
3680
|
+
const ɵ0$3 = noop$3;
|
|
3696
3681
|
class MatDateTime {
|
|
3697
3682
|
constructor(platform, dateAdapter, translate, formBuilder, keyboard, cd, formGroupDir) {
|
|
3698
3683
|
this.platform = platform;
|
|
@@ -3702,14 +3687,14 @@ class MatDateTime {
|
|
|
3702
3687
|
this.keyboard = keyboard;
|
|
3703
3688
|
this.cd = cd;
|
|
3704
3689
|
this.formGroupDir = formGroupDir;
|
|
3705
|
-
this._onChangeCallback = noop$
|
|
3706
|
-
this._onTouchedCallback = noop$
|
|
3690
|
+
this._onChangeCallback = noop$3;
|
|
3691
|
+
this._onTouchedCallback = noop$3;
|
|
3707
3692
|
this._subscription = new Subscription();
|
|
3708
3693
|
this.writing = true;
|
|
3709
3694
|
this.disabling = false;
|
|
3710
3695
|
this._onDestroy = new EventEmitter();
|
|
3711
3696
|
this.dayMask = DAY_MASK$1;
|
|
3712
|
-
this.hourMask = HOUR_MASK
|
|
3697
|
+
this.hourMask = HOUR_MASK;
|
|
3713
3698
|
this.floatLabel = 'auto';
|
|
3714
3699
|
this.readonly = false;
|
|
3715
3700
|
this.compact = false;
|
|
@@ -4015,7 +4000,7 @@ MatDateTime.decorators = [
|
|
|
4015
4000
|
selector: 'mat-date-time-field',
|
|
4016
4001
|
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",
|
|
4017
4002
|
providers: [
|
|
4018
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
4003
|
+
DEFAULT_VALUE_ACCESSOR$2,
|
|
4019
4004
|
],
|
|
4020
4005
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4021
4006
|
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%}"]
|
|
@@ -4054,10 +4039,10 @@ const DEFAULT_VALUE_ACCESSOR$3 = {
|
|
|
4054
4039
|
useExisting: forwardRef(() => MatDateShort),
|
|
4055
4040
|
multi: true
|
|
4056
4041
|
};
|
|
4057
|
-
const DAY_MASK = [/\d/, /\d/, /\d/, /\d/];
|
|
4058
|
-
const noop$
|
|
4042
|
+
const DAY_MASK$2 = [/\d/, /\d/, /\d/, /\d/];
|
|
4043
|
+
const noop$4 = () => {
|
|
4059
4044
|
};
|
|
4060
|
-
const ɵ0$
|
|
4045
|
+
const ɵ0$4 = noop$4;
|
|
4061
4046
|
class MatDateShort {
|
|
4062
4047
|
constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
4063
4048
|
this.dateAdapter = dateAdapter;
|
|
@@ -4066,11 +4051,11 @@ class MatDateShort {
|
|
|
4066
4051
|
this.cd = cd;
|
|
4067
4052
|
this.keyboard = keyboard;
|
|
4068
4053
|
this.formGroupDir = formGroupDir;
|
|
4069
|
-
this._onChangeCallback = noop$
|
|
4070
|
-
this._onTouchedCallback = noop$
|
|
4054
|
+
this._onChangeCallback = noop$4;
|
|
4055
|
+
this._onTouchedCallback = noop$4;
|
|
4071
4056
|
this.writing = true;
|
|
4072
4057
|
this.disabling = false;
|
|
4073
|
-
this.dayMask = DAY_MASK;
|
|
4058
|
+
this.dayMask = DAY_MASK$2;
|
|
4074
4059
|
this.disabled = false;
|
|
4075
4060
|
this.floatLabel = 'auto';
|
|
4076
4061
|
this.readonly = false;
|
|
@@ -4383,16 +4368,16 @@ SharedMatDateTimeModule.decorators = [
|
|
|
4383
4368
|
},] }
|
|
4384
4369
|
];
|
|
4385
4370
|
|
|
4386
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
4371
|
+
const DEFAULT_VALUE_ACCESSOR$4 = {
|
|
4387
4372
|
provide: NG_VALUE_ACCESSOR,
|
|
4388
4373
|
useExisting: forwardRef(() => MatDuration),
|
|
4389
4374
|
multi: true
|
|
4390
4375
|
};
|
|
4391
4376
|
const HOUR_TIME_PATTERN = /[0-9]\d\d:[0-5]\d/;
|
|
4392
|
-
const HOUR_MASK = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
|
|
4393
|
-
const noop$
|
|
4377
|
+
const HOUR_MASK$1 = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
|
|
4378
|
+
const noop$5 = () => {
|
|
4394
4379
|
};
|
|
4395
|
-
const ɵ0$5 = noop$
|
|
4380
|
+
const ɵ0$5 = noop$5;
|
|
4396
4381
|
class MatDuration {
|
|
4397
4382
|
constructor(platform, dateAdapter, translate, formBuilder, cd, formGroupDir) {
|
|
4398
4383
|
this.dateAdapter = dateAdapter;
|
|
@@ -4401,11 +4386,11 @@ class MatDuration {
|
|
|
4401
4386
|
this.cd = cd;
|
|
4402
4387
|
this.formGroupDir = formGroupDir;
|
|
4403
4388
|
this._subscription = new Subscription();
|
|
4404
|
-
this._onChangeCallback = noop$
|
|
4405
|
-
this._onTouchedCallback = noop$
|
|
4389
|
+
this._onChangeCallback = noop$5;
|
|
4390
|
+
this._onTouchedCallback = noop$5;
|
|
4406
4391
|
this.writing = true;
|
|
4407
4392
|
this.disabling = false;
|
|
4408
|
-
this.hourMask = HOUR_MASK;
|
|
4393
|
+
this.hourMask = HOUR_MASK$1;
|
|
4409
4394
|
this.disabled = false;
|
|
4410
4395
|
this.floatLabel = 'auto';
|
|
4411
4396
|
this.readonly = false;
|
|
@@ -4585,7 +4570,7 @@ MatDuration.decorators = [
|
|
|
4585
4570
|
selector: 'mat-duration-field',
|
|
4586
4571
|
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",
|
|
4587
4572
|
providers: [
|
|
4588
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
4573
|
+
DEFAULT_VALUE_ACCESSOR$4,
|
|
4589
4574
|
],
|
|
4590
4575
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4591
4576
|
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%}"]
|
|
@@ -4642,22 +4627,22 @@ SharedMatDurationModule.decorators = [
|
|
|
4642
4627
|
},] }
|
|
4643
4628
|
];
|
|
4644
4629
|
|
|
4645
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
4630
|
+
const DEFAULT_VALUE_ACCESSOR$5 = {
|
|
4646
4631
|
provide: NG_VALUE_ACCESSOR,
|
|
4647
4632
|
useExisting: forwardRef(() => MatBooleanField),
|
|
4648
4633
|
multi: true
|
|
4649
4634
|
};
|
|
4650
|
-
const noop$
|
|
4635
|
+
const noop$6 = () => {
|
|
4651
4636
|
};
|
|
4652
|
-
const ɵ0$
|
|
4637
|
+
const ɵ0$6 = noop$6;
|
|
4653
4638
|
class MatBooleanField {
|
|
4654
4639
|
constructor(translate, formBuilder, cd, formGroupDir) {
|
|
4655
4640
|
this.translate = translate;
|
|
4656
4641
|
this.formBuilder = formBuilder;
|
|
4657
4642
|
this.cd = cd;
|
|
4658
4643
|
this.formGroupDir = formGroupDir;
|
|
4659
|
-
this._onChangeCallback = noop$
|
|
4660
|
-
this._onTouchedCallback = noop$
|
|
4644
|
+
this._onChangeCallback = noop$6;
|
|
4645
|
+
this._onTouchedCallback = noop$6;
|
|
4661
4646
|
this._writing = false;
|
|
4662
4647
|
this.showRadio = false;
|
|
4663
4648
|
this.disabled = false;
|
|
@@ -4821,7 +4806,7 @@ MatBooleanField.decorators = [
|
|
|
4821
4806
|
selector: 'mat-boolean-field',
|
|
4822
4807
|
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",
|
|
4823
4808
|
providers: [
|
|
4824
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
4809
|
+
DEFAULT_VALUE_ACCESSOR$5
|
|
4825
4810
|
],
|
|
4826
4811
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4827
4812
|
styles: [":host{width:100%}"]
|
|
@@ -5062,7 +5047,7 @@ class MatNumpadDomService {
|
|
|
5062
5047
|
this.appRef.detachView(this.componentRef.hostView);
|
|
5063
5048
|
}
|
|
5064
5049
|
}
|
|
5065
|
-
MatNumpadDomService.ɵprov =
|
|
5050
|
+
MatNumpadDomService.ɵprov = ɵɵdefineInjectable({ factory: function MatNumpadDomService_Factory() { return new MatNumpadDomService(ɵɵinject(ComponentFactoryResolver), ɵɵinject(ApplicationRef), ɵɵinject(INJECTOR), ɵɵinject(DOCUMENT, 8)); }, token: MatNumpadDomService, providedIn: "root" });
|
|
5066
5051
|
MatNumpadDomService.decorators = [
|
|
5067
5052
|
{ type: Injectable, args: [{
|
|
5068
5053
|
providedIn: 'root'
|
|
@@ -5426,7 +5411,7 @@ SharedMatNumpadModule.decorators = [
|
|
|
5426
5411
|
},] }
|
|
5427
5412
|
];
|
|
5428
5413
|
|
|
5429
|
-
const DEFAULT_VALUE_ACCESSOR = {
|
|
5414
|
+
const DEFAULT_VALUE_ACCESSOR$6 = {
|
|
5430
5415
|
provide: NG_VALUE_ACCESSOR,
|
|
5431
5416
|
useExisting: forwardRef(() => MatSwipeField),
|
|
5432
5417
|
multi: true
|
|
@@ -5689,7 +5674,7 @@ MatSwipeField.decorators = [
|
|
|
5689
5674
|
{ type: Component, args: [{
|
|
5690
5675
|
selector: 'mat-swipe-field',
|
|
5691
5676
|
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",
|
|
5692
|
-
providers: [DEFAULT_VALUE_ACCESSOR],
|
|
5677
|
+
providers: [DEFAULT_VALUE_ACCESSOR$6],
|
|
5693
5678
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
5694
5679
|
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}"]
|
|
5695
5680
|
},] }
|
|
@@ -6184,7 +6169,7 @@ class ProgressBarService {
|
|
|
6184
6169
|
}
|
|
6185
6170
|
}
|
|
6186
6171
|
}
|
|
6187
|
-
ProgressBarService.ɵprov =
|
|
6172
|
+
ProgressBarService.ɵprov = ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
|
|
6188
6173
|
ProgressBarService.decorators = [
|
|
6189
6174
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
6190
6175
|
];
|
|
@@ -6228,7 +6213,7 @@ class AppGestureConfig extends HammerGestureConfig {
|
|
|
6228
6213
|
return mc;
|
|
6229
6214
|
}
|
|
6230
6215
|
}
|
|
6231
|
-
AppGestureConfig.ɵprov =
|
|
6216
|
+
AppGestureConfig.ɵprov = ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
|
|
6232
6217
|
AppGestureConfig.decorators = [
|
|
6233
6218
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
6234
6219
|
];
|
|
@@ -6451,7 +6436,7 @@ class MatPaginatorI18n extends MatPaginatorIntl {
|
|
|
6451
6436
|
this.previousPageLabel = this.translate.instant('COMMON.PAGINATOR.PREVIOUS_PAGE');
|
|
6452
6437
|
}
|
|
6453
6438
|
}
|
|
6454
|
-
MatPaginatorI18n.ɵprov =
|
|
6439
|
+
MatPaginatorI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(ɵɵinject(TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
|
|
6455
6440
|
MatPaginatorI18n.decorators = [
|
|
6456
6441
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
6457
6442
|
];
|
|
@@ -6541,17 +6526,17 @@ function getColorContrast(color, bw) {
|
|
|
6541
6526
|
return rgbArrayToHex(rgb.map(v => 255 - v));
|
|
6542
6527
|
}
|
|
6543
6528
|
|
|
6544
|
-
const noop = () => {
|
|
6529
|
+
const noop$7 = () => {
|
|
6545
6530
|
};
|
|
6546
|
-
const ɵ0$
|
|
6531
|
+
const ɵ0$7 = noop$7;
|
|
6547
6532
|
class AppFormField {
|
|
6548
6533
|
constructor(translate, cd, injector, formGroupDir) {
|
|
6549
6534
|
this.translate = translate;
|
|
6550
6535
|
this.cd = cd;
|
|
6551
6536
|
this.injector = injector;
|
|
6552
6537
|
this.formGroupDir = formGroupDir;
|
|
6553
|
-
this._onChangeCallback = noop;
|
|
6554
|
-
this._onTouchedCallback = noop;
|
|
6538
|
+
this._onChangeCallback = noop$7;
|
|
6539
|
+
this._onTouchedCallback = noop$7;
|
|
6555
6540
|
this.readonly = false;
|
|
6556
6541
|
this.compact = false;
|
|
6557
6542
|
this.floatLabel = 'auto';
|
|
@@ -6922,14 +6907,14 @@ class AudioProvider {
|
|
|
6922
6907
|
});
|
|
6923
6908
|
}
|
|
6924
6909
|
}
|
|
6925
|
-
AudioProvider.ɵprov =
|
|
6910
|
+
AudioProvider.ɵprov = ɵɵdefineInjectable({ factory: function AudioProvider_Factory() { return new AudioProvider(ɵɵinject(Platform), ɵɵinject(NativeAudio, 8), ɵɵinject(Vibration, 8), ɵɵinject(AudioManagement$1, 8)); }, token: AudioProvider, providedIn: "root" });
|
|
6926
6911
|
AudioProvider.decorators = [
|
|
6927
6912
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
6928
6913
|
];
|
|
6929
6914
|
AudioProvider.ctorParameters = () => [
|
|
6930
6915
|
{ type: Platform },
|
|
6931
|
-
{ type: NativeAudio, decorators: [{ type: Optional }] },
|
|
6932
|
-
{ type: Vibration, decorators: [{ type: Optional }] },
|
|
6916
|
+
{ type: NativeAudio$1, decorators: [{ type: Optional }] },
|
|
6917
|
+
{ type: Vibration$1, decorators: [{ type: Optional }] },
|
|
6933
6918
|
{ type: AudioManagement, decorators: [{ type: Optional }] }
|
|
6934
6919
|
];
|
|
6935
6920
|
|
|
@@ -7011,7 +6996,7 @@ class Hotkeys {
|
|
|
7011
6996
|
});
|
|
7012
6997
|
}
|
|
7013
6998
|
}
|
|
7014
|
-
Hotkeys.ɵprov =
|
|
6999
|
+
Hotkeys.ɵprov = ɵɵdefineInjectable({ factory: function Hotkeys_Factory() { return new Hotkeys(ɵɵinject(EventManager), ɵɵinject(MatDialog), ɵɵinject(DOCUMENT), ɵɵinject(ModalController)); }, token: Hotkeys, providedIn: "root" });
|
|
7015
7000
|
Hotkeys.decorators = [
|
|
7016
7001
|
{ type: Injectable, args: [{
|
|
7017
7002
|
providedIn: 'root'
|
|
@@ -7185,7 +7170,7 @@ class Base64ImageReader {
|
|
|
7185
7170
|
}
|
|
7186
7171
|
}
|
|
7187
7172
|
|
|
7188
|
-
const uuidv4
|
|
7173
|
+
const uuidv4 = uuidv4Imported;
|
|
7189
7174
|
class FileService {
|
|
7190
7175
|
constructor(platform,
|
|
7191
7176
|
//private transfer: FileTransfer,
|
|
@@ -7222,7 +7207,7 @@ class FileService {
|
|
|
7222
7207
|
const lastSlashIndex = source.lastIndexOf('/');
|
|
7223
7208
|
if (lastSlashIndex === -1)
|
|
7224
7209
|
throw new Error('Invalid URL: ' + source);
|
|
7225
|
-
const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4
|
|
7210
|
+
const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4();
|
|
7226
7211
|
// Download into the file system
|
|
7227
7212
|
if (responseType === 'file' && this.canUseFileSystem) {
|
|
7228
7213
|
console.warn(`WARN: [file] Fetching image {${source}} in local file...`);
|
|
@@ -7278,7 +7263,7 @@ class FileService {
|
|
|
7278
7263
|
this._started = true;
|
|
7279
7264
|
}
|
|
7280
7265
|
}
|
|
7281
|
-
FileService.ɵprov =
|
|
7266
|
+
FileService.ɵprov = ɵɵdefineInjectable({ factory: function FileService_Factory() { return new FileService(ɵɵinject(Platform), ɵɵinject(HttpClient), ɵɵinject(ENVIRONMENT)); }, token: FileService, providedIn: "root" });
|
|
7282
7267
|
FileService.decorators = [
|
|
7283
7268
|
{ type: Injectable, args: [{
|
|
7284
7269
|
providedIn: 'root',
|
|
@@ -7440,7 +7425,7 @@ class Base58 {
|
|
|
7440
7425
|
Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
|
|
7441
7426
|
|
|
7442
7427
|
const scrypt = require('scrypt-async');
|
|
7443
|
-
const sha256
|
|
7428
|
+
const sha256 = require('hash.js/lib/hash/sha/256');
|
|
7444
7429
|
const sha512 = require('hash.js/lib/hash/sha/512');
|
|
7445
7430
|
const nacl = {
|
|
7446
7431
|
sign,
|
|
@@ -7544,7 +7529,7 @@ class CryptoService {
|
|
|
7544
7529
|
* Hash (using SHA256) a message
|
|
7545
7530
|
*/
|
|
7546
7531
|
sha256(message) {
|
|
7547
|
-
return sha256
|
|
7532
|
+
return sha256().update(message).digest('hex');
|
|
7548
7533
|
}
|
|
7549
7534
|
/**
|
|
7550
7535
|
* Hash (using SHA512) a message
|
|
@@ -7557,7 +7542,7 @@ class CryptoService {
|
|
|
7557
7542
|
return nacl.util.encodeBase64(m);
|
|
7558
7543
|
}
|
|
7559
7544
|
}
|
|
7560
|
-
CryptoService.ɵprov =
|
|
7545
|
+
CryptoService.ɵprov = ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
|
|
7561
7546
|
CryptoService.decorators = [
|
|
7562
7547
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
7563
7548
|
];
|
|
@@ -7574,7 +7559,7 @@ class Entity {
|
|
|
7574
7559
|
}
|
|
7575
7560
|
clone(opts) {
|
|
7576
7561
|
const target = new this.constructor();
|
|
7577
|
-
this.copy(target);
|
|
7562
|
+
this.copy(target, opts);
|
|
7578
7563
|
return target;
|
|
7579
7564
|
}
|
|
7580
7565
|
copy(target, opts) {
|
|
@@ -8764,7 +8749,7 @@ class LocalSettingsService {
|
|
|
8764
8749
|
return page;
|
|
8765
8750
|
}
|
|
8766
8751
|
}
|
|
8767
|
-
LocalSettingsService.ɵprov =
|
|
8752
|
+
LocalSettingsService.ɵprov = ɵɵdefineInjectable({ factory: function LocalSettingsService_Factory() { return new LocalSettingsService(ɵɵinject(TranslateService), ɵɵinject(Platform), ɵɵinject(Storage), ɵɵinject(ENVIRONMENT), ɵɵinject(APP_LOCAL_SETTINGS, 8), ɵɵinject(APP_LOCAL_SETTINGS_OPTIONS, 8)); }, token: LocalSettingsService, providedIn: "root" });
|
|
8768
8753
|
LocalSettingsService.decorators = [
|
|
8769
8754
|
{ type: Injectable, args: [{
|
|
8770
8755
|
providedIn: 'root',
|
|
@@ -9460,7 +9445,7 @@ class NetworkService {
|
|
|
9460
9445
|
});
|
|
9461
9446
|
}
|
|
9462
9447
|
}
|
|
9463
|
-
NetworkService.ɵprov =
|
|
9448
|
+
NetworkService.ɵprov = ɵɵdefineInjectable({ factory: function NetworkService_Factory() { return new NetworkService(ɵɵinject(DOCUMENT), ɵɵinject(Platform), ɵɵinject(ModalController), ɵɵinject(CryptoService), ɵɵinject(Storage), ɵɵinject(LocalSettingsService), ɵɵinject(CacheService), ɵɵinject(HttpClient), ɵɵinject(ENVIRONMENT), ɵɵinject(Network, 8), ɵɵinject(SplashScreen, 8), ɵɵinject(TranslateService, 8), ɵɵinject(ToastController, 8)); }, token: NetworkService, providedIn: "root" });
|
|
9464
9449
|
NetworkService.decorators = [
|
|
9465
9450
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
9466
9451
|
];
|
|
@@ -9471,16 +9456,16 @@ NetworkService.ctorParameters = () => [
|
|
|
9471
9456
|
{ type: CryptoService },
|
|
9472
9457
|
{ type: Storage },
|
|
9473
9458
|
{ type: LocalSettingsService },
|
|
9474
|
-
{ type: CacheService },
|
|
9459
|
+
{ type: CacheService$1 },
|
|
9475
9460
|
{ type: HttpClient },
|
|
9476
9461
|
{ type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
|
|
9477
|
-
{ type: Network, decorators: [{ type: Optional }] },
|
|
9478
|
-
{ type: SplashScreen, decorators: [{ type: Optional }] },
|
|
9462
|
+
{ type: Network$1, decorators: [{ type: Optional }] },
|
|
9463
|
+
{ type: SplashScreen$1, decorators: [{ type: Optional }] },
|
|
9479
9464
|
{ type: TranslateService, decorators: [{ type: Optional }] },
|
|
9480
9465
|
{ type: ToastController, decorators: [{ type: Optional }] }
|
|
9481
9466
|
];
|
|
9482
9467
|
|
|
9483
|
-
const ErrorCodes
|
|
9468
|
+
const ErrorCodes = {
|
|
9484
9469
|
UNKNOWN_ERROR: 0,
|
|
9485
9470
|
LOAD_ACCOUNT_ERROR: 1,
|
|
9486
9471
|
BAD_PASSWORD: 2,
|
|
@@ -9827,7 +9812,7 @@ class EntityStore {
|
|
|
9827
9812
|
}
|
|
9828
9813
|
catch (err) {
|
|
9829
9814
|
console.error(err);
|
|
9830
|
-
throw { code: ErrorCodes
|
|
9815
|
+
throw { code: ErrorCodes.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err };
|
|
9831
9816
|
}
|
|
9832
9817
|
}
|
|
9833
9818
|
// Emit update event
|
|
@@ -10404,7 +10389,7 @@ class EntitiesStorage {
|
|
|
10404
10389
|
}
|
|
10405
10390
|
EntitiesStorage.TRASH_PREFIX = 'Trash#';
|
|
10406
10391
|
EntitiesStorage.REMOTE_PREFIX = 'Remote#';
|
|
10407
|
-
EntitiesStorage.ɵprov =
|
|
10392
|
+
EntitiesStorage.ɵprov = ɵɵdefineInjectable({ factory: function EntitiesStorage_Factory() { return new EntitiesStorage(ɵɵinject(Platform), ɵɵinject(ProgressBarService), ɵɵinject(Storage), ɵɵinject(ENVIRONMENT), ɵɵinject(APP_LOCAL_STORAGE_TYPE_POLICIES, 8)); }, token: EntitiesStorage, providedIn: "root" });
|
|
10408
10393
|
EntitiesStorage.decorators = [
|
|
10409
10394
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
10410
10395
|
];
|
|
@@ -10501,10 +10486,10 @@ function referentialToString(obj, properties) {
|
|
|
10501
10486
|
function referentialsToString(values, properties, separator) {
|
|
10502
10487
|
return (values || []).map(v => referentialToString(v, properties)).join(separator || ', ');
|
|
10503
10488
|
}
|
|
10504
|
-
const ɵ0$
|
|
10489
|
+
const ɵ0$8 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
|
|
10505
10490
|
const StatusList = Object.freeze([
|
|
10506
10491
|
{
|
|
10507
|
-
id: ɵ0$
|
|
10492
|
+
id: ɵ0$8,
|
|
10508
10493
|
icon: 'checkmark',
|
|
10509
10494
|
label: 'REFERENTIAL.STATUS_ENUM.ENABLE'
|
|
10510
10495
|
},
|
|
@@ -10775,7 +10760,7 @@ function accountToString(data) {
|
|
|
10775
10760
|
(data.lastName || '')) || '';
|
|
10776
10761
|
}
|
|
10777
10762
|
|
|
10778
|
-
const uuidv4 = uuidv4Imported;
|
|
10763
|
+
const uuidv4$1 = uuidv4Imported;
|
|
10779
10764
|
const _global = typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : {});
|
|
10780
10765
|
const NativeWebSocket = _global.WebSocket || _global.MozWebSocket;
|
|
10781
10766
|
/**
|
|
@@ -10819,7 +10804,7 @@ function createTrackerLink(opts) {
|
|
|
10819
10804
|
// Skip if not tracked
|
|
10820
10805
|
if (!context || !context.tracked)
|
|
10821
10806
|
return forward(operation);
|
|
10822
|
-
const id = context.serializationKey || uuidv4();
|
|
10807
|
+
const id = context.serializationKey || uuidv4$1();
|
|
10823
10808
|
console.debug(`[apollo-tracker-link] Watching tracked query {${operation.operationName}#${id}}`);
|
|
10824
10809
|
// Clean context, before calling JSON.stringify (remove unused attributes)
|
|
10825
10810
|
const cleanContext = Object.assign(Object.assign({}, context), { optimisticResponse: null, cache: null });
|
|
@@ -11527,7 +11512,7 @@ class GraphqlService {
|
|
|
11527
11512
|
(err.networkError && ((err.networkError.error && this.toAppError(err.networkError.error))
|
|
11528
11513
|
|| this.toAppError(err.networkError)
|
|
11529
11514
|
|| (err.networkError.error && this.createAppErrorByCode(err.networkError.error.status))
|
|
11530
|
-
|| this.createAppErrorByCode(ErrorCodes
|
|
11515
|
+
|| this.createAppErrorByCode(ErrorCodes.UNKNOWN_NETWORK_ERROR)))
|
|
11531
11516
|
// If graphQL: try to convert the first error found
|
|
11532
11517
|
|| (err.graphQLErrors && err.graphQLErrors.length && this.toAppError(err.graphQLErrors[0]))
|
|
11533
11518
|
|| this.toAppError(err)
|
|
@@ -11535,7 +11520,7 @@ class GraphqlService {
|
|
|
11535
11520
|
|| (err.graphQLErrors && err.graphQLErrors[0])
|
|
11536
11521
|
|| err;
|
|
11537
11522
|
console.error('[graphql] ' + (error && error.message || error), error.stack || '');
|
|
11538
|
-
if (error && error.code === ErrorCodes
|
|
11523
|
+
if (error && error.code === ErrorCodes.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
|
|
11539
11524
|
console.error('[graphql] original error: ' + err.networkError.message);
|
|
11540
11525
|
this.onNetworkError.next(error);
|
|
11541
11526
|
}
|
|
@@ -11571,7 +11556,7 @@ class GraphqlService {
|
|
|
11571
11556
|
return 'ERROR.UNAUTHORIZED';
|
|
11572
11557
|
case ServerErrorCodes.FORBIDDEN:
|
|
11573
11558
|
return 'ERROR.FORBIDDEN';
|
|
11574
|
-
case ErrorCodes
|
|
11559
|
+
case ErrorCodes.UNKNOWN_NETWORK_ERROR:
|
|
11575
11560
|
return 'ERROR.UNKNOWN_NETWORK_ERROR';
|
|
11576
11561
|
case ServerErrorCodes.BAD_UPDATE_DATE:
|
|
11577
11562
|
return 'ERROR.BAD_UPDATE_DATE';
|
|
@@ -11608,7 +11593,7 @@ class GraphqlService {
|
|
|
11608
11593
|
});
|
|
11609
11594
|
}
|
|
11610
11595
|
}
|
|
11611
|
-
GraphqlService.ɵprov =
|
|
11596
|
+
GraphqlService.ɵprov = ɵɵdefineInjectable({ factory: function GraphqlService_Factory() { return new GraphqlService(ɵɵinject(Platform), ɵɵinject(Apollo), ɵɵinject(HttpLink), ɵɵinject(NetworkService), ɵɵinject(Storage), ɵɵinject(CryptoService), ɵɵinject(ENVIRONMENT), ɵɵinject(APP_GRAPHQL_TYPE_POLICIES, 8)); }, token: GraphqlService, providedIn: "root" });
|
|
11612
11597
|
GraphqlService.decorators = [
|
|
11613
11598
|
{ type: Injectable, args: [{
|
|
11614
11599
|
providedIn: 'root'
|
|
@@ -11625,7 +11610,7 @@ GraphqlService.ctorParameters = () => [
|
|
|
11625
11610
|
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_GRAPHQL_TYPE_POLICIES,] }] }
|
|
11626
11611
|
];
|
|
11627
11612
|
|
|
11628
|
-
const sha256 = require('hash.js/lib/hash/sha/256');
|
|
11613
|
+
const sha256$1 = require('hash.js/lib/hash/sha/256');
|
|
11629
11614
|
class BaseGraphqlServiceOptions {
|
|
11630
11615
|
}
|
|
11631
11616
|
// eslint-disable-next-line @angular-eslint/directive-class-suffix
|
|
@@ -11775,8 +11760,8 @@ class BaseGraphqlService {
|
|
|
11775
11760
|
}
|
|
11776
11761
|
/* -- protected methods -- */
|
|
11777
11762
|
computeMutableWatchQueryId(opts) {
|
|
11778
|
-
const queryName = opts.queryName || sha256().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
|
|
11779
|
-
const variablesKey = opts.variables && sha256().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
|
|
11763
|
+
const queryName = opts.queryName || sha256$1().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
|
|
11764
|
+
const variablesKey = opts.variables && sha256$1().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
|
|
11780
11765
|
return [queryName, opts.arrayFieldName, variablesKey].join('|');
|
|
11781
11766
|
}
|
|
11782
11767
|
findMutableWatchQueries(opts) {
|
|
@@ -11839,7 +11824,7 @@ const DEFAULT_AVATAR_IMAGE = 'assets/img/person.png';
|
|
|
11839
11824
|
/* ------------------------------------
|
|
11840
11825
|
* GraphQL queries
|
|
11841
11826
|
* ------------------------------------*/
|
|
11842
|
-
const Fragments
|
|
11827
|
+
const Fragments = {
|
|
11843
11828
|
account: gql `
|
|
11844
11829
|
fragment AccountFragment on AccountVO {
|
|
11845
11830
|
id
|
|
@@ -11872,13 +11857,13 @@ const Fragments$1 = {
|
|
|
11872
11857
|
`
|
|
11873
11858
|
};
|
|
11874
11859
|
// Load account query
|
|
11875
|
-
const LoadQuery
|
|
11860
|
+
const LoadQuery = gql `
|
|
11876
11861
|
query Account {
|
|
11877
11862
|
account {
|
|
11878
11863
|
...AccountFragment
|
|
11879
11864
|
}
|
|
11880
11865
|
}
|
|
11881
|
-
${Fragments
|
|
11866
|
+
${Fragments.account}
|
|
11882
11867
|
`;
|
|
11883
11868
|
// Check email query
|
|
11884
11869
|
const IsEmailExistsQuery = gql `
|
|
@@ -11887,13 +11872,13 @@ const IsEmailExistsQuery = gql `
|
|
|
11887
11872
|
}
|
|
11888
11873
|
`;
|
|
11889
11874
|
// Save (create or update) account mutation
|
|
11890
|
-
const SaveMutation
|
|
11875
|
+
const SaveMutation = gql `
|
|
11891
11876
|
mutation SaveAccount($account:AccountVOInput){
|
|
11892
11877
|
saveAccount(account: $account){
|
|
11893
11878
|
...AccountFragment
|
|
11894
11879
|
}
|
|
11895
11880
|
}
|
|
11896
|
-
${Fragments
|
|
11881
|
+
${Fragments.account}
|
|
11897
11882
|
`;
|
|
11898
11883
|
// Create account mutation
|
|
11899
11884
|
const CreateMutation = gql `
|
|
@@ -11902,7 +11887,7 @@ const CreateMutation = gql `
|
|
|
11902
11887
|
...AccountFragment
|
|
11903
11888
|
}
|
|
11904
11889
|
}
|
|
11905
|
-
${Fragments
|
|
11890
|
+
${Fragments.account}
|
|
11906
11891
|
`;
|
|
11907
11892
|
// Sent confirmation email
|
|
11908
11893
|
const SendConfirmEmailMutation = gql `
|
|
@@ -12241,7 +12226,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12241
12226
|
catch (error) {
|
|
12242
12227
|
console.error(error);
|
|
12243
12228
|
this.resetData();
|
|
12244
|
-
throw { code: ErrorCodes
|
|
12229
|
+
throw { code: ErrorCodes.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
|
|
12245
12230
|
}
|
|
12246
12231
|
// Store pubkey+keypair
|
|
12247
12232
|
this.data.pubkey = Base58.encode(keypair.publicKey);
|
|
@@ -12275,7 +12260,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12275
12260
|
}
|
|
12276
12261
|
catch (err) {
|
|
12277
12262
|
// If account not found, check if email is valid
|
|
12278
|
-
if (err && +(err.code) === ErrorCodes
|
|
12263
|
+
if (err && +(err.code) === ErrorCodes.LOAD_ACCOUNT_ERROR) {
|
|
12279
12264
|
// Check email exists
|
|
12280
12265
|
if (data.username.indexOf('@') !== -1) {
|
|
12281
12266
|
let isEmailExists;
|
|
@@ -12287,11 +12272,11 @@ class AccountService extends BaseGraphqlService {
|
|
|
12287
12272
|
}
|
|
12288
12273
|
// Email not exists (no account)
|
|
12289
12274
|
if (!isEmailExists) {
|
|
12290
|
-
throw { code: ErrorCodes
|
|
12275
|
+
throw { code: ErrorCodes.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
|
|
12291
12276
|
}
|
|
12292
12277
|
}
|
|
12293
12278
|
// Email exists, so error = 'bad password'
|
|
12294
|
-
throw { code: ErrorCodes
|
|
12279
|
+
throw { code: ErrorCodes.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
|
|
12295
12280
|
}
|
|
12296
12281
|
throw err; // resend the first error
|
|
12297
12282
|
}
|
|
@@ -12352,7 +12337,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12352
12337
|
throw error;
|
|
12353
12338
|
console.error(error);
|
|
12354
12339
|
throw {
|
|
12355
|
-
code: ErrorCodes
|
|
12340
|
+
code: ErrorCodes.LOAD_ACCOUNT_ERROR,
|
|
12356
12341
|
message: 'ERROR.LOAD_ACCOUNT_ERROR'
|
|
12357
12342
|
};
|
|
12358
12343
|
}
|
|
@@ -12564,8 +12549,8 @@ class AccountService extends BaseGraphqlService {
|
|
|
12564
12549
|
}
|
|
12565
12550
|
else {
|
|
12566
12551
|
const res = yield this.graphql.query({
|
|
12567
|
-
query: LoadQuery
|
|
12568
|
-
error: { code: ErrorCodes
|
|
12552
|
+
query: LoadQuery,
|
|
12553
|
+
error: { code: ErrorCodes.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
|
|
12569
12554
|
fetchPolicy: opts && opts.fetchPolicy || 'no-cache' || undefined
|
|
12570
12555
|
});
|
|
12571
12556
|
accountJson = res && res.account;
|
|
@@ -12599,7 +12584,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12599
12584
|
if (!isNew) {
|
|
12600
12585
|
const existingAccount = yield this.loadAccount({ fetchPolicy: 'network-only' });
|
|
12601
12586
|
if (!existingAccount || !existingAccount.updateDate) {
|
|
12602
|
-
throw { code: ErrorCodes
|
|
12587
|
+
throw { code: ErrorCodes.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
|
|
12603
12588
|
}
|
|
12604
12589
|
account.updateDate = existingAccount.updateDate || account.updateDate;
|
|
12605
12590
|
if (account.settings && existingAccount.settings) {
|
|
@@ -12612,12 +12597,12 @@ class AccountService extends BaseGraphqlService {
|
|
|
12612
12597
|
delete json.mainProfile; // Not known on server
|
|
12613
12598
|
// Execute mutation
|
|
12614
12599
|
const res = yield this.graphql.mutate({
|
|
12615
|
-
mutation: isNew ? CreateMutation : SaveMutation
|
|
12600
|
+
mutation: isNew ? CreateMutation : SaveMutation,
|
|
12616
12601
|
variables: {
|
|
12617
12602
|
account: json
|
|
12618
12603
|
},
|
|
12619
12604
|
error: {
|
|
12620
|
-
code: ErrorCodes
|
|
12605
|
+
code: ErrorCodes.SAVE_ACCOUNT_ERROR,
|
|
12621
12606
|
message: 'ERROR.SAVE_ACCOUNT_ERROR'
|
|
12622
12607
|
}
|
|
12623
12608
|
});
|
|
@@ -12642,7 +12627,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12642
12627
|
return __awaiter(this, void 0, void 0, function* () {
|
|
12643
12628
|
const isEmailExists = yield this.isEmailExists(email);
|
|
12644
12629
|
if (isEmailExists) {
|
|
12645
|
-
throw { code: ErrorCodes
|
|
12630
|
+
throw { code: ErrorCodes.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
|
|
12646
12631
|
}
|
|
12647
12632
|
});
|
|
12648
12633
|
}
|
|
@@ -12678,7 +12663,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12678
12663
|
locale
|
|
12679
12664
|
},
|
|
12680
12665
|
error: {
|
|
12681
|
-
code: ErrorCodes
|
|
12666
|
+
code: ErrorCodes.SENT_CONFIRMATION_EMAIL_FAILED,
|
|
12682
12667
|
message: 'ERROR.SENT_ACCOUNT_CONFIRMATION_EMAIL_FAILED'
|
|
12683
12668
|
}
|
|
12684
12669
|
});
|
|
@@ -12694,7 +12679,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12694
12679
|
code
|
|
12695
12680
|
},
|
|
12696
12681
|
error: {
|
|
12697
|
-
code: ErrorCodes
|
|
12682
|
+
code: ErrorCodes.CONFIRM_EMAIL_FAILED,
|
|
12698
12683
|
message: 'ERROR.CONFIRM_ACCOUNT_EMAIL_FAILED'
|
|
12699
12684
|
}
|
|
12700
12685
|
});
|
|
@@ -12712,7 +12697,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12712
12697
|
interval: 10
|
|
12713
12698
|
},
|
|
12714
12699
|
error: {
|
|
12715
|
-
code: ErrorCodes
|
|
12700
|
+
code: ErrorCodes.SUBSCRIBE_ACCOUNT_ERROR,
|
|
12716
12701
|
message: 'ERROR.ACCOUNT.SUBSCRIBE_ACCOUNT_ERROR'
|
|
12717
12702
|
}
|
|
12718
12703
|
}).subscribe({
|
|
@@ -12791,7 +12776,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12791
12776
|
if (counter > 4) {
|
|
12792
12777
|
if (this._debug)
|
|
12793
12778
|
console.debug(`[account] Failed to authentication on pod (after ${counter} attempts)`);
|
|
12794
|
-
throw { code: ErrorCodes
|
|
12779
|
+
throw { code: ErrorCodes.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
|
|
12795
12780
|
}
|
|
12796
12781
|
// Check if valid
|
|
12797
12782
|
if (token) {
|
|
@@ -12801,7 +12786,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12801
12786
|
token
|
|
12802
12787
|
},
|
|
12803
12788
|
error: {
|
|
12804
|
-
code: ErrorCodes
|
|
12789
|
+
code: ErrorCodes.UNAUTHORIZED,
|
|
12805
12790
|
message: 'ERROR.UNAUTHORIZED'
|
|
12806
12791
|
},
|
|
12807
12792
|
fetchPolicy: 'no-cache'
|
|
@@ -12817,7 +12802,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12817
12802
|
}
|
|
12818
12803
|
// Generate a new token
|
|
12819
12804
|
const challengeError = {
|
|
12820
|
-
code: ErrorCodes
|
|
12805
|
+
code: ErrorCodes.AUTH_CHALLENGE_ERROR,
|
|
12821
12806
|
message: 'ERROR.AUTH_CHALLENGE_ERROR'
|
|
12822
12807
|
};
|
|
12823
12808
|
const data = yield this.graphql.query({
|
|
@@ -12843,7 +12828,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12843
12828
|
});
|
|
12844
12829
|
}
|
|
12845
12830
|
}
|
|
12846
|
-
AccountService.ɵprov =
|
|
12831
|
+
AccountService.ɵprov = ɵɵdefineInjectable({ factory: function AccountService_Factory() { return new AccountService(ɵɵinject(CryptoService), ɵɵinject(NetworkService), ɵɵinject(GraphqlService), ɵɵinject(LocalSettingsService), ɵɵinject(Storage), ɵɵinject(FileService), ɵɵinject(ENVIRONMENT)); }, token: AccountService, providedIn: "root" });
|
|
12847
12832
|
AccountService.decorators = [
|
|
12848
12833
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
12849
12834
|
];
|
|
@@ -13093,7 +13078,7 @@ const CONFIGURATION_STORAGE_KEY = 'configuration';
|
|
|
13093
13078
|
/* ------------------------------------
|
|
13094
13079
|
* GraphQL queries
|
|
13095
13080
|
* ------------------------------------*/
|
|
13096
|
-
const Fragments = {
|
|
13081
|
+
const Fragments$1 = {
|
|
13097
13082
|
config: gql `
|
|
13098
13083
|
fragment ConfigFragment on ConfigurationVO {
|
|
13099
13084
|
id
|
|
@@ -13120,22 +13105,22 @@ const Fragments = {
|
|
|
13120
13105
|
}
|
|
13121
13106
|
`
|
|
13122
13107
|
};
|
|
13123
|
-
const LoadQuery = gql `
|
|
13108
|
+
const LoadQuery$1 = gql `
|
|
13124
13109
|
query Configuration{
|
|
13125
13110
|
data: configuration{
|
|
13126
13111
|
...ConfigFragment
|
|
13127
13112
|
}
|
|
13128
13113
|
}
|
|
13129
|
-
${Fragments.config}
|
|
13114
|
+
${Fragments$1.config}
|
|
13130
13115
|
`;
|
|
13131
13116
|
// Save (create or update) account mutation
|
|
13132
|
-
const SaveMutation = gql `
|
|
13117
|
+
const SaveMutation$1 = gql `
|
|
13133
13118
|
mutation SaveConfiguration($data: ConfigurationVOInput){
|
|
13134
13119
|
data: saveConfiguration(config: $data){
|
|
13135
13120
|
...ConfigFragment
|
|
13136
13121
|
}
|
|
13137
13122
|
}
|
|
13138
|
-
${Fragments.config}
|
|
13123
|
+
${Fragments$1.config}
|
|
13139
13124
|
`;
|
|
13140
13125
|
const ClearCache = gql `
|
|
13141
13126
|
query ClearCache($name: String) {
|
|
@@ -13223,12 +13208,12 @@ class ConfigService extends BaseGraphqlService {
|
|
|
13223
13208
|
return __awaiter(this, void 0, void 0, function* () {
|
|
13224
13209
|
const now = Date.now();
|
|
13225
13210
|
console.debug('[config] Loading Pod configuration...');
|
|
13226
|
-
const query = opts && opts.query || LoadQuery;
|
|
13211
|
+
const query = opts && opts.query || LoadQuery$1;
|
|
13227
13212
|
const variables = opts && opts.variables || undefined;
|
|
13228
13213
|
const res = yield this.graphql.query({
|
|
13229
13214
|
query,
|
|
13230
13215
|
variables,
|
|
13231
|
-
error: { code: ErrorCodes
|
|
13216
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
13232
13217
|
fetchPolicy: opts && opts.fetchPolicy || undefined /*default*/
|
|
13233
13218
|
});
|
|
13234
13219
|
const data = res && res.data ? Configuration.fromObject(res.data) : undefined;
|
|
@@ -13253,12 +13238,12 @@ class ConfigService extends BaseGraphqlService {
|
|
|
13253
13238
|
const json = config.asObject();
|
|
13254
13239
|
// Execute mutation
|
|
13255
13240
|
const res = yield this.graphql.mutate({
|
|
13256
|
-
mutation: SaveMutation,
|
|
13241
|
+
mutation: SaveMutation$1,
|
|
13257
13242
|
variables: {
|
|
13258
13243
|
data: json
|
|
13259
13244
|
},
|
|
13260
13245
|
error: {
|
|
13261
|
-
code: ErrorCodes
|
|
13246
|
+
code: ErrorCodes.SAVE_CONFIG_ERROR,
|
|
13262
13247
|
message: 'ERROR.SAVE_CONFIG_ERROR'
|
|
13263
13248
|
}
|
|
13264
13249
|
});
|
|
@@ -13284,7 +13269,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
13284
13269
|
const res = yield this.graphql.query({
|
|
13285
13270
|
query: CacheStatistics,
|
|
13286
13271
|
variables: null,
|
|
13287
|
-
error: { code: ErrorCodes
|
|
13272
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
13288
13273
|
fetchPolicy: 'network-only'
|
|
13289
13274
|
});
|
|
13290
13275
|
const data = res && res.cacheStatistics || undefined;
|
|
@@ -13300,7 +13285,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
13300
13285
|
const res = yield this.graphql.query({
|
|
13301
13286
|
query: ClearCache,
|
|
13302
13287
|
variables,
|
|
13303
|
-
error: { code: ErrorCodes
|
|
13288
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
13304
13289
|
fetchPolicy: 'network-only'
|
|
13305
13290
|
});
|
|
13306
13291
|
const data = res && res.clearCache || undefined;
|
|
@@ -13459,7 +13444,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
13459
13444
|
});
|
|
13460
13445
|
}
|
|
13461
13446
|
}
|
|
13462
|
-
ConfigService.ɵprov =
|
|
13447
|
+
ConfigService.ɵprov = ɵɵdefineInjectable({ factory: function ConfigService_Factory() { return new ConfigService(ɵɵinject(Platform), ɵɵinject(GraphqlService), ɵɵinject(Storage), ɵɵinject(NetworkService), ɵɵinject(FileService), ɵɵinject(ToastController), ɵɵinject(TranslateService), ɵɵinject(ENVIRONMENT), ɵɵinject(APP_CONFIG_OPTIONS, 8)); }, token: ConfigService, providedIn: "root" });
|
|
13463
13448
|
ConfigService.decorators = [
|
|
13464
13449
|
{ type: Injectable, args: [{
|
|
13465
13450
|
providedIn: 'root',
|
|
@@ -13478,7 +13463,7 @@ ConfigService.ctorParameters = () => [
|
|
|
13478
13463
|
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_CONFIG_OPTIONS,] }] }
|
|
13479
13464
|
];
|
|
13480
13465
|
|
|
13481
|
-
const moment$
|
|
13466
|
+
const moment$4 = momentImported;
|
|
13482
13467
|
class PlatformService {
|
|
13483
13468
|
constructor(platform, cdkPlatform, toastController, translate, dateAdapter, entitiesStorage, settings, networkService, accountService, configService, cache, storage, audioProvider, environment, statusBar, keyboard, splashScreen, browser) {
|
|
13484
13469
|
this.platform = platform;
|
|
@@ -13643,16 +13628,16 @@ class PlatformService {
|
|
|
13643
13628
|
}
|
|
13644
13629
|
// config moment lib
|
|
13645
13630
|
try {
|
|
13646
|
-
moment$
|
|
13631
|
+
moment$4.locale(event.lang);
|
|
13647
13632
|
console.debug('[platform] Use locale {' + event.lang + '}');
|
|
13648
13633
|
}
|
|
13649
13634
|
// If error, fallback to en
|
|
13650
13635
|
catch (err) {
|
|
13651
|
-
moment$
|
|
13636
|
+
moment$4.locale('en');
|
|
13652
13637
|
console.warn('[platform] Unknown local for moment lib. Using default [en]');
|
|
13653
13638
|
}
|
|
13654
13639
|
// Config date adapter
|
|
13655
|
-
this.dateAdapter.setLocale(moment$
|
|
13640
|
+
this.dateAdapter.setLocale(moment$4.locale());
|
|
13656
13641
|
}
|
|
13657
13642
|
});
|
|
13658
13643
|
this.settings.onChange.subscribe(data => {
|
|
@@ -13789,7 +13774,7 @@ class PlatformService {
|
|
|
13789
13774
|
});
|
|
13790
13775
|
}
|
|
13791
13776
|
}
|
|
13792
|
-
PlatformService.ɵprov =
|
|
13777
|
+
PlatformService.ɵprov = ɵɵdefineInjectable({ factory: function PlatformService_Factory() { return new PlatformService(ɵɵinject(Platform), ɵɵinject(Platform$1), ɵɵinject(ToastController), ɵɵinject(TranslateService), ɵɵinject(MomentDateAdapter), ɵɵinject(EntitiesStorage), ɵɵinject(LocalSettingsService), ɵɵinject(NetworkService), ɵɵinject(AccountService), ɵɵinject(ConfigService), ɵɵinject(CacheService), ɵɵinject(Storage), ɵɵinject(AudioProvider), ɵɵinject(ENVIRONMENT), ɵɵinject(StatusBar, 8), ɵɵinject(Keyboard$1, 8), ɵɵinject(SplashScreen, 8), ɵɵinject(InAppBrowser, 8)); }, token: PlatformService, providedIn: "root" });
|
|
13793
13778
|
PlatformService.decorators = [
|
|
13794
13779
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
13795
13780
|
];
|
|
@@ -13804,14 +13789,14 @@ PlatformService.ctorParameters = () => [
|
|
|
13804
13789
|
{ type: NetworkService },
|
|
13805
13790
|
{ type: AccountService },
|
|
13806
13791
|
{ type: ConfigService },
|
|
13807
|
-
{ type: CacheService },
|
|
13792
|
+
{ type: CacheService$1 },
|
|
13808
13793
|
{ type: Storage },
|
|
13809
13794
|
{ type: AudioProvider },
|
|
13810
13795
|
{ type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
|
|
13811
|
-
{ type: StatusBar, decorators: [{ type: Optional }] },
|
|
13796
|
+
{ type: StatusBar$1, decorators: [{ type: Optional }] },
|
|
13812
13797
|
{ type: Keyboard, decorators: [{ type: Optional }] },
|
|
13813
|
-
{ type: SplashScreen, decorators: [{ type: Optional }] },
|
|
13814
|
-
{ type: InAppBrowser, decorators: [{ type: Optional }] }
|
|
13798
|
+
{ type: SplashScreen$1, decorators: [{ type: Optional }] },
|
|
13799
|
+
{ type: InAppBrowser$1, decorators: [{ type: Optional }] }
|
|
13815
13800
|
];
|
|
13816
13801
|
|
|
13817
13802
|
class AppHelpModal {
|
|
@@ -13875,7 +13860,7 @@ class MatStepperI18n extends MatStepperIntl {
|
|
|
13875
13860
|
this.optionalLabel = this.translate.instant('COMMON.OPTIONAL');
|
|
13876
13861
|
}
|
|
13877
13862
|
}
|
|
13878
|
-
MatStepperI18n.ɵprov =
|
|
13863
|
+
MatStepperI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(ɵɵinject(TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
|
|
13879
13864
|
MatStepperI18n.decorators = [
|
|
13880
13865
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
13881
13866
|
];
|
|
@@ -14783,7 +14768,7 @@ function state2side(state) {
|
|
|
14783
14768
|
return 1;
|
|
14784
14769
|
}
|
|
14785
14770
|
}
|
|
14786
|
-
const ɵ0$
|
|
14771
|
+
const ɵ0$9 = (defaultStateSize) => [
|
|
14787
14772
|
Math.round((rgbArrayMap.red[0] - 50) / defaultStateSize),
|
|
14788
14773
|
Math.round((255 - rgbArrayMap.red[1]) / defaultStateSize),
|
|
14789
14774
|
Math.round((255 - rgbArrayMap.red[2]) / defaultStateSize)
|
|
@@ -14791,7 +14776,7 @@ const ɵ0$1 = (defaultStateSize) => [
|
|
|
14791
14776
|
const SCALE_OPTIONS_DEFAULT = {
|
|
14792
14777
|
startColor: rgbArrayMap.red,
|
|
14793
14778
|
startStates: [0, 2, 3],
|
|
14794
|
-
startStepsFn: ɵ0$
|
|
14779
|
+
startStepsFn: ɵ0$9
|
|
14795
14780
|
};
|
|
14796
14781
|
/**
|
|
14797
14782
|
* Internal function, that create a colors scale, using iteration
|
|
@@ -14883,21 +14868,21 @@ function linearColorGradient(count, options) {
|
|
|
14883
14868
|
return result;
|
|
14884
14869
|
}
|
|
14885
14870
|
|
|
14886
|
-
class EntityTestClass
|
|
14871
|
+
class EntityTestClass {
|
|
14887
14872
|
}
|
|
14888
|
-
const FAKE_ENTITIES
|
|
14873
|
+
const FAKE_ENTITIES = [
|
|
14889
14874
|
{ id: 1, label: 'AAA', name: 'Item A', description: 'Very long description A', comments: 'Very very long comments... again for A' },
|
|
14890
14875
|
{ id: 2, label: 'BBB', name: 'Item B', description: 'Very long description B', comments: 'Very very long comments... again for B' },
|
|
14891
14876
|
{ id: 3, label: 'CCC', name: 'Item C', description: 'Very long description C', comments: 'Very very long comments... again for C' }
|
|
14892
14877
|
];
|
|
14893
|
-
function deepCopy
|
|
14878
|
+
function deepCopy(values, size) {
|
|
14894
14879
|
if (isNil(size)) {
|
|
14895
|
-
return (values || FAKE_ENTITIES
|
|
14880
|
+
return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
|
|
14896
14881
|
}
|
|
14897
14882
|
let result = [];
|
|
14898
14883
|
let i = 1;
|
|
14899
14884
|
while (result.length < size) {
|
|
14900
|
-
result = result.concat((values || FAKE_ENTITIES
|
|
14885
|
+
result = result.concat((values || FAKE_ENTITIES).map(entity => {
|
|
14901
14886
|
const name = entity.name + ' #' + i;
|
|
14902
14887
|
return Object.assign(Object.assign({}, entity), { id: i++, name });
|
|
14903
14888
|
}));
|
|
@@ -14907,7 +14892,7 @@ function deepCopy$1(values, size) {
|
|
|
14907
14892
|
class AutocompleteTestPage {
|
|
14908
14893
|
constructor(formBuilder) {
|
|
14909
14894
|
this.formBuilder = formBuilder;
|
|
14910
|
-
this._items = deepCopy
|
|
14895
|
+
this._items = deepCopy(FAKE_ENTITIES, 100);
|
|
14911
14896
|
this.$items = new BehaviorSubject(undefined);
|
|
14912
14897
|
this.autocompleteFields = new MatAutocompleteConfigHolder();
|
|
14913
14898
|
this.memoryHide = false;
|
|
@@ -14951,7 +14936,7 @@ class AutocompleteTestPage {
|
|
|
14951
14936
|
});
|
|
14952
14937
|
// From items
|
|
14953
14938
|
this.autocompleteFields.add('entity-items-large', {
|
|
14954
|
-
items: FAKE_ENTITIES
|
|
14939
|
+
items: FAKE_ENTITIES.slice(),
|
|
14955
14940
|
attributes: ['label', 'name', 'description', 'comments'],
|
|
14956
14941
|
displayWith: this.entityToString
|
|
14957
14942
|
});
|
|
@@ -14961,12 +14946,12 @@ class AutocompleteTestPage {
|
|
|
14961
14946
|
loadData() {
|
|
14962
14947
|
return __awaiter(this, void 0, void 0, function* () {
|
|
14963
14948
|
const data = {
|
|
14964
|
-
entity: deepCopy
|
|
14949
|
+
entity: deepCopy(FAKE_ENTITIES)[1],
|
|
14965
14950
|
// This item is NOT in the items list => i should be displayed anyway
|
|
14966
14951
|
missingEntity: {
|
|
14967
14952
|
id: -1, label: '??', name: 'Missing item'
|
|
14968
14953
|
},
|
|
14969
|
-
disableEntity: deepCopy
|
|
14954
|
+
disableEntity: deepCopy(FAKE_ENTITIES)[2]
|
|
14970
14955
|
};
|
|
14971
14956
|
this.form.setValue(data);
|
|
14972
14957
|
// Load observables
|
|
@@ -15136,13 +15121,13 @@ MaterialTestingPage.ctorParameters = () => [
|
|
|
15136
15121
|
{ type: Array, decorators: [{ type: Optional }, { type: Inject, args: [APP_TESTING_PAGES,] }] }
|
|
15137
15122
|
];
|
|
15138
15123
|
|
|
15139
|
-
const moment$
|
|
15124
|
+
const moment$5 = momentImported;
|
|
15140
15125
|
class SwipeTestPage {
|
|
15141
15126
|
constructor(formBuilder, dateFormatPipe) {
|
|
15142
15127
|
this.formBuilder = formBuilder;
|
|
15143
15128
|
this.dateFormatPipe = dateFormatPipe;
|
|
15144
15129
|
this.$dates = new BehaviorSubject(undefined);
|
|
15145
|
-
this._today = moment$
|
|
15130
|
+
this._today = moment$5().startOf('day');
|
|
15146
15131
|
this.form = formBuilder.group({
|
|
15147
15132
|
empty: [null, Validators.required],
|
|
15148
15133
|
date: [null, Validators.compose([Validators.required, SharedValidators.validDate])],
|
|
@@ -15155,7 +15140,7 @@ class SwipeTestPage {
|
|
|
15155
15140
|
ngOnInit() {
|
|
15156
15141
|
const dates = [];
|
|
15157
15142
|
for (let d = 0; d < 7; d++) {
|
|
15158
|
-
dates[d] = moment$
|
|
15143
|
+
dates[d] = moment$5(this._today).add(d - 3, 'day');
|
|
15159
15144
|
}
|
|
15160
15145
|
this.$dates.next(dates);
|
|
15161
15146
|
this.loadData();
|
|
@@ -15756,7 +15741,7 @@ class FormArrayHelper {
|
|
|
15756
15741
|
}
|
|
15757
15742
|
}
|
|
15758
15743
|
|
|
15759
|
-
const moment = momentImported;
|
|
15744
|
+
const moment$6 = momentImported;
|
|
15760
15745
|
class DateTimeTestPage {
|
|
15761
15746
|
constructor(platform, formBuilder, cd) {
|
|
15762
15747
|
this.platform = platform;
|
|
@@ -15787,7 +15772,7 @@ class DateTimeTestPage {
|
|
|
15787
15772
|
// Load the form with data
|
|
15788
15773
|
loadData() {
|
|
15789
15774
|
return __awaiter(this, void 0, void 0, function* () {
|
|
15790
|
-
const now = moment();
|
|
15775
|
+
const now = moment$6();
|
|
15791
15776
|
const data = {
|
|
15792
15777
|
empty: toDateISOString(now.clone().add(2, 'hours')),
|
|
15793
15778
|
enable: toDateISOString(now),
|
|
@@ -15847,20 +15832,20 @@ DateTimeTestPage.ctorParameters = () => [
|
|
|
15847
15832
|
{ type: ChangeDetectorRef }
|
|
15848
15833
|
];
|
|
15849
15834
|
|
|
15850
|
-
class EntityTestClass {
|
|
15835
|
+
class EntityTestClass$1 {
|
|
15851
15836
|
}
|
|
15852
|
-
const FAKE_ENTITIES = [
|
|
15837
|
+
const FAKE_ENTITIES$1 = [
|
|
15853
15838
|
{ id: 1, label: 'AAA', name: 'Item A' },
|
|
15854
15839
|
{ id: 2, label: 'BBB', name: 'Item B' },
|
|
15855
15840
|
{ id: 3, label: 'CCC', name: 'Item C' }
|
|
15856
15841
|
];
|
|
15857
|
-
function deepCopy(values) {
|
|
15858
|
-
return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
|
|
15842
|
+
function deepCopy$1(values) {
|
|
15843
|
+
return (values || FAKE_ENTITIES$1).map(entity => Object.assign({}, entity));
|
|
15859
15844
|
}
|
|
15860
15845
|
class ChipsTestPage {
|
|
15861
15846
|
constructor(formBuilder) {
|
|
15862
15847
|
this.formBuilder = formBuilder;
|
|
15863
|
-
this._items = deepCopy(FAKE_ENTITIES);
|
|
15848
|
+
this._items = deepCopy$1(FAKE_ENTITIES$1);
|
|
15864
15849
|
this._$items = new BehaviorSubject(undefined);
|
|
15865
15850
|
this.autocompleteFields = new MatAutocompleteConfigHolder();
|
|
15866
15851
|
this.form = formBuilder.group({
|
|
@@ -15879,7 +15864,7 @@ class ChipsTestPage {
|
|
|
15879
15864
|
});
|
|
15880
15865
|
// From items
|
|
15881
15866
|
this.autocompleteFields.add('entity-items', {
|
|
15882
|
-
items: FAKE_ENTITIES.slice(),
|
|
15867
|
+
items: FAKE_ENTITIES$1.slice(),
|
|
15883
15868
|
attributes: ['label', 'name'],
|
|
15884
15869
|
displayWith: this.entityToString
|
|
15885
15870
|
});
|
|
@@ -15900,15 +15885,15 @@ class ChipsTestPage {
|
|
|
15900
15885
|
const data = {
|
|
15901
15886
|
entity: [],
|
|
15902
15887
|
// THis item is NOT in the items list => i should be displayed anyway
|
|
15903
|
-
entityInitial: FAKE_ENTITIES.slice(1, 2),
|
|
15904
|
-
disableEntity: FAKE_ENTITIES.slice(1, 2)
|
|
15888
|
+
entityInitial: FAKE_ENTITIES$1.slice(1, 2),
|
|
15889
|
+
disableEntity: FAKE_ENTITIES$1.slice(1, 2)
|
|
15905
15890
|
};
|
|
15906
15891
|
this.form.setValue(data);
|
|
15907
15892
|
});
|
|
15908
15893
|
}
|
|
15909
15894
|
loadItems() {
|
|
15910
15895
|
return __awaiter(this, void 0, void 0, function* () {
|
|
15911
|
-
this._$items.next(deepCopy(FAKE_ENTITIES));
|
|
15896
|
+
this._$items.next(deepCopy$1(FAKE_ENTITIES$1));
|
|
15912
15897
|
});
|
|
15913
15898
|
}
|
|
15914
15899
|
entityToString(item) {
|
|
@@ -15940,7 +15925,7 @@ ChipsTestPage.ctorParameters = () => [
|
|
|
15940
15925
|
{ type: FormBuilder }
|
|
15941
15926
|
];
|
|
15942
15927
|
|
|
15943
|
-
const routes
|
|
15928
|
+
const routes = [
|
|
15944
15929
|
{
|
|
15945
15930
|
path: '',
|
|
15946
15931
|
pathMatch: 'full',
|
|
@@ -15987,7 +15972,7 @@ MaterialTestingModule.decorators = [
|
|
|
15987
15972
|
ReactiveFormsModule,
|
|
15988
15973
|
SharedMaterialModule,
|
|
15989
15974
|
TranslateModule.forChild(),
|
|
15990
|
-
RouterModule.forChild(routes
|
|
15975
|
+
RouterModule.forChild(routes)
|
|
15991
15976
|
],
|
|
15992
15977
|
declarations: [
|
|
15993
15978
|
MaterialTestingPage,
|
|
@@ -16888,7 +16873,7 @@ class UserSettingsValidatorService extends AppValidatorService {
|
|
|
16888
16873
|
});
|
|
16889
16874
|
}
|
|
16890
16875
|
}
|
|
16891
|
-
UserSettingsValidatorService.ɵprov =
|
|
16876
|
+
UserSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(ɵɵinject(FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
|
|
16892
16877
|
UserSettingsValidatorService.decorators = [
|
|
16893
16878
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
16894
16879
|
];
|
|
@@ -16932,7 +16917,7 @@ class AccountValidatorService extends AppValidatorService {
|
|
|
16932
16917
|
return validatorFns.length ? Validators.compose(validatorFns) : validatorFns.length === 1 ? validatorFns[0] : undefined;
|
|
16933
16918
|
}
|
|
16934
16919
|
}
|
|
16935
|
-
AccountValidatorService.ɵprov =
|
|
16920
|
+
AccountValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
|
|
16936
16921
|
AccountValidatorService.decorators = [
|
|
16937
16922
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
16938
16923
|
];
|
|
@@ -17461,7 +17446,7 @@ class LocalSettingsValidatorService extends AppValidatorService {
|
|
|
17461
17446
|
});
|
|
17462
17447
|
}
|
|
17463
17448
|
}
|
|
17464
|
-
LocalSettingsValidatorService.ɵprov =
|
|
17449
|
+
LocalSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(ɵɵinject(FormBuilder), ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
|
|
17465
17450
|
LocalSettingsValidatorService.decorators = [
|
|
17466
17451
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
17467
17452
|
];
|
|
@@ -18069,7 +18054,7 @@ class IsOnFieldModePipe {
|
|
|
18069
18054
|
return value === 'FIELD';
|
|
18070
18055
|
}
|
|
18071
18056
|
}
|
|
18072
|
-
IsOnFieldModePipe.ɵprov =
|
|
18057
|
+
IsOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
|
|
18073
18058
|
IsOnFieldModePipe.decorators = [
|
|
18074
18059
|
{ type: Pipe, args: [{
|
|
18075
18060
|
name: 'isOnField'
|
|
@@ -18081,7 +18066,7 @@ class IsNotOnFieldModePipe {
|
|
|
18081
18066
|
return value !== 'FIELD';
|
|
18082
18067
|
}
|
|
18083
18068
|
}
|
|
18084
|
-
IsNotOnFieldModePipe.ɵprov =
|
|
18069
|
+
IsNotOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
|
|
18085
18070
|
IsNotOnFieldModePipe.decorators = [
|
|
18086
18071
|
{ type: Pipe, args: [{
|
|
18087
18072
|
name: 'isNotOnField'
|
|
@@ -18096,7 +18081,7 @@ class PersonToStringPipe {
|
|
|
18096
18081
|
return PersonUtils.personToString(value);
|
|
18097
18082
|
}
|
|
18098
18083
|
}
|
|
18099
|
-
PersonToStringPipe.ɵprov =
|
|
18084
|
+
PersonToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
|
|
18100
18085
|
PersonToStringPipe.decorators = [
|
|
18101
18086
|
{ type: Pipe, args: [{
|
|
18102
18087
|
name: 'personToString'
|
|
@@ -18313,7 +18298,7 @@ class IsLoginAccountPipe {
|
|
|
18313
18298
|
return value && value.pubkey && true;
|
|
18314
18299
|
}
|
|
18315
18300
|
}
|
|
18316
|
-
IsLoginAccountPipe.ɵprov =
|
|
18301
|
+
IsLoginAccountPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
|
|
18317
18302
|
IsLoginAccountPipe.decorators = [
|
|
18318
18303
|
{ type: Pipe, args: [{
|
|
18319
18304
|
name: 'isLogin'
|
|
@@ -18325,7 +18310,7 @@ class AccountToStringPipe {
|
|
|
18325
18310
|
return accountToString(value);
|
|
18326
18311
|
}
|
|
18327
18312
|
}
|
|
18328
|
-
AccountToStringPipe.ɵprov =
|
|
18313
|
+
AccountToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
|
|
18329
18314
|
AccountToStringPipe.decorators = [
|
|
18330
18315
|
{ type: Pipe, args: [{
|
|
18331
18316
|
name: 'accountToString'
|
|
@@ -18340,7 +18325,7 @@ class DepartmentToStringPipe {
|
|
|
18340
18325
|
return departmentToString(value);
|
|
18341
18326
|
}
|
|
18342
18327
|
}
|
|
18343
|
-
DepartmentToStringPipe.ɵprov =
|
|
18328
|
+
DepartmentToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
|
|
18344
18329
|
DepartmentToStringPipe.decorators = [
|
|
18345
18330
|
{ type: Pipe, args: [{
|
|
18346
18331
|
name: 'departmentToString'
|
|
@@ -18366,7 +18351,7 @@ class MenuService {
|
|
|
18366
18351
|
this._visibleSubject.next(value);
|
|
18367
18352
|
}
|
|
18368
18353
|
}
|
|
18369
|
-
MenuService.ɵprov =
|
|
18354
|
+
MenuService.ɵprov = ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
|
|
18370
18355
|
MenuService.decorators = [
|
|
18371
18356
|
{ type: Injectable, args: [{
|
|
18372
18357
|
providedIn: 'root'
|
|
@@ -18860,7 +18845,7 @@ class AuthGuardService {
|
|
|
18860
18845
|
}));
|
|
18861
18846
|
}
|
|
18862
18847
|
}
|
|
18863
|
-
AuthGuardService.ɵprov =
|
|
18848
|
+
AuthGuardService.ɵprov = ɵɵdefineInjectable({ factory: function AuthGuardService_Factory() { return new AuthGuardService(ɵɵinject(AccountService), ɵɵinject(ModalController), ɵɵinject(Router), ɵɵinject(ENVIRONMENT)); }, token: AuthGuardService, providedIn: "root" });
|
|
18864
18849
|
AuthGuardService.decorators = [
|
|
18865
18850
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
18866
18851
|
];
|
|
@@ -18908,7 +18893,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
18908
18893
|
query,
|
|
18909
18894
|
variables: { id },
|
|
18910
18895
|
fetchPolicy: opts && opts.fetchPolicy || undefined,
|
|
18911
|
-
error: { code: ErrorCodes
|
|
18896
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
|
|
18912
18897
|
})
|
|
18913
18898
|
.pipe(map(({ data }) => (!opts || opts.toEntity !== false)
|
|
18914
18899
|
? (data && this.fromObject(data))
|
|
@@ -18923,7 +18908,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
18923
18908
|
query,
|
|
18924
18909
|
variables: { id },
|
|
18925
18910
|
fetchPolicy: opts && opts.fetchPolicy || undefined,
|
|
18926
|
-
error: { code: ErrorCodes
|
|
18911
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
|
|
18927
18912
|
});
|
|
18928
18913
|
// Convert to entity
|
|
18929
18914
|
return (!opts || opts.toEntity !== false)
|
|
@@ -18954,7 +18939,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
18954
18939
|
totalFieldName: withTotal ? 'total' : undefined,
|
|
18955
18940
|
insertFilterFn: filter && filter.asFilterFn(),
|
|
18956
18941
|
variables,
|
|
18957
|
-
error: { code: ErrorCodes
|
|
18942
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
|
|
18958
18943
|
fetchPolicy: opts && opts.fetchPolicy || undefined
|
|
18959
18944
|
})
|
|
18960
18945
|
.pipe(map(({ data, total }) => {
|
|
@@ -18990,7 +18975,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
18990
18975
|
const { data, total } = yield this.graphql.query({
|
|
18991
18976
|
query,
|
|
18992
18977
|
variables,
|
|
18993
|
-
error: { code: ErrorCodes
|
|
18978
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
|
|
18994
18979
|
fetchPolicy: opts && opts.fetchPolicy || 'network-only'
|
|
18995
18980
|
});
|
|
18996
18981
|
const entities = (!opts || opts.toEntity !== false) ?
|
|
@@ -19029,7 +19014,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
19029
19014
|
variables: {
|
|
19030
19015
|
filter: filter && filter.asPodObject()
|
|
19031
19016
|
},
|
|
19032
|
-
error: { code: ErrorCodes
|
|
19017
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
|
|
19033
19018
|
fetchPolicy: opts && opts.fetchPolicy || 'network-only'
|
|
19034
19019
|
});
|
|
19035
19020
|
return res.total;
|
|
@@ -19062,7 +19047,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
19062
19047
|
variables: {
|
|
19063
19048
|
data: json
|
|
19064
19049
|
},
|
|
19065
|
-
error: { code: ErrorCodes
|
|
19050
|
+
error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
|
|
19066
19051
|
update: (proxy, { data }) => {
|
|
19067
19052
|
const savedEntities = data && data.data;
|
|
19068
19053
|
if (savedEntities) {
|
|
@@ -19118,7 +19103,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
19118
19103
|
variables: {
|
|
19119
19104
|
data: json
|
|
19120
19105
|
},
|
|
19121
|
-
error: { code: ErrorCodes
|
|
19106
|
+
error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
|
|
19122
19107
|
update: (cache, { data }) => {
|
|
19123
19108
|
// Update entity
|
|
19124
19109
|
const savedEntity = data && data.data;
|
|
@@ -19166,7 +19151,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
19166
19151
|
refetchQueries: this.getRefetchQueriesForMutation(opts),
|
|
19167
19152
|
awaitRefetchQueries: opts && opts.awaitRefetchQueries,
|
|
19168
19153
|
variables: { ids },
|
|
19169
|
-
error: { code: ErrorCodes
|
|
19154
|
+
error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
|
|
19170
19155
|
update: (cache, res) => {
|
|
19171
19156
|
// Remove from cache
|
|
19172
19157
|
if (this.watchQueriesUpdatePolicy === 'update-cache') {
|
|
@@ -19207,7 +19192,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
19207
19192
|
refetchQueries: this.getRefetchQueriesForMutation(opts),
|
|
19208
19193
|
awaitRefetchQueries: opts && opts.awaitRefetchQueries,
|
|
19209
19194
|
variables: { id },
|
|
19210
|
-
error: { code: ErrorCodes
|
|
19195
|
+
error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
|
|
19211
19196
|
update: (proxy, res) => {
|
|
19212
19197
|
// Remove from cache
|
|
19213
19198
|
if (this.watchQueriesUpdatePolicy === 'update-cache') {
|
|
@@ -19240,7 +19225,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
19240
19225
|
query: opts && opts.query || this.subscriptions.listenChanges,
|
|
19241
19226
|
variables,
|
|
19242
19227
|
error: {
|
|
19243
|
-
code: ErrorCodes
|
|
19228
|
+
code: ErrorCodes.SUBSCRIBE_DATA_ERROR,
|
|
19244
19229
|
message: 'ERROR.SUBSCRIBE_DATA_ERROR'
|
|
19245
19230
|
}
|
|
19246
19231
|
})
|
|
@@ -19402,7 +19387,7 @@ class EntitiesTableDataSource extends TableDataSource {
|
|
|
19402
19387
|
if (this._debug)
|
|
19403
19388
|
invalidRows.forEach(this.logRowErrors);
|
|
19404
19389
|
// Stop with an error
|
|
19405
|
-
throw { code: ErrorCodes
|
|
19390
|
+
throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
19406
19391
|
}
|
|
19407
19392
|
this._editingRowCount = 0;
|
|
19408
19393
|
let data;
|
|
@@ -20219,13 +20204,13 @@ class AppTable {
|
|
|
20219
20204
|
return __awaiter(this, void 0, void 0, function* () {
|
|
20220
20205
|
opts = Object.assign({ keepEditing: this.keepEditedRowOnSave }, opts);
|
|
20221
20206
|
if (this.readOnly) {
|
|
20222
|
-
throw { code: ErrorCodes
|
|
20207
|
+
throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
|
|
20223
20208
|
}
|
|
20224
20209
|
this.resetError();
|
|
20225
20210
|
// Keep edited row id (should be done BEFORE confirmEditCreate() )
|
|
20226
20211
|
this.previouslySavedEditedRowId = opts.keepEditing && ((_a = this.editedRow) === null || _a === void 0 ? void 0 : _a.editing) ? this.editedRow.id : undefined;
|
|
20227
20212
|
if (!this.confirmEditCreate()) {
|
|
20228
|
-
throw { code: ErrorCodes
|
|
20213
|
+
throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
20229
20214
|
}
|
|
20230
20215
|
try {
|
|
20231
20216
|
// Mark as saving
|
|
@@ -20350,7 +20335,7 @@ class AppTable {
|
|
|
20350
20335
|
deleteRows(event, rows, opts) {
|
|
20351
20336
|
return __awaiter(this, void 0, void 0, function* () {
|
|
20352
20337
|
if (this.readOnly) {
|
|
20353
|
-
throw { code: ErrorCodes
|
|
20338
|
+
throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
|
|
20354
20339
|
}
|
|
20355
20340
|
if (event === null || event === void 0 ? void 0 : event.defaultPrevented)
|
|
20356
20341
|
return 0; // SKip
|
|
@@ -21749,7 +21734,7 @@ class AppEntityEditor extends AppTabEditor {
|
|
|
21749
21734
|
try {
|
|
21750
21735
|
const data = yield this.dataService.load(id, opts);
|
|
21751
21736
|
if (!data)
|
|
21752
|
-
throw { code: ErrorCodes
|
|
21737
|
+
throw { code: ErrorCodes.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
|
|
21753
21738
|
this._usageMode = this.computeUsageMode(data);
|
|
21754
21739
|
yield this.onEntityLoaded(data, opts);
|
|
21755
21740
|
yield this.updateView(data, opts);
|
|
@@ -22650,7 +22635,7 @@ class UserEventService extends BaseGraphqlService {
|
|
|
22650
22635
|
EntityUtils.copyIdAndUpdateDate(source, target);
|
|
22651
22636
|
}
|
|
22652
22637
|
}
|
|
22653
|
-
UserEventService.ɵprov =
|
|
22638
|
+
UserEventService.ɵprov = ɵɵdefineInjectable({ factory: function UserEventService_Factory() { return new UserEventService(ɵɵinject(GraphqlService), ɵɵinject(AccountService), ɵɵinject(NetworkService), ɵɵinject(TranslateService), ɵɵinject(ToastController), ɵɵinject(ENVIRONMENT)); }, token: UserEventService, providedIn: "root" });
|
|
22654
22639
|
UserEventService.decorators = [
|
|
22655
22640
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
22656
22641
|
];
|
|
@@ -23032,7 +23017,7 @@ class PersonService extends BaseEntityService {
|
|
|
23032
23017
|
return target;
|
|
23033
23018
|
}
|
|
23034
23019
|
}
|
|
23035
|
-
PersonService.ɵprov =
|
|
23020
|
+
PersonService.ɵprov = ɵɵdefineInjectable({ factory: function PersonService_Factory() { return new PersonService(ɵɵinject(GraphqlService), ɵɵinject(PlatformService), ɵɵinject(NetworkService), ɵɵinject(EntitiesStorage)); }, token: PersonService, providedIn: "root" });
|
|
23036
23021
|
PersonService.decorators = [
|
|
23037
23022
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
23038
23023
|
];
|
|
@@ -23063,7 +23048,7 @@ class PersonValidatorService {
|
|
|
23063
23048
|
return this.formBuilder.group(formConfig);
|
|
23064
23049
|
}
|
|
23065
23050
|
}
|
|
23066
|
-
PersonValidatorService.ɵprov =
|
|
23051
|
+
PersonValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
|
|
23067
23052
|
PersonValidatorService.decorators = [
|
|
23068
23053
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
23069
23054
|
];
|
|
@@ -23219,7 +23204,7 @@ UsersPage.decorators = [
|
|
|
23219
23204
|
],
|
|
23220
23205
|
animations: [slideUpDownAnimation],
|
|
23221
23206
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
23222
|
-
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:
|
|
23207
|
+
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}"]
|
|
23223
23208
|
},] }
|
|
23224
23209
|
];
|
|
23225
23210
|
UsersPage.ctorParameters = () => [
|
|
@@ -23267,16 +23252,16 @@ AdminModule.decorators = [
|
|
|
23267
23252
|
];
|
|
23268
23253
|
AdminModule.ctorParameters = () => [];
|
|
23269
23254
|
|
|
23270
|
-
const ɵ0 = {
|
|
23255
|
+
const ɵ0$a = {
|
|
23271
23256
|
profile: 'ADMIN'
|
|
23272
23257
|
};
|
|
23273
|
-
const routes = [
|
|
23258
|
+
const routes$1 = [
|
|
23274
23259
|
{
|
|
23275
23260
|
path: 'users',
|
|
23276
23261
|
pathMatch: 'full',
|
|
23277
23262
|
component: UsersPage,
|
|
23278
23263
|
canActivate: [AuthGuardService],
|
|
23279
|
-
data: ɵ0
|
|
23264
|
+
data: ɵ0$a
|
|
23280
23265
|
}
|
|
23281
23266
|
];
|
|
23282
23267
|
class AdminRoutingModule {
|
|
@@ -23286,13 +23271,13 @@ AdminRoutingModule.decorators = [
|
|
|
23286
23271
|
imports: [
|
|
23287
23272
|
SharedRoutingModule,
|
|
23288
23273
|
AdminModule,
|
|
23289
|
-
RouterModule.forChild(routes)
|
|
23274
|
+
RouterModule.forChild(routes$1)
|
|
23290
23275
|
],
|
|
23291
23276
|
exports: [RouterModule]
|
|
23292
23277
|
},] }
|
|
23293
23278
|
];
|
|
23294
23279
|
|
|
23295
|
-
const ErrorCodes = {
|
|
23280
|
+
const ErrorCodes$2 = {
|
|
23296
23281
|
LOAD_PERSONS_ERROR: 100,
|
|
23297
23282
|
SAVE_PERSONS_ERROR: 101,
|
|
23298
23283
|
DELETE_PERSONS_ERROR: 102,
|
|
@@ -23304,5 +23289,5 @@ const ErrorCodes = {
|
|
|
23304
23289
|
* Generated bundle index. Do not edit.
|
|
23305
23290
|
*/
|
|
23306
23291
|
|
|
23307
|
-
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, isNilOrNaN, 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 };
|
|
23292
|
+
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$2 as ErrorCodes, EvenPipe, FileService, FileSizePipe, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, FormFieldValuesHolder, Fragments$1 as Fragments, GraphqlService, HAMMER_PRESS_TIME, HAMMER_TAP_TIME, HighlightPipe, HomePage, Hotkeys, HotkeysDialogComponent, InMemoryEntitiesService, IsLoginAccountPipe, IsNilOrBlankPipe, IsNotNilOrBlankPipe, IsNotOnFieldModePipe, IsOnFieldModePipe, JobUtils, KEYBOARD_HIDE_DELAY_MS, LAT_LONG_DEFAULT_MAX_DECIMALS, LAT_LONG_PATTERNS, LatLongFormatPipe, LatLongTestPage, LatitudeFormatPipe, LocalSettingsService, LongitudeFormatPipe, MINIFY_ENTITY_FOR_LOCAL_STORAGE, MINIFY_ENTITY_FOR_POD, MapGetPipe, MapKeysPipe, MapValuesPipe, MatAutocompleteConfigHolder, MatAutocompleteField, MatBooleanField, MatChipsField, MatDate, MatDateShort, MatDateTime, MatDuration, MatLatLongField, MatNumpadComponent, MatNumpadContainerComponent, MatNumpadContent, MatPaginatorI18n, MatStepperI18n, MatSwipeField, MaterialChipsModule, MaterialTestingModule, MaterialTestingPage, MathAbsPipe, MenuComponent, MenuItems, MenuService, ModalToolbarComponent, NetworkService, NgInitDirective, NotEmptyArrayPipe, NumberFormatPipe, NumpadDirective, OddPipe, PRIORITIZED_AUTHORITIES, PUBKEY_REGEXP, Peer, Person, PersonFilter, PersonFragments, PersonService, PersonToStringPipe, PersonUtils, PersonValidatorService, PlatformService, ProgressBarService, ProgressInterceptor, PropertyGetPipe, RESERVED_END_COLUMNS, RESERVED_START_COLUMNS, Referential, ReferentialRef, ReferentialUtils, RegisterConfirmPage, SETTINGS_DISPLAY_COLUMNS, SETTINGS_FILTER, SETTINGS_PAGE_SIZE, SETTINGS_SORTED_COLUMN, SETTINGS_STORAGE_KEY, SETTINGS_TRANSIENT_PROPERTIES, SPACE_PLACEHOLDER_CHAR, SelectPeerModal, SettingsPage, SharedDirectivesModule, SharedFormArrayValidators, SharedFormGroupValidators, SharedHotkeysModule, SharedMatAutocompleteModule, SharedMatBooleanModule, SharedMatDateTimeModule, SharedMatDurationModule, SharedMatLatLongModule, SharedMatNumpadModule, SharedMatSwipeModule, SharedMaterialModule, SharedModule, SharedPipesModule, SharedRoutingModule, SharedTestingModule, SharedValidators, SocialModule, Software, 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, isNilOrNaN, 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 };
|
|
23308
23293
|
//# sourceMappingURL=ngx-sumaris-components.js.map
|