@sumaris-net/ngx-components 0.27.1 → 0.27.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/sumaris-net.ngx-components.umd.js +266 -290
- package/bundles/sumaris-net.ngx-components.umd.js.map +1 -1
- package/bundles/sumaris-net.ngx-components.umd.min.js +2 -2
- package/bundles/sumaris-net.ngx-components.umd.min.js.map +1 -1
- package/esm2015/src/app/shared/pipes/number-format.pipe.js +3 -3
- package/fesm2015/sumaris-net.ngx-components.js +259 -274
- package/fesm2015/sumaris-net.ngx-components.js.map +1 -1
- package/package.json +1 -1
- package/src/app/shared/pipes/number-format.pipe.d.ts +1 -1
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { InjectionToken, EventEmitter, forwardRef, Component, ChangeDetectionStrategy, ChangeDetectorRef, Optional, Input, HostBinding, Output, ViewChild, Pipe, Injectable, Directive, Inject, NgModule, ElementRef, ViewChildren, HostListener, ComponentFactoryResolver, ApplicationRef, Injector, 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, Inject, NgModule, ElementRef, ViewChildren, HostListener, ComponentFactoryResolver, ApplicationRef, INJECTOR, Injector, 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, AbstractControl, FormGroup, FormArray, FormControl, ReactiveFormsModule, Validators, FormBuilder } from '@angular/forms';
|
|
39
34
|
import { timer, merge, fromEvent, Subscription, BehaviorSubject, Subject, isObservable, of, noop as noop$8, Observable, defer, from, combineLatest, EMPTY } from 'rxjs';
|
|
40
35
|
import { filter, first, map, takeUntil, startWith, debounceTime, takeWhile, switchMap, tap, distinctUntilChanged, mergeMap, catchError, throttleTime, skip } 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,14 +79,13 @@ 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 { NotificationVisibility, Downloader } from '@ionic-native/downloader/ngx';
|
|
100
|
-
import
|
|
101
|
-
import
|
|
102
|
-
import
|
|
103
|
-
import
|
|
84
|
+
import { NotificationVisibility, Downloader as Downloader$1 } from '@ionic-native/downloader/ngx';
|
|
85
|
+
import { StatusBar } from '@ionic-native/status-bar/ngx/index';
|
|
86
|
+
import { Keyboard as Keyboard$1 } from '@ionic-native/keyboard/ngx/index';
|
|
87
|
+
import { InAppBrowser } from '@ionic-native/in-app-browser/ngx/index';
|
|
88
|
+
import { Downloader } from '@ionic-native/downloader/ngx/index';
|
|
104
89
|
import { ValidatorService, TableDataSource } from '@e-is/ngx-material-table';
|
|
105
90
|
import { SelectionModel } from '@angular/cdk/collections';
|
|
106
91
|
import { NgxJdenticonModule } from 'ngx-jdenticon';
|
|
@@ -885,19 +870,19 @@ class MatAutocompleteConfigHolder {
|
|
|
885
870
|
return this.fields[fieldName] || this.add(fieldName);
|
|
886
871
|
}
|
|
887
872
|
}
|
|
888
|
-
const DEFAULT_VALUE_ACCESSOR
|
|
873
|
+
const DEFAULT_VALUE_ACCESSOR = {
|
|
889
874
|
provide: NG_VALUE_ACCESSOR,
|
|
890
875
|
useExisting: forwardRef(() => MatAutocompleteField),
|
|
891
876
|
multi: true
|
|
892
877
|
};
|
|
893
|
-
const noop
|
|
894
|
-
const ɵ0
|
|
878
|
+
const noop = () => { };
|
|
879
|
+
const ɵ0 = noop;
|
|
895
880
|
class MatAutocompleteField {
|
|
896
881
|
constructor(cd, formGroupDir) {
|
|
897
882
|
this.cd = cd;
|
|
898
883
|
this.formGroupDir = formGroupDir;
|
|
899
|
-
this._onChangeCallback = noop
|
|
900
|
-
this._onTouchedCallback = noop
|
|
884
|
+
this._onChangeCallback = noop;
|
|
885
|
+
this._onTouchedCallback = noop;
|
|
901
886
|
this._subscription = new Subscription();
|
|
902
887
|
this._filter$ = new BehaviorSubject(undefined);
|
|
903
888
|
this._reload$ = new Subject();
|
|
@@ -1491,7 +1476,7 @@ MatAutocompleteField.decorators = [
|
|
|
1491
1476
|
// eslint-disable-next-line @angular-eslint/component-selector
|
|
1492
1477
|
selector: 'mat-autocomplete-field',
|
|
1493
1478
|
template: "<ion-grid class=\"ion-no-padding\">\n <ion-row>\n <ion-col class=\"ion-no-padding\">\n <mat-form-field *ngIf=\"_readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n [title]=\"displayValue\"\n class=\"mat-form-field-disabled\">\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <!-- readonly -->\n <ng-container>\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 <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n\n </mat-form-field>\n\n <ng-template #writable>\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-disabled]=\"disabled\"\n [title]=\"displayValue\">\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\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 (keyup.enter)=\"onKeyupEnter.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\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 <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\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 </ng-template>\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\n<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n\n\n<ng-template #matSuffixTemplate>\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 select=\"[matSuffix]\"></ng-content>\n</ng-template>\n",
|
|
1494
|
-
providers: [DEFAULT_VALUE_ACCESSOR
|
|
1479
|
+
providers: [DEFAULT_VALUE_ACCESSOR],
|
|
1495
1480
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1496
1481
|
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}"]
|
|
1497
1482
|
},] }
|
|
@@ -1568,7 +1553,7 @@ class DateFormatPipe {
|
|
|
1568
1553
|
return this.dateAdapter.format(date, displayFormat);
|
|
1569
1554
|
}
|
|
1570
1555
|
}
|
|
1571
|
-
DateFormatPipe.ɵprov =
|
|
1556
|
+
DateFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateFormatPipe_Factory() { return new DateFormatPipe(ɵɵinject(MomentDateAdapter), ɵɵinject(TranslateService)); }, token: DateFormatPipe, providedIn: "root" });
|
|
1572
1557
|
DateFormatPipe.decorators = [
|
|
1573
1558
|
{ type: Pipe, args: [{
|
|
1574
1559
|
name: 'dateFormat'
|
|
@@ -1580,7 +1565,7 @@ DateFormatPipe.ctorParameters = () => [
|
|
|
1580
1565
|
{ type: TranslateService }
|
|
1581
1566
|
];
|
|
1582
1567
|
|
|
1583
|
-
const moment
|
|
1568
|
+
const moment = momentImported;
|
|
1584
1569
|
class DateDiffDurationPipe {
|
|
1585
1570
|
constructor(dateAdapter, translate) {
|
|
1586
1571
|
this.dateAdapter = dateAdapter;
|
|
@@ -1596,17 +1581,17 @@ class DateDiffDurationPipe {
|
|
|
1596
1581
|
return this.format(startDate, endDate);
|
|
1597
1582
|
}
|
|
1598
1583
|
format(startDate, endDate) {
|
|
1599
|
-
const duration = moment
|
|
1584
|
+
const duration = moment.duration(endDate.diff(startDate));
|
|
1600
1585
|
if (duration.asMinutes() < 0)
|
|
1601
1586
|
return '';
|
|
1602
|
-
const timeDuration = moment
|
|
1587
|
+
const timeDuration = moment(0)
|
|
1603
1588
|
.hour(duration.hours())
|
|
1604
1589
|
.minute(duration.minutes());
|
|
1605
1590
|
const days = Math.floor(duration.asDays());
|
|
1606
1591
|
return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + timeDuration.format('HH:mm');
|
|
1607
1592
|
}
|
|
1608
1593
|
}
|
|
1609
|
-
DateDiffDurationPipe.ɵprov =
|
|
1594
|
+
DateDiffDurationPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateDiffDurationPipe_Factory() { return new DateDiffDurationPipe(ɵɵinject(DateAdapter), ɵɵinject(TranslateService)); }, token: DateDiffDurationPipe, providedIn: "root" });
|
|
1610
1595
|
DateDiffDurationPipe.decorators = [
|
|
1611
1596
|
{ type: Pipe, args: [{
|
|
1612
1597
|
name: 'dateDiffDuration'
|
|
@@ -1627,7 +1612,7 @@ class DateFromNowPipe {
|
|
|
1627
1612
|
return date ? date.fromNow(args && args.withoutSuffix) : '';
|
|
1628
1613
|
}
|
|
1629
1614
|
}
|
|
1630
|
-
DateFromNowPipe.ɵprov =
|
|
1615
|
+
DateFromNowPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(ɵɵinject(MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
|
|
1631
1616
|
DateFromNowPipe.decorators = [
|
|
1632
1617
|
{ type: Pipe, args: [{
|
|
1633
1618
|
name: 'dateFromNow'
|
|
@@ -1696,7 +1681,7 @@ function formatToDD(value, opts) {
|
|
|
1696
1681
|
value *= -1;
|
|
1697
1682
|
}
|
|
1698
1683
|
}
|
|
1699
|
-
let degrees = roundFloat
|
|
1684
|
+
let degrees = roundFloat(value, opts.maxDecimals).toString();
|
|
1700
1685
|
// Add sign
|
|
1701
1686
|
let sign = negative ? '-' : '+';
|
|
1702
1687
|
if (opts.placeholderChar) {
|
|
@@ -1747,7 +1732,7 @@ function formatToDDMMSS(value, opts) {
|
|
|
1747
1732
|
}
|
|
1748
1733
|
let degrees = Math.trunc(value);
|
|
1749
1734
|
let minutes = Math.trunc((value - degrees) * 60);
|
|
1750
|
-
let seconds = roundFloat
|
|
1735
|
+
let seconds = roundFloat(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
|
|
1751
1736
|
while (seconds >= 60) {
|
|
1752
1737
|
seconds -= 60;
|
|
1753
1738
|
minutes += 1;
|
|
@@ -1815,7 +1800,7 @@ function formatToDDMM(value, opts) {
|
|
|
1815
1800
|
}
|
|
1816
1801
|
}
|
|
1817
1802
|
let degrees = Math.trunc(value);
|
|
1818
|
-
let minutes = roundFloat
|
|
1803
|
+
let minutes = roundFloat((value - degrees) * 60, opts.maxDecimals);
|
|
1819
1804
|
while (minutes >= 60) {
|
|
1820
1805
|
minutes -= 60;
|
|
1821
1806
|
degrees += 1;
|
|
@@ -1866,15 +1851,15 @@ function parseLatitudeOrLongitude(input, pattern, maxDecimals, placeholderChar)
|
|
|
1866
1851
|
return NaN;
|
|
1867
1852
|
}
|
|
1868
1853
|
if (pattern === 'DD')
|
|
1869
|
-
return roundFloat
|
|
1854
|
+
return roundFloat(degrees, maxDecimals);
|
|
1870
1855
|
const minutes = (pattern === 'DDMMSS' || pattern === 'DDMM') && parts[1] && parseFloat(parts[1].replace(/,/g, '.')) || 0;
|
|
1871
1856
|
const seconds = (pattern === 'DDMMSS') && parts[2] && parseFloat(parts[2].replace(/,/g, '.')) || 0;
|
|
1872
1857
|
const direction = ((pattern === 'DDMMSS') && parts[3]) || ((pattern === 'DDMM') && parts[2]) || undefined;
|
|
1873
1858
|
const sign = (direction && (direction === 's' || direction === 'S' || direction === 'w' || direction === 'W')) ? -1 : 1;
|
|
1874
1859
|
degrees = sign * (degrees + minutes / 60 + seconds / (60 * 60));
|
|
1875
|
-
return roundFloat
|
|
1860
|
+
return roundFloat(degrees, maxDecimals);
|
|
1876
1861
|
}
|
|
1877
|
-
function roundFloat
|
|
1862
|
+
function roundFloat(input, maxDecimals) {
|
|
1878
1863
|
if (maxDecimals > 0) {
|
|
1879
1864
|
const powDecimal = Math.pow(10, maxDecimals);
|
|
1880
1865
|
return Math.trunc(input * powDecimal + 0.5) / powDecimal;
|
|
@@ -1894,7 +1879,7 @@ class LatLongFormatPipe {
|
|
|
1894
1879
|
return ((!args.type || args.type !== 'latitude') ? formatLongitude : formatLatitude)(value, args);
|
|
1895
1880
|
}
|
|
1896
1881
|
}
|
|
1897
|
-
LatLongFormatPipe.ɵprov =
|
|
1882
|
+
LatLongFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
|
|
1898
1883
|
LatLongFormatPipe.decorators = [
|
|
1899
1884
|
{ type: Pipe, args: [{
|
|
1900
1885
|
name: 'latLongFormat'
|
|
@@ -1906,7 +1891,7 @@ class LatitudeFormatPipe {
|
|
|
1906
1891
|
this.transform = formatLatitude;
|
|
1907
1892
|
}
|
|
1908
1893
|
}
|
|
1909
|
-
LatitudeFormatPipe.ɵprov =
|
|
1894
|
+
LatitudeFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
|
|
1910
1895
|
LatitudeFormatPipe.decorators = [
|
|
1911
1896
|
{ type: Pipe, args: [{
|
|
1912
1897
|
name: 'latitudeFormat'
|
|
@@ -1918,7 +1903,7 @@ class LongitudeFormatPipe {
|
|
|
1918
1903
|
this.transform = formatLongitude;
|
|
1919
1904
|
}
|
|
1920
1905
|
}
|
|
1921
|
-
LongitudeFormatPipe.ɵprov =
|
|
1906
|
+
LongitudeFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
|
|
1922
1907
|
LongitudeFormatPipe.decorators = [
|
|
1923
1908
|
{ type: Pipe, args: [{
|
|
1924
1909
|
name: 'longitudeFormat'
|
|
@@ -1927,18 +1912,18 @@ LongitudeFormatPipe.decorators = [
|
|
|
1927
1912
|
];
|
|
1928
1913
|
|
|
1929
1914
|
class NumberFormatPipe {
|
|
1930
|
-
transform(val) {
|
|
1915
|
+
transform(val, numberFormatOptions) {
|
|
1931
1916
|
// Format the output to display any way you want here.
|
|
1932
1917
|
// For instance:
|
|
1933
1918
|
if (val !== undefined && val !== null) {
|
|
1934
|
-
return val.toLocaleString(
|
|
1919
|
+
return val.toLocaleString(undefined, numberFormatOptions);
|
|
1935
1920
|
}
|
|
1936
1921
|
else {
|
|
1937
1922
|
return '';
|
|
1938
1923
|
}
|
|
1939
1924
|
}
|
|
1940
1925
|
}
|
|
1941
|
-
NumberFormatPipe.ɵprov =
|
|
1926
|
+
NumberFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
|
|
1942
1927
|
NumberFormatPipe.decorators = [
|
|
1943
1928
|
{ type: Pipe, args: [{
|
|
1944
1929
|
name: 'numberFormat'
|
|
@@ -1978,7 +1963,7 @@ class HighlightPipe {
|
|
|
1978
1963
|
}
|
|
1979
1964
|
}
|
|
1980
1965
|
}
|
|
1981
|
-
HighlightPipe.ɵprov =
|
|
1966
|
+
HighlightPipe.ɵprov = ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
|
|
1982
1967
|
HighlightPipe.decorators = [
|
|
1983
1968
|
{ type: Pipe, args: [{
|
|
1984
1969
|
name: 'highlight'
|
|
@@ -2043,7 +2028,7 @@ FileSizePipe.decorators = [
|
|
|
2043
2028
|
{ type: Pipe, args: [{ name: 'fileSize' },] }
|
|
2044
2029
|
];
|
|
2045
2030
|
|
|
2046
|
-
const moment$
|
|
2031
|
+
const moment$1 = momentImported;
|
|
2047
2032
|
const DATE_UNIX_TIMESTAMP = 'X';
|
|
2048
2033
|
const DATE_UNIX_MS_TIMESTAMP = 'x';
|
|
2049
2034
|
class DateUtils {
|
|
@@ -2077,32 +2062,32 @@ function fromDateISOString(value) {
|
|
|
2077
2062
|
if (!value || isMoment(value))
|
|
2078
2063
|
return value;
|
|
2079
2064
|
// Parse the input value, as a ISO date time
|
|
2080
|
-
const date = moment$
|
|
2065
|
+
const date = moment$1(value, DATE_ISO_PATTERN);
|
|
2081
2066
|
if (date.isValid())
|
|
2082
2067
|
return date;
|
|
2083
2068
|
// Not valid: trying to convert from unix timestamp
|
|
2084
2069
|
if (typeof value === 'string') {
|
|
2085
2070
|
console.warn('Wrong date format - Trying to convert from local time: ' + value);
|
|
2086
2071
|
if (value.length === 10) {
|
|
2087
|
-
return moment$
|
|
2072
|
+
return moment$1(value, DATE_UNIX_TIMESTAMP);
|
|
2088
2073
|
}
|
|
2089
2074
|
else if (value.length === 13) {
|
|
2090
|
-
return moment$
|
|
2075
|
+
return moment$1(value, DATE_UNIX_MS_TIMESTAMP);
|
|
2091
2076
|
}
|
|
2092
2077
|
}
|
|
2093
2078
|
console.warn('Unable to parse date: ' + value);
|
|
2094
2079
|
return undefined;
|
|
2095
2080
|
}
|
|
2096
2081
|
function fromUnixTimestamp(timeInSec) {
|
|
2097
|
-
return moment$
|
|
2082
|
+
return moment$1(timeInSec, DATE_UNIX_TIMESTAMP);
|
|
2098
2083
|
}
|
|
2099
2084
|
function fromUnixMsTimestamp(timeInMs) {
|
|
2100
|
-
return moment$
|
|
2085
|
+
return moment$1(timeInMs, DATE_UNIX_MS_TIMESTAMP);
|
|
2101
2086
|
}
|
|
2102
2087
|
function toDuration(value, unit) {
|
|
2103
2088
|
if (!value)
|
|
2104
2089
|
return undefined;
|
|
2105
|
-
const duration = moment$
|
|
2090
|
+
const duration = moment$1.duration(value, unit);
|
|
2106
2091
|
// fix 990+ ms
|
|
2107
2092
|
if (duration.milliseconds() >= 990) {
|
|
2108
2093
|
duration.add(1000 - duration.milliseconds(), 'ms');
|
|
@@ -2131,7 +2116,7 @@ class DurationPipe {
|
|
|
2131
2116
|
return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + hour + ':' + minute;
|
|
2132
2117
|
}
|
|
2133
2118
|
}
|
|
2134
|
-
DurationPipe.ɵprov =
|
|
2119
|
+
DurationPipe.ɵprov = ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(ɵɵinject(TranslateService)); }, token: DurationPipe, providedIn: "root" });
|
|
2135
2120
|
DurationPipe.decorators = [
|
|
2136
2121
|
{ type: Pipe, args: [{
|
|
2137
2122
|
name: 'duration'
|
|
@@ -2152,7 +2137,7 @@ class MathAbsPipe {
|
|
|
2152
2137
|
}
|
|
2153
2138
|
}
|
|
2154
2139
|
}
|
|
2155
|
-
MathAbsPipe.ɵprov =
|
|
2140
|
+
MathAbsPipe.ɵprov = ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
|
|
2156
2141
|
MathAbsPipe.decorators = [
|
|
2157
2142
|
{ type: Pipe, args: [{
|
|
2158
2143
|
name: 'mathAbs'
|
|
@@ -2164,7 +2149,7 @@ class EvenPipe {
|
|
|
2164
2149
|
return val % 2 === 0;
|
|
2165
2150
|
}
|
|
2166
2151
|
}
|
|
2167
|
-
EvenPipe.ɵprov =
|
|
2152
|
+
EvenPipe.ɵprov = ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
|
|
2168
2153
|
EvenPipe.decorators = [
|
|
2169
2154
|
{ type: Pipe, args: [{
|
|
2170
2155
|
name: 'even'
|
|
@@ -2176,7 +2161,7 @@ class OddPipe {
|
|
|
2176
2161
|
return val % 2 !== 0;
|
|
2177
2162
|
}
|
|
2178
2163
|
}
|
|
2179
|
-
OddPipe.ɵprov =
|
|
2164
|
+
OddPipe.ɵprov = ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
|
|
2180
2165
|
OddPipe.decorators = [
|
|
2181
2166
|
{ type: Pipe, args: [{
|
|
2182
2167
|
name: 'odd'
|
|
@@ -2284,7 +2269,7 @@ class MapGetPipe {
|
|
|
2284
2269
|
return val[key];
|
|
2285
2270
|
}
|
|
2286
2271
|
}
|
|
2287
|
-
MapGetPipe.ɵprov =
|
|
2272
|
+
MapGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
|
|
2288
2273
|
MapGetPipe.decorators = [
|
|
2289
2274
|
{ type: Pipe, args: [{
|
|
2290
2275
|
name: 'mapGet'
|
|
@@ -2298,7 +2283,7 @@ class MapKeysPipe {
|
|
|
2298
2283
|
return Object.keys(map);
|
|
2299
2284
|
}
|
|
2300
2285
|
}
|
|
2301
|
-
MapKeysPipe.ɵprov =
|
|
2286
|
+
MapKeysPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
|
|
2302
2287
|
MapKeysPipe.decorators = [
|
|
2303
2288
|
{ type: Pipe, args: [{
|
|
2304
2289
|
name: 'mapKeys'
|
|
@@ -2312,7 +2297,7 @@ class MapValuesPipe {
|
|
|
2312
2297
|
return Object.values(map);
|
|
2313
2298
|
}
|
|
2314
2299
|
}
|
|
2315
|
-
MapValuesPipe.ɵprov =
|
|
2300
|
+
MapValuesPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
|
|
2316
2301
|
MapValuesPipe.decorators = [
|
|
2317
2302
|
{ type: Pipe, args: [{
|
|
2318
2303
|
name: 'mapValues'
|
|
@@ -2325,7 +2310,7 @@ class IsNotNilOrBlankPipe {
|
|
|
2325
2310
|
return isNotNilOrBlank(value);
|
|
2326
2311
|
}
|
|
2327
2312
|
}
|
|
2328
|
-
IsNotNilOrBlankPipe.ɵprov =
|
|
2313
|
+
IsNotNilOrBlankPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
|
|
2329
2314
|
IsNotNilOrBlankPipe.decorators = [
|
|
2330
2315
|
{ type: Pipe, args: [{
|
|
2331
2316
|
name: 'isNotNilOrBlank'
|
|
@@ -2337,7 +2322,7 @@ class IsNilOrBlankPipe {
|
|
|
2337
2322
|
return isNilOrBlank(value);
|
|
2338
2323
|
}
|
|
2339
2324
|
}
|
|
2340
|
-
IsNilOrBlankPipe.ɵprov =
|
|
2325
|
+
IsNilOrBlankPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
|
|
2341
2326
|
IsNilOrBlankPipe.decorators = [
|
|
2342
2327
|
{ type: Pipe, args: [{
|
|
2343
2328
|
name: 'isNilOrBlank'
|
|
@@ -2349,7 +2334,7 @@ class ToStringPipe {
|
|
|
2349
2334
|
return (value !== null && value !== undefined) ? value.toString() : '';
|
|
2350
2335
|
}
|
|
2351
2336
|
}
|
|
2352
|
-
ToStringPipe.ɵprov =
|
|
2337
|
+
ToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
|
|
2353
2338
|
ToStringPipe.decorators = [
|
|
2354
2339
|
{ type: Pipe, args: [{
|
|
2355
2340
|
name: 'toString'
|
|
@@ -2361,7 +2346,7 @@ class StrLengthPipe {
|
|
|
2361
2346
|
return value && value.length || 0;
|
|
2362
2347
|
}
|
|
2363
2348
|
}
|
|
2364
|
-
StrLengthPipe.ɵprov =
|
|
2349
|
+
StrLengthPipe.ɵprov = ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
|
|
2365
2350
|
StrLengthPipe.decorators = [
|
|
2366
2351
|
{ type: Pipe, args: [{
|
|
2367
2352
|
name: 'strLength'
|
|
@@ -2412,7 +2397,7 @@ class TranslateContextService {
|
|
|
2412
2397
|
: parts.slice(0, parts.length - 1).concat(context + parts[parts.length - 1]).join('.');
|
|
2413
2398
|
}
|
|
2414
2399
|
}
|
|
2415
|
-
TranslateContextService.ɵprov =
|
|
2400
|
+
TranslateContextService.ɵprov = ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(ɵɵinject(TranslateService)); }, token: TranslateContextService, providedIn: "root" });
|
|
2416
2401
|
TranslateContextService.decorators = [
|
|
2417
2402
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
2418
2403
|
];
|
|
@@ -2428,7 +2413,7 @@ class TranslateContextPipe {
|
|
|
2428
2413
|
return this.translateContext.instant(key, context);
|
|
2429
2414
|
}
|
|
2430
2415
|
}
|
|
2431
|
-
TranslateContextPipe.ɵprov =
|
|
2416
|
+
TranslateContextPipe.ɵprov = ɵɵdefineInjectable({ factory: function TranslateContextPipe_Factory() { return new TranslateContextPipe(ɵɵinject(TranslateContextService)); }, token: TranslateContextPipe, providedIn: "root" });
|
|
2432
2417
|
TranslateContextPipe.decorators = [
|
|
2433
2418
|
{ type: Pipe, args: [{
|
|
2434
2419
|
name: 'translateContext'
|
|
@@ -2445,7 +2430,7 @@ class TranslatablePipe {
|
|
|
2445
2430
|
return (_a = changeCaseToUnderscore(value)) === null || _a === void 0 ? void 0 : _a.toUpperCase();
|
|
2446
2431
|
}
|
|
2447
2432
|
}
|
|
2448
|
-
TranslatablePipe.ɵprov =
|
|
2433
|
+
TranslatablePipe.ɵprov = ɵɵdefineInjectable({ factory: function TranslatablePipe_Factory() { return new TranslatablePipe(); }, token: TranslatablePipe, providedIn: "root" });
|
|
2449
2434
|
TranslatablePipe.decorators = [
|
|
2450
2435
|
{ type: Pipe, args: [{
|
|
2451
2436
|
name: 'translatable'
|
|
@@ -2462,7 +2447,7 @@ class PropertyGetPipe {
|
|
|
2462
2447
|
args && args.defaultValue);
|
|
2463
2448
|
}
|
|
2464
2449
|
}
|
|
2465
|
-
PropertyGetPipe.ɵprov =
|
|
2450
|
+
PropertyGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
|
|
2466
2451
|
PropertyGetPipe.decorators = [
|
|
2467
2452
|
{ type: Pipe, args: [{
|
|
2468
2453
|
name: 'propertyGet'
|
|
@@ -2487,12 +2472,12 @@ NgInitDirective.propDecorators = {
|
|
|
2487
2472
|
ngInit: [{ type: Output }]
|
|
2488
2473
|
};
|
|
2489
2474
|
|
|
2490
|
-
const moment$
|
|
2475
|
+
const moment$2 = momentImported;
|
|
2491
2476
|
// @dynamic
|
|
2492
2477
|
class SharedValidators {
|
|
2493
2478
|
static validDate(control) {
|
|
2494
2479
|
const value = control.value;
|
|
2495
|
-
const date = !value || moment$
|
|
2480
|
+
const date = !value || moment$2.isMoment(value) ? value : moment$2(control.value, DATE_ISO_PATTERN);
|
|
2496
2481
|
if (date && (!date.isValid() || date.year() < 1970)) {
|
|
2497
2482
|
return { validDate: true };
|
|
2498
2483
|
}
|
|
@@ -3527,7 +3512,7 @@ class FormErrorTranslator {
|
|
|
3527
3512
|
return errorKey;
|
|
3528
3513
|
}
|
|
3529
3514
|
}
|
|
3530
|
-
FormErrorTranslator.ɵprov =
|
|
3515
|
+
FormErrorTranslator.ɵprov = ɵɵdefineInjectable({ factory: function FormErrorTranslator_Factory() { return new FormErrorTranslator(ɵɵinject(TranslateService), ɵɵinject(APP_FORM_ERROR_I18N_KEYS, 8)); }, token: FormErrorTranslator, providedIn: "root" });
|
|
3531
3516
|
FormErrorTranslator.decorators = [
|
|
3532
3517
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
3533
3518
|
];
|
|
@@ -3796,9 +3781,9 @@ function parseDuration(input, maxDecimals, placeholderChar) {
|
|
|
3796
3781
|
const hour = parseInt(durationParts[0] || '0');
|
|
3797
3782
|
const minute = parseInt(durationParts[1] || '0');
|
|
3798
3783
|
const value = hour + (minute + 0.5) / 60;
|
|
3799
|
-
return roundFloat(value, maxDecimals);
|
|
3784
|
+
return roundFloat$1(value, maxDecimals);
|
|
3800
3785
|
}
|
|
3801
|
-
function roundFloat(input, maxDecimals) {
|
|
3786
|
+
function roundFloat$1(input, maxDecimals) {
|
|
3802
3787
|
if (maxDecimals > 0) {
|
|
3803
3788
|
const powDecimal = Math.pow(10, maxDecimals);
|
|
3804
3789
|
return Math.trunc(input * powDecimal + 0.5) / powDecimal;
|
|
@@ -3822,9 +3807,9 @@ const MASKS = {
|
|
|
3822
3807
|
DD: [/[+-]/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '°']
|
|
3823
3808
|
}
|
|
3824
3809
|
};
|
|
3825
|
-
const noop$
|
|
3810
|
+
const noop$1 = () => {
|
|
3826
3811
|
};
|
|
3827
|
-
const ɵ0$
|
|
3812
|
+
const ɵ0$1 = noop$1;
|
|
3828
3813
|
class MatLatLongField {
|
|
3829
3814
|
constructor(platform, translate, formBuilder, cd, formGroupDir) {
|
|
3830
3815
|
this.platform = platform;
|
|
@@ -3832,8 +3817,8 @@ class MatLatLongField {
|
|
|
3832
3817
|
this.formBuilder = formBuilder;
|
|
3833
3818
|
this.cd = cd;
|
|
3834
3819
|
this.formGroupDir = formGroupDir;
|
|
3835
|
-
this._onChangeCallback = noop$
|
|
3836
|
-
this._onTouchedCallback = noop$
|
|
3820
|
+
this._onChangeCallback = noop$1;
|
|
3821
|
+
this._onTouchedCallback = noop$1;
|
|
3837
3822
|
this._subscription = new Subscription();
|
|
3838
3823
|
this.disabling = false;
|
|
3839
3824
|
this.writing = false;
|
|
@@ -4169,14 +4154,14 @@ SharedMatLatLongModule.decorators = [
|
|
|
4169
4154
|
},] }
|
|
4170
4155
|
];
|
|
4171
4156
|
|
|
4172
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
4157
|
+
const DEFAULT_VALUE_ACCESSOR$1 = {
|
|
4173
4158
|
provide: NG_VALUE_ACCESSOR,
|
|
4174
4159
|
useExisting: forwardRef(() => MatDate),
|
|
4175
4160
|
multi: true
|
|
4176
4161
|
};
|
|
4177
|
-
const DAY_MASK
|
|
4178
|
-
const noop$
|
|
4179
|
-
const ɵ0$
|
|
4162
|
+
const DAY_MASK = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
|
|
4163
|
+
const noop$2 = () => { };
|
|
4164
|
+
const ɵ0$2 = noop$2;
|
|
4180
4165
|
class MatDate {
|
|
4181
4166
|
constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
4182
4167
|
this.dateAdapter = dateAdapter;
|
|
@@ -4185,12 +4170,12 @@ class MatDate {
|
|
|
4185
4170
|
this.cd = cd;
|
|
4186
4171
|
this.keyboard = keyboard;
|
|
4187
4172
|
this.formGroupDir = formGroupDir;
|
|
4188
|
-
this._onChangeCallback = noop$
|
|
4189
|
-
this._onTouchedCallback = noop$
|
|
4173
|
+
this._onChangeCallback = noop$2;
|
|
4174
|
+
this._onTouchedCallback = noop$2;
|
|
4190
4175
|
this._subscription = new Subscription();
|
|
4191
4176
|
this.writing = true;
|
|
4192
4177
|
this.disabling = false;
|
|
4193
|
-
this.dayMask = DAY_MASK
|
|
4178
|
+
this.dayMask = DAY_MASK;
|
|
4194
4179
|
this.disabled = false;
|
|
4195
4180
|
this.floatLabel = 'auto';
|
|
4196
4181
|
this.readonly = false;
|
|
@@ -4427,7 +4412,7 @@ MatDate.decorators = [
|
|
|
4427
4412
|
selector: 'mat-date-field',
|
|
4428
4413
|
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",
|
|
4429
4414
|
providers: [
|
|
4430
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
4415
|
+
DEFAULT_VALUE_ACCESSOR$1,
|
|
4431
4416
|
],
|
|
4432
4417
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4433
4418
|
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%}"]
|
|
@@ -4460,17 +4445,17 @@ MatDate.propDecorators = {
|
|
|
4460
4445
|
matInputs: [{ type: ViewChildren, args: ['matInput',] }]
|
|
4461
4446
|
};
|
|
4462
4447
|
|
|
4463
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
4448
|
+
const DEFAULT_VALUE_ACCESSOR$2 = {
|
|
4464
4449
|
provide: NG_VALUE_ACCESSOR,
|
|
4465
4450
|
useExisting: forwardRef(() => MatDateTime),
|
|
4466
4451
|
multi: true
|
|
4467
4452
|
};
|
|
4468
4453
|
const DAY_MASK$1 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
|
|
4469
4454
|
const HOUR_REGEXP = /^[012][0-9][:][012345][0-9]$/;
|
|
4470
|
-
const HOUR_MASK
|
|
4471
|
-
const noop$
|
|
4455
|
+
const HOUR_MASK = [/[012]/, /\d/, ':', /[012345]/, /\d/];
|
|
4456
|
+
const noop$3 = () => {
|
|
4472
4457
|
};
|
|
4473
|
-
const ɵ0$
|
|
4458
|
+
const ɵ0$3 = noop$3;
|
|
4474
4459
|
class MatDateTime {
|
|
4475
4460
|
constructor(platform, dateAdapter, translate, formBuilder, keyboard, cd, formGroupDir) {
|
|
4476
4461
|
this.platform = platform;
|
|
@@ -4480,14 +4465,14 @@ class MatDateTime {
|
|
|
4480
4465
|
this.keyboard = keyboard;
|
|
4481
4466
|
this.cd = cd;
|
|
4482
4467
|
this.formGroupDir = formGroupDir;
|
|
4483
|
-
this._onChangeCallback = noop$
|
|
4484
|
-
this._onTouchedCallback = noop$
|
|
4468
|
+
this._onChangeCallback = noop$3;
|
|
4469
|
+
this._onTouchedCallback = noop$3;
|
|
4485
4470
|
this._subscription = new Subscription();
|
|
4486
4471
|
this.writing = true;
|
|
4487
4472
|
this.disabling = false;
|
|
4488
4473
|
this._readonly = false;
|
|
4489
4474
|
this.dayMask = DAY_MASK$1;
|
|
4490
|
-
this.hourMask = HOUR_MASK
|
|
4475
|
+
this.hourMask = HOUR_MASK;
|
|
4491
4476
|
this.floatLabel = 'auto';
|
|
4492
4477
|
this.compact = false;
|
|
4493
4478
|
this.placeholderChar = DEFAULT_PLACEHOLDER_CHAR;
|
|
@@ -4798,7 +4783,7 @@ MatDateTime.decorators = [
|
|
|
4798
4783
|
selector: 'mat-date-time-field',
|
|
4799
4784
|
template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled\">\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <input matInput hidden type=\"text\"\n readonly\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <ion-text>{{formControl.value|dateFormat: {pattern: displayPattern} }}</ion-text>\n</mat-form-field>\n\n<!-- writable + time -->\n<ng-template #writable >\n <ion-grid class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding no-wrap\" nowrap>\n\n <!-- day -->\n <ion-col class=\"day ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-invalid]=\"formControl.touched && formControl.invalid\">\n\n <mat-label>{{placeholder}}</mat-label>\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"dateFormControl\"\n [textMask]=\"{mask: dayMask, keepCharPositions: true, placeholderChar: placeholderChar}\"\n [placeholder]=\"'COMMON.DATE_PLACEHOLDER'|translate\"\n (blur)=\"checkIfTouched()\"\n (keyup.arrowdown)=\"openDatePicker($event, datePicker)\"\n (keyup.escape)=\"preventEvent($event)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [appAutofocus]=\"autofocus\">\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"dateFormControl\"\n (click)=\"openDatePickerIfMobile($event, datePicker)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n readonly>\n <input matInput type=\"text\" [formControl]=\"formControl\"\n hidden\n [matDatepicker]=\"datePicker\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n <button type=\"button\" mat-icon-button tabindex=\"-1\" matSuffix #datePickerButton2 (click)=\"openDatePicker($event, datePicker)\" [disabled]=\"formControl.disabled\">\n <div *ngIf=\"mobile; then iconDate; else iconDesktop\"></div>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clear()\"\n [hidden]=\"formControl.disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-datepicker #datePicker\n [touchUi]=\"mobile\"\n [disabled]=\"formControl.disabled\"\n [startAt]=\"startDate\"></mat-datepicker>\n <div class=\"mat-form-field-subscript mat-form-field-subscript-wrapper\" >\n <!-- errors -->\n <ng-container [ngSwitch]=\"formControl.touched && formControl.errors|mapKeys|arrayFirst\">\n <mat-error *ngSwitchCase=\"'required'\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngSwitchCase=\"'validDate'\" translate>ERROR.FIELD_NOT_VALID_DATE_TIME</mat-error>\n <mat-error *ngSwitchCase=\"'dateIsAfter'\">{{'ERROR.FIELD_NOT_VALID_DATE_AFTER' | translate: formControl.errors.dateIsAfter }}</mat-error>\n <mat-error *ngSwitchCase=\"'dateRange'\" translate>ERROR.FIELD_NOT_VALID_DATE_RANGE</mat-error>\n <mat-error *ngSwitchCase=\"'dateMaxDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MAX_DURATION</mat-error>\n <mat-error *ngSwitchCase=\"'dateMinDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MIN_DURATION</mat-error>\n <mat-error *ngSwitchCase=\"'msg'\">{{(formControl.errors.msg?.key || formControl.errors.msg) | translate: formControl.errors.msg?.params}}</mat-error>\n </ng-container>\n <ng-content select=\"mat-error\"></ng-content>\n\n <!-- mat hint -->\n <div class=\"mat-form-field-hint-wrapper\" [class.cdk-visually-hidden]=\"formControl.invalid\">\n <div class=\"mat-form-field-hint-spacer\"></div>\n <ng-content select=\"mat-hint\"></ng-content>\n </div>\n </div>\n\n </ion-col>\n\n <!-- hour -->\n <ion-col class=\"hour ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-invalid]=\"formControl.touched && (timeFormControl.invalid || formControl.invalid)\">\n <mat-label *ngIf=\"placeholder && floatLabel != 'never'\" translate>COMMON.TIME</mat-label>\n <input matInput #matInput type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"timeFormControl\"\n autocomplete=\"off\"\n min=\"0\" max=\"23\"\n [textMask]=\"{mask: hourMask, keepCharPositions: true, placeholderChar: placeholderChar, guide: true}\"\n [placeholder]=\"'COMMON.TIME_PLACEHOLDER'|translate\"\n [required]=\"required\"\n (keyup.arrowdown)=\"openTimePicker($event)\"\n (keyup.escape)=\"preventEvent($event)\"\n (blur)=\"checkIfTouched()\"\n [tabindex]=\"tabindex !== undefined ? tabindex+1 : undefined\">\n\n <input matInput #matInput type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"timeFormControl\"\n (click)=\"openTimePickerIfMobile($event)\"\n readonly>\n\n <input matInput type=\"text\"\n [formControl]=\"timeFormControl\"\n hidden\n [ngxTimepicker]=\"timePicker\"\n [format]=\"24\">\n\n <button matSuffix type=\"button\" mat-icon-button\n tabindex=\"-1\"\n *ngIf=\"!compact && !mobile\"\n [disabled]=\"formControl.disabled\"\n (click)=\"openTimePicker($event)\" >\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n <button matSuffix type=\"button\" mat-icon-button\n tabindex=\"-1\"\n *ngIf=\"!compact && mobile\"\n [disabled]=\"formControl.disabled\"\n (click)=\"openTimePickerIfMobile($event)\">\n <mat-icon>access_time</mat-icon>\n </button>\n\n <ngx-material-timepicker #timePicker [@.disabled]=\"true\"\n (timeSet)=\"onTimePickerChange($event)\"\n [ESC]=\"!mobile\"\n [defaultTime]=\"'00:00'\"\n [cancelBtnTmpl]=\"timePickerCancelButton\"\n [confirmBtnTmpl]=\"timePickerOkButton\"\n [preventOverlayClick]=\"mobile\"\n [enableKeyboardInput]=\"false\"\n [disableAnimation]=\"true\">\n <!-- cancel button -->\n <ng-template #timePickerCancelButton>\n <ion-button fill=\"clear\" color=\"dark\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n </ng-template>\n\n <!-- confirm button -->\n <ng-template #timePickerOkButton>\n <ion-button fill=\"solid\" color=\"tertiary\">\n <ion-label translate>COMMON.BTN_VALIDATE</ion-label>\n </ion-button>\n </ng-template>\n\n </ngx-material-timepicker>\n </mat-form-field>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n\n</ng-template>\n\n<ng-template #iconDesktop>\n <mat-icon>keyboard_arrow_down</mat-icon>\n</ng-template>\n\n<ng-template #iconDate>\n <mat-icon>date_range</mat-icon>\n</ng-template>\n\n<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n",
|
|
4800
4785
|
providers: [
|
|
4801
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
4786
|
+
DEFAULT_VALUE_ACCESSOR$2,
|
|
4802
4787
|
],
|
|
4803
4788
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4804
4789
|
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%}"]
|
|
@@ -4837,10 +4822,10 @@ const DEFAULT_VALUE_ACCESSOR$3 = {
|
|
|
4837
4822
|
useExisting: forwardRef(() => MatDateShort),
|
|
4838
4823
|
multi: true
|
|
4839
4824
|
};
|
|
4840
|
-
const DAY_MASK = [/\d/, /\d/, /\d/, /\d/];
|
|
4841
|
-
const noop$
|
|
4825
|
+
const DAY_MASK$2 = [/\d/, /\d/, /\d/, /\d/];
|
|
4826
|
+
const noop$4 = () => {
|
|
4842
4827
|
};
|
|
4843
|
-
const ɵ0$
|
|
4828
|
+
const ɵ0$4 = noop$4;
|
|
4844
4829
|
class MatDateShort {
|
|
4845
4830
|
constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
4846
4831
|
this.dateAdapter = dateAdapter;
|
|
@@ -4849,11 +4834,11 @@ class MatDateShort {
|
|
|
4849
4834
|
this.cd = cd;
|
|
4850
4835
|
this.keyboard = keyboard;
|
|
4851
4836
|
this.formGroupDir = formGroupDir;
|
|
4852
|
-
this._onChangeCallback = noop$
|
|
4853
|
-
this._onTouchedCallback = noop$
|
|
4837
|
+
this._onChangeCallback = noop$4;
|
|
4838
|
+
this._onTouchedCallback = noop$4;
|
|
4854
4839
|
this.writing = true;
|
|
4855
4840
|
this.disabling = false;
|
|
4856
|
-
this.dayMask = DAY_MASK;
|
|
4841
|
+
this.dayMask = DAY_MASK$2;
|
|
4857
4842
|
this.disabled = false;
|
|
4858
4843
|
this.floatLabel = 'auto';
|
|
4859
4844
|
this.readonly = false;
|
|
@@ -5166,16 +5151,16 @@ SharedMatDateTimeModule.decorators = [
|
|
|
5166
5151
|
},] }
|
|
5167
5152
|
];
|
|
5168
5153
|
|
|
5169
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
5154
|
+
const DEFAULT_VALUE_ACCESSOR$4 = {
|
|
5170
5155
|
provide: NG_VALUE_ACCESSOR,
|
|
5171
5156
|
useExisting: forwardRef(() => MatDuration),
|
|
5172
5157
|
multi: true
|
|
5173
5158
|
};
|
|
5174
5159
|
const HOUR_TIME_PATTERN = /[0-9]\d\d:[0-5]\d/;
|
|
5175
|
-
const HOUR_MASK = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
|
|
5176
|
-
const noop$
|
|
5160
|
+
const HOUR_MASK$1 = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
|
|
5161
|
+
const noop$5 = () => {
|
|
5177
5162
|
};
|
|
5178
|
-
const ɵ0$5 = noop$
|
|
5163
|
+
const ɵ0$5 = noop$5;
|
|
5179
5164
|
class MatDuration {
|
|
5180
5165
|
constructor(platform, dateAdapter, translate, formBuilder, cd, formGroupDir) {
|
|
5181
5166
|
this.dateAdapter = dateAdapter;
|
|
@@ -5184,11 +5169,11 @@ class MatDuration {
|
|
|
5184
5169
|
this.cd = cd;
|
|
5185
5170
|
this.formGroupDir = formGroupDir;
|
|
5186
5171
|
this._subscription = new Subscription();
|
|
5187
|
-
this._onChangeCallback = noop$
|
|
5188
|
-
this._onTouchedCallback = noop$
|
|
5172
|
+
this._onChangeCallback = noop$5;
|
|
5173
|
+
this._onTouchedCallback = noop$5;
|
|
5189
5174
|
this.writing = true;
|
|
5190
5175
|
this.disabling = false;
|
|
5191
|
-
this.hourMask = HOUR_MASK;
|
|
5176
|
+
this.hourMask = HOUR_MASK$1;
|
|
5192
5177
|
this.disabled = false;
|
|
5193
5178
|
this.floatLabel = 'auto';
|
|
5194
5179
|
this.readonly = false;
|
|
@@ -5368,7 +5353,7 @@ MatDuration.decorators = [
|
|
|
5368
5353
|
selector: 'mat-duration-field',
|
|
5369
5354
|
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",
|
|
5370
5355
|
providers: [
|
|
5371
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
5356
|
+
DEFAULT_VALUE_ACCESSOR$4,
|
|
5372
5357
|
],
|
|
5373
5358
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
5374
5359
|
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%}"]
|
|
@@ -5425,22 +5410,22 @@ SharedMatDurationModule.decorators = [
|
|
|
5425
5410
|
},] }
|
|
5426
5411
|
];
|
|
5427
5412
|
|
|
5428
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
5413
|
+
const DEFAULT_VALUE_ACCESSOR$5 = {
|
|
5429
5414
|
provide: NG_VALUE_ACCESSOR,
|
|
5430
5415
|
useExisting: forwardRef(() => MatBooleanField),
|
|
5431
5416
|
multi: true
|
|
5432
5417
|
};
|
|
5433
|
-
const noop$
|
|
5418
|
+
const noop$6 = () => {
|
|
5434
5419
|
};
|
|
5435
|
-
const ɵ0$
|
|
5420
|
+
const ɵ0$6 = noop$6;
|
|
5436
5421
|
class MatBooleanField {
|
|
5437
5422
|
constructor(translate, formBuilder, cd, formGroupDir) {
|
|
5438
5423
|
this.translate = translate;
|
|
5439
5424
|
this.formBuilder = formBuilder;
|
|
5440
5425
|
this.cd = cd;
|
|
5441
5426
|
this.formGroupDir = formGroupDir;
|
|
5442
|
-
this._onChangeCallback = noop$
|
|
5443
|
-
this._onTouchedCallback = noop$
|
|
5427
|
+
this._onChangeCallback = noop$6;
|
|
5428
|
+
this._onTouchedCallback = noop$6;
|
|
5444
5429
|
this._writing = false;
|
|
5445
5430
|
this.showRadio = false;
|
|
5446
5431
|
this.disabled = false;
|
|
@@ -5613,7 +5598,7 @@ MatBooleanField.decorators = [
|
|
|
5613
5598
|
selector: 'mat-boolean-field',
|
|
5614
5599
|
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",
|
|
5615
5600
|
providers: [
|
|
5616
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
5601
|
+
DEFAULT_VALUE_ACCESSOR$5
|
|
5617
5602
|
],
|
|
5618
5603
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
5619
5604
|
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}"]
|
|
@@ -5861,7 +5846,7 @@ class MatNumpadDomService {
|
|
|
5861
5846
|
this.appRef.detachView(this.componentRef.hostView);
|
|
5862
5847
|
}
|
|
5863
5848
|
}
|
|
5864
|
-
MatNumpadDomService.ɵprov =
|
|
5849
|
+
MatNumpadDomService.ɵprov = ɵɵdefineInjectable({ factory: function MatNumpadDomService_Factory() { return new MatNumpadDomService(ɵɵinject(ComponentFactoryResolver), ɵɵinject(ApplicationRef), ɵɵinject(INJECTOR), ɵɵinject(DOCUMENT, 8)); }, token: MatNumpadDomService, providedIn: "root" });
|
|
5865
5850
|
MatNumpadDomService.decorators = [
|
|
5866
5851
|
{ type: Injectable, args: [{
|
|
5867
5852
|
providedIn: 'root'
|
|
@@ -6225,7 +6210,7 @@ SharedMatNumpadModule.decorators = [
|
|
|
6225
6210
|
},] }
|
|
6226
6211
|
];
|
|
6227
6212
|
|
|
6228
|
-
const DEFAULT_VALUE_ACCESSOR = {
|
|
6213
|
+
const DEFAULT_VALUE_ACCESSOR$6 = {
|
|
6229
6214
|
provide: NG_VALUE_ACCESSOR,
|
|
6230
6215
|
useExisting: forwardRef(() => MatSwipeField),
|
|
6231
6216
|
multi: true
|
|
@@ -6488,7 +6473,7 @@ MatSwipeField.decorators = [
|
|
|
6488
6473
|
{ type: Component, args: [{
|
|
6489
6474
|
selector: 'mat-swipe-field',
|
|
6490
6475
|
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",
|
|
6491
|
-
providers: [DEFAULT_VALUE_ACCESSOR],
|
|
6476
|
+
providers: [DEFAULT_VALUE_ACCESSOR$6],
|
|
6492
6477
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
6493
6478
|
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}"]
|
|
6494
6479
|
},] }
|
|
@@ -7063,7 +7048,7 @@ class ProgressBarService {
|
|
|
7063
7048
|
}
|
|
7064
7049
|
}
|
|
7065
7050
|
}
|
|
7066
|
-
ProgressBarService.ɵprov =
|
|
7051
|
+
ProgressBarService.ɵprov = ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
|
|
7067
7052
|
ProgressBarService.decorators = [
|
|
7068
7053
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
7069
7054
|
];
|
|
@@ -7107,7 +7092,7 @@ class AppGestureConfig extends HammerGestureConfig {
|
|
|
7107
7092
|
return mc;
|
|
7108
7093
|
}
|
|
7109
7094
|
}
|
|
7110
|
-
AppGestureConfig.ɵprov =
|
|
7095
|
+
AppGestureConfig.ɵprov = ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
|
|
7111
7096
|
AppGestureConfig.decorators = [
|
|
7112
7097
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
7113
7098
|
];
|
|
@@ -7330,7 +7315,7 @@ class MatPaginatorI18n extends MatPaginatorIntl {
|
|
|
7330
7315
|
this.previousPageLabel = this.translate.instant('COMMON.PAGINATOR.PREVIOUS_PAGE');
|
|
7331
7316
|
}
|
|
7332
7317
|
}
|
|
7333
|
-
MatPaginatorI18n.ɵprov =
|
|
7318
|
+
MatPaginatorI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(ɵɵinject(TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
|
|
7334
7319
|
MatPaginatorI18n.decorators = [
|
|
7335
7320
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
7336
7321
|
];
|
|
@@ -7420,17 +7405,17 @@ function getColorContrast(color, bw) {
|
|
|
7420
7405
|
return rgbArrayToHex(rgb.map(v => 255 - v));
|
|
7421
7406
|
}
|
|
7422
7407
|
|
|
7423
|
-
const noop = () => {
|
|
7408
|
+
const noop$7 = () => {
|
|
7424
7409
|
};
|
|
7425
|
-
const ɵ0$
|
|
7410
|
+
const ɵ0$7 = noop$7;
|
|
7426
7411
|
class AppFormField {
|
|
7427
7412
|
constructor(translate, cd, injector, formGroupDir) {
|
|
7428
7413
|
this.translate = translate;
|
|
7429
7414
|
this.cd = cd;
|
|
7430
7415
|
this.injector = injector;
|
|
7431
7416
|
this.formGroupDir = formGroupDir;
|
|
7432
|
-
this._onChangeCallback = noop;
|
|
7433
|
-
this._onTouchedCallback = noop;
|
|
7417
|
+
this._onChangeCallback = noop$7;
|
|
7418
|
+
this._onTouchedCallback = noop$7;
|
|
7434
7419
|
this.readonly = false;
|
|
7435
7420
|
this.compact = false;
|
|
7436
7421
|
this.floatLabel = 'auto';
|
|
@@ -7852,14 +7837,14 @@ class AudioProvider extends StartableService {
|
|
|
7852
7837
|
});
|
|
7853
7838
|
}
|
|
7854
7839
|
}
|
|
7855
|
-
AudioProvider.ɵprov =
|
|
7840
|
+
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" });
|
|
7856
7841
|
AudioProvider.decorators = [
|
|
7857
7842
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
7858
7843
|
];
|
|
7859
7844
|
AudioProvider.ctorParameters = () => [
|
|
7860
7845
|
{ type: Platform },
|
|
7861
|
-
{ type: NativeAudio, decorators: [{ type: Optional }] },
|
|
7862
|
-
{ type: Vibration, decorators: [{ type: Optional }] },
|
|
7846
|
+
{ type: NativeAudio$1, decorators: [{ type: Optional }] },
|
|
7847
|
+
{ type: Vibration$1, decorators: [{ type: Optional }] },
|
|
7863
7848
|
{ type: AudioManagement, decorators: [{ type: Optional }] }
|
|
7864
7849
|
];
|
|
7865
7850
|
|
|
@@ -7941,7 +7926,7 @@ class Hotkeys {
|
|
|
7941
7926
|
});
|
|
7942
7927
|
}
|
|
7943
7928
|
}
|
|
7944
|
-
Hotkeys.ɵprov =
|
|
7929
|
+
Hotkeys.ɵprov = ɵɵdefineInjectable({ factory: function Hotkeys_Factory() { return new Hotkeys(ɵɵinject(EventManager), ɵɵinject(MatDialog), ɵɵinject(DOCUMENT), ɵɵinject(ModalController)); }, token: Hotkeys, providedIn: "root" });
|
|
7945
7930
|
Hotkeys.decorators = [
|
|
7946
7931
|
{ type: Injectable, args: [{
|
|
7947
7932
|
providedIn: 'root'
|
|
@@ -8115,7 +8100,7 @@ class Base64ImageReader {
|
|
|
8115
8100
|
}
|
|
8116
8101
|
}
|
|
8117
8102
|
|
|
8118
|
-
const uuidv4
|
|
8103
|
+
const uuidv4 = uuidv4Imported;
|
|
8119
8104
|
class FileService {
|
|
8120
8105
|
constructor(platform,
|
|
8121
8106
|
//private transfer: FileTransfer,
|
|
@@ -8152,7 +8137,7 @@ class FileService {
|
|
|
8152
8137
|
const lastSlashIndex = source.lastIndexOf('/');
|
|
8153
8138
|
if (lastSlashIndex === -1)
|
|
8154
8139
|
throw new Error('Invalid URL: ' + source);
|
|
8155
|
-
const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4
|
|
8140
|
+
const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4();
|
|
8156
8141
|
// Download into the file system
|
|
8157
8142
|
if (responseType === 'file' && this.canUseFileSystem) {
|
|
8158
8143
|
console.warn(`WARN: [file] Fetching image {${source}} in local file...`);
|
|
@@ -8208,7 +8193,7 @@ class FileService {
|
|
|
8208
8193
|
this._started = true;
|
|
8209
8194
|
}
|
|
8210
8195
|
}
|
|
8211
|
-
FileService.ɵprov =
|
|
8196
|
+
FileService.ɵprov = ɵɵdefineInjectable({ factory: function FileService_Factory() { return new FileService(ɵɵinject(Platform), ɵɵinject(HttpClient), ɵɵinject(ENVIRONMENT)); }, token: FileService, providedIn: "root" });
|
|
8212
8197
|
FileService.decorators = [
|
|
8213
8198
|
{ type: Injectable, args: [{
|
|
8214
8199
|
providedIn: 'root',
|
|
@@ -8374,7 +8359,7 @@ class Base58 {
|
|
|
8374
8359
|
Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
|
|
8375
8360
|
|
|
8376
8361
|
const scrypt = require('scrypt-async');
|
|
8377
|
-
const sha256
|
|
8362
|
+
const sha256 = require('hash.js/lib/hash/sha/256');
|
|
8378
8363
|
const sha512 = require('hash.js/lib/hash/sha/512');
|
|
8379
8364
|
const nacl = {
|
|
8380
8365
|
sign,
|
|
@@ -8478,7 +8463,7 @@ class CryptoService {
|
|
|
8478
8463
|
* Hash (using SHA256) a message
|
|
8479
8464
|
*/
|
|
8480
8465
|
sha256(message) {
|
|
8481
|
-
return sha256
|
|
8466
|
+
return sha256().update(message).digest('hex');
|
|
8482
8467
|
}
|
|
8483
8468
|
/**
|
|
8484
8469
|
* Hash (using SHA512) a message
|
|
@@ -8491,7 +8476,7 @@ class CryptoService {
|
|
|
8491
8476
|
return nacl.util.encodeBase64(m);
|
|
8492
8477
|
}
|
|
8493
8478
|
}
|
|
8494
|
-
CryptoService.ɵprov =
|
|
8479
|
+
CryptoService.ɵprov = ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
|
|
8495
8480
|
CryptoService.decorators = [
|
|
8496
8481
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
8497
8482
|
];
|
|
@@ -9712,7 +9697,7 @@ class LocalSettingsService extends StartableService {
|
|
|
9712
9697
|
return page;
|
|
9713
9698
|
}
|
|
9714
9699
|
}
|
|
9715
|
-
LocalSettingsService.ɵprov =
|
|
9700
|
+
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" });
|
|
9716
9701
|
LocalSettingsService.decorators = [
|
|
9717
9702
|
{ type: Injectable, args: [{
|
|
9718
9703
|
providedIn: 'root',
|
|
@@ -10372,7 +10357,7 @@ class NetworkService extends StartableService {
|
|
|
10372
10357
|
});
|
|
10373
10358
|
}
|
|
10374
10359
|
}
|
|
10375
|
-
NetworkService.ɵprov =
|
|
10360
|
+
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" });
|
|
10376
10361
|
NetworkService.decorators = [
|
|
10377
10362
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
10378
10363
|
];
|
|
@@ -10383,16 +10368,16 @@ NetworkService.ctorParameters = () => [
|
|
|
10383
10368
|
{ type: CryptoService },
|
|
10384
10369
|
{ type: Storage },
|
|
10385
10370
|
{ type: LocalSettingsService },
|
|
10386
|
-
{ type: CacheService },
|
|
10371
|
+
{ type: CacheService$1 },
|
|
10387
10372
|
{ type: HttpClient },
|
|
10388
10373
|
{ type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
|
|
10389
|
-
{ type: Network, decorators: [{ type: Optional }] },
|
|
10390
|
-
{ type: SplashScreen, decorators: [{ type: Optional }] },
|
|
10374
|
+
{ type: Network$1, decorators: [{ type: Optional }] },
|
|
10375
|
+
{ type: SplashScreen$1, decorators: [{ type: Optional }] },
|
|
10391
10376
|
{ type: TranslateService, decorators: [{ type: Optional }] },
|
|
10392
10377
|
{ type: ToastController, decorators: [{ type: Optional }] }
|
|
10393
10378
|
];
|
|
10394
10379
|
|
|
10395
|
-
const ErrorCodes
|
|
10380
|
+
const ErrorCodes = {
|
|
10396
10381
|
UNKNOWN_ERROR: 0,
|
|
10397
10382
|
LOAD_ACCOUNT_ERROR: 1,
|
|
10398
10383
|
BAD_PASSWORD: 2,
|
|
@@ -10739,7 +10724,7 @@ class EntityStore {
|
|
|
10739
10724
|
}
|
|
10740
10725
|
catch (err) {
|
|
10741
10726
|
console.error(err);
|
|
10742
|
-
throw { code: ErrorCodes
|
|
10727
|
+
throw { code: ErrorCodes.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err };
|
|
10743
10728
|
}
|
|
10744
10729
|
}
|
|
10745
10730
|
// Emit update event
|
|
@@ -11310,7 +11295,7 @@ class EntitiesStorage extends StartableService {
|
|
|
11310
11295
|
}
|
|
11311
11296
|
EntitiesStorage.TRASH_PREFIX = 'Trash#';
|
|
11312
11297
|
EntitiesStorage.REMOTE_PREFIX = 'Remote#';
|
|
11313
|
-
EntitiesStorage.ɵprov =
|
|
11298
|
+
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" });
|
|
11314
11299
|
EntitiesStorage.decorators = [
|
|
11315
11300
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
11316
11301
|
];
|
|
@@ -11410,10 +11395,10 @@ function referentialToString(obj, properties) {
|
|
|
11410
11395
|
function referentialsToString(values, properties, separator) {
|
|
11411
11396
|
return (values || []).map(v => referentialToString(v, properties)).join(separator || ', ');
|
|
11412
11397
|
}
|
|
11413
|
-
const ɵ0$
|
|
11398
|
+
const ɵ0$8 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
|
|
11414
11399
|
const StatusList = Object.freeze([
|
|
11415
11400
|
{
|
|
11416
|
-
id: ɵ0$
|
|
11401
|
+
id: ɵ0$8,
|
|
11417
11402
|
icon: 'checkmark',
|
|
11418
11403
|
label: 'REFERENTIAL.STATUS_ENUM.ENABLE'
|
|
11419
11404
|
},
|
|
@@ -11688,7 +11673,7 @@ function accountToString(data) {
|
|
|
11688
11673
|
(data.lastName || '')) || '';
|
|
11689
11674
|
}
|
|
11690
11675
|
|
|
11691
|
-
const uuidv4 = uuidv4Imported;
|
|
11676
|
+
const uuidv4$1 = uuidv4Imported;
|
|
11692
11677
|
const _global = typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : {});
|
|
11693
11678
|
const NativeWebSocket = _global.WebSocket || _global.MozWebSocket;
|
|
11694
11679
|
/**
|
|
@@ -11732,7 +11717,7 @@ function createTrackerLink(opts) {
|
|
|
11732
11717
|
// Skip if not tracked
|
|
11733
11718
|
if (!context || !context.tracked)
|
|
11734
11719
|
return forward(operation);
|
|
11735
|
-
const id = context.serializationKey || uuidv4();
|
|
11720
|
+
const id = context.serializationKey || uuidv4$1();
|
|
11736
11721
|
console.debug(`[apollo-tracker-link] Watching tracked query {${operation.operationName}#${id}}`);
|
|
11737
11722
|
// Clean context, before calling JSON.stringify (remove unused attributes)
|
|
11738
11723
|
const cleanContext = Object.assign(Object.assign({}, context), { optimisticResponse: null, cache: null });
|
|
@@ -12400,7 +12385,7 @@ class GraphqlService extends StartableService {
|
|
|
12400
12385
|
(err.networkError && ((err.networkError.error && this.toAppError(err.networkError.error))
|
|
12401
12386
|
|| this.toAppError(err.networkError)
|
|
12402
12387
|
|| (err.networkError.error && this.createAppErrorByCode(err.networkError.error.status))
|
|
12403
|
-
|| this.createAppErrorByCode(ErrorCodes
|
|
12388
|
+
|| this.createAppErrorByCode(ErrorCodes.UNKNOWN_NETWORK_ERROR)))
|
|
12404
12389
|
// If graphQL: try to convert the first error found
|
|
12405
12390
|
|| (err.graphQLErrors && err.graphQLErrors.length && this.toAppError(err.graphQLErrors[0]))
|
|
12406
12391
|
|| this.toAppError(err)
|
|
@@ -12408,7 +12393,7 @@ class GraphqlService extends StartableService {
|
|
|
12408
12393
|
|| (err.graphQLErrors && err.graphQLErrors[0])
|
|
12409
12394
|
|| err;
|
|
12410
12395
|
console.error('[graphql] ' + (error && error.message || error), error.stack || '');
|
|
12411
|
-
if (error && error.code === ErrorCodes
|
|
12396
|
+
if (error && error.code === ErrorCodes.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
|
|
12412
12397
|
console.error('[graphql] original error: ' + err.networkError.message);
|
|
12413
12398
|
this.onNetworkError.next(error);
|
|
12414
12399
|
}
|
|
@@ -12444,7 +12429,7 @@ class GraphqlService extends StartableService {
|
|
|
12444
12429
|
return 'ERROR.UNAUTHORIZED';
|
|
12445
12430
|
case ServerErrorCodes.FORBIDDEN:
|
|
12446
12431
|
return 'ERROR.FORBIDDEN';
|
|
12447
|
-
case ErrorCodes
|
|
12432
|
+
case ErrorCodes.UNKNOWN_NETWORK_ERROR:
|
|
12448
12433
|
return 'ERROR.UNKNOWN_NETWORK_ERROR';
|
|
12449
12434
|
case ServerErrorCodes.BAD_UPDATE_DATE:
|
|
12450
12435
|
return 'ERROR.BAD_UPDATE_DATE';
|
|
@@ -12472,7 +12457,7 @@ class GraphqlService extends StartableService {
|
|
|
12472
12457
|
return undefined;
|
|
12473
12458
|
}
|
|
12474
12459
|
}
|
|
12475
|
-
GraphqlService.ɵprov =
|
|
12460
|
+
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" });
|
|
12476
12461
|
GraphqlService.decorators = [
|
|
12477
12462
|
{ type: Injectable, args: [{
|
|
12478
12463
|
providedIn: 'root'
|
|
@@ -12489,7 +12474,7 @@ GraphqlService.ctorParameters = () => [
|
|
|
12489
12474
|
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_GRAPHQL_TYPE_POLICIES,] }] }
|
|
12490
12475
|
];
|
|
12491
12476
|
|
|
12492
|
-
const sha256 = require('hash.js/lib/hash/sha/256');
|
|
12477
|
+
const sha256$1 = require('hash.js/lib/hash/sha/256');
|
|
12493
12478
|
class BaseGraphqlServiceOptions {
|
|
12494
12479
|
}
|
|
12495
12480
|
// eslint-disable-next-line @angular-eslint/directive-class-suffix
|
|
@@ -12639,8 +12624,8 @@ class BaseGraphqlService {
|
|
|
12639
12624
|
}
|
|
12640
12625
|
/* -- protected methods -- */
|
|
12641
12626
|
computeMutableWatchQueryId(opts) {
|
|
12642
|
-
const queryName = opts.queryName || sha256().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
|
|
12643
|
-
const variablesKey = opts.variables && sha256().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
|
|
12627
|
+
const queryName = opts.queryName || sha256$1().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
|
|
12628
|
+
const variablesKey = opts.variables && sha256$1().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
|
|
12644
12629
|
return [queryName, opts.arrayFieldName, variablesKey].join('|');
|
|
12645
12630
|
}
|
|
12646
12631
|
findMutableWatchQueries(opts) {
|
|
@@ -12703,7 +12688,7 @@ const DEFAULT_AVATAR_IMAGE = 'assets/img/person.png';
|
|
|
12703
12688
|
/* ------------------------------------
|
|
12704
12689
|
* GraphQL queries
|
|
12705
12690
|
* ------------------------------------*/
|
|
12706
|
-
const Fragments
|
|
12691
|
+
const Fragments = {
|
|
12707
12692
|
account: gql `
|
|
12708
12693
|
fragment AccountFragment on AccountVO {
|
|
12709
12694
|
id
|
|
@@ -12736,13 +12721,13 @@ const Fragments$1 = {
|
|
|
12736
12721
|
`
|
|
12737
12722
|
};
|
|
12738
12723
|
// Load account query
|
|
12739
|
-
const LoadQuery
|
|
12724
|
+
const LoadQuery = gql `
|
|
12740
12725
|
query Account {
|
|
12741
12726
|
data: account {
|
|
12742
12727
|
...AccountFragment
|
|
12743
12728
|
}
|
|
12744
12729
|
}
|
|
12745
|
-
${Fragments
|
|
12730
|
+
${Fragments.account}
|
|
12746
12731
|
`;
|
|
12747
12732
|
// Check email query
|
|
12748
12733
|
const IsEmailExistsQuery = gql `
|
|
@@ -12751,13 +12736,13 @@ const IsEmailExistsQuery = gql `
|
|
|
12751
12736
|
}
|
|
12752
12737
|
`;
|
|
12753
12738
|
// Save (create or update) account mutation
|
|
12754
|
-
const SaveMutation
|
|
12739
|
+
const SaveMutation = gql `
|
|
12755
12740
|
mutation SaveAccount($data:AccountVOInput){
|
|
12756
12741
|
data: saveAccount(account: $data){
|
|
12757
12742
|
...AccountFragment
|
|
12758
12743
|
}
|
|
12759
12744
|
}
|
|
12760
|
-
${Fragments
|
|
12745
|
+
${Fragments.account}
|
|
12761
12746
|
`;
|
|
12762
12747
|
// Create account mutation
|
|
12763
12748
|
const CreateMutation = gql `
|
|
@@ -12766,7 +12751,7 @@ const CreateMutation = gql `
|
|
|
12766
12751
|
...AccountFragment
|
|
12767
12752
|
}
|
|
12768
12753
|
}
|
|
12769
|
-
${Fragments
|
|
12754
|
+
${Fragments.account}
|
|
12770
12755
|
`;
|
|
12771
12756
|
// Sent confirmation email
|
|
12772
12757
|
const SendConfirmEmailMutation = gql `
|
|
@@ -13104,7 +13089,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
13104
13089
|
catch (error) {
|
|
13105
13090
|
console.error(error);
|
|
13106
13091
|
this.resetData();
|
|
13107
|
-
throw { code: ErrorCodes
|
|
13092
|
+
throw { code: ErrorCodes.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
|
|
13108
13093
|
}
|
|
13109
13094
|
// Store pubkey+keypair
|
|
13110
13095
|
this._data.pubkey = Base58.encode(keypair.publicKey);
|
|
@@ -13138,7 +13123,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
13138
13123
|
}
|
|
13139
13124
|
catch (err) {
|
|
13140
13125
|
// If account not found, check if email is valid
|
|
13141
|
-
if (err && +(err.code) === ErrorCodes
|
|
13126
|
+
if (err && +(err.code) === ErrorCodes.LOAD_ACCOUNT_ERROR) {
|
|
13142
13127
|
// Check email exists
|
|
13143
13128
|
if (data.username.indexOf('@') !== -1) {
|
|
13144
13129
|
let isEmailExists;
|
|
@@ -13150,11 +13135,11 @@ class AccountService extends BaseGraphqlService {
|
|
|
13150
13135
|
}
|
|
13151
13136
|
// Email not exists (no account)
|
|
13152
13137
|
if (!isEmailExists) {
|
|
13153
|
-
throw { code: ErrorCodes
|
|
13138
|
+
throw { code: ErrorCodes.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
|
|
13154
13139
|
}
|
|
13155
13140
|
}
|
|
13156
13141
|
// Email exists, so error = 'bad password'
|
|
13157
|
-
throw { code: ErrorCodes
|
|
13142
|
+
throw { code: ErrorCodes.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
|
|
13158
13143
|
}
|
|
13159
13144
|
throw err; // resend the first error
|
|
13160
13145
|
}
|
|
@@ -13279,8 +13264,8 @@ class AccountService extends BaseGraphqlService {
|
|
|
13279
13264
|
// Load remotely
|
|
13280
13265
|
else {
|
|
13281
13266
|
const { data } = yield this.graphql.query({
|
|
13282
|
-
query: LoadQuery
|
|
13283
|
-
error: { code: ErrorCodes
|
|
13267
|
+
query: LoadQuery,
|
|
13268
|
+
error: { code: ErrorCodes.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
|
|
13284
13269
|
fetchPolicy: opts && opts.fetchPolicy || 'no-cache' || undefined
|
|
13285
13270
|
});
|
|
13286
13271
|
json = data;
|
|
@@ -13307,7 +13292,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
13307
13292
|
return __awaiter(this, void 0, void 0, function* () {
|
|
13308
13293
|
const isEmailExists = yield this.isEmailExists(email);
|
|
13309
13294
|
if (isEmailExists) {
|
|
13310
|
-
throw { code: ErrorCodes
|
|
13295
|
+
throw { code: ErrorCodes.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
|
|
13311
13296
|
}
|
|
13312
13297
|
});
|
|
13313
13298
|
}
|
|
@@ -13343,7 +13328,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
13343
13328
|
locale
|
|
13344
13329
|
},
|
|
13345
13330
|
error: {
|
|
13346
|
-
code: ErrorCodes
|
|
13331
|
+
code: ErrorCodes.SENT_CONFIRMATION_EMAIL_FAILED,
|
|
13347
13332
|
message: 'ERROR.SENT_ACCOUNT_CONFIRMATION_EMAIL_FAILED'
|
|
13348
13333
|
}
|
|
13349
13334
|
});
|
|
@@ -13359,7 +13344,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
13359
13344
|
code
|
|
13360
13345
|
},
|
|
13361
13346
|
error: {
|
|
13362
|
-
code: ErrorCodes
|
|
13347
|
+
code: ErrorCodes.CONFIRM_EMAIL_FAILED,
|
|
13363
13348
|
message: 'ERROR.CONFIRM_ACCOUNT_EMAIL_FAILED'
|
|
13364
13349
|
}
|
|
13365
13350
|
});
|
|
@@ -13377,7 +13362,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
13377
13362
|
interval: 10
|
|
13378
13363
|
},
|
|
13379
13364
|
error: {
|
|
13380
|
-
code: ErrorCodes
|
|
13365
|
+
code: ErrorCodes.SUBSCRIBE_ACCOUNT_ERROR,
|
|
13381
13366
|
message: 'ERROR.ACCOUNT.SUBSCRIBE_ACCOUNT_ERROR'
|
|
13382
13367
|
}
|
|
13383
13368
|
}).subscribe({
|
|
@@ -13486,7 +13471,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
13486
13471
|
throw error;
|
|
13487
13472
|
console.error(error);
|
|
13488
13473
|
throw {
|
|
13489
|
-
code: ErrorCodes
|
|
13474
|
+
code: ErrorCodes.LOAD_ACCOUNT_ERROR,
|
|
13490
13475
|
message: 'ERROR.LOAD_ACCOUNT_ERROR'
|
|
13491
13476
|
};
|
|
13492
13477
|
}
|
|
@@ -13631,7 +13616,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
13631
13616
|
if (!isNew) {
|
|
13632
13617
|
const existingAccount = yield this.load({ fetchPolicy: 'network-only' });
|
|
13633
13618
|
if (!existingAccount || !existingAccount.updateDate) {
|
|
13634
|
-
throw { code: ErrorCodes
|
|
13619
|
+
throw { code: ErrorCodes.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
|
|
13635
13620
|
}
|
|
13636
13621
|
this.copyIdAndUpdateDate(existingAccount, account);
|
|
13637
13622
|
}
|
|
@@ -13640,10 +13625,10 @@ class AccountService extends BaseGraphqlService {
|
|
|
13640
13625
|
delete json.profiles;
|
|
13641
13626
|
// Execute mutation
|
|
13642
13627
|
const { data } = yield this.graphql.mutate({
|
|
13643
|
-
mutation: isNew ? CreateMutation : SaveMutation
|
|
13628
|
+
mutation: isNew ? CreateMutation : SaveMutation,
|
|
13644
13629
|
variables: { data: json },
|
|
13645
13630
|
error: {
|
|
13646
|
-
code: ErrorCodes
|
|
13631
|
+
code: ErrorCodes.SAVE_ACCOUNT_ERROR,
|
|
13647
13632
|
message: 'ERROR.SAVE_ACCOUNT_ERROR'
|
|
13648
13633
|
}
|
|
13649
13634
|
});
|
|
@@ -13663,7 +13648,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
13663
13648
|
if (counter > 4) {
|
|
13664
13649
|
if (this._debug)
|
|
13665
13650
|
console.debug(`[account] Failed to authentication on pod (after ${counter} attempts)`);
|
|
13666
|
-
throw { code: ErrorCodes
|
|
13651
|
+
throw { code: ErrorCodes.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
|
|
13667
13652
|
}
|
|
13668
13653
|
// Check if valid
|
|
13669
13654
|
if (token) {
|
|
@@ -13673,7 +13658,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
13673
13658
|
token
|
|
13674
13659
|
},
|
|
13675
13660
|
error: {
|
|
13676
|
-
code: ErrorCodes
|
|
13661
|
+
code: ErrorCodes.UNAUTHORIZED,
|
|
13677
13662
|
message: 'ERROR.UNAUTHORIZED'
|
|
13678
13663
|
},
|
|
13679
13664
|
fetchPolicy: 'no-cache'
|
|
@@ -13689,7 +13674,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
13689
13674
|
}
|
|
13690
13675
|
// Generate a new token
|
|
13691
13676
|
const challengeError = {
|
|
13692
|
-
code: ErrorCodes
|
|
13677
|
+
code: ErrorCodes.AUTH_CHALLENGE_ERROR,
|
|
13693
13678
|
message: 'ERROR.AUTH_CHALLENGE_ERROR'
|
|
13694
13679
|
};
|
|
13695
13680
|
const data = yield this.graphql.query({
|
|
@@ -13723,7 +13708,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
13723
13708
|
target.settings.updateDate = source.settings && source.settings.updateDate || target.settings.updateDate;
|
|
13724
13709
|
}
|
|
13725
13710
|
}
|
|
13726
|
-
AccountService.ɵprov =
|
|
13711
|
+
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" });
|
|
13727
13712
|
AccountService.decorators = [
|
|
13728
13713
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
13729
13714
|
];
|
|
@@ -13983,7 +13968,7 @@ const CONFIGURATION_STORAGE_KEY = 'configuration';
|
|
|
13983
13968
|
/* ------------------------------------
|
|
13984
13969
|
* GraphQL queries
|
|
13985
13970
|
* ------------------------------------*/
|
|
13986
|
-
const Fragments = {
|
|
13971
|
+
const Fragments$1 = {
|
|
13987
13972
|
config: gql `
|
|
13988
13973
|
fragment ConfigFragment on ConfigurationVO {
|
|
13989
13974
|
id
|
|
@@ -14010,22 +13995,22 @@ const Fragments = {
|
|
|
14010
13995
|
}
|
|
14011
13996
|
`
|
|
14012
13997
|
};
|
|
14013
|
-
const LoadQuery = gql `
|
|
13998
|
+
const LoadQuery$1 = gql `
|
|
14014
13999
|
query Configuration{
|
|
14015
14000
|
data: configuration{
|
|
14016
14001
|
...ConfigFragment
|
|
14017
14002
|
}
|
|
14018
14003
|
}
|
|
14019
|
-
${Fragments.config}
|
|
14004
|
+
${Fragments$1.config}
|
|
14020
14005
|
`;
|
|
14021
14006
|
// Save (create or update) account mutation
|
|
14022
|
-
const SaveMutation = gql `
|
|
14007
|
+
const SaveMutation$1 = gql `
|
|
14023
14008
|
mutation SaveConfiguration($data: ConfigurationVOInput){
|
|
14024
14009
|
data: saveConfiguration(config: $data){
|
|
14025
14010
|
...ConfigFragment
|
|
14026
14011
|
}
|
|
14027
14012
|
}
|
|
14028
|
-
${Fragments.config}
|
|
14013
|
+
${Fragments$1.config}
|
|
14029
14014
|
`;
|
|
14030
14015
|
const ClearCache = gql `
|
|
14031
14016
|
query ClearCache($name: String) {
|
|
@@ -14120,12 +14105,12 @@ class ConfigService extends BaseGraphqlService {
|
|
|
14120
14105
|
return __awaiter(this, void 0, void 0, function* () {
|
|
14121
14106
|
const now = Date.now();
|
|
14122
14107
|
console.debug('[config] Loading Pod configuration...');
|
|
14123
|
-
const query = opts && opts.query || LoadQuery;
|
|
14108
|
+
const query = opts && opts.query || LoadQuery$1;
|
|
14124
14109
|
const variables = opts && opts.variables || undefined;
|
|
14125
14110
|
const res = yield this.graphql.query({
|
|
14126
14111
|
query,
|
|
14127
14112
|
variables,
|
|
14128
|
-
error: { code: ErrorCodes
|
|
14113
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
14129
14114
|
fetchPolicy: opts && opts.fetchPolicy || undefined /*default*/
|
|
14130
14115
|
});
|
|
14131
14116
|
const data = res && res.data ? Configuration.fromObject(res.data) : undefined;
|
|
@@ -14150,12 +14135,12 @@ class ConfigService extends BaseGraphqlService {
|
|
|
14150
14135
|
const json = config.asObject();
|
|
14151
14136
|
// Execute mutation
|
|
14152
14137
|
const res = yield this.graphql.mutate({
|
|
14153
|
-
mutation: SaveMutation,
|
|
14138
|
+
mutation: SaveMutation$1,
|
|
14154
14139
|
variables: {
|
|
14155
14140
|
data: json
|
|
14156
14141
|
},
|
|
14157
14142
|
error: {
|
|
14158
|
-
code: ErrorCodes
|
|
14143
|
+
code: ErrorCodes.SAVE_CONFIG_ERROR,
|
|
14159
14144
|
message: 'ERROR.SAVE_CONFIG_ERROR'
|
|
14160
14145
|
}
|
|
14161
14146
|
});
|
|
@@ -14181,7 +14166,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
14181
14166
|
const res = yield this.graphql.query({
|
|
14182
14167
|
query: CacheStatistics,
|
|
14183
14168
|
variables: null,
|
|
14184
|
-
error: { code: ErrorCodes
|
|
14169
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
14185
14170
|
fetchPolicy: 'network-only'
|
|
14186
14171
|
});
|
|
14187
14172
|
const data = res && res.cacheStatistics || undefined;
|
|
@@ -14197,7 +14182,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
14197
14182
|
const res = yield this.graphql.query({
|
|
14198
14183
|
query: ClearCache,
|
|
14199
14184
|
variables,
|
|
14200
|
-
error: { code: ErrorCodes
|
|
14185
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
14201
14186
|
fetchPolicy: 'network-only'
|
|
14202
14187
|
});
|
|
14203
14188
|
const data = res && res.clearCache || undefined;
|
|
@@ -14356,7 +14341,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
14356
14341
|
});
|
|
14357
14342
|
}
|
|
14358
14343
|
}
|
|
14359
|
-
ConfigService.ɵprov =
|
|
14344
|
+
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" });
|
|
14360
14345
|
ConfigService.decorators = [
|
|
14361
14346
|
{ type: Injectable, args: [{
|
|
14362
14347
|
providedIn: 'root',
|
|
@@ -14375,7 +14360,7 @@ ConfigService.ctorParameters = () => [
|
|
|
14375
14360
|
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_CONFIG_OPTIONS,] }] }
|
|
14376
14361
|
];
|
|
14377
14362
|
|
|
14378
|
-
const moment$
|
|
14363
|
+
const moment$4 = momentImported;
|
|
14379
14364
|
class PlatformService extends StartableService {
|
|
14380
14365
|
constructor(platform, cdkPlatform, toastController, translate, dateAdapter, entitiesStorage, settings, networkService, accountService, configService, cache, storage, audioProvider, environment, statusBar, keyboard, splashScreen, browser, downloader) {
|
|
14381
14366
|
super(platform);
|
|
@@ -14564,16 +14549,16 @@ class PlatformService extends StartableService {
|
|
|
14564
14549
|
}
|
|
14565
14550
|
// config moment lib
|
|
14566
14551
|
try {
|
|
14567
|
-
moment$
|
|
14552
|
+
moment$4.locale(event.lang);
|
|
14568
14553
|
console.debug('[platform] Use locale {' + event.lang + '}');
|
|
14569
14554
|
}
|
|
14570
14555
|
// If error, fallback to en
|
|
14571
14556
|
catch (err) {
|
|
14572
|
-
moment$
|
|
14557
|
+
moment$4.locale('en');
|
|
14573
14558
|
console.warn('[platform] Unknown local for moment lib. Using default [en]');
|
|
14574
14559
|
}
|
|
14575
14560
|
// Config date adapter
|
|
14576
|
-
this.dateAdapter.setLocale(moment$
|
|
14561
|
+
this.dateAdapter.setLocale(moment$4.locale());
|
|
14577
14562
|
}
|
|
14578
14563
|
});
|
|
14579
14564
|
this.settings.onChange.subscribe(data => {
|
|
@@ -14711,7 +14696,7 @@ class PlatformService extends StartableService {
|
|
|
14711
14696
|
});
|
|
14712
14697
|
}
|
|
14713
14698
|
}
|
|
14714
|
-
PlatformService.ɵprov =
|
|
14699
|
+
PlatformService.ɵprov = ɵɵdefineInjectable({ factory: function PlatformService_Factory() { return new PlatformService(ɵɵinject(Platform), ɵɵinject(Platform$1), ɵɵinject(ToastController), ɵɵinject(TranslateService), ɵɵinject(MomentDateAdapter), ɵɵinject(EntitiesStorage), ɵɵinject(LocalSettingsService), ɵɵinject(NetworkService), ɵɵinject(AccountService), ɵɵinject(ConfigService), ɵɵinject(CacheService), ɵɵinject(Storage), ɵɵinject(AudioProvider), ɵɵinject(ENVIRONMENT), ɵɵinject(StatusBar, 8), ɵɵinject(Keyboard$1, 8), ɵɵinject(SplashScreen, 8), ɵɵinject(InAppBrowser, 8), ɵɵinject(Downloader, 8)); }, token: PlatformService, providedIn: "root" });
|
|
14715
14700
|
PlatformService.decorators = [
|
|
14716
14701
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
14717
14702
|
];
|
|
@@ -14726,15 +14711,15 @@ PlatformService.ctorParameters = () => [
|
|
|
14726
14711
|
{ type: NetworkService },
|
|
14727
14712
|
{ type: AccountService },
|
|
14728
14713
|
{ type: ConfigService },
|
|
14729
|
-
{ type: CacheService },
|
|
14714
|
+
{ type: CacheService$1 },
|
|
14730
14715
|
{ type: Storage },
|
|
14731
14716
|
{ type: AudioProvider },
|
|
14732
14717
|
{ type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
|
|
14733
|
-
{ type: StatusBar, decorators: [{ type: Optional }] },
|
|
14718
|
+
{ type: StatusBar$1, decorators: [{ type: Optional }] },
|
|
14734
14719
|
{ type: Keyboard, decorators: [{ type: Optional }] },
|
|
14735
|
-
{ type: SplashScreen, decorators: [{ type: Optional }] },
|
|
14736
|
-
{ type: InAppBrowser, decorators: [{ type: Optional }] },
|
|
14737
|
-
{ type: Downloader, decorators: [{ type: Optional }] }
|
|
14720
|
+
{ type: SplashScreen$1, decorators: [{ type: Optional }] },
|
|
14721
|
+
{ type: InAppBrowser$1, decorators: [{ type: Optional }] },
|
|
14722
|
+
{ type: Downloader$1, decorators: [{ type: Optional }] }
|
|
14738
14723
|
];
|
|
14739
14724
|
|
|
14740
14725
|
class AppHelpModal {
|
|
@@ -14798,7 +14783,7 @@ class MatStepperI18n extends MatStepperIntl {
|
|
|
14798
14783
|
this.optionalLabel = this.translate.instant('COMMON.OPTIONAL');
|
|
14799
14784
|
}
|
|
14800
14785
|
}
|
|
14801
|
-
MatStepperI18n.ɵprov =
|
|
14786
|
+
MatStepperI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(ɵɵinject(TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
|
|
14802
14787
|
MatStepperI18n.decorators = [
|
|
14803
14788
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
14804
14789
|
];
|
|
@@ -15790,7 +15775,7 @@ function state2side(state) {
|
|
|
15790
15775
|
return 1;
|
|
15791
15776
|
}
|
|
15792
15777
|
}
|
|
15793
|
-
const ɵ0$
|
|
15778
|
+
const ɵ0$9 = (defaultStateSize) => [
|
|
15794
15779
|
Math.round((rgbArrayMap.red[0] - 50) / defaultStateSize),
|
|
15795
15780
|
Math.round((255 - rgbArrayMap.red[1]) / defaultStateSize),
|
|
15796
15781
|
Math.round((255 - rgbArrayMap.red[2]) / defaultStateSize)
|
|
@@ -15798,7 +15783,7 @@ const ɵ0$1 = (defaultStateSize) => [
|
|
|
15798
15783
|
const SCALE_OPTIONS_DEFAULT = {
|
|
15799
15784
|
startColor: rgbArrayMap.red,
|
|
15800
15785
|
startStates: [0, 2, 3],
|
|
15801
|
-
startStepsFn: ɵ0$
|
|
15786
|
+
startStepsFn: ɵ0$9
|
|
15802
15787
|
};
|
|
15803
15788
|
/**
|
|
15804
15789
|
* Internal function, that create a colors scale, using iteration
|
|
@@ -15890,21 +15875,21 @@ function linearColorGradient(count, options) {
|
|
|
15890
15875
|
return result;
|
|
15891
15876
|
}
|
|
15892
15877
|
|
|
15893
|
-
class EntityTestClass
|
|
15878
|
+
class EntityTestClass {
|
|
15894
15879
|
}
|
|
15895
|
-
const FAKE_ENTITIES
|
|
15880
|
+
const FAKE_ENTITIES = [
|
|
15896
15881
|
{ id: 1, label: 'AAA', name: 'Item A', description: 'Very long description A', comments: 'Very very long comments... again for A' },
|
|
15897
15882
|
{ id: 2, label: 'BBB', name: 'Item B', description: 'Very long description B', comments: 'Very very long comments... again for B' },
|
|
15898
15883
|
{ id: 3, label: 'CCC', name: 'Item C', description: 'Very long description C', comments: 'Very very long comments... again for C' }
|
|
15899
15884
|
];
|
|
15900
|
-
function deepCopy
|
|
15885
|
+
function deepCopy(values, size) {
|
|
15901
15886
|
if (isNil(size)) {
|
|
15902
|
-
return (values || FAKE_ENTITIES
|
|
15887
|
+
return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
|
|
15903
15888
|
}
|
|
15904
15889
|
let result = [];
|
|
15905
15890
|
let i = 1;
|
|
15906
15891
|
while (result.length < size) {
|
|
15907
|
-
result = result.concat((values || FAKE_ENTITIES
|
|
15892
|
+
result = result.concat((values || FAKE_ENTITIES).map(entity => {
|
|
15908
15893
|
const name = entity.name + ' #' + i;
|
|
15909
15894
|
return Object.assign(Object.assign({}, entity), { id: i++, name });
|
|
15910
15895
|
}));
|
|
@@ -15914,7 +15899,7 @@ function deepCopy$1(values, size) {
|
|
|
15914
15899
|
class AutocompleteTestPage {
|
|
15915
15900
|
constructor(formBuilder) {
|
|
15916
15901
|
this.formBuilder = formBuilder;
|
|
15917
|
-
this._items = deepCopy
|
|
15902
|
+
this._items = deepCopy(FAKE_ENTITIES, 100);
|
|
15918
15903
|
this.$items = new BehaviorSubject(undefined);
|
|
15919
15904
|
this.autocompleteFields = new MatAutocompleteConfigHolder();
|
|
15920
15905
|
this.memoryHide = false;
|
|
@@ -15958,7 +15943,7 @@ class AutocompleteTestPage {
|
|
|
15958
15943
|
});
|
|
15959
15944
|
// From items
|
|
15960
15945
|
this.autocompleteFields.add('entity-items-large', {
|
|
15961
|
-
items: FAKE_ENTITIES
|
|
15946
|
+
items: FAKE_ENTITIES.slice(),
|
|
15962
15947
|
attributes: ['label', 'name', 'description', 'comments'],
|
|
15963
15948
|
displayWith: this.entityToString
|
|
15964
15949
|
});
|
|
@@ -15968,12 +15953,12 @@ class AutocompleteTestPage {
|
|
|
15968
15953
|
loadData() {
|
|
15969
15954
|
return __awaiter(this, void 0, void 0, function* () {
|
|
15970
15955
|
const data = {
|
|
15971
|
-
entity: deepCopy
|
|
15956
|
+
entity: deepCopy(FAKE_ENTITIES)[0],
|
|
15972
15957
|
// This item is NOT in the items list => i should be displayed anyway
|
|
15973
15958
|
missingEntity: {
|
|
15974
15959
|
id: -1, label: '??', name: 'Missing item'
|
|
15975
15960
|
},
|
|
15976
|
-
disableEntity: deepCopy
|
|
15961
|
+
disableEntity: deepCopy(FAKE_ENTITIES)[2]
|
|
15977
15962
|
};
|
|
15978
15963
|
this.form.setValue(data);
|
|
15979
15964
|
// Load observables
|
|
@@ -16146,13 +16131,13 @@ MaterialTestingPage.ctorParameters = () => [
|
|
|
16146
16131
|
{ type: Array, decorators: [{ type: Optional }, { type: Inject, args: [APP_TESTING_PAGES,] }] }
|
|
16147
16132
|
];
|
|
16148
16133
|
|
|
16149
|
-
const moment$
|
|
16134
|
+
const moment$5 = momentImported;
|
|
16150
16135
|
class SwipeTestPage {
|
|
16151
16136
|
constructor(formBuilder, dateFormatPipe) {
|
|
16152
16137
|
this.formBuilder = formBuilder;
|
|
16153
16138
|
this.dateFormatPipe = dateFormatPipe;
|
|
16154
16139
|
this.$dates = new BehaviorSubject(undefined);
|
|
16155
|
-
this._today = moment$
|
|
16140
|
+
this._today = moment$5().startOf('day');
|
|
16156
16141
|
this.form = formBuilder.group({
|
|
16157
16142
|
empty: [null, Validators.required],
|
|
16158
16143
|
date: [null, Validators.compose([Validators.required, SharedValidators.validDate])],
|
|
@@ -16165,7 +16150,7 @@ class SwipeTestPage {
|
|
|
16165
16150
|
ngOnInit() {
|
|
16166
16151
|
const dates = [];
|
|
16167
16152
|
for (let d = 0; d < 7; d++) {
|
|
16168
|
-
dates[d] = moment$
|
|
16153
|
+
dates[d] = moment$5(this._today).add(d - 3, 'day');
|
|
16169
16154
|
}
|
|
16170
16155
|
this.$dates.next(dates);
|
|
16171
16156
|
this.loadData();
|
|
@@ -16206,7 +16191,7 @@ SwipeTestPage.ctorParameters = () => [
|
|
|
16206
16191
|
{ type: DateFormatPipe }
|
|
16207
16192
|
];
|
|
16208
16193
|
|
|
16209
|
-
const moment = momentImported;
|
|
16194
|
+
const moment$6 = momentImported;
|
|
16210
16195
|
class DateTimeTestPage {
|
|
16211
16196
|
constructor(platform, formBuilder, cd) {
|
|
16212
16197
|
this.platform = platform;
|
|
@@ -16238,7 +16223,7 @@ class DateTimeTestPage {
|
|
|
16238
16223
|
// Load the form with data
|
|
16239
16224
|
loadData() {
|
|
16240
16225
|
return __awaiter(this, void 0, void 0, function* () {
|
|
16241
|
-
const now = moment();
|
|
16226
|
+
const now = moment$6();
|
|
16242
16227
|
const data = {
|
|
16243
16228
|
empty: toDateISOString(now.clone().add(2, 'hours')),
|
|
16244
16229
|
enable: toDateISOString(now),
|
|
@@ -16299,20 +16284,20 @@ DateTimeTestPage.ctorParameters = () => [
|
|
|
16299
16284
|
{ type: ChangeDetectorRef }
|
|
16300
16285
|
];
|
|
16301
16286
|
|
|
16302
|
-
class EntityTestClass {
|
|
16287
|
+
class EntityTestClass$1 {
|
|
16303
16288
|
}
|
|
16304
|
-
const FAKE_ENTITIES = [
|
|
16289
|
+
const FAKE_ENTITIES$1 = [
|
|
16305
16290
|
{ id: 1, label: 'AAA', name: 'Item A' },
|
|
16306
16291
|
{ id: 2, label: 'BBB', name: 'Item B' },
|
|
16307
16292
|
{ id: 3, label: 'CCC', name: 'Item C' }
|
|
16308
16293
|
];
|
|
16309
|
-
function deepCopy(values) {
|
|
16310
|
-
return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
|
|
16294
|
+
function deepCopy$1(values) {
|
|
16295
|
+
return (values || FAKE_ENTITIES$1).map(entity => Object.assign({}, entity));
|
|
16311
16296
|
}
|
|
16312
16297
|
class ChipsTestPage {
|
|
16313
16298
|
constructor(formBuilder) {
|
|
16314
16299
|
this.formBuilder = formBuilder;
|
|
16315
|
-
this._items = deepCopy(FAKE_ENTITIES);
|
|
16300
|
+
this._items = deepCopy$1(FAKE_ENTITIES$1);
|
|
16316
16301
|
this._$items = new BehaviorSubject(undefined);
|
|
16317
16302
|
this.autocompleteFields = new MatAutocompleteConfigHolder();
|
|
16318
16303
|
this.form = formBuilder.group({
|
|
@@ -16331,7 +16316,7 @@ class ChipsTestPage {
|
|
|
16331
16316
|
});
|
|
16332
16317
|
// From items
|
|
16333
16318
|
this.autocompleteFields.add('entity-items', {
|
|
16334
|
-
items: FAKE_ENTITIES.slice(),
|
|
16319
|
+
items: FAKE_ENTITIES$1.slice(),
|
|
16335
16320
|
attributes: ['label', 'name'],
|
|
16336
16321
|
displayWith: this.entityToString
|
|
16337
16322
|
});
|
|
@@ -16352,15 +16337,15 @@ class ChipsTestPage {
|
|
|
16352
16337
|
const data = {
|
|
16353
16338
|
entity: [],
|
|
16354
16339
|
// THis item is NOT in the items list => i should be displayed anyway
|
|
16355
|
-
entityInitial: FAKE_ENTITIES.slice(1, 2),
|
|
16356
|
-
disableEntity: FAKE_ENTITIES.slice(1, 2)
|
|
16340
|
+
entityInitial: FAKE_ENTITIES$1.slice(1, 2),
|
|
16341
|
+
disableEntity: FAKE_ENTITIES$1.slice(1, 2)
|
|
16357
16342
|
};
|
|
16358
16343
|
this.form.setValue(data);
|
|
16359
16344
|
});
|
|
16360
16345
|
}
|
|
16361
16346
|
loadItems() {
|
|
16362
16347
|
return __awaiter(this, void 0, void 0, function* () {
|
|
16363
|
-
this._$items.next(deepCopy(FAKE_ENTITIES));
|
|
16348
|
+
this._$items.next(deepCopy$1(FAKE_ENTITIES$1));
|
|
16364
16349
|
});
|
|
16365
16350
|
}
|
|
16366
16351
|
entityToString(item) {
|
|
@@ -16401,7 +16386,7 @@ MatBadgeIconTestPage.decorators = [
|
|
|
16401
16386
|
},] }
|
|
16402
16387
|
];
|
|
16403
16388
|
|
|
16404
|
-
const routes
|
|
16389
|
+
const routes = [
|
|
16405
16390
|
{
|
|
16406
16391
|
path: '',
|
|
16407
16392
|
pathMatch: 'full',
|
|
@@ -16453,7 +16438,7 @@ MaterialTestingModule.decorators = [
|
|
|
16453
16438
|
ReactiveFormsModule,
|
|
16454
16439
|
SharedMaterialModule,
|
|
16455
16440
|
TranslateModule.forChild(),
|
|
16456
|
-
RouterModule.forChild(routes
|
|
16441
|
+
RouterModule.forChild(routes)
|
|
16457
16442
|
],
|
|
16458
16443
|
declarations: [
|
|
16459
16444
|
MaterialTestingPage,
|
|
@@ -17412,7 +17397,7 @@ class UserSettingsValidatorService extends AppValidatorService {
|
|
|
17412
17397
|
});
|
|
17413
17398
|
}
|
|
17414
17399
|
}
|
|
17415
|
-
UserSettingsValidatorService.ɵprov =
|
|
17400
|
+
UserSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(ɵɵinject(FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
|
|
17416
17401
|
UserSettingsValidatorService.decorators = [
|
|
17417
17402
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
17418
17403
|
];
|
|
@@ -17456,7 +17441,7 @@ class AccountValidatorService extends AppValidatorService {
|
|
|
17456
17441
|
return validatorFns.length ? Validators.compose(validatorFns) : validatorFns.length === 1 ? validatorFns[0] : undefined;
|
|
17457
17442
|
}
|
|
17458
17443
|
}
|
|
17459
|
-
AccountValidatorService.ɵprov =
|
|
17444
|
+
AccountValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
|
|
17460
17445
|
AccountValidatorService.decorators = [
|
|
17461
17446
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
17462
17447
|
];
|
|
@@ -17990,7 +17975,7 @@ class LocalSettingsValidatorService extends AppValidatorService {
|
|
|
17990
17975
|
});
|
|
17991
17976
|
}
|
|
17992
17977
|
}
|
|
17993
|
-
LocalSettingsValidatorService.ɵprov =
|
|
17978
|
+
LocalSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(ɵɵinject(FormBuilder), ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
|
|
17994
17979
|
LocalSettingsValidatorService.decorators = [
|
|
17995
17980
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
17996
17981
|
];
|
|
@@ -18608,7 +18593,7 @@ class IsOnFieldModePipe {
|
|
|
18608
18593
|
return value === 'FIELD';
|
|
18609
18594
|
}
|
|
18610
18595
|
}
|
|
18611
|
-
IsOnFieldModePipe.ɵprov =
|
|
18596
|
+
IsOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
|
|
18612
18597
|
IsOnFieldModePipe.decorators = [
|
|
18613
18598
|
{ type: Pipe, args: [{
|
|
18614
18599
|
name: 'isOnField'
|
|
@@ -18620,7 +18605,7 @@ class IsNotOnFieldModePipe {
|
|
|
18620
18605
|
return value !== 'FIELD';
|
|
18621
18606
|
}
|
|
18622
18607
|
}
|
|
18623
|
-
IsNotOnFieldModePipe.ɵprov =
|
|
18608
|
+
IsNotOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
|
|
18624
18609
|
IsNotOnFieldModePipe.decorators = [
|
|
18625
18610
|
{ type: Pipe, args: [{
|
|
18626
18611
|
name: 'isNotOnField'
|
|
@@ -18635,7 +18620,7 @@ class PersonToStringPipe {
|
|
|
18635
18620
|
return PersonUtils.personToString(value);
|
|
18636
18621
|
}
|
|
18637
18622
|
}
|
|
18638
|
-
PersonToStringPipe.ɵprov =
|
|
18623
|
+
PersonToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
|
|
18639
18624
|
PersonToStringPipe.decorators = [
|
|
18640
18625
|
{ type: Pipe, args: [{
|
|
18641
18626
|
name: 'personToString'
|
|
@@ -18981,7 +18966,7 @@ class IsLoginAccountPipe {
|
|
|
18981
18966
|
return value && value.pubkey && true;
|
|
18982
18967
|
}
|
|
18983
18968
|
}
|
|
18984
|
-
IsLoginAccountPipe.ɵprov =
|
|
18969
|
+
IsLoginAccountPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
|
|
18985
18970
|
IsLoginAccountPipe.decorators = [
|
|
18986
18971
|
{ type: Pipe, args: [{
|
|
18987
18972
|
name: 'isLogin'
|
|
@@ -18993,7 +18978,7 @@ class AccountToStringPipe {
|
|
|
18993
18978
|
return accountToString(value);
|
|
18994
18979
|
}
|
|
18995
18980
|
}
|
|
18996
|
-
AccountToStringPipe.ɵprov =
|
|
18981
|
+
AccountToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
|
|
18997
18982
|
AccountToStringPipe.decorators = [
|
|
18998
18983
|
{ type: Pipe, args: [{
|
|
18999
18984
|
name: 'accountToString'
|
|
@@ -19008,7 +18993,7 @@ class DepartmentToStringPipe {
|
|
|
19008
18993
|
return departmentToString(value);
|
|
19009
18994
|
}
|
|
19010
18995
|
}
|
|
19011
|
-
DepartmentToStringPipe.ɵprov =
|
|
18996
|
+
DepartmentToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
|
|
19012
18997
|
DepartmentToStringPipe.decorators = [
|
|
19013
18998
|
{ type: Pipe, args: [{
|
|
19014
18999
|
name: 'departmentToString'
|
|
@@ -19034,7 +19019,7 @@ class MenuService {
|
|
|
19034
19019
|
this._visibleSubject.next(value);
|
|
19035
19020
|
}
|
|
19036
19021
|
}
|
|
19037
|
-
MenuService.ɵprov =
|
|
19022
|
+
MenuService.ɵprov = ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
|
|
19038
19023
|
MenuService.decorators = [
|
|
19039
19024
|
{ type: Injectable, args: [{
|
|
19040
19025
|
providedIn: 'root'
|
|
@@ -19528,7 +19513,7 @@ class AuthGuardService {
|
|
|
19528
19513
|
}));
|
|
19529
19514
|
}
|
|
19530
19515
|
}
|
|
19531
|
-
AuthGuardService.ɵprov =
|
|
19516
|
+
AuthGuardService.ɵprov = ɵɵdefineInjectable({ factory: function AuthGuardService_Factory() { return new AuthGuardService(ɵɵinject(AccountService), ɵɵinject(ModalController), ɵɵinject(Router), ɵɵinject(ENVIRONMENT)); }, token: AuthGuardService, providedIn: "root" });
|
|
19532
19517
|
AuthGuardService.decorators = [
|
|
19533
19518
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
19534
19519
|
];
|
|
@@ -19576,7 +19561,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
19576
19561
|
query,
|
|
19577
19562
|
variables: { id },
|
|
19578
19563
|
fetchPolicy: opts && opts.fetchPolicy || undefined,
|
|
19579
|
-
error: { code: ErrorCodes
|
|
19564
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
|
|
19580
19565
|
})
|
|
19581
19566
|
.pipe(map(({ data }) => (!opts || opts.toEntity !== false)
|
|
19582
19567
|
? (data && this.fromObject(data))
|
|
@@ -19591,7 +19576,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
19591
19576
|
query,
|
|
19592
19577
|
variables: { id },
|
|
19593
19578
|
fetchPolicy: opts && opts.fetchPolicy || undefined,
|
|
19594
|
-
error: { code: ErrorCodes
|
|
19579
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
|
|
19595
19580
|
});
|
|
19596
19581
|
// Convert to entity
|
|
19597
19582
|
return (!opts || opts.toEntity !== false)
|
|
@@ -19622,7 +19607,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
19622
19607
|
totalFieldName: withTotal ? 'total' : undefined,
|
|
19623
19608
|
insertFilterFn: filter && filter.asFilterFn(),
|
|
19624
19609
|
variables,
|
|
19625
|
-
error: { code: ErrorCodes
|
|
19610
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
|
|
19626
19611
|
fetchPolicy: opts && opts.fetchPolicy || undefined
|
|
19627
19612
|
})
|
|
19628
19613
|
.pipe(map(({ data, total }) => {
|
|
@@ -19658,7 +19643,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
19658
19643
|
const { data, total } = yield this.graphql.query({
|
|
19659
19644
|
query,
|
|
19660
19645
|
variables,
|
|
19661
|
-
error: { code: ErrorCodes
|
|
19646
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
|
|
19662
19647
|
fetchPolicy: opts && opts.fetchPolicy || 'network-only'
|
|
19663
19648
|
});
|
|
19664
19649
|
const entities = (!opts || opts.toEntity !== false) ?
|
|
@@ -19697,7 +19682,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
19697
19682
|
variables: {
|
|
19698
19683
|
filter: filter && filter.asPodObject()
|
|
19699
19684
|
},
|
|
19700
|
-
error: { code: ErrorCodes
|
|
19685
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
|
|
19701
19686
|
fetchPolicy: opts && opts.fetchPolicy || 'network-only'
|
|
19702
19687
|
});
|
|
19703
19688
|
return res.total;
|
|
@@ -19730,7 +19715,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
19730
19715
|
variables: {
|
|
19731
19716
|
data: json
|
|
19732
19717
|
},
|
|
19733
|
-
error: { code: ErrorCodes
|
|
19718
|
+
error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
|
|
19734
19719
|
update: (proxy, { data }) => {
|
|
19735
19720
|
const savedEntities = data && data.data;
|
|
19736
19721
|
if (savedEntities) {
|
|
@@ -19786,7 +19771,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
19786
19771
|
variables: {
|
|
19787
19772
|
data: json
|
|
19788
19773
|
},
|
|
19789
|
-
error: { code: ErrorCodes
|
|
19774
|
+
error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
|
|
19790
19775
|
update: (cache, { data }) => {
|
|
19791
19776
|
// Update entity
|
|
19792
19777
|
const savedEntity = data && data.data;
|
|
@@ -19834,7 +19819,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
19834
19819
|
refetchQueries: this.getRefetchQueriesForMutation(opts),
|
|
19835
19820
|
awaitRefetchQueries: opts && opts.awaitRefetchQueries,
|
|
19836
19821
|
variables: { ids },
|
|
19837
|
-
error: { code: ErrorCodes
|
|
19822
|
+
error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
|
|
19838
19823
|
update: (cache, res) => {
|
|
19839
19824
|
// Remove from cache
|
|
19840
19825
|
if (this.watchQueriesUpdatePolicy === 'update-cache') {
|
|
@@ -19875,7 +19860,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
19875
19860
|
refetchQueries: this.getRefetchQueriesForMutation(opts),
|
|
19876
19861
|
awaitRefetchQueries: opts && opts.awaitRefetchQueries,
|
|
19877
19862
|
variables: { id },
|
|
19878
|
-
error: { code: ErrorCodes
|
|
19863
|
+
error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
|
|
19879
19864
|
update: (proxy, res) => {
|
|
19880
19865
|
// Remove from cache
|
|
19881
19866
|
if (this.watchQueriesUpdatePolicy === 'update-cache') {
|
|
@@ -19908,7 +19893,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
19908
19893
|
query: opts && opts.query || this.subscriptions.listenChanges,
|
|
19909
19894
|
variables,
|
|
19910
19895
|
error: {
|
|
19911
|
-
code: ErrorCodes
|
|
19896
|
+
code: ErrorCodes.SUBSCRIBE_DATA_ERROR,
|
|
19912
19897
|
message: 'ERROR.SUBSCRIBE_DATA_ERROR'
|
|
19913
19898
|
}
|
|
19914
19899
|
})
|
|
@@ -20083,7 +20068,7 @@ class EntitiesTableDataSource extends TableDataSource {
|
|
|
20083
20068
|
if (this._debug)
|
|
20084
20069
|
invalidRows.forEach(row => AppTableUtils.logRowErrors(row, `[table-datasource] ${this._logTypeName} row #${row.id}`));
|
|
20085
20070
|
// Stop with an error
|
|
20086
|
-
throw { code: ErrorCodes
|
|
20071
|
+
throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
20087
20072
|
}
|
|
20088
20073
|
this._editingRowCount = 0;
|
|
20089
20074
|
let data;
|
|
@@ -20905,14 +20890,14 @@ class AppTable {
|
|
|
20905
20890
|
return __awaiter(this, void 0, void 0, function* () {
|
|
20906
20891
|
opts = Object.assign({ keepEditing: this.keepEditedRowOnSave }, opts);
|
|
20907
20892
|
if (this.readOnly) {
|
|
20908
|
-
throw { code: ErrorCodes
|
|
20893
|
+
throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
|
|
20909
20894
|
}
|
|
20910
20895
|
this.resetError();
|
|
20911
20896
|
// Keep edited row id (should be done BEFORE confirmEditCreate() )
|
|
20912
20897
|
this.previouslyEditedRowId = opts.keepEditing && ((_a = this.editedRow) === null || _a === void 0 ? void 0 : _a.editing) ? this.editedRow.id : undefined;
|
|
20913
20898
|
const previouslyEditedData = isNotNil(this.previouslyEditedRowId) && this.editedRow.currentData || ((_b = this.singleSelectedRow) === null || _b === void 0 ? void 0 : _b.currentData);
|
|
20914
20899
|
if (!this.confirmEditCreate()) {
|
|
20915
|
-
throw { code: ErrorCodes
|
|
20900
|
+
throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
20916
20901
|
}
|
|
20917
20902
|
// Mark as saving
|
|
20918
20903
|
this.markAsSaving();
|
|
@@ -21028,7 +21013,7 @@ class AppTable {
|
|
|
21028
21013
|
deleteRows(event, rows, opts) {
|
|
21029
21014
|
return __awaiter(this, void 0, void 0, function* () {
|
|
21030
21015
|
if (this.readOnly) {
|
|
21031
|
-
throw { code: ErrorCodes
|
|
21016
|
+
throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
|
|
21032
21017
|
}
|
|
21033
21018
|
if (event === null || event === void 0 ? void 0 : event.defaultPrevented)
|
|
21034
21019
|
return 0; // SKip
|
|
@@ -22439,7 +22424,7 @@ class AppEntityEditor extends AppTabEditor {
|
|
|
22439
22424
|
try {
|
|
22440
22425
|
const data = yield this.dataService.load(id, opts);
|
|
22441
22426
|
if (!data)
|
|
22442
|
-
throw { code: ErrorCodes
|
|
22427
|
+
throw { code: ErrorCodes.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
|
|
22443
22428
|
this._usageMode = this.computeUsageMode(data);
|
|
22444
22429
|
yield this.onEntityLoaded(data, opts);
|
|
22445
22430
|
yield this.updateView(data, opts);
|
|
@@ -23343,7 +23328,7 @@ class UserEventService extends BaseGraphqlService {
|
|
|
23343
23328
|
EntityUtils.copyIdAndUpdateDate(source, target);
|
|
23344
23329
|
}
|
|
23345
23330
|
}
|
|
23346
|
-
UserEventService.ɵprov =
|
|
23331
|
+
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" });
|
|
23347
23332
|
UserEventService.decorators = [
|
|
23348
23333
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
23349
23334
|
];
|
|
@@ -23728,7 +23713,7 @@ class PersonService extends BaseEntityService {
|
|
|
23728
23713
|
return target;
|
|
23729
23714
|
}
|
|
23730
23715
|
}
|
|
23731
|
-
PersonService.ɵprov =
|
|
23716
|
+
PersonService.ɵprov = ɵɵdefineInjectable({ factory: function PersonService_Factory() { return new PersonService(ɵɵinject(GraphqlService), ɵɵinject(PlatformService), ɵɵinject(NetworkService), ɵɵinject(EntitiesStorage)); }, token: PersonService, providedIn: "root" });
|
|
23732
23717
|
PersonService.decorators = [
|
|
23733
23718
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
23734
23719
|
];
|
|
@@ -23759,7 +23744,7 @@ class PersonValidatorService {
|
|
|
23759
23744
|
return this.formBuilder.group(formConfig);
|
|
23760
23745
|
}
|
|
23761
23746
|
}
|
|
23762
|
-
PersonValidatorService.ɵprov =
|
|
23747
|
+
PersonValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
|
|
23763
23748
|
PersonValidatorService.decorators = [
|
|
23764
23749
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
23765
23750
|
];
|
|
@@ -23965,16 +23950,16 @@ AdminModule.decorators = [
|
|
|
23965
23950
|
];
|
|
23966
23951
|
AdminModule.ctorParameters = () => [];
|
|
23967
23952
|
|
|
23968
|
-
const ɵ0 = {
|
|
23953
|
+
const ɵ0$a = {
|
|
23969
23954
|
profile: 'ADMIN'
|
|
23970
23955
|
};
|
|
23971
|
-
const routes = [
|
|
23956
|
+
const routes$1 = [
|
|
23972
23957
|
{
|
|
23973
23958
|
path: 'users',
|
|
23974
23959
|
pathMatch: 'full',
|
|
23975
23960
|
component: UsersPage,
|
|
23976
23961
|
canActivate: [AuthGuardService],
|
|
23977
|
-
data: ɵ0
|
|
23962
|
+
data: ɵ0$a
|
|
23978
23963
|
}
|
|
23979
23964
|
];
|
|
23980
23965
|
class AdminRoutingModule {
|
|
@@ -23984,13 +23969,13 @@ AdminRoutingModule.decorators = [
|
|
|
23984
23969
|
imports: [
|
|
23985
23970
|
SharedRoutingModule,
|
|
23986
23971
|
AdminModule,
|
|
23987
|
-
RouterModule.forChild(routes)
|
|
23972
|
+
RouterModule.forChild(routes$1)
|
|
23988
23973
|
],
|
|
23989
23974
|
exports: [RouterModule]
|
|
23990
23975
|
},] }
|
|
23991
23976
|
];
|
|
23992
23977
|
|
|
23993
|
-
const ErrorCodes = {
|
|
23978
|
+
const ErrorCodes$2 = {
|
|
23994
23979
|
LOAD_PERSONS_ERROR: 100,
|
|
23995
23980
|
SAVE_PERSONS_ERROR: 101,
|
|
23996
23981
|
DELETE_PERSONS_ERROR: 102,
|
|
@@ -24002,5 +23987,5 @@ const ErrorCodes = {
|
|
|
24002
23987
|
* Generated bundle index. Do not edit.
|
|
24003
23988
|
*/
|
|
24004
23989
|
|
|
24005
|
-
export { APP_ABOUT_DEVELOPERS, APP_ABOUT_PARTNERS, APP_CONFIG_OPTIONS, APP_FORM_ERROR_I18N_KEYS, APP_GRAPHQL_TYPE_POLICIES, APP_HOME_BUTTONS, APP_LOCALES, APP_LOCAL_SETTINGS, APP_LOCAL_SETTINGS_OPTIONS, APP_LOCAL_STORAGE_TYPE_POLICIES, APP_MENU_ITEMS, APP_TESTING_PAGES, AboutModal, Account, AccountPage, AccountService, AccountToStringPipe, ActionsColumnComponent, AdminModule, AdminRoutingModule, Alerts, AnimationState, AppEditorOptions, AppEntityEditor, AppForm, AppFormField, AppFormProvider, AppFormUtils, AppGestureConfig, AppGraphQLModule, AppHelpModal, AppInMemoryTable, AppInstallUpgradeCard, AppListForm, AppLoadingSpinner, AppMenuModule, AppNullForm, AppPropertiesForm, AppTabEditor, AppTabEditorOptions, AppTable, AppTableDataSourceOptions, AppTableUtils, AppValidatorService, AppendToInputDirective, ArrayFilterPipe, ArrayFirstPipe, ArrayIncludesPipe, ArrayLengthPipe, ArrayPluckPipe, AudioProvider, AuthForm, AuthGuardService, AuthModal, AutocompleteTestPage, AutofocusDirective, Base58, BaseEntityService, BaseGraphqlService, BaseGraphqlServiceOptions, BaseReferential, Beans, CORE_CONFIG_OPTIONS, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigService, Configuration, CoreModule, CryptoService, DATE_ISO_PATTERN, DATE_UNIX_MS_TIMESTAMP, DATE_UNIX_TIMESTAMP, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLACEHOLDER_CHAR, DEFAULT_REQUIRED_COLUMNS, DateDiffDurationPipe, DateFormatPipe, DateFromNowPipe, DateTimeTestPage, DateUtils, Department, DepartmentToStringPipe, DurationPipe, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesService, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, ErrorCodes, EvenPipe, FileService, FileSizePipe, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, FormErrorTranslatePipe, FormErrorTranslator, FormFieldValuesHolder, Fragments, GraphqlService, HAMMER_PRESS_TIME, HAMMER_TAP_TIME, HighlightPipe, HomePage, Hotkeys, HotkeysDialogComponent, InMemoryEntitiesService, IsLoginAccountPipe, IsNilOrBlankPipe, IsNotNilOrBlankPipe, IsNotOnFieldModePipe, IsOnFieldModePipe, JobUtils, KEYBOARD_HIDE_DELAY_MS, LAT_LONG_DEFAULT_MAX_DECIMALS, LAT_LONG_PATTERNS, LatLongFormatPipe, LatLongTestPage, LatitudeFormatPipe, LocalSettingsService, LongitudeFormatPipe, MINIFY_ENTITY_FOR_LOCAL_STORAGE, MINIFY_ENTITY_FOR_POD, MapGetPipe, MapKeysPipe, MapValuesPipe, MatAutocompleteConfigHolder, MatAutocompleteField, MatBooleanField, MatChipsField, MatDate, MatDateShort, MatDateTime, MatDuration, MatLatLongField, MatNumpadComponent, MatNumpadContainerComponent, MatNumpadContent, MatPaginatorI18n, MatStepperI18n, MatSwipeField, MaterialChipsModule, MaterialTestingModule, MaterialTestingPage, MathAbsPipe, MenuComponent, MenuItems, MenuService, ModalToolbarComponent, NetworkService, NgInitDirective, NotEmptyArrayPipe, NumberFormatPipe, NumpadDirective, OddPipe, PRIORITIZED_AUTHORITIES, PUBKEY_REGEXP, Peer, Person, PersonFilter, PersonFragments, PersonService, PersonToStringPipe, PersonUtils, PersonValidatorService, PlatformService, ProgressBarService, ProgressInterceptor, PropertyGetPipe, RESERVED_END_COLUMNS, RESERVED_START_COLUMNS, Referential, ReferentialRef, ReferentialUtils, RegisterConfirmPage, SETTINGS_DISPLAY_COLUMNS, SETTINGS_FILTER, SETTINGS_PAGE_SIZE, SETTINGS_SORTED_COLUMN, SETTINGS_STORAGE_KEY, SETTINGS_TRANSIENT_PROPERTIES, SPACE_PLACEHOLDER_CHAR, SelectPeerModal, SettingsPage, SharedDirectivesModule, SharedFormArrayValidators, SharedFormGroupValidators, SharedHotkeysModule, SharedMatAutocompleteModule, SharedMatBooleanModule, SharedMatDateTimeModule, SharedMatDurationModule, SharedMatLatLongModule, SharedMatNumpadModule, SharedMatSwipeModule, SharedMaterialModule, SharedModule, SharedPipesModule, SharedRoutingModule, SharedTestingModule, SharedValidators, SocialModule, Software, StartableService, StatusById, StatusIds, StatusList, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, UserEvent, UserEventFilter, UserEventService, UserEventTypes, UserEventsTable, UserSettings, UsersPage, accountToString, adaptValueToControl, addValueInArray, arrayDistinct, arrayGroupBy, arraySize, asInputElement, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, copyEntity2Form, createPromiseEvent, createPromiseEventEmitter, departmentToString, departmentsToString, disableControls, emitPromiseEvent, entityToString, 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, SharedMatBadgeIconModule as ɵc, MatBadgeIconDirective as ɵd, isFocusableElement as ɵe, MatBadgeIconTestPage as ɵf, RegisterForm as ɵg, AccountValidatorService as ɵh, RegisterModal as ɵi, UserSettingsValidatorService as ɵj, LocalSettingsValidatorService as ɵk };
|
|
23990
|
+
export { APP_ABOUT_DEVELOPERS, APP_ABOUT_PARTNERS, APP_CONFIG_OPTIONS, APP_FORM_ERROR_I18N_KEYS, APP_GRAPHQL_TYPE_POLICIES, APP_HOME_BUTTONS, APP_LOCALES, APP_LOCAL_SETTINGS, APP_LOCAL_SETTINGS_OPTIONS, APP_LOCAL_STORAGE_TYPE_POLICIES, APP_MENU_ITEMS, APP_TESTING_PAGES, AboutModal, Account, AccountPage, AccountService, AccountToStringPipe, ActionsColumnComponent, AdminModule, AdminRoutingModule, Alerts, AnimationState, AppEditorOptions, AppEntityEditor, AppForm, AppFormField, AppFormProvider, AppFormUtils, AppGestureConfig, AppGraphQLModule, AppHelpModal, AppInMemoryTable, AppInstallUpgradeCard, AppListForm, AppLoadingSpinner, AppMenuModule, AppNullForm, AppPropertiesForm, AppTabEditor, AppTabEditorOptions, AppTable, AppTableDataSourceOptions, AppTableUtils, AppValidatorService, AppendToInputDirective, ArrayFilterPipe, ArrayFirstPipe, ArrayIncludesPipe, ArrayLengthPipe, ArrayPluckPipe, AudioProvider, AuthForm, AuthGuardService, AuthModal, AutocompleteTestPage, AutofocusDirective, Base58, BaseEntityService, BaseGraphqlService, BaseGraphqlServiceOptions, BaseReferential, Beans, CORE_CONFIG_OPTIONS, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigService, Configuration, CoreModule, CryptoService, DATE_ISO_PATTERN, DATE_UNIX_MS_TIMESTAMP, DATE_UNIX_TIMESTAMP, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLACEHOLDER_CHAR, DEFAULT_REQUIRED_COLUMNS, DateDiffDurationPipe, DateFormatPipe, DateFromNowPipe, DateTimeTestPage, DateUtils, Department, DepartmentToStringPipe, DurationPipe, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesService, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, ErrorCodes$2 as ErrorCodes, EvenPipe, FileService, FileSizePipe, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, FormErrorTranslatePipe, FormErrorTranslator, FormFieldValuesHolder, Fragments$1 as Fragments, GraphqlService, HAMMER_PRESS_TIME, HAMMER_TAP_TIME, HighlightPipe, HomePage, Hotkeys, HotkeysDialogComponent, InMemoryEntitiesService, IsLoginAccountPipe, IsNilOrBlankPipe, IsNotNilOrBlankPipe, IsNotOnFieldModePipe, IsOnFieldModePipe, JobUtils, KEYBOARD_HIDE_DELAY_MS, LAT_LONG_DEFAULT_MAX_DECIMALS, LAT_LONG_PATTERNS, LatLongFormatPipe, LatLongTestPage, LatitudeFormatPipe, LocalSettingsService, LongitudeFormatPipe, MINIFY_ENTITY_FOR_LOCAL_STORAGE, MINIFY_ENTITY_FOR_POD, MapGetPipe, MapKeysPipe, MapValuesPipe, MatAutocompleteConfigHolder, MatAutocompleteField, MatBooleanField, MatChipsField, MatDate, MatDateShort, MatDateTime, MatDuration, MatLatLongField, MatNumpadComponent, MatNumpadContainerComponent, MatNumpadContent, MatPaginatorI18n, MatStepperI18n, MatSwipeField, MaterialChipsModule, MaterialTestingModule, MaterialTestingPage, MathAbsPipe, MenuComponent, MenuItems, MenuService, ModalToolbarComponent, NetworkService, NgInitDirective, NotEmptyArrayPipe, NumberFormatPipe, NumpadDirective, OddPipe, PRIORITIZED_AUTHORITIES, PUBKEY_REGEXP, Peer, Person, PersonFilter, PersonFragments, PersonService, PersonToStringPipe, PersonUtils, PersonValidatorService, PlatformService, ProgressBarService, ProgressInterceptor, PropertyGetPipe, RESERVED_END_COLUMNS, RESERVED_START_COLUMNS, Referential, ReferentialRef, ReferentialUtils, RegisterConfirmPage, SETTINGS_DISPLAY_COLUMNS, SETTINGS_FILTER, SETTINGS_PAGE_SIZE, SETTINGS_SORTED_COLUMN, SETTINGS_STORAGE_KEY, SETTINGS_TRANSIENT_PROPERTIES, SPACE_PLACEHOLDER_CHAR, SelectPeerModal, SettingsPage, SharedDirectivesModule, SharedFormArrayValidators, SharedFormGroupValidators, SharedHotkeysModule, SharedMatAutocompleteModule, SharedMatBooleanModule, SharedMatDateTimeModule, SharedMatDurationModule, SharedMatLatLongModule, SharedMatNumpadModule, SharedMatSwipeModule, SharedMaterialModule, SharedModule, SharedPipesModule, SharedRoutingModule, SharedTestingModule, SharedValidators, SocialModule, Software, StartableService, StatusById, StatusIds, StatusList, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, UserEvent, UserEventFilter, UserEventService, UserEventTypes, UserEventsTable, UserSettings, UsersPage, accountToString, adaptValueToControl, addValueInArray, arrayDistinct, arrayGroupBy, arraySize, asInputElement, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, copyEntity2Form, createPromiseEvent, createPromiseEventEmitter, departmentToString, departmentsToString, disableControls, emitPromiseEvent, entityToString, 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, SharedMatBadgeIconModule as ɵc, MatBadgeIconDirective as ɵd, isFocusableElement as ɵe, MatBadgeIconTestPage as ɵf, RegisterForm as ɵg, AccountValidatorService as ɵh, RegisterModal as ɵi, UserSettingsValidatorService as ɵj, LocalSettingsValidatorService as ɵk };
|
|
24006
23991
|
//# sourceMappingURL=sumaris-net.ngx-components.js.map
|