@sumaris-net/ngx-components 0.23.1 → 0.23.2-beta
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 +248 -272
- 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/shared/functions.js +6 -5
- package/esm2015/src/app/shared/material/boolean/material.boolean.js +1 -1
- package/fesm2015/ngx-sumaris-components.js +260 -274
- 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 { MatAutocomplete, MatAutocompleteTrigger, MatAutocompleteModule, 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 { timer, merge, fromEvent, Subscription, BehaviorSubject, Subject, isObservable, of, noop as noop$8, Observable, defer, concat, combineLatest, EMPTY } from 'rxjs';
|
|
40
35
|
import { filter, first, map, takeUntil, startWith, debounceTime, takeWhile, switchMap, tap, distinctUntilChanged, mergeMap, 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, AlertController, IonicRouteStrategy, NavParams, 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';
|
|
@@ -265,10 +250,11 @@ function suggestFromArray(items, value, opts) {
|
|
|
265
250
|
items = items.filter(v => !opts.excludedIds.includes(+v['id']));
|
|
266
251
|
}
|
|
267
252
|
// Sort
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
253
|
+
items = items.sort(propertiesPathComparator(keys));
|
|
254
|
+
// const sortAttribute = keys && keys[0]
|
|
255
|
+
// if (sortAttribute) {
|
|
256
|
+
// items = sort(items, sortAttribute);
|
|
257
|
+
// }
|
|
272
258
|
// Truncate if need
|
|
273
259
|
const total = (items === null || items === void 0 ? void 0 : items.length) || 0;
|
|
274
260
|
if (opts) {
|
|
@@ -887,19 +873,19 @@ class MatAutocompleteConfigHolder {
|
|
|
887
873
|
return this.fields[fieldName] || this.add(fieldName);
|
|
888
874
|
}
|
|
889
875
|
}
|
|
890
|
-
const DEFAULT_VALUE_ACCESSOR
|
|
876
|
+
const DEFAULT_VALUE_ACCESSOR = {
|
|
891
877
|
provide: NG_VALUE_ACCESSOR,
|
|
892
878
|
useExisting: forwardRef(() => MatAutocompleteField),
|
|
893
879
|
multi: true
|
|
894
880
|
};
|
|
895
|
-
const noop
|
|
896
|
-
const ɵ0
|
|
881
|
+
const noop = () => { };
|
|
882
|
+
const ɵ0 = noop;
|
|
897
883
|
class MatAutocompleteField {
|
|
898
884
|
constructor(cd, formGroupDir) {
|
|
899
885
|
this.cd = cd;
|
|
900
886
|
this.formGroupDir = formGroupDir;
|
|
901
|
-
this._onChangeCallback = noop
|
|
902
|
-
this._onTouchedCallback = noop
|
|
887
|
+
this._onChangeCallback = noop;
|
|
888
|
+
this._onTouchedCallback = noop;
|
|
903
889
|
this._subscription = new Subscription();
|
|
904
890
|
this._filter$ = new BehaviorSubject(undefined);
|
|
905
891
|
this._reload$ = new Subject();
|
|
@@ -1486,7 +1472,7 @@ MatAutocompleteField.decorators = [
|
|
|
1486
1472
|
// eslint-disable-next-line @angular-eslint/component-selector
|
|
1487
1473
|
selector: 'mat-autocomplete-field',
|
|
1488
1474
|
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\" readonly>\n <ion-text>{{displayWith(value)}}</ion-text>\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 (keydown.escape)=\"onKeydownEscape.emit($event)\"\n [compareWith]=\"compareWith\"\n [multiple]=\"multiple\"\n [required]=\"required\">\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 <mat-option *ngIf=\"_moreItemsCount\" (ngInit)=\"_initMatSelectInfiniteScroll()\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\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 [required]=\"required\"\n (click)=\"onClick.emit($event)\"\n (focus)=\"filterInputTextFocusInEvent($event)\"\n (blur)=\"filterInputTextBlurEvent($event)\"\n (keydown.escape)=\"onKeydownEscape.emit($event)\"\n (keyup.enter)=\"onKeyupEnter.emit($event)\"\n (keyup.arrowdown)=\"!autocomplete.opened && 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)=\"_initAutocompleteInfiniteScroll()\"\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",
|
|
1489
|
-
providers: [DEFAULT_VALUE_ACCESSOR
|
|
1475
|
+
providers: [DEFAULT_VALUE_ACCESSOR],
|
|
1490
1476
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1491
1477
|
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}"]
|
|
1492
1478
|
},] }
|
|
@@ -1563,7 +1549,7 @@ class DateFormatPipe {
|
|
|
1563
1549
|
return this.dateAdapter.format(date, displayFormat);
|
|
1564
1550
|
}
|
|
1565
1551
|
}
|
|
1566
|
-
DateFormatPipe.ɵprov =
|
|
1552
|
+
DateFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateFormatPipe_Factory() { return new DateFormatPipe(ɵɵinject(MomentDateAdapter), ɵɵinject(TranslateService)); }, token: DateFormatPipe, providedIn: "root" });
|
|
1567
1553
|
DateFormatPipe.decorators = [
|
|
1568
1554
|
{ type: Pipe, args: [{
|
|
1569
1555
|
name: 'dateFormat'
|
|
@@ -1575,7 +1561,7 @@ DateFormatPipe.ctorParameters = () => [
|
|
|
1575
1561
|
{ type: TranslateService }
|
|
1576
1562
|
];
|
|
1577
1563
|
|
|
1578
|
-
const moment
|
|
1564
|
+
const moment = momentImported;
|
|
1579
1565
|
class DateDiffDurationPipe {
|
|
1580
1566
|
constructor(dateAdapter, translate) {
|
|
1581
1567
|
this.dateAdapter = dateAdapter;
|
|
@@ -1591,17 +1577,17 @@ class DateDiffDurationPipe {
|
|
|
1591
1577
|
return this.format(startDate, endDate);
|
|
1592
1578
|
}
|
|
1593
1579
|
format(startDate, endDate) {
|
|
1594
|
-
const duration = moment
|
|
1580
|
+
const duration = moment.duration(endDate.diff(startDate));
|
|
1595
1581
|
if (duration.asMinutes() < 0)
|
|
1596
1582
|
return '';
|
|
1597
|
-
const timeDuration = moment
|
|
1583
|
+
const timeDuration = moment(0)
|
|
1598
1584
|
.hour(duration.hours())
|
|
1599
1585
|
.minute(duration.minutes());
|
|
1600
1586
|
const days = Math.floor(duration.asDays());
|
|
1601
1587
|
return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + timeDuration.format('HH:mm');
|
|
1602
1588
|
}
|
|
1603
1589
|
}
|
|
1604
|
-
DateDiffDurationPipe.ɵprov =
|
|
1590
|
+
DateDiffDurationPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateDiffDurationPipe_Factory() { return new DateDiffDurationPipe(ɵɵinject(DateAdapter), ɵɵinject(TranslateService)); }, token: DateDiffDurationPipe, providedIn: "root" });
|
|
1605
1591
|
DateDiffDurationPipe.decorators = [
|
|
1606
1592
|
{ type: Pipe, args: [{
|
|
1607
1593
|
name: 'dateDiffDuration'
|
|
@@ -1622,7 +1608,7 @@ class DateFromNowPipe {
|
|
|
1622
1608
|
return date ? date.fromNow(args && args.withoutSuffix) : '';
|
|
1623
1609
|
}
|
|
1624
1610
|
}
|
|
1625
|
-
DateFromNowPipe.ɵprov =
|
|
1611
|
+
DateFromNowPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(ɵɵinject(MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
|
|
1626
1612
|
DateFromNowPipe.decorators = [
|
|
1627
1613
|
{ type: Pipe, args: [{
|
|
1628
1614
|
name: 'dateFromNow'
|
|
@@ -1691,7 +1677,7 @@ function formatToDD(value, opts) {
|
|
|
1691
1677
|
value *= -1;
|
|
1692
1678
|
}
|
|
1693
1679
|
}
|
|
1694
|
-
let degrees = roundFloat
|
|
1680
|
+
let degrees = roundFloat(value, opts.maxDecimals).toString();
|
|
1695
1681
|
// Add sign
|
|
1696
1682
|
let sign = negative ? '-' : '+';
|
|
1697
1683
|
if (opts.placeholderChar) {
|
|
@@ -1742,7 +1728,7 @@ function formatToDDMMSS(value, opts) {
|
|
|
1742
1728
|
}
|
|
1743
1729
|
let degrees = Math.trunc(value);
|
|
1744
1730
|
let minutes = Math.trunc((value - degrees) * 60);
|
|
1745
|
-
let seconds = roundFloat
|
|
1731
|
+
let seconds = roundFloat(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
|
|
1746
1732
|
while (seconds >= 60) {
|
|
1747
1733
|
seconds -= 60;
|
|
1748
1734
|
minutes += 1;
|
|
@@ -1810,7 +1796,7 @@ function formatToDDMM(value, opts) {
|
|
|
1810
1796
|
}
|
|
1811
1797
|
}
|
|
1812
1798
|
let degrees = Math.trunc(value);
|
|
1813
|
-
let minutes = roundFloat
|
|
1799
|
+
let minutes = roundFloat((value - degrees) * 60, opts.maxDecimals);
|
|
1814
1800
|
while (minutes >= 60) {
|
|
1815
1801
|
minutes -= 60;
|
|
1816
1802
|
degrees += 1;
|
|
@@ -1861,15 +1847,15 @@ function parseLatitudeOrLongitude(input, pattern, maxDecimals, placeholderChar)
|
|
|
1861
1847
|
return NaN;
|
|
1862
1848
|
}
|
|
1863
1849
|
if (pattern === 'DD')
|
|
1864
|
-
return roundFloat
|
|
1850
|
+
return roundFloat(degrees, maxDecimals);
|
|
1865
1851
|
const minutes = (pattern === 'DDMMSS' || pattern === 'DDMM') && parts[1] && parseFloat(parts[1].replace(/,/g, '.')) || 0;
|
|
1866
1852
|
const seconds = (pattern === 'DDMMSS') && parts[2] && parseFloat(parts[2].replace(/,/g, '.')) || 0;
|
|
1867
1853
|
const direction = ((pattern === 'DDMMSS') && parts[3]) || ((pattern === 'DDMM') && parts[2]) || undefined;
|
|
1868
1854
|
const sign = (direction && (direction === 's' || direction === 'S' || direction === 'w' || direction === 'W')) ? -1 : 1;
|
|
1869
1855
|
degrees = sign * (degrees + minutes / 60 + seconds / (60 * 60));
|
|
1870
|
-
return roundFloat
|
|
1856
|
+
return roundFloat(degrees, maxDecimals);
|
|
1871
1857
|
}
|
|
1872
|
-
function roundFloat
|
|
1858
|
+
function roundFloat(input, maxDecimals) {
|
|
1873
1859
|
if (maxDecimals > 0) {
|
|
1874
1860
|
const powDecimal = Math.pow(10, maxDecimals);
|
|
1875
1861
|
return Math.trunc(input * powDecimal + 0.5) / powDecimal;
|
|
@@ -1889,7 +1875,7 @@ class LatLongFormatPipe {
|
|
|
1889
1875
|
return ((!args.type || args.type !== 'latitude') ? formatLongitude : formatLatitude)(value, args);
|
|
1890
1876
|
}
|
|
1891
1877
|
}
|
|
1892
|
-
LatLongFormatPipe.ɵprov =
|
|
1878
|
+
LatLongFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
|
|
1893
1879
|
LatLongFormatPipe.decorators = [
|
|
1894
1880
|
{ type: Pipe, args: [{
|
|
1895
1881
|
name: 'latLongFormat'
|
|
@@ -1901,7 +1887,7 @@ class LatitudeFormatPipe {
|
|
|
1901
1887
|
this.transform = formatLatitude;
|
|
1902
1888
|
}
|
|
1903
1889
|
}
|
|
1904
|
-
LatitudeFormatPipe.ɵprov =
|
|
1890
|
+
LatitudeFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
|
|
1905
1891
|
LatitudeFormatPipe.decorators = [
|
|
1906
1892
|
{ type: Pipe, args: [{
|
|
1907
1893
|
name: 'latitudeFormat'
|
|
@@ -1913,7 +1899,7 @@ class LongitudeFormatPipe {
|
|
|
1913
1899
|
this.transform = formatLongitude;
|
|
1914
1900
|
}
|
|
1915
1901
|
}
|
|
1916
|
-
LongitudeFormatPipe.ɵprov =
|
|
1902
|
+
LongitudeFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
|
|
1917
1903
|
LongitudeFormatPipe.decorators = [
|
|
1918
1904
|
{ type: Pipe, args: [{
|
|
1919
1905
|
name: 'longitudeFormat'
|
|
@@ -1933,7 +1919,7 @@ class NumberFormatPipe {
|
|
|
1933
1919
|
}
|
|
1934
1920
|
}
|
|
1935
1921
|
}
|
|
1936
|
-
NumberFormatPipe.ɵprov =
|
|
1922
|
+
NumberFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
|
|
1937
1923
|
NumberFormatPipe.decorators = [
|
|
1938
1924
|
{ type: Pipe, args: [{
|
|
1939
1925
|
name: 'numberFormat'
|
|
@@ -1973,7 +1959,7 @@ class HighlightPipe {
|
|
|
1973
1959
|
}
|
|
1974
1960
|
}
|
|
1975
1961
|
}
|
|
1976
|
-
HighlightPipe.ɵprov =
|
|
1962
|
+
HighlightPipe.ɵprov = ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
|
|
1977
1963
|
HighlightPipe.decorators = [
|
|
1978
1964
|
{ type: Pipe, args: [{
|
|
1979
1965
|
name: 'highlight'
|
|
@@ -2038,7 +2024,7 @@ FileSizePipe.decorators = [
|
|
|
2038
2024
|
{ type: Pipe, args: [{ name: 'fileSize' },] }
|
|
2039
2025
|
];
|
|
2040
2026
|
|
|
2041
|
-
const moment$
|
|
2027
|
+
const moment$1 = momentImported;
|
|
2042
2028
|
const DATE_UNIX_TIMESTAMP = 'X';
|
|
2043
2029
|
const DATE_UNIX_MS_TIMESTAMP = 'x';
|
|
2044
2030
|
class DateUtils {
|
|
@@ -2072,32 +2058,32 @@ function fromDateISOString(value) {
|
|
|
2072
2058
|
if (!value || isMoment(value))
|
|
2073
2059
|
return value;
|
|
2074
2060
|
// Parse the input value, as a ISO date time
|
|
2075
|
-
const date = moment$
|
|
2061
|
+
const date = moment$1(value, DATE_ISO_PATTERN);
|
|
2076
2062
|
if (date.isValid())
|
|
2077
2063
|
return date;
|
|
2078
2064
|
// Not valid: trying to convert from unix timestamp
|
|
2079
2065
|
if (typeof value === 'string') {
|
|
2080
2066
|
console.warn('Wrong date format - Trying to convert from local time: ' + value);
|
|
2081
2067
|
if (value.length === 10) {
|
|
2082
|
-
return moment$
|
|
2068
|
+
return moment$1(value, DATE_UNIX_TIMESTAMP);
|
|
2083
2069
|
}
|
|
2084
2070
|
else if (value.length === 13) {
|
|
2085
|
-
return moment$
|
|
2071
|
+
return moment$1(value, DATE_UNIX_MS_TIMESTAMP);
|
|
2086
2072
|
}
|
|
2087
2073
|
}
|
|
2088
2074
|
console.warn('Unable to parse date: ' + value);
|
|
2089
2075
|
return undefined;
|
|
2090
2076
|
}
|
|
2091
2077
|
function fromUnixTimestamp(timeInSec) {
|
|
2092
|
-
return moment$
|
|
2078
|
+
return moment$1(timeInSec, DATE_UNIX_TIMESTAMP);
|
|
2093
2079
|
}
|
|
2094
2080
|
function fromUnixMsTimestamp(timeInMs) {
|
|
2095
|
-
return moment$
|
|
2081
|
+
return moment$1(timeInMs, DATE_UNIX_MS_TIMESTAMP);
|
|
2096
2082
|
}
|
|
2097
2083
|
function toDuration(value, unit) {
|
|
2098
2084
|
if (!value)
|
|
2099
2085
|
return undefined;
|
|
2100
|
-
const duration = moment$
|
|
2086
|
+
const duration = moment$1.duration(value, unit);
|
|
2101
2087
|
// fix 990+ ms
|
|
2102
2088
|
if (duration.milliseconds() >= 990) {
|
|
2103
2089
|
duration.add(1000 - duration.milliseconds(), 'ms');
|
|
@@ -2126,7 +2112,7 @@ class DurationPipe {
|
|
|
2126
2112
|
return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + hour + ':' + minute;
|
|
2127
2113
|
}
|
|
2128
2114
|
}
|
|
2129
|
-
DurationPipe.ɵprov =
|
|
2115
|
+
DurationPipe.ɵprov = ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(ɵɵinject(TranslateService)); }, token: DurationPipe, providedIn: "root" });
|
|
2130
2116
|
DurationPipe.decorators = [
|
|
2131
2117
|
{ type: Pipe, args: [{
|
|
2132
2118
|
name: 'duration'
|
|
@@ -2147,7 +2133,7 @@ class MathAbsPipe {
|
|
|
2147
2133
|
}
|
|
2148
2134
|
}
|
|
2149
2135
|
}
|
|
2150
|
-
MathAbsPipe.ɵprov =
|
|
2136
|
+
MathAbsPipe.ɵprov = ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
|
|
2151
2137
|
MathAbsPipe.decorators = [
|
|
2152
2138
|
{ type: Pipe, args: [{
|
|
2153
2139
|
name: 'mathAbs'
|
|
@@ -2159,7 +2145,7 @@ class EvenPipe {
|
|
|
2159
2145
|
return val % 2 === 0;
|
|
2160
2146
|
}
|
|
2161
2147
|
}
|
|
2162
|
-
EvenPipe.ɵprov =
|
|
2148
|
+
EvenPipe.ɵprov = ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
|
|
2163
2149
|
EvenPipe.decorators = [
|
|
2164
2150
|
{ type: Pipe, args: [{
|
|
2165
2151
|
name: 'even'
|
|
@@ -2171,7 +2157,7 @@ class OddPipe {
|
|
|
2171
2157
|
return val % 2 !== 0;
|
|
2172
2158
|
}
|
|
2173
2159
|
}
|
|
2174
|
-
OddPipe.ɵprov =
|
|
2160
|
+
OddPipe.ɵprov = ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
|
|
2175
2161
|
OddPipe.decorators = [
|
|
2176
2162
|
{ type: Pipe, args: [{
|
|
2177
2163
|
name: 'odd'
|
|
@@ -2279,7 +2265,7 @@ class MapGetPipe {
|
|
|
2279
2265
|
return val[key];
|
|
2280
2266
|
}
|
|
2281
2267
|
}
|
|
2282
|
-
MapGetPipe.ɵprov =
|
|
2268
|
+
MapGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
|
|
2283
2269
|
MapGetPipe.decorators = [
|
|
2284
2270
|
{ type: Pipe, args: [{
|
|
2285
2271
|
name: 'mapGet'
|
|
@@ -2293,7 +2279,7 @@ class MapKeysPipe {
|
|
|
2293
2279
|
return Object.keys(map);
|
|
2294
2280
|
}
|
|
2295
2281
|
}
|
|
2296
|
-
MapKeysPipe.ɵprov =
|
|
2282
|
+
MapKeysPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
|
|
2297
2283
|
MapKeysPipe.decorators = [
|
|
2298
2284
|
{ type: Pipe, args: [{
|
|
2299
2285
|
name: 'mapKeys'
|
|
@@ -2307,7 +2293,7 @@ class MapValuesPipe {
|
|
|
2307
2293
|
return Object.values(map);
|
|
2308
2294
|
}
|
|
2309
2295
|
}
|
|
2310
|
-
MapValuesPipe.ɵprov =
|
|
2296
|
+
MapValuesPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
|
|
2311
2297
|
MapValuesPipe.decorators = [
|
|
2312
2298
|
{ type: Pipe, args: [{
|
|
2313
2299
|
name: 'mapValues'
|
|
@@ -2320,7 +2306,7 @@ class IsNotNilOrBlankPipe {
|
|
|
2320
2306
|
return isNotNilOrBlank(value);
|
|
2321
2307
|
}
|
|
2322
2308
|
}
|
|
2323
|
-
IsNotNilOrBlankPipe.ɵprov =
|
|
2309
|
+
IsNotNilOrBlankPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
|
|
2324
2310
|
IsNotNilOrBlankPipe.decorators = [
|
|
2325
2311
|
{ type: Pipe, args: [{
|
|
2326
2312
|
name: 'isNotNilOrBlank'
|
|
@@ -2332,7 +2318,7 @@ class IsNilOrBlankPipe {
|
|
|
2332
2318
|
return isNilOrBlank(value);
|
|
2333
2319
|
}
|
|
2334
2320
|
}
|
|
2335
|
-
IsNilOrBlankPipe.ɵprov =
|
|
2321
|
+
IsNilOrBlankPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
|
|
2336
2322
|
IsNilOrBlankPipe.decorators = [
|
|
2337
2323
|
{ type: Pipe, args: [{
|
|
2338
2324
|
name: 'isNilOrBlank'
|
|
@@ -2344,7 +2330,7 @@ class ToStringPipe {
|
|
|
2344
2330
|
return (value !== null && value !== undefined) ? value.toString() : '';
|
|
2345
2331
|
}
|
|
2346
2332
|
}
|
|
2347
|
-
ToStringPipe.ɵprov =
|
|
2333
|
+
ToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
|
|
2348
2334
|
ToStringPipe.decorators = [
|
|
2349
2335
|
{ type: Pipe, args: [{
|
|
2350
2336
|
name: 'toString'
|
|
@@ -2356,7 +2342,7 @@ class StrLengthPipe {
|
|
|
2356
2342
|
return value && value.length || 0;
|
|
2357
2343
|
}
|
|
2358
2344
|
}
|
|
2359
|
-
StrLengthPipe.ɵprov =
|
|
2345
|
+
StrLengthPipe.ɵprov = ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
|
|
2360
2346
|
StrLengthPipe.decorators = [
|
|
2361
2347
|
{ type: Pipe, args: [{
|
|
2362
2348
|
name: 'strLength'
|
|
@@ -2407,7 +2393,7 @@ class TranslateContextService {
|
|
|
2407
2393
|
: parts.slice(0, parts.length - 1).concat(context + parts[parts.length - 1]).join('.');
|
|
2408
2394
|
}
|
|
2409
2395
|
}
|
|
2410
|
-
TranslateContextService.ɵprov =
|
|
2396
|
+
TranslateContextService.ɵprov = ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(ɵɵinject(TranslateService)); }, token: TranslateContextService, providedIn: "root" });
|
|
2411
2397
|
TranslateContextService.decorators = [
|
|
2412
2398
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
2413
2399
|
];
|
|
@@ -2423,7 +2409,7 @@ class TranslateContextPipe {
|
|
|
2423
2409
|
return this.translateContext.instant(key, context);
|
|
2424
2410
|
}
|
|
2425
2411
|
}
|
|
2426
|
-
TranslateContextPipe.ɵprov =
|
|
2412
|
+
TranslateContextPipe.ɵprov = ɵɵdefineInjectable({ factory: function TranslateContextPipe_Factory() { return new TranslateContextPipe(ɵɵinject(TranslateContextService)); }, token: TranslateContextPipe, providedIn: "root" });
|
|
2427
2413
|
TranslateContextPipe.decorators = [
|
|
2428
2414
|
{ type: Pipe, args: [{
|
|
2429
2415
|
name: 'translateContext'
|
|
@@ -2440,7 +2426,7 @@ class TranslatablePipe {
|
|
|
2440
2426
|
return (_a = changeCaseToUnderscore(value)) === null || _a === void 0 ? void 0 : _a.toUpperCase();
|
|
2441
2427
|
}
|
|
2442
2428
|
}
|
|
2443
|
-
TranslatablePipe.ɵprov =
|
|
2429
|
+
TranslatablePipe.ɵprov = ɵɵdefineInjectable({ factory: function TranslatablePipe_Factory() { return new TranslatablePipe(); }, token: TranslatablePipe, providedIn: "root" });
|
|
2444
2430
|
TranslatablePipe.decorators = [
|
|
2445
2431
|
{ type: Pipe, args: [{
|
|
2446
2432
|
name: 'translatable'
|
|
@@ -2457,7 +2443,7 @@ class PropertyGetPipe {
|
|
|
2457
2443
|
args && args.defaultValue);
|
|
2458
2444
|
}
|
|
2459
2445
|
}
|
|
2460
|
-
PropertyGetPipe.ɵprov =
|
|
2446
|
+
PropertyGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
|
|
2461
2447
|
PropertyGetPipe.decorators = [
|
|
2462
2448
|
{ type: Pipe, args: [{
|
|
2463
2449
|
name: 'propertyGet'
|
|
@@ -2701,12 +2687,12 @@ SharedMatAutocompleteModule.decorators = [
|
|
|
2701
2687
|
},] }
|
|
2702
2688
|
];
|
|
2703
2689
|
|
|
2704
|
-
const moment$
|
|
2690
|
+
const moment$2 = momentImported;
|
|
2705
2691
|
// @dynamic
|
|
2706
2692
|
class SharedValidators {
|
|
2707
2693
|
static validDate(control) {
|
|
2708
2694
|
const value = control.value;
|
|
2709
|
-
const date = !value || moment$
|
|
2695
|
+
const date = !value || moment$2.isMoment(value) ? value : moment$2(control.value, DATE_ISO_PATTERN);
|
|
2710
2696
|
if (date && (!date.isValid() || date.year() < 1970)) {
|
|
2711
2697
|
return { validDate: true };
|
|
2712
2698
|
}
|
|
@@ -3148,9 +3134,9 @@ function parseDuration(input, maxDecimals, placeholderChar) {
|
|
|
3148
3134
|
const hour = parseInt(durationParts[0] || '0');
|
|
3149
3135
|
const minute = parseInt(durationParts[1] || '0');
|
|
3150
3136
|
const value = hour + (minute + 0.5) / 60;
|
|
3151
|
-
return roundFloat(value, maxDecimals);
|
|
3137
|
+
return roundFloat$1(value, maxDecimals);
|
|
3152
3138
|
}
|
|
3153
|
-
function roundFloat(input, maxDecimals) {
|
|
3139
|
+
function roundFloat$1(input, maxDecimals) {
|
|
3154
3140
|
if (maxDecimals > 0) {
|
|
3155
3141
|
const powDecimal = Math.pow(10, maxDecimals);
|
|
3156
3142
|
return Math.trunc(input * powDecimal + 0.5) / powDecimal;
|
|
@@ -3174,9 +3160,9 @@ const MASKS = {
|
|
|
3174
3160
|
DD: [/[+-]/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '°']
|
|
3175
3161
|
}
|
|
3176
3162
|
};
|
|
3177
|
-
const noop$
|
|
3163
|
+
const noop$1 = () => {
|
|
3178
3164
|
};
|
|
3179
|
-
const ɵ0$
|
|
3165
|
+
const ɵ0$1 = noop$1;
|
|
3180
3166
|
class MatLatLongField {
|
|
3181
3167
|
constructor(platform, translate, formBuilder, cd, formGroupDir) {
|
|
3182
3168
|
this.platform = platform;
|
|
@@ -3184,8 +3170,8 @@ class MatLatLongField {
|
|
|
3184
3170
|
this.formBuilder = formBuilder;
|
|
3185
3171
|
this.cd = cd;
|
|
3186
3172
|
this.formGroupDir = formGroupDir;
|
|
3187
|
-
this._onChangeCallback = noop$
|
|
3188
|
-
this._onTouchedCallback = noop$
|
|
3173
|
+
this._onChangeCallback = noop$1;
|
|
3174
|
+
this._onTouchedCallback = noop$1;
|
|
3189
3175
|
this._subscription = new Subscription();
|
|
3190
3176
|
this.disabling = false;
|
|
3191
3177
|
this.writing = false;
|
|
@@ -3526,14 +3512,14 @@ SharedMatLatLongModule.decorators = [
|
|
|
3526
3512
|
},] }
|
|
3527
3513
|
];
|
|
3528
3514
|
|
|
3529
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
3515
|
+
const DEFAULT_VALUE_ACCESSOR$1 = {
|
|
3530
3516
|
provide: NG_VALUE_ACCESSOR,
|
|
3531
3517
|
useExisting: forwardRef(() => MatDate),
|
|
3532
3518
|
multi: true
|
|
3533
3519
|
};
|
|
3534
|
-
const DAY_MASK
|
|
3535
|
-
const noop$
|
|
3536
|
-
const ɵ0$
|
|
3520
|
+
const DAY_MASK = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
|
|
3521
|
+
const noop$2 = () => { };
|
|
3522
|
+
const ɵ0$2 = noop$2;
|
|
3537
3523
|
class MatDate {
|
|
3538
3524
|
constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
3539
3525
|
this.dateAdapter = dateAdapter;
|
|
@@ -3542,12 +3528,12 @@ class MatDate {
|
|
|
3542
3528
|
this.cd = cd;
|
|
3543
3529
|
this.keyboard = keyboard;
|
|
3544
3530
|
this.formGroupDir = formGroupDir;
|
|
3545
|
-
this._onChangeCallback = noop$
|
|
3546
|
-
this._onTouchedCallback = noop$
|
|
3531
|
+
this._onChangeCallback = noop$2;
|
|
3532
|
+
this._onTouchedCallback = noop$2;
|
|
3547
3533
|
this._subscription = new Subscription();
|
|
3548
3534
|
this.writing = true;
|
|
3549
3535
|
this.disabling = false;
|
|
3550
|
-
this.dayMask = DAY_MASK
|
|
3536
|
+
this.dayMask = DAY_MASK;
|
|
3551
3537
|
this.disabled = false;
|
|
3552
3538
|
this.floatLabel = 'auto';
|
|
3553
3539
|
this.readonly = false;
|
|
@@ -3784,7 +3770,7 @@ MatDate.decorators = [
|
|
|
3784
3770
|
selector: 'mat-date-field',
|
|
3785
3771
|
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",
|
|
3786
3772
|
providers: [
|
|
3787
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
3773
|
+
DEFAULT_VALUE_ACCESSOR$1,
|
|
3788
3774
|
],
|
|
3789
3775
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3790
3776
|
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%}"]
|
|
@@ -3817,17 +3803,17 @@ MatDate.propDecorators = {
|
|
|
3817
3803
|
matInputs: [{ type: ViewChildren, args: ['matInput',] }]
|
|
3818
3804
|
};
|
|
3819
3805
|
|
|
3820
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
3806
|
+
const DEFAULT_VALUE_ACCESSOR$2 = {
|
|
3821
3807
|
provide: NG_VALUE_ACCESSOR,
|
|
3822
3808
|
useExisting: forwardRef(() => MatDateTime),
|
|
3823
3809
|
multi: true
|
|
3824
3810
|
};
|
|
3825
3811
|
const DAY_MASK$1 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
|
|
3826
3812
|
const HOUR_REGEXP = /^[012][0-9][:][012345][0-9]$/;
|
|
3827
|
-
const HOUR_MASK
|
|
3828
|
-
const noop$
|
|
3813
|
+
const HOUR_MASK = [/[012]/, /\d/, ':', /[012345]/, /\d/];
|
|
3814
|
+
const noop$3 = () => {
|
|
3829
3815
|
};
|
|
3830
|
-
const ɵ0$
|
|
3816
|
+
const ɵ0$3 = noop$3;
|
|
3831
3817
|
class MatDateTime {
|
|
3832
3818
|
constructor(platform, dateAdapter, translate, formBuilder, keyboard, cd, formGroupDir) {
|
|
3833
3819
|
this.platform = platform;
|
|
@@ -3837,14 +3823,14 @@ class MatDateTime {
|
|
|
3837
3823
|
this.keyboard = keyboard;
|
|
3838
3824
|
this.cd = cd;
|
|
3839
3825
|
this.formGroupDir = formGroupDir;
|
|
3840
|
-
this._onChangeCallback = noop$
|
|
3841
|
-
this._onTouchedCallback = noop$
|
|
3826
|
+
this._onChangeCallback = noop$3;
|
|
3827
|
+
this._onTouchedCallback = noop$3;
|
|
3842
3828
|
this._subscription = new Subscription();
|
|
3843
3829
|
this.writing = true;
|
|
3844
3830
|
this.disabling = false;
|
|
3845
3831
|
this._onDestroy = new EventEmitter();
|
|
3846
3832
|
this.dayMask = DAY_MASK$1;
|
|
3847
|
-
this.hourMask = HOUR_MASK
|
|
3833
|
+
this.hourMask = HOUR_MASK;
|
|
3848
3834
|
this.floatLabel = 'auto';
|
|
3849
3835
|
this.readonly = false;
|
|
3850
3836
|
this.compact = false;
|
|
@@ -4150,7 +4136,7 @@ MatDateTime.decorators = [
|
|
|
4150
4136
|
selector: 'mat-date-time-field',
|
|
4151
4137
|
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?.key || formControl.errors.msg) | translate: formControl.errors.msg?.params}}</mat-error>\n </ng-container>\n <ng-content select=\"mat-error\"></ng-content>\n\n <!-- mat hint -->\n <div class=\"mat-form-field-hint-wrapper\" [class.cdk-visually-hidden]=\"formControl.invalid\">\n <div class=\"mat-form-field-hint-spacer\"></div>\n <ng-content select=\"mat-hint\"></ng-content>\n </div>\n </div>\n\n </ion-col>\n\n <!-- hour -->\n <ion-col class=\"hour ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-invalid]=\"formControl.touched && (timeFormControl.invalid || formControl.invalid)\">\n <mat-label *ngIf=\"placeholder && floatLabel != 'never'\" translate>COMMON.TIME</mat-label>\n <input matInput #matInput type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"timeFormControl\"\n autocomplete=\"off\"\n min=\"0\" max=\"23\"\n [textMask]=\"{mask: hourMask, keepCharPositions: true, placeholderChar: placeholderChar, guide: true}\"\n [placeholder]=\"'COMMON.TIME_PLACEHOLDER'|translate\"\n [required]=\"required\"\n (keyup.arrowdown)=\"openTimePicker($event)\"\n (keyup.escape)=\"preventEvent($event)\"\n (blur)=\"checkIfTouched()\"\n [tabindex]=\"tabindex !== undefined ? tabindex+1 : undefined\">\n\n <input matInput #matInput type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"timeFormControl\"\n (click)=\"openTimePickerIfMobile($event)\"\n readonly>\n\n <input matInput type=\"text\"\n [formControl]=\"timeFormControl\"\n hidden\n [ngxTimepicker]=\"timePicker\"\n [format]=\"24\">\n\n <button matSuffix type=\"button\" mat-icon-button\n tabindex=\"-1\"\n *ngIf=\"!compact && !mobile\"\n [disabled]=\"formControl.disabled\"\n (click)=\"openTimePicker($event)\" >\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n <button matSuffix type=\"button\" mat-icon-button\n tabindex=\"-1\"\n *ngIf=\"!compact && mobile\"\n [disabled]=\"formControl.disabled\"\n (click)=\"openTimePickerIfMobile($event)\">\n <mat-icon>access_time</mat-icon>\n </button>\n\n <ngx-material-timepicker #timePicker [@.disabled]=\"true\"\n (timeSet)=\"onTimePickerChange($event)\"\n [ESC]=\"!mobile\"\n [defaultTime]=\"'00:00'\"\n [cancelBtnTmpl]=\"timePickerCancelButton\"\n [confirmBtnTmpl]=\"timePickerOkButton\"\n [preventOverlayClick]=\"mobile\"\n [enableKeyboardInput]=\"false\"\n [disableAnimation]=\"true\">\n <!-- cancel button -->\n <ng-template #timePickerCancelButton>\n <ion-button fill=\"clear\" color=\"dark\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n </ng-template>\n\n <!-- confirm button -->\n <ng-template #timePickerOkButton>\n <ion-button fill=\"solid\" color=\"tertiary\">\n <ion-label translate>COMMON.BTN_VALIDATE</ion-label>\n </ion-button>\n </ng-template>\n\n </ngx-material-timepicker>\n </mat-form-field>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n\n</ng-template>\n\n<ng-template #iconDesktop>\n <mat-icon>keyboard_arrow_down</mat-icon>\n</ng-template>\n\n<ng-template #iconDate>\n <mat-icon>date_range</mat-icon>\n</ng-template>\n",
|
|
4152
4138
|
providers: [
|
|
4153
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
4139
|
+
DEFAULT_VALUE_ACCESSOR$2,
|
|
4154
4140
|
],
|
|
4155
4141
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4156
4142
|
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%}"]
|
|
@@ -4189,10 +4175,10 @@ const DEFAULT_VALUE_ACCESSOR$3 = {
|
|
|
4189
4175
|
useExisting: forwardRef(() => MatDateShort),
|
|
4190
4176
|
multi: true
|
|
4191
4177
|
};
|
|
4192
|
-
const DAY_MASK = [/\d/, /\d/, /\d/, /\d/];
|
|
4193
|
-
const noop$
|
|
4178
|
+
const DAY_MASK$2 = [/\d/, /\d/, /\d/, /\d/];
|
|
4179
|
+
const noop$4 = () => {
|
|
4194
4180
|
};
|
|
4195
|
-
const ɵ0$
|
|
4181
|
+
const ɵ0$4 = noop$4;
|
|
4196
4182
|
class MatDateShort {
|
|
4197
4183
|
constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
4198
4184
|
this.dateAdapter = dateAdapter;
|
|
@@ -4201,11 +4187,11 @@ class MatDateShort {
|
|
|
4201
4187
|
this.cd = cd;
|
|
4202
4188
|
this.keyboard = keyboard;
|
|
4203
4189
|
this.formGroupDir = formGroupDir;
|
|
4204
|
-
this._onChangeCallback = noop$
|
|
4205
|
-
this._onTouchedCallback = noop$
|
|
4190
|
+
this._onChangeCallback = noop$4;
|
|
4191
|
+
this._onTouchedCallback = noop$4;
|
|
4206
4192
|
this.writing = true;
|
|
4207
4193
|
this.disabling = false;
|
|
4208
|
-
this.dayMask = DAY_MASK;
|
|
4194
|
+
this.dayMask = DAY_MASK$2;
|
|
4209
4195
|
this.disabled = false;
|
|
4210
4196
|
this.floatLabel = 'auto';
|
|
4211
4197
|
this.readonly = false;
|
|
@@ -4518,16 +4504,16 @@ SharedMatDateTimeModule.decorators = [
|
|
|
4518
4504
|
},] }
|
|
4519
4505
|
];
|
|
4520
4506
|
|
|
4521
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
4507
|
+
const DEFAULT_VALUE_ACCESSOR$4 = {
|
|
4522
4508
|
provide: NG_VALUE_ACCESSOR,
|
|
4523
4509
|
useExisting: forwardRef(() => MatDuration),
|
|
4524
4510
|
multi: true
|
|
4525
4511
|
};
|
|
4526
4512
|
const HOUR_TIME_PATTERN = /[0-9]\d\d:[0-5]\d/;
|
|
4527
|
-
const HOUR_MASK = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
|
|
4528
|
-
const noop$
|
|
4513
|
+
const HOUR_MASK$1 = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
|
|
4514
|
+
const noop$5 = () => {
|
|
4529
4515
|
};
|
|
4530
|
-
const ɵ0$5 = noop$
|
|
4516
|
+
const ɵ0$5 = noop$5;
|
|
4531
4517
|
class MatDuration {
|
|
4532
4518
|
constructor(platform, dateAdapter, translate, formBuilder, cd, formGroupDir) {
|
|
4533
4519
|
this.dateAdapter = dateAdapter;
|
|
@@ -4536,11 +4522,11 @@ class MatDuration {
|
|
|
4536
4522
|
this.cd = cd;
|
|
4537
4523
|
this.formGroupDir = formGroupDir;
|
|
4538
4524
|
this._subscription = new Subscription();
|
|
4539
|
-
this._onChangeCallback = noop$
|
|
4540
|
-
this._onTouchedCallback = noop$
|
|
4525
|
+
this._onChangeCallback = noop$5;
|
|
4526
|
+
this._onTouchedCallback = noop$5;
|
|
4541
4527
|
this.writing = true;
|
|
4542
4528
|
this.disabling = false;
|
|
4543
|
-
this.hourMask = HOUR_MASK;
|
|
4529
|
+
this.hourMask = HOUR_MASK$1;
|
|
4544
4530
|
this.disabled = false;
|
|
4545
4531
|
this.floatLabel = 'auto';
|
|
4546
4532
|
this.readonly = false;
|
|
@@ -4720,7 +4706,7 @@ MatDuration.decorators = [
|
|
|
4720
4706
|
selector: 'mat-duration-field',
|
|
4721
4707
|
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",
|
|
4722
4708
|
providers: [
|
|
4723
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
4709
|
+
DEFAULT_VALUE_ACCESSOR$4,
|
|
4724
4710
|
],
|
|
4725
4711
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4726
4712
|
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%}"]
|
|
@@ -4777,22 +4763,22 @@ SharedMatDurationModule.decorators = [
|
|
|
4777
4763
|
},] }
|
|
4778
4764
|
];
|
|
4779
4765
|
|
|
4780
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
4766
|
+
const DEFAULT_VALUE_ACCESSOR$5 = {
|
|
4781
4767
|
provide: NG_VALUE_ACCESSOR,
|
|
4782
4768
|
useExisting: forwardRef(() => MatBooleanField),
|
|
4783
4769
|
multi: true
|
|
4784
4770
|
};
|
|
4785
|
-
const noop$
|
|
4771
|
+
const noop$6 = () => {
|
|
4786
4772
|
};
|
|
4787
|
-
const ɵ0$
|
|
4773
|
+
const ɵ0$6 = noop$6;
|
|
4788
4774
|
class MatBooleanField {
|
|
4789
4775
|
constructor(translate, formBuilder, cd, formGroupDir) {
|
|
4790
4776
|
this.translate = translate;
|
|
4791
4777
|
this.formBuilder = formBuilder;
|
|
4792
4778
|
this.cd = cd;
|
|
4793
4779
|
this.formGroupDir = formGroupDir;
|
|
4794
|
-
this._onChangeCallback = noop$
|
|
4795
|
-
this._onTouchedCallback = noop$
|
|
4780
|
+
this._onChangeCallback = noop$6;
|
|
4781
|
+
this._onTouchedCallback = noop$6;
|
|
4796
4782
|
this._writing = false;
|
|
4797
4783
|
this.showRadio = false;
|
|
4798
4784
|
this.disabled = false;
|
|
@@ -4965,10 +4951,10 @@ MatBooleanField.decorators = [
|
|
|
4965
4951
|
selector: 'mat-boolean-field',
|
|
4966
4952
|
template: "<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled {{classList}}\">\n <input matInput hidden type=\"text\" readonly\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <ion-text>{{(formControl.value == null && 'COMMON.EMPTY_OPTION' || (formControl.value === true && yesLabel) || noLabel) | translate }}</ion-text>\n</mat-form-field>\n\n<ng-template #writable>\n <ng-container [ngSwitch]=\"style\">\n\n <!-- Radio -->\n <mat-form-field *ngSwitchCase=\"'radio'\"\n [floatLabel]=\"showRadio && (!floatLabel || floatLabel === 'auto') ? 'always': floatLabel\"\n class=\"mat-boolean-field mat-boolean-field-radio {{classList}}\">\n <mat-label *ngIf=\"placeholder && floatLabel!=='never'\">\n {{placeholder}}\n <span [hidden]=\"showRadio\">({{yesLabel|translate}}/{{'COMMON.NO'|translate}})</span>\n </mat-label>\n\n <input matInput #fakeInput type=\"text\" readonly=\"true\"\n [formControl]=\"formControl\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showRadio\"\n [tabindex]=\"tabindex\">\n\n <!-- radio button -->\n <mat-radio-group [hidden]=\"!showRadio\"\n [formControl]=\"formControl\"\n (change)=\"onRadioValueChanged($event)\">\n <mat-radio-button #yesButton [value]=\"true\">\n <span>{{yesLabel|translate}}</span>\n </mat-radio-button> \n <mat-radio-button #noButton [value]=\"false\">\n <span>{{noLabel|translate}}</span>\n </mat-radio-button>\n </mat-radio-group>\n\n <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 {{classList}}\">\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 {{classList}}\">\n <input matInput type=\"text\" hidden\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [required]=\"required\">\n <div class=\"mat-form-field-buttons\"\n [style.--buttons-col-count]=\"buttonsColCount\"\n *ngIf=\"!formControl.disabled; else disabledLabel\">\n <!-- yes -->\n <ion-button class=\"mat-form-field-button\"\n [tabindex]=\"_tabindex\"\n (click)=\"writeValue(true, $event)\"\n (keyup.enter)=\"writeValue(true, $event)\"\n [color]=\"_value == null ? 'tertiary' : (_value === true) ? 'accent' : 'light'\">\n <ion-icon *ngIf=\"showButtonIcons && yesIcon; let icon\" slot=\"start\" [name]=\"icon\"></ion-icon>\n {{yesLabel|translate}}\n </ion-button>\n\n <!-- No button -->\n <ion-button class=\"mat-form-field-button\"\n [tabindex]=\"_tabindex !== undefined ? (_tabindex + 1) : undefined\"\n (click)=\"writeValue(false, $event)\"\n (keyup.enter)=\"writeValue(false, $event)\"\n [color]=\"_value == null ? 'tertiary' : (_value === false) ? 'accent' : 'light'\">\n <ion-icon *ngIf=\"showButtonIcons && noIcon; let icon\" slot=\"start\" [name]=\"icon\"></ion-icon>\n {{noLabel|translate}}\n </ion-button>\n </div>\n <ng-template #disabledLabel>\n <ion-label><i translate>COMMON.EMPTY_OPTION</i></ion-label>\n </ng-template>\n\n <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",
|
|
4967
4953
|
providers: [
|
|
4968
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
4954
|
+
DEFAULT_VALUE_ACCESSOR$5
|
|
4969
4955
|
],
|
|
4970
4956
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4971
|
-
styles: [":host{width:100%}.mat-form-field.mat-boolean-field-radio{margin-top:-2px}.mat-form-field.mat-boolean-field-button{margin-top:-4px}.mat-form-field .mat-form-field-buttons{width:100%;display:flex;flex-flow:row wrap;justify-content:flex-start;align-items:center}.mat-form-field .mat-form-field-buttons .mat-form-field-button{--flex-basis:calc(100% / var(--buttons-col-count, 2));flex:0 1 var(--flex-basis);max-width:
|
|
4957
|
+
styles: [":host{width:100%}.mat-form-field.mat-boolean-field-radio{margin-top:-2px}.mat-form-field.mat-boolean-field-button{margin-top:-4px}.mat-form-field .mat-form-field-buttons{width:100%;display:flex;flex-flow:row wrap;justify-content:flex-start;align-items:center}.mat-form-field .mat-form-field-buttons .mat-form-field-button{--flex-basis:calc(100% / var(--buttons-col-count, 2));flex:0 1 var(--flex-basis);max-width:min(var(--flex-basis),150px);white-space:normal;padding:0 2px;height:40px}"]
|
|
4972
4958
|
},] }
|
|
4973
4959
|
];
|
|
4974
4960
|
MatBooleanField.ctorParameters = () => [
|
|
@@ -5213,7 +5199,7 @@ class MatNumpadDomService {
|
|
|
5213
5199
|
this.appRef.detachView(this.componentRef.hostView);
|
|
5214
5200
|
}
|
|
5215
5201
|
}
|
|
5216
|
-
MatNumpadDomService.ɵprov =
|
|
5202
|
+
MatNumpadDomService.ɵprov = ɵɵdefineInjectable({ factory: function MatNumpadDomService_Factory() { return new MatNumpadDomService(ɵɵinject(ComponentFactoryResolver), ɵɵinject(ApplicationRef), ɵɵinject(INJECTOR), ɵɵinject(DOCUMENT, 8)); }, token: MatNumpadDomService, providedIn: "root" });
|
|
5217
5203
|
MatNumpadDomService.decorators = [
|
|
5218
5204
|
{ type: Injectable, args: [{
|
|
5219
5205
|
providedIn: 'root'
|
|
@@ -5577,7 +5563,7 @@ SharedMatNumpadModule.decorators = [
|
|
|
5577
5563
|
},] }
|
|
5578
5564
|
];
|
|
5579
5565
|
|
|
5580
|
-
const DEFAULT_VALUE_ACCESSOR = {
|
|
5566
|
+
const DEFAULT_VALUE_ACCESSOR$6 = {
|
|
5581
5567
|
provide: NG_VALUE_ACCESSOR,
|
|
5582
5568
|
useExisting: forwardRef(() => MatSwipeField),
|
|
5583
5569
|
multi: true
|
|
@@ -5840,7 +5826,7 @@ MatSwipeField.decorators = [
|
|
|
5840
5826
|
{ type: Component, args: [{
|
|
5841
5827
|
selector: 'mat-swipe-field',
|
|
5842
5828
|
template: "<mat-form-field [floatLabel]=\"showSlides && (!floatLabel || floatLabel === 'auto') ? 'always': floatLabel\"\n [class]=\"classList\"\n [class.mat-form-field-disabled]=\"disabled\">\n <mat-label *ngIf=\"placeholder && floatLabel!=='never'\">\n {{placeholder}}\n </mat-label>\n <input matInput #fakeInput type=\"text\"\n [formControl]=\"formControl\"\n [readonly]=\"true\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showSlides\"\n [tabindex]=\"tabindex\">\n\n <div class=\"slides-container\" [class.hidden]=\"!showSlides\">\n <ion-slides #slides\n [options]=\"slidesOptions\"\n (ionSlidesDidLoad)=\"slidesLoaded()\"\n (ionSlideReachStart)=\"reachStart(true)\"\n (ionSlideReachEnd)=\"reachEnd(true)\"\n (ionSlideNextEnd)=\"reachStart(false)\"\n (ionSlidePrevEnd)=\"reachEnd(false)\"\n (ionSlideDidChange)=\"slideChanged()\"\n >\n <ion-slide *ngFor=\"let item of $items | async\">\n <ion-label>{{ displayWith(item) }}</ion-label>\n </ion-slide>\n\n </ion-slides>\n </div>\n\n <button #prevButton\n mat-icon-button\n type=\"button\"\n class=\"button-prev\"\n [hidden]=\"!showSlides\"\n [disabled]=\"previousDisabled\"\n (click)=\"previous()\">\n <mat-icon>chevron_left</mat-icon>\n </button>\n <button #nextButton\n mat-icon-button\n type=\"button\"\n class=\"button-next\"\n [hidden]=\"!showSlides\"\n [disabled]=\"nextDisabled\"\n (click)=\"next()\">\n <mat-icon>chevron_right</mat-icon>\n </button>\n\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clearValue($event)\"\n [hidden]=\"disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('entity')\" translate>ERROR.FIELD_INVALID</mat-error>\n\n</mat-form-field>\n",
|
|
5843
|
-
providers: [DEFAULT_VALUE_ACCESSOR],
|
|
5829
|
+
providers: [DEFAULT_VALUE_ACCESSOR$6],
|
|
5844
5830
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
5845
5831
|
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}"]
|
|
5846
5832
|
},] }
|
|
@@ -6335,7 +6321,7 @@ class ProgressBarService {
|
|
|
6335
6321
|
}
|
|
6336
6322
|
}
|
|
6337
6323
|
}
|
|
6338
|
-
ProgressBarService.ɵprov =
|
|
6324
|
+
ProgressBarService.ɵprov = ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
|
|
6339
6325
|
ProgressBarService.decorators = [
|
|
6340
6326
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
6341
6327
|
];
|
|
@@ -6379,7 +6365,7 @@ class AppGestureConfig extends HammerGestureConfig {
|
|
|
6379
6365
|
return mc;
|
|
6380
6366
|
}
|
|
6381
6367
|
}
|
|
6382
|
-
AppGestureConfig.ɵprov =
|
|
6368
|
+
AppGestureConfig.ɵprov = ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
|
|
6383
6369
|
AppGestureConfig.decorators = [
|
|
6384
6370
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
6385
6371
|
];
|
|
@@ -6602,7 +6588,7 @@ class MatPaginatorI18n extends MatPaginatorIntl {
|
|
|
6602
6588
|
this.previousPageLabel = this.translate.instant('COMMON.PAGINATOR.PREVIOUS_PAGE');
|
|
6603
6589
|
}
|
|
6604
6590
|
}
|
|
6605
|
-
MatPaginatorI18n.ɵprov =
|
|
6591
|
+
MatPaginatorI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(ɵɵinject(TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
|
|
6606
6592
|
MatPaginatorI18n.decorators = [
|
|
6607
6593
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
6608
6594
|
];
|
|
@@ -6692,17 +6678,17 @@ function getColorContrast(color, bw) {
|
|
|
6692
6678
|
return rgbArrayToHex(rgb.map(v => 255 - v));
|
|
6693
6679
|
}
|
|
6694
6680
|
|
|
6695
|
-
const noop = () => {
|
|
6681
|
+
const noop$7 = () => {
|
|
6696
6682
|
};
|
|
6697
|
-
const ɵ0$
|
|
6683
|
+
const ɵ0$7 = noop$7;
|
|
6698
6684
|
class AppFormField {
|
|
6699
6685
|
constructor(translate, cd, injector, formGroupDir) {
|
|
6700
6686
|
this.translate = translate;
|
|
6701
6687
|
this.cd = cd;
|
|
6702
6688
|
this.injector = injector;
|
|
6703
6689
|
this.formGroupDir = formGroupDir;
|
|
6704
|
-
this._onChangeCallback = noop;
|
|
6705
|
-
this._onTouchedCallback = noop;
|
|
6690
|
+
this._onChangeCallback = noop$7;
|
|
6691
|
+
this._onTouchedCallback = noop$7;
|
|
6706
6692
|
this.readonly = false;
|
|
6707
6693
|
this.compact = false;
|
|
6708
6694
|
this.floatLabel = 'auto';
|
|
@@ -7073,14 +7059,14 @@ class AudioProvider {
|
|
|
7073
7059
|
});
|
|
7074
7060
|
}
|
|
7075
7061
|
}
|
|
7076
|
-
AudioProvider.ɵprov =
|
|
7062
|
+
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" });
|
|
7077
7063
|
AudioProvider.decorators = [
|
|
7078
7064
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
7079
7065
|
];
|
|
7080
7066
|
AudioProvider.ctorParameters = () => [
|
|
7081
7067
|
{ type: Platform },
|
|
7082
|
-
{ type: NativeAudio, decorators: [{ type: Optional }] },
|
|
7083
|
-
{ type: Vibration, decorators: [{ type: Optional }] },
|
|
7068
|
+
{ type: NativeAudio$1, decorators: [{ type: Optional }] },
|
|
7069
|
+
{ type: Vibration$1, decorators: [{ type: Optional }] },
|
|
7084
7070
|
{ type: AudioManagement, decorators: [{ type: Optional }] }
|
|
7085
7071
|
];
|
|
7086
7072
|
|
|
@@ -7162,7 +7148,7 @@ class Hotkeys {
|
|
|
7162
7148
|
});
|
|
7163
7149
|
}
|
|
7164
7150
|
}
|
|
7165
|
-
Hotkeys.ɵprov =
|
|
7151
|
+
Hotkeys.ɵprov = ɵɵdefineInjectable({ factory: function Hotkeys_Factory() { return new Hotkeys(ɵɵinject(EventManager), ɵɵinject(MatDialog), ɵɵinject(DOCUMENT), ɵɵinject(ModalController)); }, token: Hotkeys, providedIn: "root" });
|
|
7166
7152
|
Hotkeys.decorators = [
|
|
7167
7153
|
{ type: Injectable, args: [{
|
|
7168
7154
|
providedIn: 'root'
|
|
@@ -7336,7 +7322,7 @@ class Base64ImageReader {
|
|
|
7336
7322
|
}
|
|
7337
7323
|
}
|
|
7338
7324
|
|
|
7339
|
-
const uuidv4
|
|
7325
|
+
const uuidv4 = uuidv4Imported;
|
|
7340
7326
|
class FileService {
|
|
7341
7327
|
constructor(platform,
|
|
7342
7328
|
//private transfer: FileTransfer,
|
|
@@ -7373,7 +7359,7 @@ class FileService {
|
|
|
7373
7359
|
const lastSlashIndex = source.lastIndexOf('/');
|
|
7374
7360
|
if (lastSlashIndex === -1)
|
|
7375
7361
|
throw new Error('Invalid URL: ' + source);
|
|
7376
|
-
const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4
|
|
7362
|
+
const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4();
|
|
7377
7363
|
// Download into the file system
|
|
7378
7364
|
if (responseType === 'file' && this.canUseFileSystem) {
|
|
7379
7365
|
console.warn(`WARN: [file] Fetching image {${source}} in local file...`);
|
|
@@ -7429,7 +7415,7 @@ class FileService {
|
|
|
7429
7415
|
this._started = true;
|
|
7430
7416
|
}
|
|
7431
7417
|
}
|
|
7432
|
-
FileService.ɵprov =
|
|
7418
|
+
FileService.ɵprov = ɵɵdefineInjectable({ factory: function FileService_Factory() { return new FileService(ɵɵinject(Platform), ɵɵinject(HttpClient), ɵɵinject(ENVIRONMENT)); }, token: FileService, providedIn: "root" });
|
|
7433
7419
|
FileService.decorators = [
|
|
7434
7420
|
{ type: Injectable, args: [{
|
|
7435
7421
|
providedIn: 'root',
|
|
@@ -7591,7 +7577,7 @@ class Base58 {
|
|
|
7591
7577
|
Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
|
|
7592
7578
|
|
|
7593
7579
|
const scrypt = require('scrypt-async');
|
|
7594
|
-
const sha256
|
|
7580
|
+
const sha256 = require('hash.js/lib/hash/sha/256');
|
|
7595
7581
|
const sha512 = require('hash.js/lib/hash/sha/512');
|
|
7596
7582
|
const nacl = {
|
|
7597
7583
|
sign,
|
|
@@ -7695,7 +7681,7 @@ class CryptoService {
|
|
|
7695
7681
|
* Hash (using SHA256) a message
|
|
7696
7682
|
*/
|
|
7697
7683
|
sha256(message) {
|
|
7698
|
-
return sha256
|
|
7684
|
+
return sha256().update(message).digest('hex');
|
|
7699
7685
|
}
|
|
7700
7686
|
/**
|
|
7701
7687
|
* Hash (using SHA512) a message
|
|
@@ -7708,7 +7694,7 @@ class CryptoService {
|
|
|
7708
7694
|
return nacl.util.encodeBase64(m);
|
|
7709
7695
|
}
|
|
7710
7696
|
}
|
|
7711
|
-
CryptoService.ɵprov =
|
|
7697
|
+
CryptoService.ɵprov = ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
|
|
7712
7698
|
CryptoService.decorators = [
|
|
7713
7699
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
7714
7700
|
];
|
|
@@ -8928,7 +8914,7 @@ class LocalSettingsService {
|
|
|
8928
8914
|
return page;
|
|
8929
8915
|
}
|
|
8930
8916
|
}
|
|
8931
|
-
LocalSettingsService.ɵprov =
|
|
8917
|
+
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" });
|
|
8932
8918
|
LocalSettingsService.decorators = [
|
|
8933
8919
|
{ type: Injectable, args: [{
|
|
8934
8920
|
providedIn: 'root',
|
|
@@ -9624,7 +9610,7 @@ class NetworkService {
|
|
|
9624
9610
|
});
|
|
9625
9611
|
}
|
|
9626
9612
|
}
|
|
9627
|
-
NetworkService.ɵprov =
|
|
9613
|
+
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" });
|
|
9628
9614
|
NetworkService.decorators = [
|
|
9629
9615
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
9630
9616
|
];
|
|
@@ -9635,16 +9621,16 @@ NetworkService.ctorParameters = () => [
|
|
|
9635
9621
|
{ type: CryptoService },
|
|
9636
9622
|
{ type: Storage },
|
|
9637
9623
|
{ type: LocalSettingsService },
|
|
9638
|
-
{ type: CacheService },
|
|
9624
|
+
{ type: CacheService$1 },
|
|
9639
9625
|
{ type: HttpClient },
|
|
9640
9626
|
{ type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
|
|
9641
|
-
{ type: Network, decorators: [{ type: Optional }] },
|
|
9642
|
-
{ type: SplashScreen, decorators: [{ type: Optional }] },
|
|
9627
|
+
{ type: Network$1, decorators: [{ type: Optional }] },
|
|
9628
|
+
{ type: SplashScreen$1, decorators: [{ type: Optional }] },
|
|
9643
9629
|
{ type: TranslateService, decorators: [{ type: Optional }] },
|
|
9644
9630
|
{ type: ToastController, decorators: [{ type: Optional }] }
|
|
9645
9631
|
];
|
|
9646
9632
|
|
|
9647
|
-
const ErrorCodes
|
|
9633
|
+
const ErrorCodes = {
|
|
9648
9634
|
UNKNOWN_ERROR: 0,
|
|
9649
9635
|
LOAD_ACCOUNT_ERROR: 1,
|
|
9650
9636
|
BAD_PASSWORD: 2,
|
|
@@ -9991,7 +9977,7 @@ class EntityStore {
|
|
|
9991
9977
|
}
|
|
9992
9978
|
catch (err) {
|
|
9993
9979
|
console.error(err);
|
|
9994
|
-
throw { code: ErrorCodes
|
|
9980
|
+
throw { code: ErrorCodes.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err };
|
|
9995
9981
|
}
|
|
9996
9982
|
}
|
|
9997
9983
|
// Emit update event
|
|
@@ -10568,7 +10554,7 @@ class EntitiesStorage {
|
|
|
10568
10554
|
}
|
|
10569
10555
|
EntitiesStorage.TRASH_PREFIX = 'Trash#';
|
|
10570
10556
|
EntitiesStorage.REMOTE_PREFIX = 'Remote#';
|
|
10571
|
-
EntitiesStorage.ɵprov =
|
|
10557
|
+
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" });
|
|
10572
10558
|
EntitiesStorage.decorators = [
|
|
10573
10559
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
10574
10560
|
];
|
|
@@ -10668,10 +10654,10 @@ function referentialToString(obj, properties) {
|
|
|
10668
10654
|
function referentialsToString(values, properties, separator) {
|
|
10669
10655
|
return (values || []).map(v => referentialToString(v, properties)).join(separator || ', ');
|
|
10670
10656
|
}
|
|
10671
|
-
const ɵ0$
|
|
10657
|
+
const ɵ0$8 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
|
|
10672
10658
|
const StatusList = Object.freeze([
|
|
10673
10659
|
{
|
|
10674
|
-
id: ɵ0$
|
|
10660
|
+
id: ɵ0$8,
|
|
10675
10661
|
icon: 'checkmark',
|
|
10676
10662
|
label: 'REFERENTIAL.STATUS_ENUM.ENABLE'
|
|
10677
10663
|
},
|
|
@@ -10946,7 +10932,7 @@ function accountToString(data) {
|
|
|
10946
10932
|
(data.lastName || '')) || '';
|
|
10947
10933
|
}
|
|
10948
10934
|
|
|
10949
|
-
const uuidv4 = uuidv4Imported;
|
|
10935
|
+
const uuidv4$1 = uuidv4Imported;
|
|
10950
10936
|
const _global = typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : {});
|
|
10951
10937
|
const NativeWebSocket = _global.WebSocket || _global.MozWebSocket;
|
|
10952
10938
|
/**
|
|
@@ -10990,7 +10976,7 @@ function createTrackerLink(opts) {
|
|
|
10990
10976
|
// Skip if not tracked
|
|
10991
10977
|
if (!context || !context.tracked)
|
|
10992
10978
|
return forward(operation);
|
|
10993
|
-
const id = context.serializationKey || uuidv4();
|
|
10979
|
+
const id = context.serializationKey || uuidv4$1();
|
|
10994
10980
|
console.debug(`[apollo-tracker-link] Watching tracked query {${operation.operationName}#${id}}`);
|
|
10995
10981
|
// Clean context, before calling JSON.stringify (remove unused attributes)
|
|
10996
10982
|
const cleanContext = Object.assign(Object.assign({}, context), { optimisticResponse: null, cache: null });
|
|
@@ -11698,7 +11684,7 @@ class GraphqlService {
|
|
|
11698
11684
|
(err.networkError && ((err.networkError.error && this.toAppError(err.networkError.error))
|
|
11699
11685
|
|| this.toAppError(err.networkError)
|
|
11700
11686
|
|| (err.networkError.error && this.createAppErrorByCode(err.networkError.error.status))
|
|
11701
|
-
|| this.createAppErrorByCode(ErrorCodes
|
|
11687
|
+
|| this.createAppErrorByCode(ErrorCodes.UNKNOWN_NETWORK_ERROR)))
|
|
11702
11688
|
// If graphQL: try to convert the first error found
|
|
11703
11689
|
|| (err.graphQLErrors && err.graphQLErrors.length && this.toAppError(err.graphQLErrors[0]))
|
|
11704
11690
|
|| this.toAppError(err)
|
|
@@ -11706,7 +11692,7 @@ class GraphqlService {
|
|
|
11706
11692
|
|| (err.graphQLErrors && err.graphQLErrors[0])
|
|
11707
11693
|
|| err;
|
|
11708
11694
|
console.error('[graphql] ' + (error && error.message || error), error.stack || '');
|
|
11709
|
-
if (error && error.code === ErrorCodes
|
|
11695
|
+
if (error && error.code === ErrorCodes.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
|
|
11710
11696
|
console.error('[graphql] original error: ' + err.networkError.message);
|
|
11711
11697
|
this.onNetworkError.next(error);
|
|
11712
11698
|
}
|
|
@@ -11742,7 +11728,7 @@ class GraphqlService {
|
|
|
11742
11728
|
return 'ERROR.UNAUTHORIZED';
|
|
11743
11729
|
case ServerErrorCodes.FORBIDDEN:
|
|
11744
11730
|
return 'ERROR.FORBIDDEN';
|
|
11745
|
-
case ErrorCodes
|
|
11731
|
+
case ErrorCodes.UNKNOWN_NETWORK_ERROR:
|
|
11746
11732
|
return 'ERROR.UNKNOWN_NETWORK_ERROR';
|
|
11747
11733
|
case ServerErrorCodes.BAD_UPDATE_DATE:
|
|
11748
11734
|
return 'ERROR.BAD_UPDATE_DATE';
|
|
@@ -11779,7 +11765,7 @@ class GraphqlService {
|
|
|
11779
11765
|
});
|
|
11780
11766
|
}
|
|
11781
11767
|
}
|
|
11782
|
-
GraphqlService.ɵprov =
|
|
11768
|
+
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" });
|
|
11783
11769
|
GraphqlService.decorators = [
|
|
11784
11770
|
{ type: Injectable, args: [{
|
|
11785
11771
|
providedIn: 'root'
|
|
@@ -11796,7 +11782,7 @@ GraphqlService.ctorParameters = () => [
|
|
|
11796
11782
|
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_GRAPHQL_TYPE_POLICIES,] }] }
|
|
11797
11783
|
];
|
|
11798
11784
|
|
|
11799
|
-
const sha256 = require('hash.js/lib/hash/sha/256');
|
|
11785
|
+
const sha256$1 = require('hash.js/lib/hash/sha/256');
|
|
11800
11786
|
class BaseGraphqlServiceOptions {
|
|
11801
11787
|
}
|
|
11802
11788
|
// eslint-disable-next-line @angular-eslint/directive-class-suffix
|
|
@@ -11946,8 +11932,8 @@ class BaseGraphqlService {
|
|
|
11946
11932
|
}
|
|
11947
11933
|
/* -- protected methods -- */
|
|
11948
11934
|
computeMutableWatchQueryId(opts) {
|
|
11949
|
-
const queryName = opts.queryName || sha256().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
|
|
11950
|
-
const variablesKey = opts.variables && sha256().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
|
|
11935
|
+
const queryName = opts.queryName || sha256$1().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
|
|
11936
|
+
const variablesKey = opts.variables && sha256$1().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
|
|
11951
11937
|
return [queryName, opts.arrayFieldName, variablesKey].join('|');
|
|
11952
11938
|
}
|
|
11953
11939
|
findMutableWatchQueries(opts) {
|
|
@@ -12010,7 +11996,7 @@ const DEFAULT_AVATAR_IMAGE = 'assets/img/person.png';
|
|
|
12010
11996
|
/* ------------------------------------
|
|
12011
11997
|
* GraphQL queries
|
|
12012
11998
|
* ------------------------------------*/
|
|
12013
|
-
const Fragments
|
|
11999
|
+
const Fragments = {
|
|
12014
12000
|
account: gql `
|
|
12015
12001
|
fragment AccountFragment on AccountVO {
|
|
12016
12002
|
id
|
|
@@ -12043,13 +12029,13 @@ const Fragments$1 = {
|
|
|
12043
12029
|
`
|
|
12044
12030
|
};
|
|
12045
12031
|
// Load account query
|
|
12046
|
-
const LoadQuery
|
|
12032
|
+
const LoadQuery = gql `
|
|
12047
12033
|
query Account {
|
|
12048
12034
|
data: account {
|
|
12049
12035
|
...AccountFragment
|
|
12050
12036
|
}
|
|
12051
12037
|
}
|
|
12052
|
-
${Fragments
|
|
12038
|
+
${Fragments.account}
|
|
12053
12039
|
`;
|
|
12054
12040
|
// Check email query
|
|
12055
12041
|
const IsEmailExistsQuery = gql `
|
|
@@ -12058,13 +12044,13 @@ const IsEmailExistsQuery = gql `
|
|
|
12058
12044
|
}
|
|
12059
12045
|
`;
|
|
12060
12046
|
// Save (create or update) account mutation
|
|
12061
|
-
const SaveMutation
|
|
12047
|
+
const SaveMutation = gql `
|
|
12062
12048
|
mutation SaveAccount($data:AccountVOInput){
|
|
12063
12049
|
data: saveAccount(account: $data){
|
|
12064
12050
|
...AccountFragment
|
|
12065
12051
|
}
|
|
12066
12052
|
}
|
|
12067
|
-
${Fragments
|
|
12053
|
+
${Fragments.account}
|
|
12068
12054
|
`;
|
|
12069
12055
|
// Create account mutation
|
|
12070
12056
|
const CreateMutation = gql `
|
|
@@ -12073,7 +12059,7 @@ const CreateMutation = gql `
|
|
|
12073
12059
|
...AccountFragment
|
|
12074
12060
|
}
|
|
12075
12061
|
}
|
|
12076
|
-
${Fragments
|
|
12062
|
+
${Fragments.account}
|
|
12077
12063
|
`;
|
|
12078
12064
|
// Sent confirmation email
|
|
12079
12065
|
const SendConfirmEmailMutation = gql `
|
|
@@ -12421,7 +12407,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12421
12407
|
catch (error) {
|
|
12422
12408
|
console.error(error);
|
|
12423
12409
|
this.resetData();
|
|
12424
|
-
throw { code: ErrorCodes
|
|
12410
|
+
throw { code: ErrorCodes.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
|
|
12425
12411
|
}
|
|
12426
12412
|
// Store pubkey+keypair
|
|
12427
12413
|
this.data.pubkey = Base58.encode(keypair.publicKey);
|
|
@@ -12455,7 +12441,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12455
12441
|
}
|
|
12456
12442
|
catch (err) {
|
|
12457
12443
|
// If account not found, check if email is valid
|
|
12458
|
-
if (err && +(err.code) === ErrorCodes
|
|
12444
|
+
if (err && +(err.code) === ErrorCodes.LOAD_ACCOUNT_ERROR) {
|
|
12459
12445
|
// Check email exists
|
|
12460
12446
|
if (data.username.indexOf('@') !== -1) {
|
|
12461
12447
|
let isEmailExists;
|
|
@@ -12467,11 +12453,11 @@ class AccountService extends BaseGraphqlService {
|
|
|
12467
12453
|
}
|
|
12468
12454
|
// Email not exists (no account)
|
|
12469
12455
|
if (!isEmailExists) {
|
|
12470
|
-
throw { code: ErrorCodes
|
|
12456
|
+
throw { code: ErrorCodes.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
|
|
12471
12457
|
}
|
|
12472
12458
|
}
|
|
12473
12459
|
// Email exists, so error = 'bad password'
|
|
12474
|
-
throw { code: ErrorCodes
|
|
12460
|
+
throw { code: ErrorCodes.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
|
|
12475
12461
|
}
|
|
12476
12462
|
throw err; // resend the first error
|
|
12477
12463
|
}
|
|
@@ -12596,8 +12582,8 @@ class AccountService extends BaseGraphqlService {
|
|
|
12596
12582
|
// Load remotely
|
|
12597
12583
|
else {
|
|
12598
12584
|
const { data } = yield this.graphql.query({
|
|
12599
|
-
query: LoadQuery
|
|
12600
|
-
error: { code: ErrorCodes
|
|
12585
|
+
query: LoadQuery,
|
|
12586
|
+
error: { code: ErrorCodes.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
|
|
12601
12587
|
fetchPolicy: opts && opts.fetchPolicy || 'no-cache' || undefined
|
|
12602
12588
|
});
|
|
12603
12589
|
json = data;
|
|
@@ -12624,7 +12610,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12624
12610
|
return __awaiter(this, void 0, void 0, function* () {
|
|
12625
12611
|
const isEmailExists = yield this.isEmailExists(email);
|
|
12626
12612
|
if (isEmailExists) {
|
|
12627
|
-
throw { code: ErrorCodes
|
|
12613
|
+
throw { code: ErrorCodes.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
|
|
12628
12614
|
}
|
|
12629
12615
|
});
|
|
12630
12616
|
}
|
|
@@ -12660,7 +12646,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12660
12646
|
locale
|
|
12661
12647
|
},
|
|
12662
12648
|
error: {
|
|
12663
|
-
code: ErrorCodes
|
|
12649
|
+
code: ErrorCodes.SENT_CONFIRMATION_EMAIL_FAILED,
|
|
12664
12650
|
message: 'ERROR.SENT_ACCOUNT_CONFIRMATION_EMAIL_FAILED'
|
|
12665
12651
|
}
|
|
12666
12652
|
});
|
|
@@ -12676,7 +12662,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12676
12662
|
code
|
|
12677
12663
|
},
|
|
12678
12664
|
error: {
|
|
12679
|
-
code: ErrorCodes
|
|
12665
|
+
code: ErrorCodes.CONFIRM_EMAIL_FAILED,
|
|
12680
12666
|
message: 'ERROR.CONFIRM_ACCOUNT_EMAIL_FAILED'
|
|
12681
12667
|
}
|
|
12682
12668
|
});
|
|
@@ -12694,7 +12680,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12694
12680
|
interval: 10
|
|
12695
12681
|
},
|
|
12696
12682
|
error: {
|
|
12697
|
-
code: ErrorCodes
|
|
12683
|
+
code: ErrorCodes.SUBSCRIBE_ACCOUNT_ERROR,
|
|
12698
12684
|
message: 'ERROR.ACCOUNT.SUBSCRIBE_ACCOUNT_ERROR'
|
|
12699
12685
|
}
|
|
12700
12686
|
}).subscribe({
|
|
@@ -12796,7 +12782,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12796
12782
|
throw error;
|
|
12797
12783
|
console.error(error);
|
|
12798
12784
|
throw {
|
|
12799
|
-
code: ErrorCodes
|
|
12785
|
+
code: ErrorCodes.LOAD_ACCOUNT_ERROR,
|
|
12800
12786
|
message: 'ERROR.LOAD_ACCOUNT_ERROR'
|
|
12801
12787
|
};
|
|
12802
12788
|
}
|
|
@@ -12941,7 +12927,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12941
12927
|
if (!isNew) {
|
|
12942
12928
|
const existingAccount = yield this.load({ fetchPolicy: 'network-only' });
|
|
12943
12929
|
if (!existingAccount || !existingAccount.updateDate) {
|
|
12944
|
-
throw { code: ErrorCodes
|
|
12930
|
+
throw { code: ErrorCodes.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
|
|
12945
12931
|
}
|
|
12946
12932
|
this.copyIdAndUpdateDate(existingAccount, account);
|
|
12947
12933
|
}
|
|
@@ -12950,10 +12936,10 @@ class AccountService extends BaseGraphqlService {
|
|
|
12950
12936
|
delete json.profiles;
|
|
12951
12937
|
// Execute mutation
|
|
12952
12938
|
const { data } = yield this.graphql.mutate({
|
|
12953
|
-
mutation: isNew ? CreateMutation : SaveMutation
|
|
12939
|
+
mutation: isNew ? CreateMutation : SaveMutation,
|
|
12954
12940
|
variables: { data: json },
|
|
12955
12941
|
error: {
|
|
12956
|
-
code: ErrorCodes
|
|
12942
|
+
code: ErrorCodes.SAVE_ACCOUNT_ERROR,
|
|
12957
12943
|
message: 'ERROR.SAVE_ACCOUNT_ERROR'
|
|
12958
12944
|
}
|
|
12959
12945
|
});
|
|
@@ -12973,7 +12959,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12973
12959
|
if (counter > 4) {
|
|
12974
12960
|
if (this._debug)
|
|
12975
12961
|
console.debug(`[account] Failed to authentication on pod (after ${counter} attempts)`);
|
|
12976
|
-
throw { code: ErrorCodes
|
|
12962
|
+
throw { code: ErrorCodes.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
|
|
12977
12963
|
}
|
|
12978
12964
|
// Check if valid
|
|
12979
12965
|
if (token) {
|
|
@@ -12983,7 +12969,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12983
12969
|
token
|
|
12984
12970
|
},
|
|
12985
12971
|
error: {
|
|
12986
|
-
code: ErrorCodes
|
|
12972
|
+
code: ErrorCodes.UNAUTHORIZED,
|
|
12987
12973
|
message: 'ERROR.UNAUTHORIZED'
|
|
12988
12974
|
},
|
|
12989
12975
|
fetchPolicy: 'no-cache'
|
|
@@ -12999,7 +12985,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
12999
12985
|
}
|
|
13000
12986
|
// Generate a new token
|
|
13001
12987
|
const challengeError = {
|
|
13002
|
-
code: ErrorCodes
|
|
12988
|
+
code: ErrorCodes.AUTH_CHALLENGE_ERROR,
|
|
13003
12989
|
message: 'ERROR.AUTH_CHALLENGE_ERROR'
|
|
13004
12990
|
};
|
|
13005
12991
|
const data = yield this.graphql.query({
|
|
@@ -13033,7 +13019,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
13033
13019
|
target.settings.updateDate = source.settings && source.settings.updateDate || target.settings.updateDate;
|
|
13034
13020
|
}
|
|
13035
13021
|
}
|
|
13036
|
-
AccountService.ɵprov =
|
|
13022
|
+
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" });
|
|
13037
13023
|
AccountService.decorators = [
|
|
13038
13024
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
13039
13025
|
];
|
|
@@ -13293,7 +13279,7 @@ const CONFIGURATION_STORAGE_KEY = 'configuration';
|
|
|
13293
13279
|
/* ------------------------------------
|
|
13294
13280
|
* GraphQL queries
|
|
13295
13281
|
* ------------------------------------*/
|
|
13296
|
-
const Fragments = {
|
|
13282
|
+
const Fragments$1 = {
|
|
13297
13283
|
config: gql `
|
|
13298
13284
|
fragment ConfigFragment on ConfigurationVO {
|
|
13299
13285
|
id
|
|
@@ -13320,22 +13306,22 @@ const Fragments = {
|
|
|
13320
13306
|
}
|
|
13321
13307
|
`
|
|
13322
13308
|
};
|
|
13323
|
-
const LoadQuery = gql `
|
|
13309
|
+
const LoadQuery$1 = gql `
|
|
13324
13310
|
query Configuration{
|
|
13325
13311
|
data: configuration{
|
|
13326
13312
|
...ConfigFragment
|
|
13327
13313
|
}
|
|
13328
13314
|
}
|
|
13329
|
-
${Fragments.config}
|
|
13315
|
+
${Fragments$1.config}
|
|
13330
13316
|
`;
|
|
13331
13317
|
// Save (create or update) account mutation
|
|
13332
|
-
const SaveMutation = gql `
|
|
13318
|
+
const SaveMutation$1 = gql `
|
|
13333
13319
|
mutation SaveConfiguration($data: ConfigurationVOInput){
|
|
13334
13320
|
data: saveConfiguration(config: $data){
|
|
13335
13321
|
...ConfigFragment
|
|
13336
13322
|
}
|
|
13337
13323
|
}
|
|
13338
|
-
${Fragments.config}
|
|
13324
|
+
${Fragments$1.config}
|
|
13339
13325
|
`;
|
|
13340
13326
|
const ClearCache = gql `
|
|
13341
13327
|
query ClearCache($name: String) {
|
|
@@ -13423,12 +13409,12 @@ class ConfigService extends BaseGraphqlService {
|
|
|
13423
13409
|
return __awaiter(this, void 0, void 0, function* () {
|
|
13424
13410
|
const now = Date.now();
|
|
13425
13411
|
console.debug('[config] Loading Pod configuration...');
|
|
13426
|
-
const query = opts && opts.query || LoadQuery;
|
|
13412
|
+
const query = opts && opts.query || LoadQuery$1;
|
|
13427
13413
|
const variables = opts && opts.variables || undefined;
|
|
13428
13414
|
const res = yield this.graphql.query({
|
|
13429
13415
|
query,
|
|
13430
13416
|
variables,
|
|
13431
|
-
error: { code: ErrorCodes
|
|
13417
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
13432
13418
|
fetchPolicy: opts && opts.fetchPolicy || undefined /*default*/
|
|
13433
13419
|
});
|
|
13434
13420
|
const data = res && res.data ? Configuration.fromObject(res.data) : undefined;
|
|
@@ -13453,12 +13439,12 @@ class ConfigService extends BaseGraphqlService {
|
|
|
13453
13439
|
const json = config.asObject();
|
|
13454
13440
|
// Execute mutation
|
|
13455
13441
|
const res = yield this.graphql.mutate({
|
|
13456
|
-
mutation: SaveMutation,
|
|
13442
|
+
mutation: SaveMutation$1,
|
|
13457
13443
|
variables: {
|
|
13458
13444
|
data: json
|
|
13459
13445
|
},
|
|
13460
13446
|
error: {
|
|
13461
|
-
code: ErrorCodes
|
|
13447
|
+
code: ErrorCodes.SAVE_CONFIG_ERROR,
|
|
13462
13448
|
message: 'ERROR.SAVE_CONFIG_ERROR'
|
|
13463
13449
|
}
|
|
13464
13450
|
});
|
|
@@ -13484,7 +13470,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
13484
13470
|
const res = yield this.graphql.query({
|
|
13485
13471
|
query: CacheStatistics,
|
|
13486
13472
|
variables: null,
|
|
13487
|
-
error: { code: ErrorCodes
|
|
13473
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
13488
13474
|
fetchPolicy: 'network-only'
|
|
13489
13475
|
});
|
|
13490
13476
|
const data = res && res.cacheStatistics || undefined;
|
|
@@ -13500,7 +13486,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
13500
13486
|
const res = yield this.graphql.query({
|
|
13501
13487
|
query: ClearCache,
|
|
13502
13488
|
variables,
|
|
13503
|
-
error: { code: ErrorCodes
|
|
13489
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
13504
13490
|
fetchPolicy: 'network-only'
|
|
13505
13491
|
});
|
|
13506
13492
|
const data = res && res.clearCache || undefined;
|
|
@@ -13659,7 +13645,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
13659
13645
|
});
|
|
13660
13646
|
}
|
|
13661
13647
|
}
|
|
13662
|
-
ConfigService.ɵprov =
|
|
13648
|
+
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" });
|
|
13663
13649
|
ConfigService.decorators = [
|
|
13664
13650
|
{ type: Injectable, args: [{
|
|
13665
13651
|
providedIn: 'root',
|
|
@@ -13678,7 +13664,7 @@ ConfigService.ctorParameters = () => [
|
|
|
13678
13664
|
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_CONFIG_OPTIONS,] }] }
|
|
13679
13665
|
];
|
|
13680
13666
|
|
|
13681
|
-
const moment$
|
|
13667
|
+
const moment$4 = momentImported;
|
|
13682
13668
|
class PlatformService {
|
|
13683
13669
|
constructor(platform, cdkPlatform, toastController, translate, dateAdapter, entitiesStorage, settings, networkService, accountService, configService, cache, storage, audioProvider, environment, statusBar, keyboard, splashScreen, browser) {
|
|
13684
13670
|
this.platform = platform;
|
|
@@ -13843,16 +13829,16 @@ class PlatformService {
|
|
|
13843
13829
|
}
|
|
13844
13830
|
// config moment lib
|
|
13845
13831
|
try {
|
|
13846
|
-
moment$
|
|
13832
|
+
moment$4.locale(event.lang);
|
|
13847
13833
|
console.debug('[platform] Use locale {' + event.lang + '}');
|
|
13848
13834
|
}
|
|
13849
13835
|
// If error, fallback to en
|
|
13850
13836
|
catch (err) {
|
|
13851
|
-
moment$
|
|
13837
|
+
moment$4.locale('en');
|
|
13852
13838
|
console.warn('[platform] Unknown local for moment lib. Using default [en]');
|
|
13853
13839
|
}
|
|
13854
13840
|
// Config date adapter
|
|
13855
|
-
this.dateAdapter.setLocale(moment$
|
|
13841
|
+
this.dateAdapter.setLocale(moment$4.locale());
|
|
13856
13842
|
}
|
|
13857
13843
|
});
|
|
13858
13844
|
this.settings.onChange.subscribe(data => {
|
|
@@ -13989,7 +13975,7 @@ class PlatformService {
|
|
|
13989
13975
|
});
|
|
13990
13976
|
}
|
|
13991
13977
|
}
|
|
13992
|
-
PlatformService.ɵprov =
|
|
13978
|
+
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" });
|
|
13993
13979
|
PlatformService.decorators = [
|
|
13994
13980
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
13995
13981
|
];
|
|
@@ -14004,14 +13990,14 @@ PlatformService.ctorParameters = () => [
|
|
|
14004
13990
|
{ type: NetworkService },
|
|
14005
13991
|
{ type: AccountService },
|
|
14006
13992
|
{ type: ConfigService },
|
|
14007
|
-
{ type: CacheService },
|
|
13993
|
+
{ type: CacheService$1 },
|
|
14008
13994
|
{ type: Storage },
|
|
14009
13995
|
{ type: AudioProvider },
|
|
14010
13996
|
{ type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
|
|
14011
|
-
{ type: StatusBar, decorators: [{ type: Optional }] },
|
|
13997
|
+
{ type: StatusBar$1, decorators: [{ type: Optional }] },
|
|
14012
13998
|
{ type: Keyboard, decorators: [{ type: Optional }] },
|
|
14013
|
-
{ type: SplashScreen, decorators: [{ type: Optional }] },
|
|
14014
|
-
{ type: InAppBrowser, decorators: [{ type: Optional }] }
|
|
13999
|
+
{ type: SplashScreen$1, decorators: [{ type: Optional }] },
|
|
14000
|
+
{ type: InAppBrowser$1, decorators: [{ type: Optional }] }
|
|
14015
14001
|
];
|
|
14016
14002
|
|
|
14017
14003
|
class AppHelpModal {
|
|
@@ -14075,7 +14061,7 @@ class MatStepperI18n extends MatStepperIntl {
|
|
|
14075
14061
|
this.optionalLabel = this.translate.instant('COMMON.OPTIONAL');
|
|
14076
14062
|
}
|
|
14077
14063
|
}
|
|
14078
|
-
MatStepperI18n.ɵprov =
|
|
14064
|
+
MatStepperI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(ɵɵinject(TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
|
|
14079
14065
|
MatStepperI18n.decorators = [
|
|
14080
14066
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
14081
14067
|
];
|
|
@@ -15067,7 +15053,7 @@ function state2side(state) {
|
|
|
15067
15053
|
return 1;
|
|
15068
15054
|
}
|
|
15069
15055
|
}
|
|
15070
|
-
const ɵ0$
|
|
15056
|
+
const ɵ0$9 = (defaultStateSize) => [
|
|
15071
15057
|
Math.round((rgbArrayMap.red[0] - 50) / defaultStateSize),
|
|
15072
15058
|
Math.round((255 - rgbArrayMap.red[1]) / defaultStateSize),
|
|
15073
15059
|
Math.round((255 - rgbArrayMap.red[2]) / defaultStateSize)
|
|
@@ -15075,7 +15061,7 @@ const ɵ0$1 = (defaultStateSize) => [
|
|
|
15075
15061
|
const SCALE_OPTIONS_DEFAULT = {
|
|
15076
15062
|
startColor: rgbArrayMap.red,
|
|
15077
15063
|
startStates: [0, 2, 3],
|
|
15078
|
-
startStepsFn: ɵ0$
|
|
15064
|
+
startStepsFn: ɵ0$9
|
|
15079
15065
|
};
|
|
15080
15066
|
/**
|
|
15081
15067
|
* Internal function, that create a colors scale, using iteration
|
|
@@ -15167,21 +15153,21 @@ function linearColorGradient(count, options) {
|
|
|
15167
15153
|
return result;
|
|
15168
15154
|
}
|
|
15169
15155
|
|
|
15170
|
-
class EntityTestClass
|
|
15156
|
+
class EntityTestClass {
|
|
15171
15157
|
}
|
|
15172
|
-
const FAKE_ENTITIES
|
|
15158
|
+
const FAKE_ENTITIES = [
|
|
15173
15159
|
{ id: 1, label: 'AAA', name: 'Item A', description: 'Very long description A', comments: 'Very very long comments... again for A' },
|
|
15174
15160
|
{ id: 2, label: 'BBB', name: 'Item B', description: 'Very long description B', comments: 'Very very long comments... again for B' },
|
|
15175
15161
|
{ id: 3, label: 'CCC', name: 'Item C', description: 'Very long description C', comments: 'Very very long comments... again for C' }
|
|
15176
15162
|
];
|
|
15177
|
-
function deepCopy
|
|
15163
|
+
function deepCopy(values, size) {
|
|
15178
15164
|
if (isNil(size)) {
|
|
15179
|
-
return (values || FAKE_ENTITIES
|
|
15165
|
+
return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
|
|
15180
15166
|
}
|
|
15181
15167
|
let result = [];
|
|
15182
15168
|
let i = 1;
|
|
15183
15169
|
while (result.length < size) {
|
|
15184
|
-
result = result.concat((values || FAKE_ENTITIES
|
|
15170
|
+
result = result.concat((values || FAKE_ENTITIES).map(entity => {
|
|
15185
15171
|
const name = entity.name + ' #' + i;
|
|
15186
15172
|
return Object.assign(Object.assign({}, entity), { id: i++, name });
|
|
15187
15173
|
}));
|
|
@@ -15191,7 +15177,7 @@ function deepCopy$1(values, size) {
|
|
|
15191
15177
|
class AutocompleteTestPage {
|
|
15192
15178
|
constructor(formBuilder) {
|
|
15193
15179
|
this.formBuilder = formBuilder;
|
|
15194
|
-
this._items = deepCopy
|
|
15180
|
+
this._items = deepCopy(FAKE_ENTITIES, 100);
|
|
15195
15181
|
this.$items = new BehaviorSubject(undefined);
|
|
15196
15182
|
this.autocompleteFields = new MatAutocompleteConfigHolder();
|
|
15197
15183
|
this.memoryHide = false;
|
|
@@ -15235,7 +15221,7 @@ class AutocompleteTestPage {
|
|
|
15235
15221
|
});
|
|
15236
15222
|
// From items
|
|
15237
15223
|
this.autocompleteFields.add('entity-items-large', {
|
|
15238
|
-
items: FAKE_ENTITIES
|
|
15224
|
+
items: FAKE_ENTITIES.slice(),
|
|
15239
15225
|
attributes: ['label', 'name', 'description', 'comments'],
|
|
15240
15226
|
displayWith: this.entityToString
|
|
15241
15227
|
});
|
|
@@ -15245,12 +15231,12 @@ class AutocompleteTestPage {
|
|
|
15245
15231
|
loadData() {
|
|
15246
15232
|
return __awaiter(this, void 0, void 0, function* () {
|
|
15247
15233
|
const data = {
|
|
15248
|
-
entity: deepCopy
|
|
15234
|
+
entity: deepCopy(FAKE_ENTITIES)[0],
|
|
15249
15235
|
// This item is NOT in the items list => i should be displayed anyway
|
|
15250
15236
|
missingEntity: {
|
|
15251
15237
|
id: -1, label: '??', name: 'Missing item'
|
|
15252
15238
|
},
|
|
15253
|
-
disableEntity: deepCopy
|
|
15239
|
+
disableEntity: deepCopy(FAKE_ENTITIES)[2]
|
|
15254
15240
|
};
|
|
15255
15241
|
this.form.setValue(data);
|
|
15256
15242
|
// Load observables
|
|
@@ -15423,13 +15409,13 @@ MaterialTestingPage.ctorParameters = () => [
|
|
|
15423
15409
|
{ type: Array, decorators: [{ type: Optional }, { type: Inject, args: [APP_TESTING_PAGES,] }] }
|
|
15424
15410
|
];
|
|
15425
15411
|
|
|
15426
|
-
const moment$
|
|
15412
|
+
const moment$5 = momentImported;
|
|
15427
15413
|
class SwipeTestPage {
|
|
15428
15414
|
constructor(formBuilder, dateFormatPipe) {
|
|
15429
15415
|
this.formBuilder = formBuilder;
|
|
15430
15416
|
this.dateFormatPipe = dateFormatPipe;
|
|
15431
15417
|
this.$dates = new BehaviorSubject(undefined);
|
|
15432
|
-
this._today = moment$
|
|
15418
|
+
this._today = moment$5().startOf('day');
|
|
15433
15419
|
this.form = formBuilder.group({
|
|
15434
15420
|
empty: [null, Validators.required],
|
|
15435
15421
|
date: [null, Validators.compose([Validators.required, SharedValidators.validDate])],
|
|
@@ -15442,7 +15428,7 @@ class SwipeTestPage {
|
|
|
15442
15428
|
ngOnInit() {
|
|
15443
15429
|
const dates = [];
|
|
15444
15430
|
for (let d = 0; d < 7; d++) {
|
|
15445
|
-
dates[d] = moment$
|
|
15431
|
+
dates[d] = moment$5(this._today).add(d - 3, 'day');
|
|
15446
15432
|
}
|
|
15447
15433
|
this.$dates.next(dates);
|
|
15448
15434
|
this.loadData();
|
|
@@ -16059,7 +16045,7 @@ class FormArrayHelper {
|
|
|
16059
16045
|
}
|
|
16060
16046
|
}
|
|
16061
16047
|
|
|
16062
|
-
const moment = momentImported;
|
|
16048
|
+
const moment$6 = momentImported;
|
|
16063
16049
|
class DateTimeTestPage {
|
|
16064
16050
|
constructor(platform, formBuilder, cd) {
|
|
16065
16051
|
this.platform = platform;
|
|
@@ -16090,7 +16076,7 @@ class DateTimeTestPage {
|
|
|
16090
16076
|
// Load the form with data
|
|
16091
16077
|
loadData() {
|
|
16092
16078
|
return __awaiter(this, void 0, void 0, function* () {
|
|
16093
|
-
const now = moment();
|
|
16079
|
+
const now = moment$6();
|
|
16094
16080
|
const data = {
|
|
16095
16081
|
empty: toDateISOString(now.clone().add(2, 'hours')),
|
|
16096
16082
|
enable: toDateISOString(now),
|
|
@@ -16150,20 +16136,20 @@ DateTimeTestPage.ctorParameters = () => [
|
|
|
16150
16136
|
{ type: ChangeDetectorRef }
|
|
16151
16137
|
];
|
|
16152
16138
|
|
|
16153
|
-
class EntityTestClass {
|
|
16139
|
+
class EntityTestClass$1 {
|
|
16154
16140
|
}
|
|
16155
|
-
const FAKE_ENTITIES = [
|
|
16141
|
+
const FAKE_ENTITIES$1 = [
|
|
16156
16142
|
{ id: 1, label: 'AAA', name: 'Item A' },
|
|
16157
16143
|
{ id: 2, label: 'BBB', name: 'Item B' },
|
|
16158
16144
|
{ id: 3, label: 'CCC', name: 'Item C' }
|
|
16159
16145
|
];
|
|
16160
|
-
function deepCopy(values) {
|
|
16161
|
-
return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
|
|
16146
|
+
function deepCopy$1(values) {
|
|
16147
|
+
return (values || FAKE_ENTITIES$1).map(entity => Object.assign({}, entity));
|
|
16162
16148
|
}
|
|
16163
16149
|
class ChipsTestPage {
|
|
16164
16150
|
constructor(formBuilder) {
|
|
16165
16151
|
this.formBuilder = formBuilder;
|
|
16166
|
-
this._items = deepCopy(FAKE_ENTITIES);
|
|
16152
|
+
this._items = deepCopy$1(FAKE_ENTITIES$1);
|
|
16167
16153
|
this._$items = new BehaviorSubject(undefined);
|
|
16168
16154
|
this.autocompleteFields = new MatAutocompleteConfigHolder();
|
|
16169
16155
|
this.form = formBuilder.group({
|
|
@@ -16182,7 +16168,7 @@ class ChipsTestPage {
|
|
|
16182
16168
|
});
|
|
16183
16169
|
// From items
|
|
16184
16170
|
this.autocompleteFields.add('entity-items', {
|
|
16185
|
-
items: FAKE_ENTITIES.slice(),
|
|
16171
|
+
items: FAKE_ENTITIES$1.slice(),
|
|
16186
16172
|
attributes: ['label', 'name'],
|
|
16187
16173
|
displayWith: this.entityToString
|
|
16188
16174
|
});
|
|
@@ -16203,15 +16189,15 @@ class ChipsTestPage {
|
|
|
16203
16189
|
const data = {
|
|
16204
16190
|
entity: [],
|
|
16205
16191
|
// THis item is NOT in the items list => i should be displayed anyway
|
|
16206
|
-
entityInitial: FAKE_ENTITIES.slice(1, 2),
|
|
16207
|
-
disableEntity: FAKE_ENTITIES.slice(1, 2)
|
|
16192
|
+
entityInitial: FAKE_ENTITIES$1.slice(1, 2),
|
|
16193
|
+
disableEntity: FAKE_ENTITIES$1.slice(1, 2)
|
|
16208
16194
|
};
|
|
16209
16195
|
this.form.setValue(data);
|
|
16210
16196
|
});
|
|
16211
16197
|
}
|
|
16212
16198
|
loadItems() {
|
|
16213
16199
|
return __awaiter(this, void 0, void 0, function* () {
|
|
16214
|
-
this._$items.next(deepCopy(FAKE_ENTITIES));
|
|
16200
|
+
this._$items.next(deepCopy$1(FAKE_ENTITIES$1));
|
|
16215
16201
|
});
|
|
16216
16202
|
}
|
|
16217
16203
|
entityToString(item) {
|
|
@@ -16243,7 +16229,7 @@ ChipsTestPage.ctorParameters = () => [
|
|
|
16243
16229
|
{ type: FormBuilder }
|
|
16244
16230
|
];
|
|
16245
16231
|
|
|
16246
|
-
const routes
|
|
16232
|
+
const routes = [
|
|
16247
16233
|
{
|
|
16248
16234
|
path: '',
|
|
16249
16235
|
pathMatch: 'full',
|
|
@@ -16290,7 +16276,7 @@ MaterialTestingModule.decorators = [
|
|
|
16290
16276
|
ReactiveFormsModule,
|
|
16291
16277
|
SharedMaterialModule,
|
|
16292
16278
|
TranslateModule.forChild(),
|
|
16293
|
-
RouterModule.forChild(routes
|
|
16279
|
+
RouterModule.forChild(routes)
|
|
16294
16280
|
],
|
|
16295
16281
|
declarations: [
|
|
16296
16282
|
MaterialTestingPage,
|
|
@@ -17233,7 +17219,7 @@ class UserSettingsValidatorService extends AppValidatorService {
|
|
|
17233
17219
|
});
|
|
17234
17220
|
}
|
|
17235
17221
|
}
|
|
17236
|
-
UserSettingsValidatorService.ɵprov =
|
|
17222
|
+
UserSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(ɵɵinject(FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
|
|
17237
17223
|
UserSettingsValidatorService.decorators = [
|
|
17238
17224
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
17239
17225
|
];
|
|
@@ -17277,7 +17263,7 @@ class AccountValidatorService extends AppValidatorService {
|
|
|
17277
17263
|
return validatorFns.length ? Validators.compose(validatorFns) : validatorFns.length === 1 ? validatorFns[0] : undefined;
|
|
17278
17264
|
}
|
|
17279
17265
|
}
|
|
17280
|
-
AccountValidatorService.ɵprov =
|
|
17266
|
+
AccountValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
|
|
17281
17267
|
AccountValidatorService.decorators = [
|
|
17282
17268
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
17283
17269
|
];
|
|
@@ -17811,7 +17797,7 @@ class LocalSettingsValidatorService extends AppValidatorService {
|
|
|
17811
17797
|
});
|
|
17812
17798
|
}
|
|
17813
17799
|
}
|
|
17814
|
-
LocalSettingsValidatorService.ɵprov =
|
|
17800
|
+
LocalSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(ɵɵinject(FormBuilder), ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
|
|
17815
17801
|
LocalSettingsValidatorService.decorators = [
|
|
17816
17802
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
17817
17803
|
];
|
|
@@ -18431,7 +18417,7 @@ class IsOnFieldModePipe {
|
|
|
18431
18417
|
return value === 'FIELD';
|
|
18432
18418
|
}
|
|
18433
18419
|
}
|
|
18434
|
-
IsOnFieldModePipe.ɵprov =
|
|
18420
|
+
IsOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
|
|
18435
18421
|
IsOnFieldModePipe.decorators = [
|
|
18436
18422
|
{ type: Pipe, args: [{
|
|
18437
18423
|
name: 'isOnField'
|
|
@@ -18443,7 +18429,7 @@ class IsNotOnFieldModePipe {
|
|
|
18443
18429
|
return value !== 'FIELD';
|
|
18444
18430
|
}
|
|
18445
18431
|
}
|
|
18446
|
-
IsNotOnFieldModePipe.ɵprov =
|
|
18432
|
+
IsNotOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
|
|
18447
18433
|
IsNotOnFieldModePipe.decorators = [
|
|
18448
18434
|
{ type: Pipe, args: [{
|
|
18449
18435
|
name: 'isNotOnField'
|
|
@@ -18458,7 +18444,7 @@ class PersonToStringPipe {
|
|
|
18458
18444
|
return PersonUtils.personToString(value);
|
|
18459
18445
|
}
|
|
18460
18446
|
}
|
|
18461
|
-
PersonToStringPipe.ɵprov =
|
|
18447
|
+
PersonToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
|
|
18462
18448
|
PersonToStringPipe.decorators = [
|
|
18463
18449
|
{ type: Pipe, args: [{
|
|
18464
18450
|
name: 'personToString'
|
|
@@ -18675,7 +18661,7 @@ class IsLoginAccountPipe {
|
|
|
18675
18661
|
return value && value.pubkey && true;
|
|
18676
18662
|
}
|
|
18677
18663
|
}
|
|
18678
|
-
IsLoginAccountPipe.ɵprov =
|
|
18664
|
+
IsLoginAccountPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
|
|
18679
18665
|
IsLoginAccountPipe.decorators = [
|
|
18680
18666
|
{ type: Pipe, args: [{
|
|
18681
18667
|
name: 'isLogin'
|
|
@@ -18687,7 +18673,7 @@ class AccountToStringPipe {
|
|
|
18687
18673
|
return accountToString(value);
|
|
18688
18674
|
}
|
|
18689
18675
|
}
|
|
18690
|
-
AccountToStringPipe.ɵprov =
|
|
18676
|
+
AccountToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
|
|
18691
18677
|
AccountToStringPipe.decorators = [
|
|
18692
18678
|
{ type: Pipe, args: [{
|
|
18693
18679
|
name: 'accountToString'
|
|
@@ -18702,7 +18688,7 @@ class DepartmentToStringPipe {
|
|
|
18702
18688
|
return departmentToString(value);
|
|
18703
18689
|
}
|
|
18704
18690
|
}
|
|
18705
|
-
DepartmentToStringPipe.ɵprov =
|
|
18691
|
+
DepartmentToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
|
|
18706
18692
|
DepartmentToStringPipe.decorators = [
|
|
18707
18693
|
{ type: Pipe, args: [{
|
|
18708
18694
|
name: 'departmentToString'
|
|
@@ -18728,7 +18714,7 @@ class MenuService {
|
|
|
18728
18714
|
this._visibleSubject.next(value);
|
|
18729
18715
|
}
|
|
18730
18716
|
}
|
|
18731
|
-
MenuService.ɵprov =
|
|
18717
|
+
MenuService.ɵprov = ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
|
|
18732
18718
|
MenuService.decorators = [
|
|
18733
18719
|
{ type: Injectable, args: [{
|
|
18734
18720
|
providedIn: 'root'
|
|
@@ -19222,7 +19208,7 @@ class AuthGuardService {
|
|
|
19222
19208
|
}));
|
|
19223
19209
|
}
|
|
19224
19210
|
}
|
|
19225
|
-
AuthGuardService.ɵprov =
|
|
19211
|
+
AuthGuardService.ɵprov = ɵɵdefineInjectable({ factory: function AuthGuardService_Factory() { return new AuthGuardService(ɵɵinject(AccountService), ɵɵinject(ModalController), ɵɵinject(Router), ɵɵinject(ENVIRONMENT)); }, token: AuthGuardService, providedIn: "root" });
|
|
19226
19212
|
AuthGuardService.decorators = [
|
|
19227
19213
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
19228
19214
|
];
|
|
@@ -19270,7 +19256,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
19270
19256
|
query,
|
|
19271
19257
|
variables: { id },
|
|
19272
19258
|
fetchPolicy: opts && opts.fetchPolicy || undefined,
|
|
19273
|
-
error: { code: ErrorCodes
|
|
19259
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
|
|
19274
19260
|
})
|
|
19275
19261
|
.pipe(map(({ data }) => (!opts || opts.toEntity !== false)
|
|
19276
19262
|
? (data && this.fromObject(data))
|
|
@@ -19285,7 +19271,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
19285
19271
|
query,
|
|
19286
19272
|
variables: { id },
|
|
19287
19273
|
fetchPolicy: opts && opts.fetchPolicy || undefined,
|
|
19288
|
-
error: { code: ErrorCodes
|
|
19274
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
|
|
19289
19275
|
});
|
|
19290
19276
|
// Convert to entity
|
|
19291
19277
|
return (!opts || opts.toEntity !== false)
|
|
@@ -19316,7 +19302,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
19316
19302
|
totalFieldName: withTotal ? 'total' : undefined,
|
|
19317
19303
|
insertFilterFn: filter && filter.asFilterFn(),
|
|
19318
19304
|
variables,
|
|
19319
|
-
error: { code: ErrorCodes
|
|
19305
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
|
|
19320
19306
|
fetchPolicy: opts && opts.fetchPolicy || undefined
|
|
19321
19307
|
})
|
|
19322
19308
|
.pipe(map(({ data, total }) => {
|
|
@@ -19352,7 +19338,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
19352
19338
|
const { data, total } = yield this.graphql.query({
|
|
19353
19339
|
query,
|
|
19354
19340
|
variables,
|
|
19355
|
-
error: { code: ErrorCodes
|
|
19341
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
|
|
19356
19342
|
fetchPolicy: opts && opts.fetchPolicy || 'network-only'
|
|
19357
19343
|
});
|
|
19358
19344
|
const entities = (!opts || opts.toEntity !== false) ?
|
|
@@ -19391,7 +19377,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
19391
19377
|
variables: {
|
|
19392
19378
|
filter: filter && filter.asPodObject()
|
|
19393
19379
|
},
|
|
19394
|
-
error: { code: ErrorCodes
|
|
19380
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
|
|
19395
19381
|
fetchPolicy: opts && opts.fetchPolicy || 'network-only'
|
|
19396
19382
|
});
|
|
19397
19383
|
return res.total;
|
|
@@ -19424,7 +19410,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
19424
19410
|
variables: {
|
|
19425
19411
|
data: json
|
|
19426
19412
|
},
|
|
19427
|
-
error: { code: ErrorCodes
|
|
19413
|
+
error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
|
|
19428
19414
|
update: (proxy, { data }) => {
|
|
19429
19415
|
const savedEntities = data && data.data;
|
|
19430
19416
|
if (savedEntities) {
|
|
@@ -19480,7 +19466,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
19480
19466
|
variables: {
|
|
19481
19467
|
data: json
|
|
19482
19468
|
},
|
|
19483
|
-
error: { code: ErrorCodes
|
|
19469
|
+
error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
|
|
19484
19470
|
update: (cache, { data }) => {
|
|
19485
19471
|
// Update entity
|
|
19486
19472
|
const savedEntity = data && data.data;
|
|
@@ -19528,7 +19514,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
19528
19514
|
refetchQueries: this.getRefetchQueriesForMutation(opts),
|
|
19529
19515
|
awaitRefetchQueries: opts && opts.awaitRefetchQueries,
|
|
19530
19516
|
variables: { ids },
|
|
19531
|
-
error: { code: ErrorCodes
|
|
19517
|
+
error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
|
|
19532
19518
|
update: (cache, res) => {
|
|
19533
19519
|
// Remove from cache
|
|
19534
19520
|
if (this.watchQueriesUpdatePolicy === 'update-cache') {
|
|
@@ -19569,7 +19555,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
19569
19555
|
refetchQueries: this.getRefetchQueriesForMutation(opts),
|
|
19570
19556
|
awaitRefetchQueries: opts && opts.awaitRefetchQueries,
|
|
19571
19557
|
variables: { id },
|
|
19572
|
-
error: { code: ErrorCodes
|
|
19558
|
+
error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
|
|
19573
19559
|
update: (proxy, res) => {
|
|
19574
19560
|
// Remove from cache
|
|
19575
19561
|
if (this.watchQueriesUpdatePolicy === 'update-cache') {
|
|
@@ -19602,7 +19588,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
19602
19588
|
query: opts && opts.query || this.subscriptions.listenChanges,
|
|
19603
19589
|
variables,
|
|
19604
19590
|
error: {
|
|
19605
|
-
code: ErrorCodes
|
|
19591
|
+
code: ErrorCodes.SUBSCRIBE_DATA_ERROR,
|
|
19606
19592
|
message: 'ERROR.SUBSCRIBE_DATA_ERROR'
|
|
19607
19593
|
}
|
|
19608
19594
|
})
|
|
@@ -19777,7 +19763,7 @@ class EntitiesTableDataSource extends TableDataSource {
|
|
|
19777
19763
|
if (this._debug)
|
|
19778
19764
|
invalidRows.forEach(row => AppTableUtils.logRowErrors(row, `[table-datasource] ${this._logTypeName} row #${row.id}`));
|
|
19779
19765
|
// Stop with an error
|
|
19780
|
-
throw { code: ErrorCodes
|
|
19766
|
+
throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
19781
19767
|
}
|
|
19782
19768
|
this._editingRowCount = 0;
|
|
19783
19769
|
let data;
|
|
@@ -20599,14 +20585,14 @@ class AppTable {
|
|
|
20599
20585
|
return __awaiter(this, void 0, void 0, function* () {
|
|
20600
20586
|
opts = Object.assign({ keepEditing: this.keepEditedRowOnSave }, opts);
|
|
20601
20587
|
if (this.readOnly) {
|
|
20602
|
-
throw { code: ErrorCodes
|
|
20588
|
+
throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
|
|
20603
20589
|
}
|
|
20604
20590
|
this.resetError();
|
|
20605
20591
|
// Keep edited row id (should be done BEFORE confirmEditCreate() )
|
|
20606
20592
|
this.previouslyEditedRowId = opts.keepEditing && ((_a = this.editedRow) === null || _a === void 0 ? void 0 : _a.editing) ? this.editedRow.id : undefined;
|
|
20607
20593
|
const previouslyEditedData = isNotNil(this.previouslyEditedRowId) && this.editedRow.currentData || ((_b = this.singleSelectedRow) === null || _b === void 0 ? void 0 : _b.currentData);
|
|
20608
20594
|
if (!this.confirmEditCreate()) {
|
|
20609
|
-
throw { code: ErrorCodes
|
|
20595
|
+
throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
20610
20596
|
}
|
|
20611
20597
|
// Mark as saving
|
|
20612
20598
|
this.markAsSaving();
|
|
@@ -20722,7 +20708,7 @@ class AppTable {
|
|
|
20722
20708
|
deleteRows(event, rows, opts) {
|
|
20723
20709
|
return __awaiter(this, void 0, void 0, function* () {
|
|
20724
20710
|
if (this.readOnly) {
|
|
20725
|
-
throw { code: ErrorCodes
|
|
20711
|
+
throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
|
|
20726
20712
|
}
|
|
20727
20713
|
if (event === null || event === void 0 ? void 0 : event.defaultPrevented)
|
|
20728
20714
|
return 0; // SKip
|
|
@@ -22153,7 +22139,7 @@ class AppEntityEditor extends AppTabEditor {
|
|
|
22153
22139
|
try {
|
|
22154
22140
|
const data = yield this.dataService.load(id, opts);
|
|
22155
22141
|
if (!data)
|
|
22156
|
-
throw { code: ErrorCodes
|
|
22142
|
+
throw { code: ErrorCodes.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
|
|
22157
22143
|
this._usageMode = this.computeUsageMode(data);
|
|
22158
22144
|
yield this.onEntityLoaded(data, opts);
|
|
22159
22145
|
yield this.updateView(data, opts);
|
|
@@ -23046,7 +23032,7 @@ class UserEventService extends BaseGraphqlService {
|
|
|
23046
23032
|
EntityUtils.copyIdAndUpdateDate(source, target);
|
|
23047
23033
|
}
|
|
23048
23034
|
}
|
|
23049
|
-
UserEventService.ɵprov =
|
|
23035
|
+
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" });
|
|
23050
23036
|
UserEventService.decorators = [
|
|
23051
23037
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
23052
23038
|
];
|
|
@@ -23428,7 +23414,7 @@ class PersonService extends BaseEntityService {
|
|
|
23428
23414
|
return target;
|
|
23429
23415
|
}
|
|
23430
23416
|
}
|
|
23431
|
-
PersonService.ɵprov =
|
|
23417
|
+
PersonService.ɵprov = ɵɵdefineInjectable({ factory: function PersonService_Factory() { return new PersonService(ɵɵinject(GraphqlService), ɵɵinject(PlatformService), ɵɵinject(NetworkService), ɵɵinject(EntitiesStorage)); }, token: PersonService, providedIn: "root" });
|
|
23432
23418
|
PersonService.decorators = [
|
|
23433
23419
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
23434
23420
|
];
|
|
@@ -23459,7 +23445,7 @@ class PersonValidatorService {
|
|
|
23459
23445
|
return this.formBuilder.group(formConfig);
|
|
23460
23446
|
}
|
|
23461
23447
|
}
|
|
23462
|
-
PersonValidatorService.ɵprov =
|
|
23448
|
+
PersonValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
|
|
23463
23449
|
PersonValidatorService.decorators = [
|
|
23464
23450
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
23465
23451
|
];
|
|
@@ -23615,7 +23601,7 @@ UsersPage.decorators = [
|
|
|
23615
23601
|
],
|
|
23616
23602
|
animations: [slideUpDownAnimation],
|
|
23617
23603
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
23618
|
-
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:
|
|
23604
|
+
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}"]
|
|
23619
23605
|
},] }
|
|
23620
23606
|
];
|
|
23621
23607
|
UsersPage.ctorParameters = () => [
|
|
@@ -23663,16 +23649,16 @@ AdminModule.decorators = [
|
|
|
23663
23649
|
];
|
|
23664
23650
|
AdminModule.ctorParameters = () => [];
|
|
23665
23651
|
|
|
23666
|
-
const ɵ0 = {
|
|
23652
|
+
const ɵ0$a = {
|
|
23667
23653
|
profile: 'ADMIN'
|
|
23668
23654
|
};
|
|
23669
|
-
const routes = [
|
|
23655
|
+
const routes$1 = [
|
|
23670
23656
|
{
|
|
23671
23657
|
path: 'users',
|
|
23672
23658
|
pathMatch: 'full',
|
|
23673
23659
|
component: UsersPage,
|
|
23674
23660
|
canActivate: [AuthGuardService],
|
|
23675
|
-
data: ɵ0
|
|
23661
|
+
data: ɵ0$a
|
|
23676
23662
|
}
|
|
23677
23663
|
];
|
|
23678
23664
|
class AdminRoutingModule {
|
|
@@ -23682,13 +23668,13 @@ AdminRoutingModule.decorators = [
|
|
|
23682
23668
|
imports: [
|
|
23683
23669
|
SharedRoutingModule,
|
|
23684
23670
|
AdminModule,
|
|
23685
|
-
RouterModule.forChild(routes)
|
|
23671
|
+
RouterModule.forChild(routes$1)
|
|
23686
23672
|
],
|
|
23687
23673
|
exports: [RouterModule]
|
|
23688
23674
|
},] }
|
|
23689
23675
|
];
|
|
23690
23676
|
|
|
23691
|
-
const ErrorCodes = {
|
|
23677
|
+
const ErrorCodes$2 = {
|
|
23692
23678
|
LOAD_PERSONS_ERROR: 100,
|
|
23693
23679
|
SAVE_PERSONS_ERROR: 101,
|
|
23694
23680
|
DELETE_PERSONS_ERROR: 102,
|
|
@@ -23700,5 +23686,5 @@ const ErrorCodes = {
|
|
|
23700
23686
|
* Generated bundle index. Do not edit.
|
|
23701
23687
|
*/
|
|
23702
23688
|
|
|
23703
|
-
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, AppFormProvider, AppFormUtils, AppGestureConfig, AppGraphQLModule, AppHelpModal, AppInMemoryTable, AppInstallUpgradeCard, AppListForm, AppLoadingSpinner, AppMenuModule, AppNullForm, AppPropertiesForm, AppTabEditor, AppTabEditorOptions, AppTable, AppTableDataSourceOptions, AppTableUtils, AppValidatorService, AppendToInputDirective, ArrayFilterPipe, ArrayFirstPipe, ArrayIncludesPipe, ArrayLengthPipe, ArrayPluckPipe, AudioProvider, AuthForm, AuthGuardService, AuthModal, AutocompleteTestPage, AutofocusDirective, Base58, BaseEntityService, BaseGraphqlService, BaseGraphqlServiceOptions, BaseReferential, Beans, CORE_CONFIG_OPTIONS, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigService, Configuration, CoreModule, CryptoService, DATE_ISO_PATTERN, DATE_UNIX_MS_TIMESTAMP, DATE_UNIX_TIMESTAMP, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLACEHOLDER_CHAR, DEFAULT_REQUIRED_COLUMNS, DateDiffDurationPipe, DateFormatPipe, DateFromNowPipe, DateTimeTestPage, DateUtils, Department, DepartmentToStringPipe, DurationPipe, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesService, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, ErrorCodes, EvenPipe, FileService, FileSizePipe, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, 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, StatusById, StatusIds, StatusList, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, UserEvent, UserEventFilter, UserEventService, UserEventTypes, UserEventsTable, UserSettings, UsersPage, accountToString, adaptValueToControl, addValueInArray, arrayDistinct, arrayGroupBy, arraySize, asInputElement, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, copyEntity2Form, createPromiseEvent, createPromiseEventEmitter, departmentToString, departmentsToString, disableControls, emitPromiseEvent, entityToString, 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, isControlHasInput, isEmptyArray, isInputElement, isInstanceOf, isInt, isNil, isNilOrBlank, isNilOrNaN, isNotEmptyArray, isNotNil, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, joinProperties, joinPropertiesPath, logFormErrors, markAllAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, matchUpperCase, mergeLoadResult, mixHex, moveInputCaretToSeparator, noTrailingSlash, notNilOrDefault, nullIfUndefined, parseLatitudeOrLongitude, propertiesPathComparator, propertyComparator, propertyPathComparator, referentialToString, referentialsToString, remove, removeAll, removeDiacritics, removeDuplicatesFromArray, removeEnd, removeValueInArray, replaceAll, resetCalculatedValue, resizeArray, rgbArrayToHex, rgbToHex, round, scrollFactory, selectInputContent, selectInputRange, setCalculatedValue, setTabIndex, sleep, slideInOutAnimation, slideUpDownAnimation, sort, splitById, splitByProperty, startsWithUpperCase, suggestFromArray, suggestFromStringArray, tabindexComparator, toBoolean, toDateISOString, toDuration, toFloat, toInt, toNotNil, toNumber, trimEmptyToNull, uncapitalizeFirstLetter, updateValueAndValidity, waitFor, waitIdle, 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 };
|
|
23689
|
+
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, AppFormProvider, AppFormUtils, AppGestureConfig, AppGraphQLModule, AppHelpModal, AppInMemoryTable, AppInstallUpgradeCard, AppListForm, AppLoadingSpinner, AppMenuModule, AppNullForm, AppPropertiesForm, AppTabEditor, AppTabEditorOptions, AppTable, AppTableDataSourceOptions, AppTableUtils, AppValidatorService, AppendToInputDirective, ArrayFilterPipe, ArrayFirstPipe, ArrayIncludesPipe, ArrayLengthPipe, ArrayPluckPipe, AudioProvider, AuthForm, AuthGuardService, AuthModal, AutocompleteTestPage, AutofocusDirective, Base58, BaseEntityService, BaseGraphqlService, BaseGraphqlServiceOptions, BaseReferential, Beans, CORE_CONFIG_OPTIONS, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigService, Configuration, CoreModule, CryptoService, DATE_ISO_PATTERN, DATE_UNIX_MS_TIMESTAMP, DATE_UNIX_TIMESTAMP, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLACEHOLDER_CHAR, DEFAULT_REQUIRED_COLUMNS, DateDiffDurationPipe, DateFormatPipe, DateFromNowPipe, DateTimeTestPage, DateUtils, Department, DepartmentToStringPipe, DurationPipe, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesService, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, ErrorCodes$2 as ErrorCodes, EvenPipe, FileService, FileSizePipe, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, 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, StatusById, StatusIds, StatusList, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, UserEvent, UserEventFilter, UserEventService, UserEventTypes, UserEventsTable, UserSettings, UsersPage, accountToString, adaptValueToControl, addValueInArray, arrayDistinct, arrayGroupBy, arraySize, asInputElement, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, copyEntity2Form, createPromiseEvent, createPromiseEventEmitter, departmentToString, departmentsToString, disableControls, emitPromiseEvent, entityToString, 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, isControlHasInput, isEmptyArray, isInputElement, isInstanceOf, isInt, isNil, isNilOrBlank, isNilOrNaN, isNotEmptyArray, isNotNil, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, joinProperties, joinPropertiesPath, logFormErrors, markAllAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, matchUpperCase, mergeLoadResult, mixHex, moveInputCaretToSeparator, noTrailingSlash, notNilOrDefault, nullIfUndefined, parseLatitudeOrLongitude, propertiesPathComparator, propertyComparator, propertyPathComparator, referentialToString, referentialsToString, remove, removeAll, removeDiacritics, removeDuplicatesFromArray, removeEnd, removeValueInArray, replaceAll, resetCalculatedValue, resizeArray, rgbArrayToHex, rgbToHex, round, scrollFactory, selectInputContent, selectInputRange, setCalculatedValue, setTabIndex, sleep, slideInOutAnimation, slideUpDownAnimation, sort, splitById, splitByProperty, startsWithUpperCase, suggestFromArray, suggestFromStringArray, tabindexComparator, toBoolean, toDateISOString, toDuration, toFloat, toInt, toNotNil, toNumber, trimEmptyToNull, uncapitalizeFirstLetter, updateValueAndValidity, waitFor, waitIdle, 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 };
|
|
23704
23690
|
//# sourceMappingURL=ngx-sumaris-components.js.map
|