@sumaris-net/ngx-components 1.6.18 → 1.7.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 +312 -295
- 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/doc/changelog.md +4 -0
- package/esm2015/public_api.js +2 -1
- package/esm2015/src/app/core/table/table.class.js +5 -3
- package/esm2015/src/app/shared/directives/directives.module.js +6 -3
- package/esm2015/src/app/shared/directives/ng-var.directive.js +32 -0
- package/esm2015/src/app/shared/material/latlong/material.latlong.js +6 -6
- package/fesm2015/sumaris-net.ngx-components.js +299 -279
- package/fesm2015/sumaris-net.ngx-components.js.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +1 -0
- package/src/app/shared/directives/ng-var.directive.d.ts +9 -0
- package/sumaris-net.ngx-components.metadata.json +1 -1
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { InjectionToken, EventEmitter, Component, forwardRef, ChangeDetectionStrategy, ChangeDetectorRef, Optional, Input, Output, ViewChild, Pipe, Injectable, Directive, Inject, NgModule, ElementRef, ViewChildren, HostListener, ComponentFactoryResolver, ApplicationRef, Injector, Renderer2, ViewEncapsulation } from '@angular/core';
|
|
3
|
-
import * as i1$3 from '@angular/common';
|
|
1
|
+
import { InjectionToken, EventEmitter, Component, forwardRef, ChangeDetectionStrategy, ChangeDetectorRef, Optional, Input, Output, ViewChild, ɵɵdefineInjectable, ɵɵinject, Pipe, Injectable, Directive, Inject, NgModule, ElementRef, TemplateRef, ViewContainerRef, ViewChildren, HostListener, ComponentFactoryResolver, ApplicationRef, INJECTOR, Injector, Renderer2, ViewEncapsulation } 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, BehaviorSubject, Subscription, Subject, isObservable, noop as noop$9, Observable, defer, of, from, combineLatest, EMPTY } from 'rxjs';
|
|
40
35
|
import { filter, first, map, takeUntil, switchMap, startWith, debounceTime, takeWhile, tap, distinctUntilChanged, mergeMap, catchError, throttleTime, skip } from 'rxjs/operators';
|
|
41
|
-
import * as i1$1 from '@ngx-translate/core';
|
|
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';
|
|
@@ -991,14 +976,14 @@ class MatAutocompleteConfigHolder {
|
|
|
991
976
|
return this.fields[fieldName] || this.add(fieldName);
|
|
992
977
|
}
|
|
993
978
|
}
|
|
994
|
-
const noop
|
|
995
|
-
const ɵ0
|
|
979
|
+
const noop = (_) => { };
|
|
980
|
+
const ɵ0 = noop;
|
|
996
981
|
class MatAutocompleteField {
|
|
997
982
|
constructor(cd, formGroupDir) {
|
|
998
983
|
this.cd = cd;
|
|
999
984
|
this.formGroupDir = formGroupDir;
|
|
1000
|
-
this._onChangeCallback = noop
|
|
1001
|
-
this._onTouchedCallback = noop
|
|
985
|
+
this._onChangeCallback = noop;
|
|
986
|
+
this._onTouchedCallback = noop;
|
|
1002
987
|
this.logPrefix = '[mat-autocomplete] ';
|
|
1003
988
|
this.formControlName = null;
|
|
1004
989
|
this.required = false;
|
|
@@ -1718,7 +1703,7 @@ class DateFormatPipe {
|
|
|
1718
1703
|
return this.dateAdapter.format(date, displayFormat);
|
|
1719
1704
|
}
|
|
1720
1705
|
}
|
|
1721
|
-
DateFormatPipe.ɵprov =
|
|
1706
|
+
DateFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateFormatPipe_Factory() { return new DateFormatPipe(ɵɵinject(MomentDateAdapter), ɵɵinject(TranslateService)); }, token: DateFormatPipe, providedIn: "root" });
|
|
1722
1707
|
DateFormatPipe.decorators = [
|
|
1723
1708
|
{ type: Pipe, args: [{
|
|
1724
1709
|
name: 'dateFormat'
|
|
@@ -1730,7 +1715,7 @@ DateFormatPipe.ctorParameters = () => [
|
|
|
1730
1715
|
{ type: TranslateService }
|
|
1731
1716
|
];
|
|
1732
1717
|
|
|
1733
|
-
const moment
|
|
1718
|
+
const moment = momentImported;
|
|
1734
1719
|
class DateDiffDurationPipe {
|
|
1735
1720
|
constructor(dateAdapter, translate) {
|
|
1736
1721
|
this.dateAdapter = dateAdapter;
|
|
@@ -1746,17 +1731,17 @@ class DateDiffDurationPipe {
|
|
|
1746
1731
|
return this.format(startDate, endDate);
|
|
1747
1732
|
}
|
|
1748
1733
|
format(startDate, endDate) {
|
|
1749
|
-
const duration = moment
|
|
1734
|
+
const duration = moment.duration(endDate.diff(startDate));
|
|
1750
1735
|
if (duration.asMinutes() < 0)
|
|
1751
1736
|
return '';
|
|
1752
|
-
const timeDuration = moment
|
|
1737
|
+
const timeDuration = moment(0)
|
|
1753
1738
|
.hour(duration.hours())
|
|
1754
1739
|
.minute(duration.minutes());
|
|
1755
1740
|
const days = Math.floor(duration.asDays());
|
|
1756
1741
|
return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + timeDuration.format('HH:mm');
|
|
1757
1742
|
}
|
|
1758
1743
|
}
|
|
1759
|
-
DateDiffDurationPipe.ɵprov =
|
|
1744
|
+
DateDiffDurationPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateDiffDurationPipe_Factory() { return new DateDiffDurationPipe(ɵɵinject(DateAdapter), ɵɵinject(TranslateService)); }, token: DateDiffDurationPipe, providedIn: "root" });
|
|
1760
1745
|
DateDiffDurationPipe.decorators = [
|
|
1761
1746
|
{ type: Pipe, args: [{
|
|
1762
1747
|
name: 'dateDiffDuration'
|
|
@@ -1777,7 +1762,7 @@ class DateFromNowPipe {
|
|
|
1777
1762
|
return date ? date.fromNow(args && args.withoutSuffix) : '';
|
|
1778
1763
|
}
|
|
1779
1764
|
}
|
|
1780
|
-
DateFromNowPipe.ɵprov =
|
|
1765
|
+
DateFromNowPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(ɵɵinject(MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
|
|
1781
1766
|
DateFromNowPipe.decorators = [
|
|
1782
1767
|
{ type: Pipe, args: [{
|
|
1783
1768
|
name: 'dateFromNow'
|
|
@@ -1846,7 +1831,7 @@ function formatToDD(value, opts) {
|
|
|
1846
1831
|
value *= -1;
|
|
1847
1832
|
}
|
|
1848
1833
|
}
|
|
1849
|
-
let degrees = roundFloat
|
|
1834
|
+
let degrees = roundFloat(value, opts.maxDecimals).toString();
|
|
1850
1835
|
// Add sign
|
|
1851
1836
|
let sign = negative ? '-' : '+';
|
|
1852
1837
|
if (opts.placeholderChar) {
|
|
@@ -1897,7 +1882,7 @@ function formatToDDMMSS(value, opts) {
|
|
|
1897
1882
|
}
|
|
1898
1883
|
let degrees = Math.trunc(value);
|
|
1899
1884
|
let minutes = Math.trunc((value - degrees) * 60);
|
|
1900
|
-
let seconds = roundFloat
|
|
1885
|
+
let seconds = roundFloat(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
|
|
1901
1886
|
while (seconds >= 60) {
|
|
1902
1887
|
seconds -= 60;
|
|
1903
1888
|
minutes += 1;
|
|
@@ -1965,7 +1950,7 @@ function formatToDDMM(value, opts) {
|
|
|
1965
1950
|
}
|
|
1966
1951
|
}
|
|
1967
1952
|
let degrees = Math.trunc(value);
|
|
1968
|
-
let minutes = roundFloat
|
|
1953
|
+
let minutes = roundFloat((value - degrees) * 60, opts.maxDecimals);
|
|
1969
1954
|
while (minutes >= 60) {
|
|
1970
1955
|
minutes -= 60;
|
|
1971
1956
|
degrees += 1;
|
|
@@ -2016,15 +2001,15 @@ function parseLatitudeOrLongitude(input, pattern, maxDecimals, placeholderChar)
|
|
|
2016
2001
|
return NaN;
|
|
2017
2002
|
}
|
|
2018
2003
|
if (pattern === 'DD')
|
|
2019
|
-
return roundFloat
|
|
2004
|
+
return roundFloat(degrees, maxDecimals);
|
|
2020
2005
|
const minutes = (pattern === 'DDMMSS' || pattern === 'DDMM') && parts[1] && parseFloat(parts[1].replace(/,/g, '.')) || 0;
|
|
2021
2006
|
const seconds = (pattern === 'DDMMSS') && parts[2] && parseFloat(parts[2].replace(/,/g, '.')) || 0;
|
|
2022
2007
|
const direction = ((pattern === 'DDMMSS') && parts[3]) || ((pattern === 'DDMM') && parts[2]) || undefined;
|
|
2023
2008
|
const sign = (direction && (direction === 's' || direction === 'S' || direction === 'w' || direction === 'W')) ? -1 : 1;
|
|
2024
2009
|
degrees = sign * (degrees + minutes / 60 + seconds / (60 * 60));
|
|
2025
|
-
return roundFloat
|
|
2010
|
+
return roundFloat(degrees, maxDecimals);
|
|
2026
2011
|
}
|
|
2027
|
-
function roundFloat
|
|
2012
|
+
function roundFloat(input, maxDecimals) {
|
|
2028
2013
|
if (maxDecimals > 0) {
|
|
2029
2014
|
const powDecimal = Math.pow(10, maxDecimals);
|
|
2030
2015
|
return Math.trunc(input * powDecimal + 0.5) / powDecimal;
|
|
@@ -2044,7 +2029,7 @@ class LatLongFormatPipe {
|
|
|
2044
2029
|
return ((!args.type || args.type !== 'latitude') ? formatLongitude : formatLatitude)(value, args);
|
|
2045
2030
|
}
|
|
2046
2031
|
}
|
|
2047
|
-
LatLongFormatPipe.ɵprov =
|
|
2032
|
+
LatLongFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
|
|
2048
2033
|
LatLongFormatPipe.decorators = [
|
|
2049
2034
|
{ type: Pipe, args: [{
|
|
2050
2035
|
name: 'latLongFormat'
|
|
@@ -2056,7 +2041,7 @@ class LatitudeFormatPipe {
|
|
|
2056
2041
|
this.transform = formatLatitude;
|
|
2057
2042
|
}
|
|
2058
2043
|
}
|
|
2059
|
-
LatitudeFormatPipe.ɵprov =
|
|
2044
|
+
LatitudeFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
|
|
2060
2045
|
LatitudeFormatPipe.decorators = [
|
|
2061
2046
|
{ type: Pipe, args: [{
|
|
2062
2047
|
name: 'latitudeFormat'
|
|
@@ -2068,7 +2053,7 @@ class LongitudeFormatPipe {
|
|
|
2068
2053
|
this.transform = formatLongitude;
|
|
2069
2054
|
}
|
|
2070
2055
|
}
|
|
2071
|
-
LongitudeFormatPipe.ɵprov =
|
|
2056
|
+
LongitudeFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
|
|
2072
2057
|
LongitudeFormatPipe.decorators = [
|
|
2073
2058
|
{ type: Pipe, args: [{
|
|
2074
2059
|
name: 'longitudeFormat'
|
|
@@ -2088,7 +2073,7 @@ class NumberFormatPipe {
|
|
|
2088
2073
|
}
|
|
2089
2074
|
}
|
|
2090
2075
|
}
|
|
2091
|
-
NumberFormatPipe.ɵprov =
|
|
2076
|
+
NumberFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
|
|
2092
2077
|
NumberFormatPipe.decorators = [
|
|
2093
2078
|
{ type: Pipe, args: [{
|
|
2094
2079
|
name: 'numberFormat'
|
|
@@ -2128,7 +2113,7 @@ class HighlightPipe {
|
|
|
2128
2113
|
}
|
|
2129
2114
|
}
|
|
2130
2115
|
}
|
|
2131
|
-
HighlightPipe.ɵprov =
|
|
2116
|
+
HighlightPipe.ɵprov = ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
|
|
2132
2117
|
HighlightPipe.decorators = [
|
|
2133
2118
|
{ type: Pipe, args: [{
|
|
2134
2119
|
name: 'highlight'
|
|
@@ -2193,7 +2178,7 @@ FileSizePipe.decorators = [
|
|
|
2193
2178
|
{ type: Pipe, args: [{ name: 'fileSize' },] }
|
|
2194
2179
|
];
|
|
2195
2180
|
|
|
2196
|
-
const moment$
|
|
2181
|
+
const moment$1 = momentImported;
|
|
2197
2182
|
const DATE_UNIX_TIMESTAMP = 'X';
|
|
2198
2183
|
const DATE_UNIX_MS_TIMESTAMP = 'x';
|
|
2199
2184
|
class DateUtils {
|
|
@@ -2235,32 +2220,32 @@ function fromDateISOString(value) {
|
|
|
2235
2220
|
if (!value || isMoment(value))
|
|
2236
2221
|
return value;
|
|
2237
2222
|
// Parse the input value, as a ISO date time
|
|
2238
|
-
const date = moment$
|
|
2223
|
+
const date = moment$1(value, DATE_ISO_PATTERN);
|
|
2239
2224
|
if (date.isValid())
|
|
2240
2225
|
return date;
|
|
2241
2226
|
// Not valid: trying to convert from unix timestamp
|
|
2242
2227
|
if (typeof value === 'string') {
|
|
2243
2228
|
console.warn('Wrong date format - Trying to convert from local time: ' + value);
|
|
2244
2229
|
if (value.length === 10) {
|
|
2245
|
-
return moment$
|
|
2230
|
+
return moment$1(value, DATE_UNIX_TIMESTAMP);
|
|
2246
2231
|
}
|
|
2247
2232
|
else if (value.length === 13) {
|
|
2248
|
-
return moment$
|
|
2233
|
+
return moment$1(value, DATE_UNIX_MS_TIMESTAMP);
|
|
2249
2234
|
}
|
|
2250
2235
|
}
|
|
2251
2236
|
console.warn('Unable to parse date: ' + value);
|
|
2252
2237
|
return undefined;
|
|
2253
2238
|
}
|
|
2254
2239
|
function fromUnixTimestamp(timeInSec) {
|
|
2255
|
-
return moment$
|
|
2240
|
+
return moment$1(timeInSec, DATE_UNIX_TIMESTAMP);
|
|
2256
2241
|
}
|
|
2257
2242
|
function fromUnixMsTimestamp(timeInMs) {
|
|
2258
|
-
return moment$
|
|
2243
|
+
return moment$1(timeInMs, DATE_UNIX_MS_TIMESTAMP);
|
|
2259
2244
|
}
|
|
2260
2245
|
function toDuration(value, unit) {
|
|
2261
2246
|
if (!value)
|
|
2262
2247
|
return undefined;
|
|
2263
|
-
const duration = moment$
|
|
2248
|
+
const duration = moment$1.duration(value, unit);
|
|
2264
2249
|
// fix 990+ ms
|
|
2265
2250
|
if (duration.milliseconds() >= 990) {
|
|
2266
2251
|
duration.add(1000 - duration.milliseconds(), 'ms');
|
|
@@ -2289,7 +2274,7 @@ class DurationPipe {
|
|
|
2289
2274
|
return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + hour + ':' + minute;
|
|
2290
2275
|
}
|
|
2291
2276
|
}
|
|
2292
|
-
DurationPipe.ɵprov =
|
|
2277
|
+
DurationPipe.ɵprov = ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(ɵɵinject(TranslateService)); }, token: DurationPipe, providedIn: "root" });
|
|
2293
2278
|
DurationPipe.decorators = [
|
|
2294
2279
|
{ type: Pipe, args: [{
|
|
2295
2280
|
name: 'duration'
|
|
@@ -2310,7 +2295,7 @@ class MathAbsPipe {
|
|
|
2310
2295
|
}
|
|
2311
2296
|
}
|
|
2312
2297
|
}
|
|
2313
|
-
MathAbsPipe.ɵprov =
|
|
2298
|
+
MathAbsPipe.ɵprov = ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
|
|
2314
2299
|
MathAbsPipe.decorators = [
|
|
2315
2300
|
{ type: Pipe, args: [{
|
|
2316
2301
|
name: 'mathAbs'
|
|
@@ -2322,7 +2307,7 @@ class EvenPipe {
|
|
|
2322
2307
|
return val % 2 === 0;
|
|
2323
2308
|
}
|
|
2324
2309
|
}
|
|
2325
|
-
EvenPipe.ɵprov =
|
|
2310
|
+
EvenPipe.ɵprov = ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
|
|
2326
2311
|
EvenPipe.decorators = [
|
|
2327
2312
|
{ type: Pipe, args: [{
|
|
2328
2313
|
name: 'even'
|
|
@@ -2334,7 +2319,7 @@ class OddPipe {
|
|
|
2334
2319
|
return val % 2 !== 0;
|
|
2335
2320
|
}
|
|
2336
2321
|
}
|
|
2337
|
-
OddPipe.ɵprov =
|
|
2322
|
+
OddPipe.ɵprov = ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
|
|
2338
2323
|
OddPipe.decorators = [
|
|
2339
2324
|
{ type: Pipe, args: [{
|
|
2340
2325
|
name: 'odd'
|
|
@@ -2442,7 +2427,7 @@ class MapGetPipe {
|
|
|
2442
2427
|
return val[key];
|
|
2443
2428
|
}
|
|
2444
2429
|
}
|
|
2445
|
-
MapGetPipe.ɵprov =
|
|
2430
|
+
MapGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
|
|
2446
2431
|
MapGetPipe.decorators = [
|
|
2447
2432
|
{ type: Pipe, args: [{
|
|
2448
2433
|
name: 'mapGet'
|
|
@@ -2456,7 +2441,7 @@ class MapKeysPipe {
|
|
|
2456
2441
|
return Object.keys(map);
|
|
2457
2442
|
}
|
|
2458
2443
|
}
|
|
2459
|
-
MapKeysPipe.ɵprov =
|
|
2444
|
+
MapKeysPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
|
|
2460
2445
|
MapKeysPipe.decorators = [
|
|
2461
2446
|
{ type: Pipe, args: [{
|
|
2462
2447
|
name: 'mapKeys'
|
|
@@ -2470,7 +2455,7 @@ class MapValuesPipe {
|
|
|
2470
2455
|
return Object.values(map);
|
|
2471
2456
|
}
|
|
2472
2457
|
}
|
|
2473
|
-
MapValuesPipe.ɵprov =
|
|
2458
|
+
MapValuesPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
|
|
2474
2459
|
MapValuesPipe.decorators = [
|
|
2475
2460
|
{ type: Pipe, args: [{
|
|
2476
2461
|
name: 'mapValues'
|
|
@@ -2483,7 +2468,7 @@ class IsNotNilOrBlankPipe {
|
|
|
2483
2468
|
return isNotNilOrBlank(value);
|
|
2484
2469
|
}
|
|
2485
2470
|
}
|
|
2486
|
-
IsNotNilOrBlankPipe.ɵprov =
|
|
2471
|
+
IsNotNilOrBlankPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
|
|
2487
2472
|
IsNotNilOrBlankPipe.decorators = [
|
|
2488
2473
|
{ type: Pipe, args: [{
|
|
2489
2474
|
name: 'isNotNilOrBlank'
|
|
@@ -2495,7 +2480,7 @@ class IsNilOrBlankPipe {
|
|
|
2495
2480
|
return isNilOrBlank(value);
|
|
2496
2481
|
}
|
|
2497
2482
|
}
|
|
2498
|
-
IsNilOrBlankPipe.ɵprov =
|
|
2483
|
+
IsNilOrBlankPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
|
|
2499
2484
|
IsNilOrBlankPipe.decorators = [
|
|
2500
2485
|
{ type: Pipe, args: [{
|
|
2501
2486
|
name: 'isNilOrBlank'
|
|
@@ -2507,7 +2492,7 @@ class ToStringPipe {
|
|
|
2507
2492
|
return (value !== null && value !== undefined) ? value.toString() : '';
|
|
2508
2493
|
}
|
|
2509
2494
|
}
|
|
2510
|
-
ToStringPipe.ɵprov =
|
|
2495
|
+
ToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
|
|
2511
2496
|
ToStringPipe.decorators = [
|
|
2512
2497
|
{ type: Pipe, args: [{
|
|
2513
2498
|
name: 'toString'
|
|
@@ -2519,7 +2504,7 @@ class StrLengthPipe {
|
|
|
2519
2504
|
return value && value.length || 0;
|
|
2520
2505
|
}
|
|
2521
2506
|
}
|
|
2522
|
-
StrLengthPipe.ɵprov =
|
|
2507
|
+
StrLengthPipe.ɵprov = ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
|
|
2523
2508
|
StrLengthPipe.decorators = [
|
|
2524
2509
|
{ type: Pipe, args: [{
|
|
2525
2510
|
name: 'strLength'
|
|
@@ -2596,7 +2581,7 @@ class TranslateContextService {
|
|
|
2596
2581
|
return translations[keys[keys.length - 1]]; // Return the last keys translation
|
|
2597
2582
|
}
|
|
2598
2583
|
}
|
|
2599
|
-
TranslateContextService.ɵprov =
|
|
2584
|
+
TranslateContextService.ɵprov = ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(ɵɵinject(TranslateService)); }, token: TranslateContextService, providedIn: "root" });
|
|
2600
2585
|
TranslateContextService.decorators = [
|
|
2601
2586
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
2602
2587
|
];
|
|
@@ -2646,7 +2631,7 @@ class PropertyGetPipe {
|
|
|
2646
2631
|
args && args.defaultValue);
|
|
2647
2632
|
}
|
|
2648
2633
|
}
|
|
2649
|
-
PropertyGetPipe.ɵprov =
|
|
2634
|
+
PropertyGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
|
|
2650
2635
|
PropertyGetPipe.decorators = [
|
|
2651
2636
|
{ type: Pipe, args: [{
|
|
2652
2637
|
name: 'propertyGet'
|
|
@@ -2671,7 +2656,7 @@ NgInitDirective.propDecorators = {
|
|
|
2671
2656
|
ngInit: [{ type: Output }]
|
|
2672
2657
|
};
|
|
2673
2658
|
|
|
2674
|
-
const moment$
|
|
2659
|
+
const moment$2 = momentImported;
|
|
2675
2660
|
// @dynamic
|
|
2676
2661
|
class SharedValidators {
|
|
2677
2662
|
static getDoubleRegexp(maxDecimals) {
|
|
@@ -2688,7 +2673,7 @@ class SharedValidators {
|
|
|
2688
2673
|
}
|
|
2689
2674
|
static validDate(control) {
|
|
2690
2675
|
const value = control.value;
|
|
2691
|
-
const date = !value || moment$
|
|
2676
|
+
const date = !value || moment$2.isMoment(value) ? value : moment$2(control.value, DATE_ISO_PATTERN);
|
|
2692
2677
|
if (date && (!date.isValid() || date.year() < 1970)) {
|
|
2693
2678
|
return { validDate: true };
|
|
2694
2679
|
}
|
|
@@ -3762,7 +3747,7 @@ class FormErrorTranslator {
|
|
|
3762
3747
|
return errorKey;
|
|
3763
3748
|
}
|
|
3764
3749
|
}
|
|
3765
|
-
FormErrorTranslator.ɵprov =
|
|
3750
|
+
FormErrorTranslator.ɵprov = ɵɵdefineInjectable({ factory: function FormErrorTranslator_Factory() { return new FormErrorTranslator(ɵɵinject(TranslateService), ɵɵinject(APP_FORM_ERROR_I18N_KEYS, 8)); }, token: FormErrorTranslator, providedIn: "root" });
|
|
3766
3751
|
FormErrorTranslator.decorators = [
|
|
3767
3752
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
3768
3753
|
];
|
|
@@ -4012,6 +3997,37 @@ AutofocusDirective.ctorParameters = () => [
|
|
|
4012
3997
|
{ type: Keyboard, decorators: [{ type: Optional }] }
|
|
4013
3998
|
];
|
|
4014
3999
|
|
|
4000
|
+
class NgVarDirective {
|
|
4001
|
+
constructor(templateRef, vcRef) {
|
|
4002
|
+
this.templateRef = templateRef;
|
|
4003
|
+
this.vcRef = vcRef;
|
|
4004
|
+
this.context = {
|
|
4005
|
+
$implicit: null,
|
|
4006
|
+
ngVar: null,
|
|
4007
|
+
};
|
|
4008
|
+
this.hasView = false;
|
|
4009
|
+
}
|
|
4010
|
+
set ngVar(context) {
|
|
4011
|
+
this.context.$implicit = this.context.ngVar = context;
|
|
4012
|
+
if (!this.hasView) {
|
|
4013
|
+
this.vcRef.createEmbeddedView(this.templateRef, this.context);
|
|
4014
|
+
this.hasView = true;
|
|
4015
|
+
}
|
|
4016
|
+
}
|
|
4017
|
+
}
|
|
4018
|
+
NgVarDirective.decorators = [
|
|
4019
|
+
{ type: Directive, args: [{
|
|
4020
|
+
selector: '[ngVar]',
|
|
4021
|
+
},] }
|
|
4022
|
+
];
|
|
4023
|
+
NgVarDirective.ctorParameters = () => [
|
|
4024
|
+
{ type: TemplateRef },
|
|
4025
|
+
{ type: ViewContainerRef }
|
|
4026
|
+
];
|
|
4027
|
+
NgVarDirective.propDecorators = {
|
|
4028
|
+
ngVar: [{ type: Input }]
|
|
4029
|
+
};
|
|
4030
|
+
|
|
4015
4031
|
class SharedDirectivesModule {
|
|
4016
4032
|
}
|
|
4017
4033
|
SharedDirectivesModule.decorators = [
|
|
@@ -4021,10 +4037,12 @@ SharedDirectivesModule.decorators = [
|
|
|
4021
4037
|
IonicModule
|
|
4022
4038
|
],
|
|
4023
4039
|
declarations: [
|
|
4024
|
-
AutofocusDirective
|
|
4040
|
+
AutofocusDirective,
|
|
4041
|
+
NgVarDirective
|
|
4025
4042
|
],
|
|
4026
4043
|
exports: [
|
|
4027
|
-
AutofocusDirective
|
|
4044
|
+
AutofocusDirective,
|
|
4045
|
+
NgVarDirective
|
|
4028
4046
|
]
|
|
4029
4047
|
},] }
|
|
4030
4048
|
];
|
|
@@ -4081,9 +4099,9 @@ function parseDuration(input, maxDecimals, placeholderChar) {
|
|
|
4081
4099
|
const hour = parseInt(durationParts[0] || '0');
|
|
4082
4100
|
const minute = parseInt(durationParts[1] || '0');
|
|
4083
4101
|
const value = hour + (minute + 0.5) / 60;
|
|
4084
|
-
return roundFloat(value, maxDecimals);
|
|
4102
|
+
return roundFloat$1(value, maxDecimals);
|
|
4085
4103
|
}
|
|
4086
|
-
function roundFloat(input, maxDecimals) {
|
|
4104
|
+
function roundFloat$1(input, maxDecimals) {
|
|
4087
4105
|
if (maxDecimals > 0) {
|
|
4088
4106
|
const powDecimal = Math.pow(10, maxDecimals);
|
|
4089
4107
|
return Math.trunc(input * powDecimal + 0.5) / powDecimal;
|
|
@@ -4107,9 +4125,9 @@ const MASKS = {
|
|
|
4107
4125
|
DD: [/[+-]/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '°']
|
|
4108
4126
|
}
|
|
4109
4127
|
};
|
|
4110
|
-
const noop$
|
|
4128
|
+
const noop$1 = () => {
|
|
4111
4129
|
};
|
|
4112
|
-
const ɵ0$
|
|
4130
|
+
const ɵ0$1 = noop$1;
|
|
4113
4131
|
class MatLatLongField {
|
|
4114
4132
|
constructor(platform, translate, formBuilder, cd, formGroupDir) {
|
|
4115
4133
|
this.platform = platform;
|
|
@@ -4117,8 +4135,8 @@ class MatLatLongField {
|
|
|
4117
4135
|
this.formBuilder = formBuilder;
|
|
4118
4136
|
this.cd = cd;
|
|
4119
4137
|
this.formGroupDir = formGroupDir;
|
|
4120
|
-
this._onChangeCallback = noop$
|
|
4121
|
-
this._onTouchedCallback = noop$
|
|
4138
|
+
this._onChangeCallback = noop$1;
|
|
4139
|
+
this._onTouchedCallback = noop$1;
|
|
4122
4140
|
this._subscription = new Subscription();
|
|
4123
4141
|
this.disabling = false;
|
|
4124
4142
|
this.writing = false;
|
|
@@ -4151,11 +4169,8 @@ class MatLatLongField {
|
|
|
4151
4169
|
this.pattern = 'DDMM';
|
|
4152
4170
|
this.mask = MASKS[this.type][this.pattern];
|
|
4153
4171
|
}
|
|
4154
|
-
if (isNil(this.maxDecimals)) {
|
|
4155
|
-
this.maxDecimals = DEFAULT_MAX_DECIMALS;
|
|
4156
|
-
}
|
|
4157
4172
|
// Remove max decimals in the DDMMSS format
|
|
4158
|
-
|
|
4173
|
+
if (this.pattern === 'DD') {
|
|
4159
4174
|
console.warn(`Invalid attribute 'maxDecimals' - Must be '0' when using the 'DDMMSS' pattern.`);
|
|
4160
4175
|
this.maxDecimals = 7;
|
|
4161
4176
|
}
|
|
@@ -4163,12 +4178,15 @@ class MatLatLongField {
|
|
|
4163
4178
|
console.warn(`Invalid attribute 'maxDecimals' - Must be '0' when using the 'DDMMSS' pattern.`);
|
|
4164
4179
|
this.maxDecimals = 0;
|
|
4165
4180
|
}
|
|
4181
|
+
else if (isNil(this.maxDecimals)) {
|
|
4182
|
+
this.maxDecimals = DEFAULT_MAX_DECIMALS;
|
|
4183
|
+
}
|
|
4166
4184
|
else if (this.maxDecimals < 0) {
|
|
4167
4185
|
console.error('Invalid attribute \'maxDecimals\'. Must a positive value.');
|
|
4168
4186
|
this.maxDecimals = DEFAULT_MAX_DECIMALS;
|
|
4169
4187
|
}
|
|
4170
4188
|
else if (this.maxDecimals !== DEFAULT_MAX_DECIMALS) {
|
|
4171
|
-
console.warn(`Invalid attribute 'maxDecimals' - Expected value: ${DEFAULT_MAX_DECIMALS}. Other value not implemented.`);
|
|
4189
|
+
console.warn(`Invalid attribute 'maxDecimals' - Expected value: ${DEFAULT_MAX_DECIMALS} but get: ${this.maxDecimals}. Other value not implemented.`);
|
|
4172
4190
|
this.maxDecimals = DEFAULT_MAX_DECIMALS;
|
|
4173
4191
|
}
|
|
4174
4192
|
this.showSignControl = this.pattern !== 'DD';
|
|
@@ -4455,14 +4473,14 @@ SharedMatLatLongModule.decorators = [
|
|
|
4455
4473
|
},] }
|
|
4456
4474
|
];
|
|
4457
4475
|
|
|
4458
|
-
const DEFAULT_VALUE_ACCESSOR
|
|
4476
|
+
const DEFAULT_VALUE_ACCESSOR = {
|
|
4459
4477
|
provide: NG_VALUE_ACCESSOR,
|
|
4460
4478
|
useExisting: forwardRef(() => MatDate),
|
|
4461
4479
|
multi: true
|
|
4462
4480
|
};
|
|
4463
|
-
const DAY_MASK
|
|
4464
|
-
const noop$
|
|
4465
|
-
const ɵ0$
|
|
4481
|
+
const DAY_MASK = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
|
|
4482
|
+
const noop$2 = () => { };
|
|
4483
|
+
const ɵ0$2 = noop$2;
|
|
4466
4484
|
class MatDate {
|
|
4467
4485
|
constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
4468
4486
|
this.dateAdapter = dateAdapter;
|
|
@@ -4471,12 +4489,12 @@ class MatDate {
|
|
|
4471
4489
|
this.cd = cd;
|
|
4472
4490
|
this.keyboard = keyboard;
|
|
4473
4491
|
this.formGroupDir = formGroupDir;
|
|
4474
|
-
this._onChangeCallback = noop$
|
|
4475
|
-
this._onTouchedCallback = noop$
|
|
4492
|
+
this._onChangeCallback = noop$2;
|
|
4493
|
+
this._onTouchedCallback = noop$2;
|
|
4476
4494
|
this._subscription = new Subscription();
|
|
4477
4495
|
this.writing = true;
|
|
4478
4496
|
this.disabling = false;
|
|
4479
|
-
this.dayMask = DAY_MASK
|
|
4497
|
+
this.dayMask = DAY_MASK;
|
|
4480
4498
|
this.disabled = false;
|
|
4481
4499
|
this.floatLabel = 'auto';
|
|
4482
4500
|
this.readonly = false;
|
|
@@ -4713,7 +4731,7 @@ MatDate.decorators = [
|
|
|
4713
4731
|
selector: 'mat-date-field',
|
|
4714
4732
|
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",
|
|
4715
4733
|
providers: [
|
|
4716
|
-
DEFAULT_VALUE_ACCESSOR
|
|
4734
|
+
DEFAULT_VALUE_ACCESSOR,
|
|
4717
4735
|
],
|
|
4718
4736
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4719
4737
|
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%}"]
|
|
@@ -4746,17 +4764,17 @@ MatDate.propDecorators = {
|
|
|
4746
4764
|
matInputs: [{ type: ViewChildren, args: ['matInput',] }]
|
|
4747
4765
|
};
|
|
4748
4766
|
|
|
4749
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
4767
|
+
const DEFAULT_VALUE_ACCESSOR$1 = {
|
|
4750
4768
|
provide: NG_VALUE_ACCESSOR,
|
|
4751
4769
|
useExisting: forwardRef(() => MatDateTime),
|
|
4752
4770
|
multi: true
|
|
4753
4771
|
};
|
|
4754
4772
|
const DAY_MASK$1 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
|
|
4755
4773
|
const HOUR_REGEXP = /^[012][0-9][:][012345][0-9]$/;
|
|
4756
|
-
const HOUR_MASK
|
|
4757
|
-
const noop$
|
|
4774
|
+
const HOUR_MASK = [/[012]/, /\d/, ':', /[012345]/, /\d/];
|
|
4775
|
+
const noop$3 = () => {
|
|
4758
4776
|
};
|
|
4759
|
-
const ɵ0$
|
|
4777
|
+
const ɵ0$3 = noop$3;
|
|
4760
4778
|
class MatDateTime {
|
|
4761
4779
|
constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
4762
4780
|
this.platform = platform;
|
|
@@ -4766,14 +4784,14 @@ class MatDateTime {
|
|
|
4766
4784
|
this.cd = cd;
|
|
4767
4785
|
this.keyboard = keyboard;
|
|
4768
4786
|
this.formGroupDir = formGroupDir;
|
|
4769
|
-
this._onChangeCallback = noop$
|
|
4770
|
-
this._onTouchedCallback = noop$
|
|
4787
|
+
this._onChangeCallback = noop$3;
|
|
4788
|
+
this._onTouchedCallback = noop$3;
|
|
4771
4789
|
this._subscription = new Subscription();
|
|
4772
4790
|
this.writing = true;
|
|
4773
4791
|
this.disabling = false;
|
|
4774
4792
|
this._readonly = false;
|
|
4775
4793
|
this.dayMask = DAY_MASK$1;
|
|
4776
|
-
this.hourMask = HOUR_MASK
|
|
4794
|
+
this.hourMask = HOUR_MASK;
|
|
4777
4795
|
this.floatLabel = 'auto';
|
|
4778
4796
|
this.compact = false;
|
|
4779
4797
|
this.placeholderChar = DEFAULT_PLACEHOLDER_CHAR;
|
|
@@ -5085,7 +5103,7 @@ MatDateTime.decorators = [
|
|
|
5085
5103
|
selector: 'mat-date-time-field',
|
|
5086
5104
|
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",
|
|
5087
5105
|
providers: [
|
|
5088
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
5106
|
+
DEFAULT_VALUE_ACCESSOR$1,
|
|
5089
5107
|
],
|
|
5090
5108
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
5091
5109
|
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%}"]
|
|
@@ -5119,15 +5137,15 @@ MatDateTime.propDecorators = {
|
|
|
5119
5137
|
matInputs: [{ type: ViewChildren, args: ['matInput',] }]
|
|
5120
5138
|
};
|
|
5121
5139
|
|
|
5122
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
5140
|
+
const DEFAULT_VALUE_ACCESSOR$2 = {
|
|
5123
5141
|
provide: NG_VALUE_ACCESSOR,
|
|
5124
5142
|
useExisting: forwardRef(() => MatDateShort),
|
|
5125
5143
|
multi: true
|
|
5126
5144
|
};
|
|
5127
|
-
const DAY_MASK = [/\d/, /\d/, /\d/, /\d/];
|
|
5145
|
+
const DAY_MASK$2 = [/\d/, /\d/, /\d/, /\d/];
|
|
5128
5146
|
const noop$4 = () => {
|
|
5129
5147
|
};
|
|
5130
|
-
const ɵ0$
|
|
5148
|
+
const ɵ0$4 = noop$4;
|
|
5131
5149
|
class MatDateShort {
|
|
5132
5150
|
constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
5133
5151
|
this.dateAdapter = dateAdapter;
|
|
@@ -5140,7 +5158,7 @@ class MatDateShort {
|
|
|
5140
5158
|
this._onTouchedCallback = noop$4;
|
|
5141
5159
|
this.writing = true;
|
|
5142
5160
|
this.disabling = false;
|
|
5143
|
-
this.dayMask = DAY_MASK;
|
|
5161
|
+
this.dayMask = DAY_MASK$2;
|
|
5144
5162
|
this.disabled = false;
|
|
5145
5163
|
this.floatLabel = 'auto';
|
|
5146
5164
|
this.readonly = false;
|
|
@@ -5385,7 +5403,7 @@ MatDateShort.decorators = [
|
|
|
5385
5403
|
selector: 'mat-date-short-field',
|
|
5386
5404
|
template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly else writable\">\n <input matInput hidden type=\"text\" readonly=\"true\" [formControl]=\"formControl\">\n <ion-text>{{formControl.value|dateFormat: {pattern: displayPattern} }}</ion-text>\n</mat-form-field>\n\n<ng-template #writable>\n <mat-form-field [floatLabel]=\"floatLabel\">\n\n <mat-label>{{placeholder}}</mat-label>\n\n <div matPrefix><ng-content select=\"[matPrefix]\"></ng-content></div>\n\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"dayControl\"\n [textMask]=\"{mask: dayMask, keepCharPositions: true, placeholderChar: placeholderChar}\"\n [placeholder]=\"'COMMON.DATE_YEAR_PLACEHOLDER'|translate\"\n (blur)=\"checkIfTouched()\"\n (keyup.arrowdown)=\"openDatePicker($event, datePicker1)\"\n (keyup.escape)=\"preventEvent($event)\"\n (click)=\"matInput.select()\"\n [required]=\"required\"\n [tabindex]=\"tabindex\">\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"dayControl\"\n (click)=\"openDatePickerIfMobile($event, datePicker1)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n readonly>\n\n <!-- Hide the final control -->\n <input matInput type=\"text\"\n [formControl]=\"formControl\"\n hidden\n [matDatepicker]=\"datePicker1\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n (click)=\"openDatePicker($event, datePicker1)\"\n [disabled]=\"formControl.disabled\">\n <div *ngIf=\"mobile; then iconDate; else iconDesktop\"></div>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"writeValue(null)\"\n [hidden]=\"formControl.disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('validDate')\" translate>ERROR.FIELD_NOT_VALID_DATE</mat-error>\n <mat-error *ngIf=\"formControl.hasError('dateIsAfter')\">{{'ERROR.FIELD_NOT_VALID_DATE_AFTER' | translate: formControl.errors.dateIsAfter }}</mat-error>\n <mat-error *ngIf=\"formControl.hasError('dateRange')\" translate>ERROR.FIELD_NOT_VALID_DATE_RANGE</mat-error>\n <mat-error *ngIf=\"!formControl.hasError('dateRange') && formControl.hasError('dateMaxDuration')\" translate>ERROR.FIELD_NOT_VALID_DATE_MAX_DURATION</mat-error>\n <mat-error *ngIf=\"!formControl.hasError('dateRange') && formControl.hasError('dateMinDuration')\" translate>ERROR.FIELD_NOT_VALID_DATE_MIN_DURATION</mat-error>\n <mat-error *ngIf=\"formControl.hasError('msg')\">{{formControl.errors.msg}}</mat-error>\n <ng-content select=\"mat-error\"></ng-content>\n </mat-form-field>\n\n <mat-datepicker #datePicker1\n startView=\"multi-year\"\n [touchUi]=\"mobile\"\n [disabled]=\"formControl.disabled\"\n (yearSelected)=\"closeDatePicker($event, datePicker1)\"\n [startAt]=\"startDate\"></mat-datepicker>\n\n <ng-template #iconDesktop>\n <mat-icon>keyboard_arrow_down</mat-icon>\n </ng-template>\n\n <ng-template #iconDate>\n <mat-icon>date_range</mat-icon>\n </ng-template>\n\n</ng-template>\n",
|
|
5387
5405
|
providers: [
|
|
5388
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
5406
|
+
DEFAULT_VALUE_ACCESSOR$2,
|
|
5389
5407
|
],
|
|
5390
5408
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
5391
5409
|
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%}"]
|
|
@@ -5453,16 +5471,16 @@ SharedMatDateTimeModule.decorators = [
|
|
|
5453
5471
|
},] }
|
|
5454
5472
|
];
|
|
5455
5473
|
|
|
5456
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
5474
|
+
const DEFAULT_VALUE_ACCESSOR$3 = {
|
|
5457
5475
|
provide: NG_VALUE_ACCESSOR,
|
|
5458
5476
|
useExisting: forwardRef(() => MatDuration),
|
|
5459
5477
|
multi: true
|
|
5460
5478
|
};
|
|
5461
5479
|
const HOUR_TIME_PATTERN = /[0-9]\d\d:[0-5]\d/;
|
|
5462
|
-
const HOUR_MASK = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
|
|
5463
|
-
const noop$
|
|
5480
|
+
const HOUR_MASK$1 = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
|
|
5481
|
+
const noop$5 = () => {
|
|
5464
5482
|
};
|
|
5465
|
-
const ɵ0$
|
|
5483
|
+
const ɵ0$5 = noop$5;
|
|
5466
5484
|
class MatDuration {
|
|
5467
5485
|
constructor(platform, dateAdapter, translate, formBuilder, cd, formGroupDir) {
|
|
5468
5486
|
this.dateAdapter = dateAdapter;
|
|
@@ -5471,11 +5489,11 @@ class MatDuration {
|
|
|
5471
5489
|
this.cd = cd;
|
|
5472
5490
|
this.formGroupDir = formGroupDir;
|
|
5473
5491
|
this._subscription = new Subscription();
|
|
5474
|
-
this._onChangeCallback = noop$
|
|
5475
|
-
this._onTouchedCallback = noop$
|
|
5492
|
+
this._onChangeCallback = noop$5;
|
|
5493
|
+
this._onTouchedCallback = noop$5;
|
|
5476
5494
|
this.writing = true;
|
|
5477
5495
|
this.disabling = false;
|
|
5478
|
-
this.hourMask = HOUR_MASK;
|
|
5496
|
+
this.hourMask = HOUR_MASK$1;
|
|
5479
5497
|
this.disabled = false;
|
|
5480
5498
|
this.floatLabel = 'auto';
|
|
5481
5499
|
this.readonly = false;
|
|
@@ -5655,7 +5673,7 @@ MatDuration.decorators = [
|
|
|
5655
5673
|
selector: 'mat-duration-field',
|
|
5656
5674
|
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",
|
|
5657
5675
|
providers: [
|
|
5658
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
5676
|
+
DEFAULT_VALUE_ACCESSOR$3,
|
|
5659
5677
|
],
|
|
5660
5678
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
5661
5679
|
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%}"]
|
|
@@ -5712,22 +5730,22 @@ SharedMatDurationModule.decorators = [
|
|
|
5712
5730
|
},] }
|
|
5713
5731
|
];
|
|
5714
5732
|
|
|
5715
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
5733
|
+
const DEFAULT_VALUE_ACCESSOR$4 = {
|
|
5716
5734
|
provide: NG_VALUE_ACCESSOR,
|
|
5717
5735
|
useExisting: forwardRef(() => MatBooleanField),
|
|
5718
5736
|
multi: true
|
|
5719
5737
|
};
|
|
5720
|
-
const noop$
|
|
5738
|
+
const noop$6 = () => {
|
|
5721
5739
|
};
|
|
5722
|
-
const ɵ0$
|
|
5740
|
+
const ɵ0$6 = noop$6;
|
|
5723
5741
|
class MatBooleanField {
|
|
5724
5742
|
constructor(translate, formBuilder, cd, formGroupDir) {
|
|
5725
5743
|
this.translate = translate;
|
|
5726
5744
|
this.formBuilder = formBuilder;
|
|
5727
5745
|
this.cd = cd;
|
|
5728
5746
|
this.formGroupDir = formGroupDir;
|
|
5729
|
-
this._onChangeCallback = noop$
|
|
5730
|
-
this._onTouchedCallback = noop$
|
|
5747
|
+
this._onChangeCallback = noop$6;
|
|
5748
|
+
this._onTouchedCallback = noop$6;
|
|
5731
5749
|
this._writing = false;
|
|
5732
5750
|
this.showRadio = false;
|
|
5733
5751
|
this.disabled = false;
|
|
@@ -5890,7 +5908,7 @@ MatBooleanField.decorators = [
|
|
|
5890
5908
|
selector: 'mat-boolean-field',
|
|
5891
5909
|
template: "<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled {{classList}}\">\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n <input matInput hidden type=\"text\" readonly\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <ion-text>{{(formControl.value == null && 'COMMON.EMPTY_OPTION' || (formControl.value === true && yesLabel) || noLabel) | translate }}</ion-text>\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n</mat-form-field>\n\n<ng-template #writable>\n <ng-container [ngSwitch]=\"style\">\n\n <!-- Radio -->\n <mat-form-field *ngSwitchCase=\"'radio'\"\n [floatLabel]=\"showRadio && (!floatLabel || floatLabel === 'auto') ? 'always': floatLabel\"\n class=\"mat-boolean-field mat-boolean-field-radio {{classList}}\">\n <mat-label *ngIf=\"placeholder && floatLabel!=='never'\">\n {{placeholder}}\n <span [hidden]=\"showRadio\">({{yesLabel|translate}}/{{'COMMON.NO'|translate}})</span>\n </mat-label>\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n <input matInput #fakeInput type=\"text\" readonly=\"true\"\n [formControl]=\"formControl\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showRadio\"\n [tabindex]=\"tabindex\">\n\n <!-- radio button -->\n <mat-radio-group [hidden]=\"!showRadio\"\n [formControl]=\"formControl\"\n (change)=\"onRadioValueChanged($event)\">\n <mat-radio-button #yesButton [value]=\"true\">\n <span>{{yesLabel|translate}}</span>\n </mat-radio-button> \n <mat-radio-button #noButton [value]=\"false\">\n <span>{{noLabel|translate}}</span>\n </mat-radio-button>\n </mat-radio-group>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n </mat-form-field>\n\n <!-- Checkbox -->\n <mat-form-field *ngSwitchCase=\"'checkbox'\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-boolean-field mat-boolean-field-checkbox {{classList}}\">\n <mat-label *ngIf=\"placeholder && !showRadio\">\n {{placeholder}}\n </mat-label>\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n <input matInput #matInput\n [formControl]=\"formControl\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showRadio\"\n [tabindex]=\"tabindex\">\n\n <ion-label> </ion-label>\n\n <!-- checkbox, when compact -->\n <mat-checkbox #checkboxButton\n [formControl]=\"formControl\"\n (change)=\"onCheckboxValueChanged($event)\"\n [indeterminate]=\"value===undefined\"\n [hidden]=\"!showRadio\"\n [tabindex]=\"tabindex\">\n </mat-checkbox>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n </mat-form-field>\n\n <!-- Buttons -->\n <mat-form-field *ngSwitchCase=\"'button'\"\n [floatLabel]=\"floatLabel === 'never' ? 'never' : 'always'\"\n class=\"mat-boolean-field mat-boolean-field-button {{classList}}\">\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n <input matInput type=\"text\" hidden\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [required]=\"required\">\n <div class=\"mat-form-field-buttons\"\n [style.--buttons-col-count]=\"buttonsColCount\"\n *ngIf=\"!formControl.disabled; else disabledLabel\">\n <!-- yes -->\n <ion-button class=\"mat-form-field-button\"\n [tabindex]=\"_tabindex\"\n (click)=\"writeValue(true, $event)\"\n (keyup.enter)=\"writeValue(true, $event)\"\n [color]=\"_value == null ? 'tertiary' : (_value === true) ? 'accent' : 'light'\">\n <ion-icon *ngIf=\"showButtonIcons && yesIcon; let icon\" slot=\"start\" [name]=\"icon\"></ion-icon>\n {{yesLabel|translate}}\n </ion-button>\n\n <!-- No button -->\n <ion-button class=\"mat-form-field-button\"\n [tabindex]=\"_tabindex !== undefined ? (_tabindex + 1) : undefined\"\n (click)=\"writeValue(false, $event)\"\n (keyup.enter)=\"writeValue(false, $event)\"\n [color]=\"_value == null ? 'tertiary' : (_value === false) ? 'accent' : 'light'\">\n <ion-icon *ngIf=\"showButtonIcons && noIcon; let icon\" slot=\"start\" [name]=\"icon\"></ion-icon>\n {{noLabel|translate}}\n </ion-button>\n </div>\n <ng-template #disabledLabel>\n <ion-label><i translate>COMMON.EMPTY_OPTION</i></ion-label>\n </ng-template>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n\n </mat-form-field>\n </ng-container>\n\n</ng-template>\n\n\n<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n<ng-template #matSuffixTemplate>\n <ng-content select=\"[matSuffix]\"></ng-content>\n</ng-template>\n",
|
|
5892
5910
|
providers: [
|
|
5893
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
5911
|
+
DEFAULT_VALUE_ACCESSOR$4
|
|
5894
5912
|
],
|
|
5895
5913
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
5896
5914
|
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}"]
|
|
@@ -6136,7 +6154,7 @@ class MatNumpadDomService {
|
|
|
6136
6154
|
this.appRef.detachView(this.componentRef.hostView);
|
|
6137
6155
|
}
|
|
6138
6156
|
}
|
|
6139
|
-
MatNumpadDomService.ɵprov =
|
|
6157
|
+
MatNumpadDomService.ɵprov = ɵɵdefineInjectable({ factory: function MatNumpadDomService_Factory() { return new MatNumpadDomService(ɵɵinject(ComponentFactoryResolver), ɵɵinject(ApplicationRef), ɵɵinject(INJECTOR), ɵɵinject(DOCUMENT, 8)); }, token: MatNumpadDomService, providedIn: "root" });
|
|
6140
6158
|
MatNumpadDomService.decorators = [
|
|
6141
6159
|
{ type: Injectable, args: [{
|
|
6142
6160
|
providedIn: 'root'
|
|
@@ -6500,7 +6518,7 @@ SharedMatNumpadModule.decorators = [
|
|
|
6500
6518
|
},] }
|
|
6501
6519
|
];
|
|
6502
6520
|
|
|
6503
|
-
const DEFAULT_VALUE_ACCESSOR = {
|
|
6521
|
+
const DEFAULT_VALUE_ACCESSOR$5 = {
|
|
6504
6522
|
provide: NG_VALUE_ACCESSOR,
|
|
6505
6523
|
useExisting: forwardRef(() => MatSwipeField),
|
|
6506
6524
|
multi: true
|
|
@@ -6763,7 +6781,7 @@ MatSwipeField.decorators = [
|
|
|
6763
6781
|
{ type: Component, args: [{
|
|
6764
6782
|
selector: 'mat-swipe-field',
|
|
6765
6783
|
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",
|
|
6766
|
-
providers: [DEFAULT_VALUE_ACCESSOR],
|
|
6784
|
+
providers: [DEFAULT_VALUE_ACCESSOR$5],
|
|
6767
6785
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
6768
6786
|
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}"]
|
|
6769
6787
|
},] }
|
|
@@ -6821,14 +6839,14 @@ SharedMatSwipeModule.decorators = [
|
|
|
6821
6839
|
},] }
|
|
6822
6840
|
];
|
|
6823
6841
|
|
|
6824
|
-
const noop$
|
|
6825
|
-
const ɵ0$
|
|
6842
|
+
const noop$7 = () => { };
|
|
6843
|
+
const ɵ0$7 = noop$7;
|
|
6826
6844
|
class MatChipsField {
|
|
6827
6845
|
constructor(cd, formGroupDir) {
|
|
6828
6846
|
this.cd = cd;
|
|
6829
6847
|
this.formGroupDir = formGroupDir;
|
|
6830
|
-
this._onChangeCallback = noop$
|
|
6831
|
-
this._onTouchedCallback = noop$
|
|
6848
|
+
this._onChangeCallback = noop$7;
|
|
6849
|
+
this._onTouchedCallback = noop$7;
|
|
6832
6850
|
this.logPrefix = '[mat-chips] ';
|
|
6833
6851
|
this.formControlName = null;
|
|
6834
6852
|
this.required = false;
|
|
@@ -7697,7 +7715,7 @@ class ProgressBarService {
|
|
|
7697
7715
|
}
|
|
7698
7716
|
}
|
|
7699
7717
|
}
|
|
7700
|
-
ProgressBarService.ɵprov =
|
|
7718
|
+
ProgressBarService.ɵprov = ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
|
|
7701
7719
|
ProgressBarService.decorators = [
|
|
7702
7720
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
7703
7721
|
];
|
|
@@ -7741,7 +7759,7 @@ class AppGestureConfig extends HammerGestureConfig {
|
|
|
7741
7759
|
return mc;
|
|
7742
7760
|
}
|
|
7743
7761
|
}
|
|
7744
|
-
AppGestureConfig.ɵprov =
|
|
7762
|
+
AppGestureConfig.ɵprov = ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
|
|
7745
7763
|
AppGestureConfig.decorators = [
|
|
7746
7764
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
7747
7765
|
];
|
|
@@ -7966,7 +7984,7 @@ class MatPaginatorI18n extends MatPaginatorIntl {
|
|
|
7966
7984
|
this.previousPageLabel = this.translate.instant('COMMON.PAGINATOR.PREVIOUS_PAGE');
|
|
7967
7985
|
}
|
|
7968
7986
|
}
|
|
7969
|
-
MatPaginatorI18n.ɵprov =
|
|
7987
|
+
MatPaginatorI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(ɵɵinject(TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
|
|
7970
7988
|
MatPaginatorI18n.decorators = [
|
|
7971
7989
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
7972
7990
|
];
|
|
@@ -8056,17 +8074,17 @@ function getColorContrast(color, bw) {
|
|
|
8056
8074
|
return rgbArrayToHex(rgb.map(v => 255 - v));
|
|
8057
8075
|
}
|
|
8058
8076
|
|
|
8059
|
-
const noop = () => {
|
|
8077
|
+
const noop$8 = () => {
|
|
8060
8078
|
};
|
|
8061
|
-
const ɵ0$
|
|
8079
|
+
const ɵ0$8 = noop$8;
|
|
8062
8080
|
class AppFormField {
|
|
8063
8081
|
constructor(translate, cd, injector, formGroupDir) {
|
|
8064
8082
|
this.translate = translate;
|
|
8065
8083
|
this.cd = cd;
|
|
8066
8084
|
this.injector = injector;
|
|
8067
8085
|
this.formGroupDir = formGroupDir;
|
|
8068
|
-
this._onChangeCallback = noop;
|
|
8069
|
-
this._onTouchedCallback = noop;
|
|
8086
|
+
this._onChangeCallback = noop$8;
|
|
8087
|
+
this._onTouchedCallback = noop$8;
|
|
8070
8088
|
this.readonly = false;
|
|
8071
8089
|
this.compact = false;
|
|
8072
8090
|
this.floatLabel = 'auto';
|
|
@@ -8499,14 +8517,14 @@ class AudioProvider extends StartableService {
|
|
|
8499
8517
|
});
|
|
8500
8518
|
}
|
|
8501
8519
|
}
|
|
8502
|
-
AudioProvider.ɵprov =
|
|
8520
|
+
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" });
|
|
8503
8521
|
AudioProvider.decorators = [
|
|
8504
8522
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
8505
8523
|
];
|
|
8506
8524
|
AudioProvider.ctorParameters = () => [
|
|
8507
8525
|
{ type: Platform },
|
|
8508
|
-
{ type: NativeAudio, decorators: [{ type: Optional }] },
|
|
8509
|
-
{ type: Vibration, decorators: [{ type: Optional }] },
|
|
8526
|
+
{ type: NativeAudio$1, decorators: [{ type: Optional }] },
|
|
8527
|
+
{ type: Vibration$1, decorators: [{ type: Optional }] },
|
|
8510
8528
|
{ type: AudioManagement, decorators: [{ type: Optional }] }
|
|
8511
8529
|
];
|
|
8512
8530
|
|
|
@@ -8588,7 +8606,7 @@ class Hotkeys {
|
|
|
8588
8606
|
});
|
|
8589
8607
|
}
|
|
8590
8608
|
}
|
|
8591
|
-
Hotkeys.ɵprov =
|
|
8609
|
+
Hotkeys.ɵprov = ɵɵdefineInjectable({ factory: function Hotkeys_Factory() { return new Hotkeys(ɵɵinject(EventManager), ɵɵinject(MatDialog), ɵɵinject(DOCUMENT), ɵɵinject(ModalController)); }, token: Hotkeys, providedIn: "root" });
|
|
8592
8610
|
Hotkeys.decorators = [
|
|
8593
8611
|
{ type: Injectable, args: [{
|
|
8594
8612
|
providedIn: 'root'
|
|
@@ -8762,7 +8780,7 @@ class Base64ImageReader {
|
|
|
8762
8780
|
}
|
|
8763
8781
|
}
|
|
8764
8782
|
|
|
8765
|
-
const uuidv4
|
|
8783
|
+
const uuidv4 = uuidv4Imported;
|
|
8766
8784
|
class FileService {
|
|
8767
8785
|
constructor(platform,
|
|
8768
8786
|
//private transfer: FileTransfer,
|
|
@@ -8799,7 +8817,7 @@ class FileService {
|
|
|
8799
8817
|
const lastSlashIndex = source.lastIndexOf('/');
|
|
8800
8818
|
if (lastSlashIndex === -1)
|
|
8801
8819
|
throw new Error('Invalid URL: ' + source);
|
|
8802
|
-
const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4
|
|
8820
|
+
const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4();
|
|
8803
8821
|
// Download into the file system
|
|
8804
8822
|
if (responseType === 'file' && this.canUseFileSystem) {
|
|
8805
8823
|
console.warn(`WARN: [file] Fetching image {${source}} in local file...`);
|
|
@@ -8855,7 +8873,7 @@ class FileService {
|
|
|
8855
8873
|
this._started = true;
|
|
8856
8874
|
}
|
|
8857
8875
|
}
|
|
8858
|
-
FileService.ɵprov =
|
|
8876
|
+
FileService.ɵprov = ɵɵdefineInjectable({ factory: function FileService_Factory() { return new FileService(ɵɵinject(Platform), ɵɵinject(HttpClient), ɵɵinject(ENVIRONMENT)); }, token: FileService, providedIn: "root" });
|
|
8859
8877
|
FileService.decorators = [
|
|
8860
8878
|
{ type: Injectable, args: [{
|
|
8861
8879
|
providedIn: 'root',
|
|
@@ -9021,7 +9039,7 @@ class Base58 {
|
|
|
9021
9039
|
Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
|
|
9022
9040
|
|
|
9023
9041
|
const scrypt = require('scrypt-async');
|
|
9024
|
-
const sha256
|
|
9042
|
+
const sha256 = require('hash.js/lib/hash/sha/256');
|
|
9025
9043
|
const sha512 = require('hash.js/lib/hash/sha/512');
|
|
9026
9044
|
const nacl = {
|
|
9027
9045
|
sign,
|
|
@@ -9125,7 +9143,7 @@ class CryptoService {
|
|
|
9125
9143
|
* Hash (using SHA256) a message
|
|
9126
9144
|
*/
|
|
9127
9145
|
sha256(message) {
|
|
9128
|
-
return sha256
|
|
9146
|
+
return sha256().update(message).digest('hex');
|
|
9129
9147
|
}
|
|
9130
9148
|
/**
|
|
9131
9149
|
* Hash (using SHA512) a message
|
|
@@ -9138,7 +9156,7 @@ class CryptoService {
|
|
|
9138
9156
|
return nacl.util.encodeBase64(m);
|
|
9139
9157
|
}
|
|
9140
9158
|
}
|
|
9141
|
-
CryptoService.ɵprov =
|
|
9159
|
+
CryptoService.ɵprov = ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
|
|
9142
9160
|
CryptoService.decorators = [
|
|
9143
9161
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
9144
9162
|
];
|
|
@@ -10366,7 +10384,7 @@ class LocalSettingsService extends StartableService {
|
|
|
10366
10384
|
return page;
|
|
10367
10385
|
}
|
|
10368
10386
|
}
|
|
10369
|
-
LocalSettingsService.ɵprov =
|
|
10387
|
+
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" });
|
|
10370
10388
|
LocalSettingsService.decorators = [
|
|
10371
10389
|
{ type: Injectable, args: [{
|
|
10372
10390
|
providedIn: 'root',
|
|
@@ -11024,7 +11042,7 @@ class NetworkService extends StartableService {
|
|
|
11024
11042
|
});
|
|
11025
11043
|
}
|
|
11026
11044
|
}
|
|
11027
|
-
NetworkService.ɵprov =
|
|
11045
|
+
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" });
|
|
11028
11046
|
NetworkService.decorators = [
|
|
11029
11047
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
11030
11048
|
];
|
|
@@ -11035,16 +11053,16 @@ NetworkService.ctorParameters = () => [
|
|
|
11035
11053
|
{ type: CryptoService },
|
|
11036
11054
|
{ type: Storage },
|
|
11037
11055
|
{ type: LocalSettingsService },
|
|
11038
|
-
{ type: CacheService },
|
|
11056
|
+
{ type: CacheService$1 },
|
|
11039
11057
|
{ type: HttpClient },
|
|
11040
11058
|
{ type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
|
|
11041
|
-
{ type: Network, decorators: [{ type: Optional }] },
|
|
11042
|
-
{ type: SplashScreen, decorators: [{ type: Optional }] },
|
|
11059
|
+
{ type: Network$1, decorators: [{ type: Optional }] },
|
|
11060
|
+
{ type: SplashScreen$1, decorators: [{ type: Optional }] },
|
|
11043
11061
|
{ type: TranslateService, decorators: [{ type: Optional }] },
|
|
11044
11062
|
{ type: ToastController, decorators: [{ type: Optional }] }
|
|
11045
11063
|
];
|
|
11046
11064
|
|
|
11047
|
-
const ErrorCodes
|
|
11065
|
+
const ErrorCodes = {
|
|
11048
11066
|
UNKNOWN_ERROR: 0,
|
|
11049
11067
|
LOAD_ACCOUNT_ERROR: 1,
|
|
11050
11068
|
BAD_PASSWORD: 2,
|
|
@@ -11396,7 +11414,7 @@ class EntityStore {
|
|
|
11396
11414
|
}
|
|
11397
11415
|
catch (err) {
|
|
11398
11416
|
console.error(err);
|
|
11399
|
-
throw { code: ErrorCodes
|
|
11417
|
+
throw { code: ErrorCodes.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err };
|
|
11400
11418
|
}
|
|
11401
11419
|
}
|
|
11402
11420
|
// Emit update event
|
|
@@ -11970,7 +11988,7 @@ class EntitiesStorage extends StartableService {
|
|
|
11970
11988
|
}
|
|
11971
11989
|
EntitiesStorage.TRASH_PREFIX = 'Trash#';
|
|
11972
11990
|
EntitiesStorage.REMOTE_PREFIX = 'Remote#';
|
|
11973
|
-
EntitiesStorage.ɵprov =
|
|
11991
|
+
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" });
|
|
11974
11992
|
EntitiesStorage.decorators = [
|
|
11975
11993
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
11976
11994
|
];
|
|
@@ -12107,10 +12125,10 @@ function referentialToString(obj, properties) {
|
|
|
12107
12125
|
function referentialsToString(values, properties, separator) {
|
|
12108
12126
|
return (values || []).map(v => referentialToString(v, properties)).join(separator || ', ');
|
|
12109
12127
|
}
|
|
12110
|
-
const ɵ0$
|
|
12128
|
+
const ɵ0$9 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
|
|
12111
12129
|
const StatusList = Object.freeze([
|
|
12112
12130
|
{
|
|
12113
|
-
id: ɵ0$
|
|
12131
|
+
id: ɵ0$9,
|
|
12114
12132
|
icon: 'checkmark',
|
|
12115
12133
|
label: 'REFERENTIAL.STATUS_ENUM.ENABLE'
|
|
12116
12134
|
},
|
|
@@ -12385,7 +12403,7 @@ function accountToString(data) {
|
|
|
12385
12403
|
(data.lastName || '')) || '';
|
|
12386
12404
|
}
|
|
12387
12405
|
|
|
12388
|
-
const uuidv4 = uuidv4Imported;
|
|
12406
|
+
const uuidv4$1 = uuidv4Imported;
|
|
12389
12407
|
const _global = typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : {});
|
|
12390
12408
|
const NativeWebSocket = _global.WebSocket || _global.MozWebSocket;
|
|
12391
12409
|
/**
|
|
@@ -12429,7 +12447,7 @@ function createTrackerLink(opts) {
|
|
|
12429
12447
|
// Skip if not tracked
|
|
12430
12448
|
if (!context || !context.tracked)
|
|
12431
12449
|
return forward(operation);
|
|
12432
|
-
const id = context.serializationKey || uuidv4();
|
|
12450
|
+
const id = context.serializationKey || uuidv4$1();
|
|
12433
12451
|
console.debug(`[apollo-tracker-link] Watching tracked query {${operation.operationName}#${id}}`);
|
|
12434
12452
|
// Clean context, before calling JSON.stringify (remove unused attributes)
|
|
12435
12453
|
const cleanContext = Object.assign(Object.assign({}, context), { optimisticResponse: null, cache: null });
|
|
@@ -13094,7 +13112,7 @@ class GraphqlService extends StartableService {
|
|
|
13094
13112
|
(err.networkError && ((err.networkError.error && this.toAppError(err.networkError.error))
|
|
13095
13113
|
|| this.toAppError(err.networkError)
|
|
13096
13114
|
|| (err.networkError.error && this.createAppErrorByCode(err.networkError.error.status))
|
|
13097
|
-
|| this.createAppErrorByCode(ErrorCodes
|
|
13115
|
+
|| this.createAppErrorByCode(ErrorCodes.UNKNOWN_NETWORK_ERROR)))
|
|
13098
13116
|
// If graphQL: try to convert the first error found
|
|
13099
13117
|
|| (err.graphQLErrors && err.graphQLErrors.length && this.toAppError(err.graphQLErrors[0]))
|
|
13100
13118
|
|| this.toAppError(err)
|
|
@@ -13102,7 +13120,7 @@ class GraphqlService extends StartableService {
|
|
|
13102
13120
|
|| (err.graphQLErrors && err.graphQLErrors[0])
|
|
13103
13121
|
|| err;
|
|
13104
13122
|
console.error('[graphql] ' + (error && error.message || error), error.stack || '');
|
|
13105
|
-
if (error && error.code === ErrorCodes
|
|
13123
|
+
if (error && error.code === ErrorCodes.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
|
|
13106
13124
|
console.error('[graphql] original error: ' + err.networkError.message);
|
|
13107
13125
|
this.onNetworkError.next(error);
|
|
13108
13126
|
}
|
|
@@ -13138,7 +13156,7 @@ class GraphqlService extends StartableService {
|
|
|
13138
13156
|
return 'ERROR.UNAUTHORIZED';
|
|
13139
13157
|
case ServerErrorCodes.FORBIDDEN:
|
|
13140
13158
|
return 'ERROR.FORBIDDEN';
|
|
13141
|
-
case ErrorCodes
|
|
13159
|
+
case ErrorCodes.UNKNOWN_NETWORK_ERROR:
|
|
13142
13160
|
return 'ERROR.UNKNOWN_NETWORK_ERROR';
|
|
13143
13161
|
case ServerErrorCodes.BAD_UPDATE_DATE:
|
|
13144
13162
|
return 'ERROR.BAD_UPDATE_DATE';
|
|
@@ -13169,7 +13187,7 @@ class GraphqlService extends StartableService {
|
|
|
13169
13187
|
return undefined;
|
|
13170
13188
|
}
|
|
13171
13189
|
}
|
|
13172
|
-
GraphqlService.ɵprov =
|
|
13190
|
+
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" });
|
|
13173
13191
|
GraphqlService.decorators = [
|
|
13174
13192
|
{ type: Injectable, args: [{
|
|
13175
13193
|
providedIn: 'root'
|
|
@@ -13186,7 +13204,7 @@ GraphqlService.ctorParameters = () => [
|
|
|
13186
13204
|
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_GRAPHQL_TYPE_POLICIES,] }] }
|
|
13187
13205
|
];
|
|
13188
13206
|
|
|
13189
|
-
const sha256 = require('hash.js/lib/hash/sha/256');
|
|
13207
|
+
const sha256$1 = require('hash.js/lib/hash/sha/256');
|
|
13190
13208
|
class BaseGraphqlServiceOptions {
|
|
13191
13209
|
}
|
|
13192
13210
|
// eslint-disable-next-line @angular-eslint/directive-class-suffix
|
|
@@ -13337,8 +13355,8 @@ class BaseGraphqlService extends StartableService {
|
|
|
13337
13355
|
}
|
|
13338
13356
|
/* -- protected methods -- */
|
|
13339
13357
|
computeMutableWatchQueryId(opts) {
|
|
13340
|
-
const queryName = opts.queryName || sha256().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
|
|
13341
|
-
const variablesKey = opts.variables && sha256().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
|
|
13358
|
+
const queryName = opts.queryName || sha256$1().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
|
|
13359
|
+
const variablesKey = opts.variables && sha256$1().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
|
|
13342
13360
|
return [queryName, opts.arrayFieldName, variablesKey].join('|');
|
|
13343
13361
|
}
|
|
13344
13362
|
findMutableWatchQueries(opts) {
|
|
@@ -13404,7 +13422,7 @@ const DEFAULT_AVATAR_IMAGE = 'assets/img/person.png';
|
|
|
13404
13422
|
/* ------------------------------------
|
|
13405
13423
|
* GraphQL queries
|
|
13406
13424
|
* ------------------------------------*/
|
|
13407
|
-
const Fragments
|
|
13425
|
+
const Fragments = {
|
|
13408
13426
|
account: gql `
|
|
13409
13427
|
fragment AccountFragment on AccountVO {
|
|
13410
13428
|
id
|
|
@@ -13439,14 +13457,14 @@ const Fragments$1 = {
|
|
|
13439
13457
|
}`
|
|
13440
13458
|
};
|
|
13441
13459
|
// Load account query
|
|
13442
|
-
const LoadQuery
|
|
13460
|
+
const LoadQuery = gql `
|
|
13443
13461
|
query Account {
|
|
13444
13462
|
data: account {
|
|
13445
13463
|
...AccountFragment
|
|
13446
13464
|
}
|
|
13447
13465
|
}
|
|
13448
|
-
${Fragments
|
|
13449
|
-
${Fragments
|
|
13466
|
+
${Fragments.account}
|
|
13467
|
+
${Fragments.settings}
|
|
13450
13468
|
`;
|
|
13451
13469
|
// Check email query
|
|
13452
13470
|
const IsEmailExistsQuery = gql `
|
|
@@ -13461,21 +13479,21 @@ const AccountMutations = {
|
|
|
13461
13479
|
...AccountFragment
|
|
13462
13480
|
}
|
|
13463
13481
|
}
|
|
13464
|
-
${Fragments
|
|
13465
|
-
${Fragments
|
|
13482
|
+
${Fragments.account}
|
|
13483
|
+
${Fragments.settings}`,
|
|
13466
13484
|
create: gql `mutation CreateAccount($data:AccountVOInput){
|
|
13467
13485
|
data: createAccount(account: $data){
|
|
13468
13486
|
...AccountFragment
|
|
13469
13487
|
}
|
|
13470
13488
|
}
|
|
13471
|
-
${Fragments
|
|
13472
|
-
${Fragments
|
|
13489
|
+
${Fragments.account}
|
|
13490
|
+
${Fragments.settings}`,
|
|
13473
13491
|
saveSettings: gql `mutation SaveSettings($data:UserSettingsVOInput){
|
|
13474
13492
|
data: saveSettings(settings: $data){
|
|
13475
13493
|
...UserSettingsFragment
|
|
13476
13494
|
}
|
|
13477
13495
|
}
|
|
13478
|
-
${Fragments
|
|
13496
|
+
${Fragments.settings}`
|
|
13479
13497
|
};
|
|
13480
13498
|
// Sent confirmation email
|
|
13481
13499
|
const SendConfirmEmailMutation = gql `
|
|
@@ -13784,7 +13802,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
13784
13802
|
catch (error) {
|
|
13785
13803
|
console.error(error);
|
|
13786
13804
|
this.resetData();
|
|
13787
|
-
throw { code: ErrorCodes
|
|
13805
|
+
throw { code: ErrorCodes.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
|
|
13788
13806
|
}
|
|
13789
13807
|
// Store pubkey+keypair
|
|
13790
13808
|
this._cache.pubkey = Base58.encode(keypair.publicKey);
|
|
@@ -13818,7 +13836,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
13818
13836
|
}
|
|
13819
13837
|
catch (err) {
|
|
13820
13838
|
// If account not found, check if email is valid
|
|
13821
|
-
if (err && +(err.code) === ErrorCodes
|
|
13839
|
+
if (err && +(err.code) === ErrorCodes.LOAD_ACCOUNT_ERROR) {
|
|
13822
13840
|
// Check email exists
|
|
13823
13841
|
if (data.username.indexOf('@') !== -1) {
|
|
13824
13842
|
let isEmailExists;
|
|
@@ -13830,11 +13848,11 @@ class AccountService extends BaseGraphqlService {
|
|
|
13830
13848
|
}
|
|
13831
13849
|
// Email not exists (no account)
|
|
13832
13850
|
if (!isEmailExists) {
|
|
13833
|
-
throw { code: ErrorCodes
|
|
13851
|
+
throw { code: ErrorCodes.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
|
|
13834
13852
|
}
|
|
13835
13853
|
}
|
|
13836
13854
|
// Email exists, so error = 'bad password'
|
|
13837
|
-
throw { code: ErrorCodes
|
|
13855
|
+
throw { code: ErrorCodes.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
|
|
13838
13856
|
}
|
|
13839
13857
|
throw err; // resend the first error
|
|
13840
13858
|
}
|
|
@@ -13959,8 +13977,8 @@ class AccountService extends BaseGraphqlService {
|
|
|
13959
13977
|
// Load remotely
|
|
13960
13978
|
else {
|
|
13961
13979
|
const { data } = yield this.graphql.query({
|
|
13962
|
-
query: LoadQuery
|
|
13963
|
-
error: { code: ErrorCodes
|
|
13980
|
+
query: LoadQuery,
|
|
13981
|
+
error: { code: ErrorCodes.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
|
|
13964
13982
|
fetchPolicy: opts && opts.fetchPolicy || 'no-cache' || undefined
|
|
13965
13983
|
});
|
|
13966
13984
|
json = data;
|
|
@@ -13987,7 +14005,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
13987
14005
|
return __awaiter(this, void 0, void 0, function* () {
|
|
13988
14006
|
const isEmailExists = yield this.isEmailExists(email);
|
|
13989
14007
|
if (isEmailExists) {
|
|
13990
|
-
throw { code: ErrorCodes
|
|
14008
|
+
throw { code: ErrorCodes.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
|
|
13991
14009
|
}
|
|
13992
14010
|
});
|
|
13993
14011
|
}
|
|
@@ -14023,7 +14041,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14023
14041
|
locale
|
|
14024
14042
|
},
|
|
14025
14043
|
error: {
|
|
14026
|
-
code: ErrorCodes
|
|
14044
|
+
code: ErrorCodes.SENT_CONFIRMATION_EMAIL_FAILED,
|
|
14027
14045
|
message: 'ERROR.SENT_ACCOUNT_CONFIRMATION_EMAIL_FAILED'
|
|
14028
14046
|
}
|
|
14029
14047
|
});
|
|
@@ -14039,7 +14057,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14039
14057
|
code
|
|
14040
14058
|
},
|
|
14041
14059
|
error: {
|
|
14042
|
-
code: ErrorCodes
|
|
14060
|
+
code: ErrorCodes.CONFIRM_EMAIL_FAILED,
|
|
14043
14061
|
message: 'ERROR.CONFIRM_ACCOUNT_EMAIL_FAILED'
|
|
14044
14062
|
}
|
|
14045
14063
|
});
|
|
@@ -14057,7 +14075,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14057
14075
|
interval: 10
|
|
14058
14076
|
},
|
|
14059
14077
|
error: {
|
|
14060
|
-
code: ErrorCodes
|
|
14078
|
+
code: ErrorCodes.SUBSCRIBE_ACCOUNT_ERROR,
|
|
14061
14079
|
message: 'ERROR.ACCOUNT.SUBSCRIBE_ACCOUNT_ERROR'
|
|
14062
14080
|
}
|
|
14063
14081
|
}).subscribe({
|
|
@@ -14158,7 +14176,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14158
14176
|
throw error;
|
|
14159
14177
|
console.error(error);
|
|
14160
14178
|
throw {
|
|
14161
|
-
code: ErrorCodes
|
|
14179
|
+
code: ErrorCodes.LOAD_ACCOUNT_ERROR,
|
|
14162
14180
|
message: 'ERROR.LOAD_ACCOUNT_ERROR'
|
|
14163
14181
|
};
|
|
14164
14182
|
}
|
|
@@ -14326,7 +14344,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14326
14344
|
if (!isNew) {
|
|
14327
14345
|
const existingAccount = yield this.load({ fetchPolicy: 'network-only' });
|
|
14328
14346
|
if (!existingAccount || !existingAccount.updateDate) {
|
|
14329
|
-
throw { code: ErrorCodes
|
|
14347
|
+
throw { code: ErrorCodes.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
|
|
14330
14348
|
}
|
|
14331
14349
|
this.copyIdAndUpdateDate(existingAccount, account);
|
|
14332
14350
|
}
|
|
@@ -14338,7 +14356,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14338
14356
|
mutation: isNew ? AccountMutations.create : AccountMutations.save,
|
|
14339
14357
|
variables: { data: json },
|
|
14340
14358
|
error: {
|
|
14341
|
-
code: ErrorCodes
|
|
14359
|
+
code: ErrorCodes.SAVE_ACCOUNT_ERROR,
|
|
14342
14360
|
message: 'ERROR.SAVE_ACCOUNT_ERROR'
|
|
14343
14361
|
}
|
|
14344
14362
|
});
|
|
@@ -14365,7 +14383,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14365
14383
|
mutation: AccountMutations.saveSettings,
|
|
14366
14384
|
variables: { data: json },
|
|
14367
14385
|
error: {
|
|
14368
|
-
code: ErrorCodes
|
|
14386
|
+
code: ErrorCodes.SAVE_SETTINGS_ERROR,
|
|
14369
14387
|
message: 'ERROR.SAVE_SETTINGS_ERROR'
|
|
14370
14388
|
}
|
|
14371
14389
|
});
|
|
@@ -14387,7 +14405,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14387
14405
|
if (counter > 4) {
|
|
14388
14406
|
if (this._debug)
|
|
14389
14407
|
console.debug(`[account] Failed to authentication on pod (after ${counter} attempts)`);
|
|
14390
|
-
throw { code: ErrorCodes
|
|
14408
|
+
throw { code: ErrorCodes.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
|
|
14391
14409
|
}
|
|
14392
14410
|
// Check if valid
|
|
14393
14411
|
if (token) {
|
|
@@ -14397,7 +14415,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14397
14415
|
token
|
|
14398
14416
|
},
|
|
14399
14417
|
error: {
|
|
14400
|
-
code: ErrorCodes
|
|
14418
|
+
code: ErrorCodes.UNAUTHORIZED,
|
|
14401
14419
|
message: 'ERROR.UNAUTHORIZED'
|
|
14402
14420
|
},
|
|
14403
14421
|
fetchPolicy: 'no-cache'
|
|
@@ -14413,7 +14431,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14413
14431
|
}
|
|
14414
14432
|
// Generate a new token
|
|
14415
14433
|
const challengeError = {
|
|
14416
|
-
code: ErrorCodes
|
|
14434
|
+
code: ErrorCodes.AUTH_CHALLENGE_ERROR,
|
|
14417
14435
|
message: 'ERROR.AUTH_CHALLENGE_ERROR'
|
|
14418
14436
|
};
|
|
14419
14437
|
const data = yield this.graphql.query({
|
|
@@ -14452,7 +14470,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14452
14470
|
target.updateDate = source.updateDate || target.updateDate;
|
|
14453
14471
|
}
|
|
14454
14472
|
}
|
|
14455
|
-
AccountService.ɵprov =
|
|
14473
|
+
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" });
|
|
14456
14474
|
AccountService.decorators = [
|
|
14457
14475
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
14458
14476
|
];
|
|
@@ -14712,7 +14730,7 @@ const CONFIGURATION_STORAGE_KEY = 'configuration';
|
|
|
14712
14730
|
/* ------------------------------------
|
|
14713
14731
|
* GraphQL queries
|
|
14714
14732
|
* ------------------------------------*/
|
|
14715
|
-
const Fragments = {
|
|
14733
|
+
const Fragments$1 = {
|
|
14716
14734
|
config: gql `
|
|
14717
14735
|
fragment ConfigFragment on ConfigurationVO {
|
|
14718
14736
|
id
|
|
@@ -14739,13 +14757,13 @@ const Fragments = {
|
|
|
14739
14757
|
}
|
|
14740
14758
|
`
|
|
14741
14759
|
};
|
|
14742
|
-
const LoadQuery = gql `
|
|
14760
|
+
const LoadQuery$1 = gql `
|
|
14743
14761
|
query Configuration{
|
|
14744
14762
|
data: configuration{
|
|
14745
14763
|
...ConfigFragment
|
|
14746
14764
|
}
|
|
14747
14765
|
}
|
|
14748
|
-
${Fragments.config}
|
|
14766
|
+
${Fragments$1.config}
|
|
14749
14767
|
`;
|
|
14750
14768
|
// Save (create or update) account mutation
|
|
14751
14769
|
const SaveMutation = gql `
|
|
@@ -14754,7 +14772,7 @@ const SaveMutation = gql `
|
|
|
14754
14772
|
...ConfigFragment
|
|
14755
14773
|
}
|
|
14756
14774
|
}
|
|
14757
|
-
${Fragments.config}
|
|
14775
|
+
${Fragments$1.config}
|
|
14758
14776
|
`;
|
|
14759
14777
|
const ClearCache = gql `
|
|
14760
14778
|
query ClearCache($name: String) {
|
|
@@ -14804,12 +14822,12 @@ class ConfigService extends BaseGraphqlService {
|
|
|
14804
14822
|
return __awaiter(this, void 0, void 0, function* () {
|
|
14805
14823
|
const now = Date.now();
|
|
14806
14824
|
console.debug('[config] Loading Pod configuration...');
|
|
14807
|
-
const query = opts && opts.query || LoadQuery;
|
|
14825
|
+
const query = opts && opts.query || LoadQuery$1;
|
|
14808
14826
|
const variables = opts && opts.variables || undefined;
|
|
14809
14827
|
const res = yield this.graphql.query({
|
|
14810
14828
|
query,
|
|
14811
14829
|
variables,
|
|
14812
|
-
error: { code: ErrorCodes
|
|
14830
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
14813
14831
|
fetchPolicy: opts && opts.fetchPolicy || undefined /*default*/
|
|
14814
14832
|
});
|
|
14815
14833
|
const data = res && res.data ? Configuration.fromObject(res.data) : undefined;
|
|
@@ -14839,7 +14857,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
14839
14857
|
data: json
|
|
14840
14858
|
},
|
|
14841
14859
|
error: {
|
|
14842
|
-
code: ErrorCodes
|
|
14860
|
+
code: ErrorCodes.SAVE_CONFIG_ERROR,
|
|
14843
14861
|
message: 'ERROR.SAVE_CONFIG_ERROR'
|
|
14844
14862
|
}
|
|
14845
14863
|
});
|
|
@@ -14865,7 +14883,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
14865
14883
|
const res = yield this.graphql.query({
|
|
14866
14884
|
query: CacheStatistics,
|
|
14867
14885
|
variables: null,
|
|
14868
|
-
error: { code: ErrorCodes
|
|
14886
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
14869
14887
|
fetchPolicy: 'network-only'
|
|
14870
14888
|
});
|
|
14871
14889
|
const data = res && res.cacheStatistics || undefined;
|
|
@@ -14881,7 +14899,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
14881
14899
|
const res = yield this.graphql.query({
|
|
14882
14900
|
query: ClearCache,
|
|
14883
14901
|
variables,
|
|
14884
|
-
error: { code: ErrorCodes
|
|
14902
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
14885
14903
|
fetchPolicy: 'network-only'
|
|
14886
14904
|
});
|
|
14887
14905
|
const data = res && res.clearCache || undefined;
|
|
@@ -15040,7 +15058,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
15040
15058
|
});
|
|
15041
15059
|
}
|
|
15042
15060
|
}
|
|
15043
|
-
ConfigService.ɵprov =
|
|
15061
|
+
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" });
|
|
15044
15062
|
ConfigService.decorators = [
|
|
15045
15063
|
{ type: Injectable, args: [{
|
|
15046
15064
|
providedIn: 'root',
|
|
@@ -15059,7 +15077,7 @@ ConfigService.ctorParameters = () => [
|
|
|
15059
15077
|
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_CONFIG_OPTIONS,] }] }
|
|
15060
15078
|
];
|
|
15061
15079
|
|
|
15062
|
-
const moment$
|
|
15080
|
+
const moment$4 = momentImported;
|
|
15063
15081
|
class PlatformService extends StartableService {
|
|
15064
15082
|
constructor(platform, cdkPlatform, toastController, translate, dateAdapter, entitiesStorage, settings, networkService, accountService, configService, cache, storage, audioProvider, environment, statusBar, keyboard, splashScreen, browser, downloader) {
|
|
15065
15083
|
super(platform);
|
|
@@ -15263,16 +15281,16 @@ class PlatformService extends StartableService {
|
|
|
15263
15281
|
}
|
|
15264
15282
|
// config moment lib
|
|
15265
15283
|
try {
|
|
15266
|
-
moment$
|
|
15284
|
+
moment$4.locale(event.lang);
|
|
15267
15285
|
console.debug('[platform] Use locale {' + event.lang + '}');
|
|
15268
15286
|
}
|
|
15269
15287
|
// If error, fallback to en
|
|
15270
15288
|
catch (err) {
|
|
15271
|
-
moment$
|
|
15289
|
+
moment$4.locale('en');
|
|
15272
15290
|
console.warn('[platform] Unknown local for moment lib. Using default [en]');
|
|
15273
15291
|
}
|
|
15274
15292
|
// Config date adapter
|
|
15275
|
-
this.dateAdapter.setLocale(moment$
|
|
15293
|
+
this.dateAdapter.setLocale(moment$4.locale());
|
|
15276
15294
|
}
|
|
15277
15295
|
});
|
|
15278
15296
|
this.settings.onChange.subscribe(data => {
|
|
@@ -15406,7 +15424,7 @@ class PlatformService extends StartableService {
|
|
|
15406
15424
|
});
|
|
15407
15425
|
}
|
|
15408
15426
|
}
|
|
15409
|
-
PlatformService.ɵprov =
|
|
15427
|
+
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" });
|
|
15410
15428
|
PlatformService.decorators = [
|
|
15411
15429
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
15412
15430
|
];
|
|
@@ -15421,15 +15439,15 @@ PlatformService.ctorParameters = () => [
|
|
|
15421
15439
|
{ type: NetworkService },
|
|
15422
15440
|
{ type: AccountService },
|
|
15423
15441
|
{ type: ConfigService },
|
|
15424
|
-
{ type: CacheService },
|
|
15442
|
+
{ type: CacheService$1 },
|
|
15425
15443
|
{ type: Storage },
|
|
15426
15444
|
{ type: AudioProvider },
|
|
15427
15445
|
{ type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
|
|
15428
|
-
{ type: StatusBar, decorators: [{ type: Optional }] },
|
|
15446
|
+
{ type: StatusBar$1, decorators: [{ type: Optional }] },
|
|
15429
15447
|
{ type: Keyboard, decorators: [{ type: Optional }] },
|
|
15430
|
-
{ type: SplashScreen, decorators: [{ type: Optional }] },
|
|
15431
|
-
{ type: InAppBrowser, decorators: [{ type: Optional }] },
|
|
15432
|
-
{ type: Downloader, decorators: [{ type: Optional }] }
|
|
15448
|
+
{ type: SplashScreen$1, decorators: [{ type: Optional }] },
|
|
15449
|
+
{ type: InAppBrowser$1, decorators: [{ type: Optional }] },
|
|
15450
|
+
{ type: Downloader$1, decorators: [{ type: Optional }] }
|
|
15433
15451
|
];
|
|
15434
15452
|
|
|
15435
15453
|
class AppHelpModal {
|
|
@@ -15493,7 +15511,7 @@ class MatStepperI18n extends MatStepperIntl {
|
|
|
15493
15511
|
this.optionalLabel = this.translate.instant('COMMON.OPTIONAL');
|
|
15494
15512
|
}
|
|
15495
15513
|
}
|
|
15496
|
-
MatStepperI18n.ɵprov =
|
|
15514
|
+
MatStepperI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(ɵɵinject(TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
|
|
15497
15515
|
MatStepperI18n.decorators = [
|
|
15498
15516
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
15499
15517
|
];
|
|
@@ -16495,7 +16513,7 @@ function state2side(state) {
|
|
|
16495
16513
|
return 1;
|
|
16496
16514
|
}
|
|
16497
16515
|
}
|
|
16498
|
-
const ɵ0$
|
|
16516
|
+
const ɵ0$a = (defaultStateSize) => [
|
|
16499
16517
|
Math.round((rgbArrayMap.red[0] - 50) / defaultStateSize),
|
|
16500
16518
|
Math.round((255 - rgbArrayMap.red[1]) / defaultStateSize),
|
|
16501
16519
|
Math.round((255 - rgbArrayMap.red[2]) / defaultStateSize)
|
|
@@ -16503,7 +16521,7 @@ const ɵ0$1 = (defaultStateSize) => [
|
|
|
16503
16521
|
const SCALE_OPTIONS_DEFAULT = {
|
|
16504
16522
|
startColor: rgbArrayMap.red,
|
|
16505
16523
|
startStates: [0, 2, 3],
|
|
16506
|
-
startStepsFn: ɵ0$
|
|
16524
|
+
startStepsFn: ɵ0$a
|
|
16507
16525
|
};
|
|
16508
16526
|
/**
|
|
16509
16527
|
* Internal function, that create a colors scale, using iteration
|
|
@@ -16595,21 +16613,21 @@ function linearColorGradient(count, options) {
|
|
|
16595
16613
|
return result;
|
|
16596
16614
|
}
|
|
16597
16615
|
|
|
16598
|
-
class EntityTestClass
|
|
16616
|
+
class EntityTestClass {
|
|
16599
16617
|
}
|
|
16600
|
-
const FAKE_ENTITIES
|
|
16618
|
+
const FAKE_ENTITIES = [
|
|
16601
16619
|
{ id: 1, label: 'AAA', name: 'Item A', description: 'Very long description A', comments: 'Very very long comments... again for A' },
|
|
16602
16620
|
{ id: 2, label: 'BBB', name: 'Item B', description: 'Very long description B', comments: 'Very very long comments... again for B' },
|
|
16603
16621
|
{ id: 3, label: 'CCC', name: 'Item C', description: 'Very long description C', comments: 'Very very long comments... again for C' }
|
|
16604
16622
|
];
|
|
16605
|
-
function deepCopy
|
|
16623
|
+
function deepCopy(values, size) {
|
|
16606
16624
|
if (isNil(size)) {
|
|
16607
|
-
return (values || FAKE_ENTITIES
|
|
16625
|
+
return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
|
|
16608
16626
|
}
|
|
16609
16627
|
let result = [];
|
|
16610
16628
|
let i = 1;
|
|
16611
16629
|
while (result.length < size) {
|
|
16612
|
-
result = result.concat((values || FAKE_ENTITIES
|
|
16630
|
+
result = result.concat((values || FAKE_ENTITIES).map(entity => {
|
|
16613
16631
|
const name = entity.name + ' #' + i;
|
|
16614
16632
|
return Object.assign(Object.assign({}, entity), { id: i++, name });
|
|
16615
16633
|
}));
|
|
@@ -16619,7 +16637,7 @@ function deepCopy$1(values, size) {
|
|
|
16619
16637
|
class AutocompleteTestPage {
|
|
16620
16638
|
constructor(formBuilder) {
|
|
16621
16639
|
this.formBuilder = formBuilder;
|
|
16622
|
-
this._items = deepCopy
|
|
16640
|
+
this._items = deepCopy(FAKE_ENTITIES, 100);
|
|
16623
16641
|
this._$items = new BehaviorSubject(undefined);
|
|
16624
16642
|
this.autocompleteFields = new MatAutocompleteConfigHolder();
|
|
16625
16643
|
this.memoryHide = false;
|
|
@@ -16663,7 +16681,7 @@ class AutocompleteTestPage {
|
|
|
16663
16681
|
});
|
|
16664
16682
|
// From items
|
|
16665
16683
|
this.autocompleteFields.add('entity-items-large', {
|
|
16666
|
-
items: FAKE_ENTITIES
|
|
16684
|
+
items: FAKE_ENTITIES.slice(),
|
|
16667
16685
|
attributes: ['label', 'name', 'description', 'comments'],
|
|
16668
16686
|
displayWith: this.entityToString
|
|
16669
16687
|
});
|
|
@@ -16673,12 +16691,12 @@ class AutocompleteTestPage {
|
|
|
16673
16691
|
loadData() {
|
|
16674
16692
|
return __awaiter(this, void 0, void 0, function* () {
|
|
16675
16693
|
const data = {
|
|
16676
|
-
entity: deepCopy
|
|
16694
|
+
entity: deepCopy(FAKE_ENTITIES)[0],
|
|
16677
16695
|
// This item is NOT in the items list => i should be displayed anyway
|
|
16678
16696
|
missingEntity: {
|
|
16679
16697
|
id: -1, label: '??', name: 'Missing item'
|
|
16680
16698
|
},
|
|
16681
|
-
disableEntity: deepCopy
|
|
16699
|
+
disableEntity: deepCopy(FAKE_ENTITIES)[2]
|
|
16682
16700
|
};
|
|
16683
16701
|
this.form.setValue(data);
|
|
16684
16702
|
// Load observables
|
|
@@ -16851,13 +16869,13 @@ MaterialTestingPage.ctorParameters = () => [
|
|
|
16851
16869
|
{ type: Array, decorators: [{ type: Optional }, { type: Inject, args: [APP_TESTING_PAGES,] }] }
|
|
16852
16870
|
];
|
|
16853
16871
|
|
|
16854
|
-
const moment$
|
|
16872
|
+
const moment$5 = momentImported;
|
|
16855
16873
|
class SwipeTestPage {
|
|
16856
16874
|
constructor(formBuilder, dateFormatPipe) {
|
|
16857
16875
|
this.formBuilder = formBuilder;
|
|
16858
16876
|
this.dateFormatPipe = dateFormatPipe;
|
|
16859
16877
|
this.$dates = new BehaviorSubject(undefined);
|
|
16860
|
-
this._today = moment$
|
|
16878
|
+
this._today = moment$5().startOf('day');
|
|
16861
16879
|
this.form = formBuilder.group({
|
|
16862
16880
|
empty: [null, Validators.required],
|
|
16863
16881
|
date: [null, Validators.compose([Validators.required, SharedValidators.validDate])],
|
|
@@ -16870,7 +16888,7 @@ class SwipeTestPage {
|
|
|
16870
16888
|
ngOnInit() {
|
|
16871
16889
|
const dates = [];
|
|
16872
16890
|
for (let d = 0; d < 7; d++) {
|
|
16873
|
-
dates[d] = moment$
|
|
16891
|
+
dates[d] = moment$5(this._today).add(d - 3, 'day');
|
|
16874
16892
|
}
|
|
16875
16893
|
this.$dates.next(dates);
|
|
16876
16894
|
this.loadData();
|
|
@@ -16911,7 +16929,7 @@ SwipeTestPage.ctorParameters = () => [
|
|
|
16911
16929
|
{ type: DateFormatPipe }
|
|
16912
16930
|
];
|
|
16913
16931
|
|
|
16914
|
-
const moment = momentImported;
|
|
16932
|
+
const moment$6 = momentImported;
|
|
16915
16933
|
class DateTimeTestPage {
|
|
16916
16934
|
constructor(platform, formBuilder, cd) {
|
|
16917
16935
|
this.platform = platform;
|
|
@@ -16943,7 +16961,7 @@ class DateTimeTestPage {
|
|
|
16943
16961
|
// Load the form with data
|
|
16944
16962
|
loadData() {
|
|
16945
16963
|
return __awaiter(this, void 0, void 0, function* () {
|
|
16946
|
-
const now = moment();
|
|
16964
|
+
const now = moment$6();
|
|
16947
16965
|
const data = {
|
|
16948
16966
|
empty: toDateISOString(now.clone().add(2, 'hours')),
|
|
16949
16967
|
enable: toDateISOString(now),
|
|
@@ -17004,9 +17022,9 @@ DateTimeTestPage.ctorParameters = () => [
|
|
|
17004
17022
|
{ type: ChangeDetectorRef }
|
|
17005
17023
|
];
|
|
17006
17024
|
|
|
17007
|
-
class EntityTestClass {
|
|
17025
|
+
class EntityTestClass$1 {
|
|
17008
17026
|
}
|
|
17009
|
-
const FAKE_ENTITIES = [
|
|
17027
|
+
const FAKE_ENTITIES$1 = [
|
|
17010
17028
|
{ id: 1, label: 'AAA', name: 'Item A' },
|
|
17011
17029
|
{ id: 2, label: 'BBB', name: 'Item B' },
|
|
17012
17030
|
{ id: 3, label: 'CCC', name: 'Item C' },
|
|
@@ -17015,14 +17033,14 @@ const FAKE_ENTITIES = [
|
|
|
17015
17033
|
{ id: 6, label: 'FFF', name: 'Item F' },
|
|
17016
17034
|
{ id: 7, label: 'GGG', name: 'Item G' }
|
|
17017
17035
|
];
|
|
17018
|
-
function deepCopy(values, size) {
|
|
17036
|
+
function deepCopy$1(values, size) {
|
|
17019
17037
|
if (isNil(size)) {
|
|
17020
|
-
return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
|
|
17038
|
+
return (values || FAKE_ENTITIES$1).map(entity => Object.assign({}, entity));
|
|
17021
17039
|
}
|
|
17022
17040
|
let result = [];
|
|
17023
17041
|
let i = 1;
|
|
17024
17042
|
while (result.length < size) {
|
|
17025
|
-
result = result.concat((values || FAKE_ENTITIES).map(entity => {
|
|
17043
|
+
result = result.concat((values || FAKE_ENTITIES$1).map(entity => {
|
|
17026
17044
|
const name = entity.name + ' #' + i;
|
|
17027
17045
|
return Object.assign(Object.assign({}, entity), { id: i++, name });
|
|
17028
17046
|
}));
|
|
@@ -17032,7 +17050,7 @@ function deepCopy(values, size) {
|
|
|
17032
17050
|
class ChipsTestPage {
|
|
17033
17051
|
constructor(formBuilder) {
|
|
17034
17052
|
this.formBuilder = formBuilder;
|
|
17035
|
-
this._items = deepCopy(FAKE_ENTITIES, 100);
|
|
17053
|
+
this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
|
|
17036
17054
|
this._$items = new BehaviorSubject(undefined);
|
|
17037
17055
|
this.autocompleteFields = new MatAutocompleteConfigHolder();
|
|
17038
17056
|
this.form = formBuilder.group({
|
|
@@ -17071,7 +17089,7 @@ class ChipsTestPage {
|
|
|
17071
17089
|
// Load the form with data
|
|
17072
17090
|
loadData() {
|
|
17073
17091
|
return __awaiter(this, void 0, void 0, function* () {
|
|
17074
|
-
const items = deepCopy(FAKE_ENTITIES);
|
|
17092
|
+
const items = deepCopy$1(FAKE_ENTITIES$1);
|
|
17075
17093
|
const data = {
|
|
17076
17094
|
entity: items.slice(0, 1),
|
|
17077
17095
|
entityInitial: items.slice(1, 2),
|
|
@@ -17147,7 +17165,7 @@ MatBadgeIconTestPage.decorators = [
|
|
|
17147
17165
|
},] }
|
|
17148
17166
|
];
|
|
17149
17167
|
|
|
17150
|
-
const routes
|
|
17168
|
+
const routes = [
|
|
17151
17169
|
{
|
|
17152
17170
|
path: '',
|
|
17153
17171
|
pathMatch: 'full',
|
|
@@ -17199,7 +17217,7 @@ MaterialTestingModule.decorators = [
|
|
|
17199
17217
|
ReactiveFormsModule,
|
|
17200
17218
|
SharedMaterialModule,
|
|
17201
17219
|
TranslateModule.forChild(),
|
|
17202
|
-
RouterModule.forChild(routes
|
|
17220
|
+
RouterModule.forChild(routes)
|
|
17203
17221
|
],
|
|
17204
17222
|
declarations: [
|
|
17205
17223
|
MaterialTestingPage,
|
|
@@ -18214,7 +18232,7 @@ class UserSettingsValidatorService extends AppValidatorService {
|
|
|
18214
18232
|
});
|
|
18215
18233
|
}
|
|
18216
18234
|
}
|
|
18217
|
-
UserSettingsValidatorService.ɵprov =
|
|
18235
|
+
UserSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(ɵɵinject(FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
|
|
18218
18236
|
UserSettingsValidatorService.decorators = [
|
|
18219
18237
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
18220
18238
|
];
|
|
@@ -18258,7 +18276,7 @@ class AccountValidatorService extends AppValidatorService {
|
|
|
18258
18276
|
return validatorFns.length ? Validators.compose(validatorFns) : validatorFns.length === 1 ? validatorFns[0] : undefined;
|
|
18259
18277
|
}
|
|
18260
18278
|
}
|
|
18261
|
-
AccountValidatorService.ɵprov =
|
|
18279
|
+
AccountValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
|
|
18262
18280
|
AccountValidatorService.decorators = [
|
|
18263
18281
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
18264
18282
|
];
|
|
@@ -18823,7 +18841,7 @@ class LocalSettingsValidatorService extends AppValidatorService {
|
|
|
18823
18841
|
});
|
|
18824
18842
|
}
|
|
18825
18843
|
}
|
|
18826
|
-
LocalSettingsValidatorService.ɵprov =
|
|
18844
|
+
LocalSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(ɵɵinject(FormBuilder), ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
|
|
18827
18845
|
LocalSettingsValidatorService.decorators = [
|
|
18828
18846
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
18829
18847
|
];
|
|
@@ -19442,7 +19460,7 @@ class IsOnFieldModePipe {
|
|
|
19442
19460
|
return value === 'FIELD';
|
|
19443
19461
|
}
|
|
19444
19462
|
}
|
|
19445
|
-
IsOnFieldModePipe.ɵprov =
|
|
19463
|
+
IsOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
|
|
19446
19464
|
IsOnFieldModePipe.decorators = [
|
|
19447
19465
|
{ type: Pipe, args: [{
|
|
19448
19466
|
name: 'isOnField'
|
|
@@ -19454,7 +19472,7 @@ class IsNotOnFieldModePipe {
|
|
|
19454
19472
|
return value !== 'FIELD';
|
|
19455
19473
|
}
|
|
19456
19474
|
}
|
|
19457
|
-
IsNotOnFieldModePipe.ɵprov =
|
|
19475
|
+
IsNotOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
|
|
19458
19476
|
IsNotOnFieldModePipe.decorators = [
|
|
19459
19477
|
{ type: Pipe, args: [{
|
|
19460
19478
|
name: 'isNotOnField'
|
|
@@ -19469,7 +19487,7 @@ class PersonToStringPipe {
|
|
|
19469
19487
|
return PersonUtils.personToString(value);
|
|
19470
19488
|
}
|
|
19471
19489
|
}
|
|
19472
|
-
PersonToStringPipe.ɵprov =
|
|
19490
|
+
PersonToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
|
|
19473
19491
|
PersonToStringPipe.decorators = [
|
|
19474
19492
|
{ type: Pipe, args: [{
|
|
19475
19493
|
name: 'personToString'
|
|
@@ -19854,7 +19872,7 @@ class IsLoginAccountPipe {
|
|
|
19854
19872
|
return value && value.pubkey && true;
|
|
19855
19873
|
}
|
|
19856
19874
|
}
|
|
19857
|
-
IsLoginAccountPipe.ɵprov =
|
|
19875
|
+
IsLoginAccountPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
|
|
19858
19876
|
IsLoginAccountPipe.decorators = [
|
|
19859
19877
|
{ type: Pipe, args: [{
|
|
19860
19878
|
name: 'isLogin'
|
|
@@ -19866,7 +19884,7 @@ class AccountToStringPipe {
|
|
|
19866
19884
|
return accountToString(value);
|
|
19867
19885
|
}
|
|
19868
19886
|
}
|
|
19869
|
-
AccountToStringPipe.ɵprov =
|
|
19887
|
+
AccountToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
|
|
19870
19888
|
AccountToStringPipe.decorators = [
|
|
19871
19889
|
{ type: Pipe, args: [{
|
|
19872
19890
|
name: 'accountToString'
|
|
@@ -19881,7 +19899,7 @@ class DepartmentToStringPipe {
|
|
|
19881
19899
|
return departmentToString(value);
|
|
19882
19900
|
}
|
|
19883
19901
|
}
|
|
19884
|
-
DepartmentToStringPipe.ɵprov =
|
|
19902
|
+
DepartmentToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
|
|
19885
19903
|
DepartmentToStringPipe.decorators = [
|
|
19886
19904
|
{ type: Pipe, args: [{
|
|
19887
19905
|
name: 'departmentToString'
|
|
@@ -19907,7 +19925,7 @@ class MenuService {
|
|
|
19907
19925
|
this._visibleSubject.next(value);
|
|
19908
19926
|
}
|
|
19909
19927
|
}
|
|
19910
|
-
MenuService.ɵprov =
|
|
19928
|
+
MenuService.ɵprov = ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
|
|
19911
19929
|
MenuService.decorators = [
|
|
19912
19930
|
{ type: Injectable, args: [{
|
|
19913
19931
|
providedIn: 'root'
|
|
@@ -20431,7 +20449,7 @@ class AuthGuardService {
|
|
|
20431
20449
|
}));
|
|
20432
20450
|
}
|
|
20433
20451
|
}
|
|
20434
|
-
AuthGuardService.ɵprov =
|
|
20452
|
+
AuthGuardService.ɵprov = ɵɵdefineInjectable({ factory: function AuthGuardService_Factory() { return new AuthGuardService(ɵɵinject(AccountService), ɵɵinject(ModalController), ɵɵinject(Router), ɵɵinject(ENVIRONMENT)); }, token: AuthGuardService, providedIn: "root" });
|
|
20435
20453
|
AuthGuardService.decorators = [
|
|
20436
20454
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
20437
20455
|
];
|
|
@@ -20473,7 +20491,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20473
20491
|
query,
|
|
20474
20492
|
variables: { id },
|
|
20475
20493
|
fetchPolicy: opts && opts.fetchPolicy || undefined,
|
|
20476
|
-
error: { code: ErrorCodes
|
|
20494
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
|
|
20477
20495
|
})
|
|
20478
20496
|
.pipe(map(({ data }) => (!opts || opts.toEntity !== false)
|
|
20479
20497
|
? (data && this.fromObject(data))
|
|
@@ -20488,7 +20506,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20488
20506
|
query,
|
|
20489
20507
|
variables: { id },
|
|
20490
20508
|
fetchPolicy: opts && opts.fetchPolicy || undefined,
|
|
20491
|
-
error: { code: ErrorCodes
|
|
20509
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
|
|
20492
20510
|
});
|
|
20493
20511
|
// Convert to entity
|
|
20494
20512
|
return (!opts || opts.toEntity !== false)
|
|
@@ -20519,7 +20537,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20519
20537
|
totalFieldName: withTotal ? 'total' : undefined,
|
|
20520
20538
|
insertFilterFn: filter && filter.asFilterFn(),
|
|
20521
20539
|
variables,
|
|
20522
|
-
error: { code: ErrorCodes
|
|
20540
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
|
|
20523
20541
|
fetchPolicy: opts && opts.fetchPolicy || undefined
|
|
20524
20542
|
})
|
|
20525
20543
|
.pipe(map(({ data, total }) => {
|
|
@@ -20555,7 +20573,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20555
20573
|
const { data, total } = yield this.graphql.query({
|
|
20556
20574
|
query,
|
|
20557
20575
|
variables,
|
|
20558
|
-
error: { code: ErrorCodes
|
|
20576
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
|
|
20559
20577
|
fetchPolicy: opts && opts.fetchPolicy || 'network-only'
|
|
20560
20578
|
});
|
|
20561
20579
|
const entities = (!opts || opts.toEntity !== false) ?
|
|
@@ -20594,7 +20612,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20594
20612
|
variables: {
|
|
20595
20613
|
filter: filter && filter.asPodObject()
|
|
20596
20614
|
},
|
|
20597
|
-
error: { code: ErrorCodes
|
|
20615
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
|
|
20598
20616
|
fetchPolicy: opts && opts.fetchPolicy || 'network-only'
|
|
20599
20617
|
});
|
|
20600
20618
|
return res.total;
|
|
@@ -20627,7 +20645,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20627
20645
|
variables: {
|
|
20628
20646
|
data: json
|
|
20629
20647
|
},
|
|
20630
|
-
error: { code: ErrorCodes
|
|
20648
|
+
error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
|
|
20631
20649
|
update: (proxy, { data }) => {
|
|
20632
20650
|
const savedEntities = data && data.data;
|
|
20633
20651
|
if (savedEntities) {
|
|
@@ -20683,7 +20701,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20683
20701
|
variables: {
|
|
20684
20702
|
data: json
|
|
20685
20703
|
},
|
|
20686
|
-
error: { code: ErrorCodes
|
|
20704
|
+
error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
|
|
20687
20705
|
update: (cache, { data }) => {
|
|
20688
20706
|
// Update entity
|
|
20689
20707
|
const savedEntity = data && data.data;
|
|
@@ -20731,7 +20749,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20731
20749
|
refetchQueries: this.getRefetchQueriesForMutation(opts),
|
|
20732
20750
|
awaitRefetchQueries: opts && opts.awaitRefetchQueries,
|
|
20733
20751
|
variables: { ids },
|
|
20734
|
-
error: { code: ErrorCodes
|
|
20752
|
+
error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
|
|
20735
20753
|
update: (cache, res) => {
|
|
20736
20754
|
// Remove from cache
|
|
20737
20755
|
if (this.watchQueriesUpdatePolicy === 'update-cache') {
|
|
@@ -20772,7 +20790,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20772
20790
|
refetchQueries: this.getRefetchQueriesForMutation(opts),
|
|
20773
20791
|
awaitRefetchQueries: opts && opts.awaitRefetchQueries,
|
|
20774
20792
|
variables: { id },
|
|
20775
|
-
error: { code: ErrorCodes
|
|
20793
|
+
error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
|
|
20776
20794
|
update: (proxy, res) => {
|
|
20777
20795
|
// Remove from cache
|
|
20778
20796
|
if (this.watchQueriesUpdatePolicy === 'update-cache') {
|
|
@@ -20805,7 +20823,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20805
20823
|
query: opts && opts.query || this.subscriptions.listenChanges,
|
|
20806
20824
|
variables,
|
|
20807
20825
|
error: {
|
|
20808
|
-
code: ErrorCodes
|
|
20826
|
+
code: ErrorCodes.SUBSCRIBE_DATA_ERROR,
|
|
20809
20827
|
message: 'ERROR.SUBSCRIBE_DATA_ERROR'
|
|
20810
20828
|
}
|
|
20811
20829
|
})
|
|
@@ -20991,7 +21009,7 @@ class EntitiesTableDataSource extends TableDataSource {
|
|
|
20991
21009
|
if (this._debug)
|
|
20992
21010
|
invalidRows.forEach(row => AppTableUtils.logRowErrors(row, `[table-datasource] ${this._logTypeName} row #${row.id}`));
|
|
20993
21011
|
// Stop with an error
|
|
20994
|
-
throw { code: ErrorCodes
|
|
21012
|
+
throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
20995
21013
|
}
|
|
20996
21014
|
this._editingRowCount = 0;
|
|
20997
21015
|
let data;
|
|
@@ -21607,7 +21625,7 @@ class AppTable {
|
|
|
21607
21625
|
merge(
|
|
21608
21626
|
// Listen sort events
|
|
21609
21627
|
this.sort && this.sort.sortChange
|
|
21610
|
-
.pipe(mergeMap(() => __awaiter(this, void 0, void 0, function* () { return this.saveBeforeAction('sort'); })), filter(res => res === true),
|
|
21628
|
+
.pipe(filter(() => !this.sort.disabled), mergeMap(() => __awaiter(this, void 0, void 0, function* () { return this.saveBeforeAction('sort'); })), filter(res => res === true),
|
|
21611
21629
|
// Save sort in settings
|
|
21612
21630
|
tap(() => {
|
|
21613
21631
|
const value = [this.sort.active, this.sort.direction || 'asc'].join(':');
|
|
@@ -21624,7 +21642,9 @@ class AppTable {
|
|
|
21624
21642
|
});
|
|
21625
21643
|
// If the user changes the sort order, reset back to the first page.
|
|
21626
21644
|
if (this.sort && this.paginator) {
|
|
21627
|
-
this.registerSubscription(this.sort.sortChange
|
|
21645
|
+
this.registerSubscription(this.sort.sortChange
|
|
21646
|
+
.pipe(filter(() => !this.sort.disabled))
|
|
21647
|
+
.subscribe(() => this.paginator.pageIndex = 0));
|
|
21628
21648
|
}
|
|
21629
21649
|
}
|
|
21630
21650
|
ngOnDestroy() {
|
|
@@ -21853,14 +21873,14 @@ class AppTable {
|
|
|
21853
21873
|
return __awaiter(this, void 0, void 0, function* () {
|
|
21854
21874
|
opts = Object.assign({ keepEditing: this.keepEditedRowOnSave }, opts);
|
|
21855
21875
|
if (this.readOnly) {
|
|
21856
|
-
throw { code: ErrorCodes
|
|
21876
|
+
throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
|
|
21857
21877
|
}
|
|
21858
21878
|
this.resetError();
|
|
21859
21879
|
// Keep edited row id (should be done BEFORE confirmEditCreate() )
|
|
21860
21880
|
this.previouslyEditedRowId = opts.keepEditing && ((_a = this.editedRow) === null || _a === void 0 ? void 0 : _a.editing) ? this.editedRow.id : undefined;
|
|
21861
21881
|
const previouslyEditedData = isNotNil(this.previouslyEditedRowId) && this.editedRow.currentData || ((_b = this.singleSelectedRow) === null || _b === void 0 ? void 0 : _b.currentData);
|
|
21862
21882
|
if (!this.confirmEditCreate()) {
|
|
21863
|
-
throw { code: ErrorCodes
|
|
21883
|
+
throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
21864
21884
|
}
|
|
21865
21885
|
// Mark as saving
|
|
21866
21886
|
this.markAsSaving();
|
|
@@ -21977,7 +21997,7 @@ class AppTable {
|
|
|
21977
21997
|
var _a;
|
|
21978
21998
|
return __awaiter(this, void 0, void 0, function* () {
|
|
21979
21999
|
if (this.readOnly) {
|
|
21980
|
-
throw { code: ErrorCodes
|
|
22000
|
+
throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
|
|
21981
22001
|
}
|
|
21982
22002
|
if (event === null || event === void 0 ? void 0 : event.defaultPrevented)
|
|
21983
22003
|
return 0; // SKip
|
|
@@ -23503,7 +23523,7 @@ class AppEntityEditor extends AppTabEditor {
|
|
|
23503
23523
|
try {
|
|
23504
23524
|
const data = yield this.dataService.load(id, opts);
|
|
23505
23525
|
if (!data)
|
|
23506
|
-
throw { code: ErrorCodes
|
|
23526
|
+
throw { code: ErrorCodes.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
|
|
23507
23527
|
this._usageMode = this.computeUsageMode(data);
|
|
23508
23528
|
yield this.onEntityLoaded(data, opts);
|
|
23509
23529
|
yield this.updateView(data, opts);
|
|
@@ -24408,7 +24428,7 @@ class UserEventService extends BaseGraphqlService {
|
|
|
24408
24428
|
EntityUtils.copyIdAndUpdateDate(source, target);
|
|
24409
24429
|
}
|
|
24410
24430
|
}
|
|
24411
|
-
UserEventService.ɵprov =
|
|
24431
|
+
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" });
|
|
24412
24432
|
UserEventService.decorators = [
|
|
24413
24433
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
24414
24434
|
];
|
|
@@ -24793,7 +24813,7 @@ class PersonService extends BaseEntityService {
|
|
|
24793
24813
|
return target;
|
|
24794
24814
|
}
|
|
24795
24815
|
}
|
|
24796
|
-
PersonService.ɵprov =
|
|
24816
|
+
PersonService.ɵprov = ɵɵdefineInjectable({ factory: function PersonService_Factory() { return new PersonService(ɵɵinject(GraphqlService), ɵɵinject(PlatformService), ɵɵinject(NetworkService), ɵɵinject(EntitiesStorage)); }, token: PersonService, providedIn: "root" });
|
|
24797
24817
|
PersonService.decorators = [
|
|
24798
24818
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
24799
24819
|
];
|
|
@@ -24824,7 +24844,7 @@ class PersonValidatorService {
|
|
|
24824
24844
|
return this.formBuilder.group(formConfig);
|
|
24825
24845
|
}
|
|
24826
24846
|
}
|
|
24827
|
-
PersonValidatorService.ɵprov =
|
|
24847
|
+
PersonValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
|
|
24828
24848
|
PersonValidatorService.decorators = [
|
|
24829
24849
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
24830
24850
|
];
|
|
@@ -25030,16 +25050,16 @@ AdminModule.decorators = [
|
|
|
25030
25050
|
];
|
|
25031
25051
|
AdminModule.ctorParameters = () => [];
|
|
25032
25052
|
|
|
25033
|
-
const ɵ0 = {
|
|
25053
|
+
const ɵ0$b = {
|
|
25034
25054
|
profile: 'ADMIN'
|
|
25035
25055
|
};
|
|
25036
|
-
const routes = [
|
|
25056
|
+
const routes$1 = [
|
|
25037
25057
|
{
|
|
25038
25058
|
path: 'users',
|
|
25039
25059
|
pathMatch: 'full',
|
|
25040
25060
|
component: UsersPage,
|
|
25041
25061
|
canActivate: [AuthGuardService],
|
|
25042
|
-
data: ɵ0
|
|
25062
|
+
data: ɵ0$b
|
|
25043
25063
|
}
|
|
25044
25064
|
];
|
|
25045
25065
|
class AdminRoutingModule {
|
|
@@ -25049,13 +25069,13 @@ AdminRoutingModule.decorators = [
|
|
|
25049
25069
|
imports: [
|
|
25050
25070
|
SharedRoutingModule,
|
|
25051
25071
|
AdminModule,
|
|
25052
|
-
RouterModule.forChild(routes)
|
|
25072
|
+
RouterModule.forChild(routes$1)
|
|
25053
25073
|
],
|
|
25054
25074
|
exports: [RouterModule]
|
|
25055
25075
|
},] }
|
|
25056
25076
|
];
|
|
25057
25077
|
|
|
25058
|
-
const ErrorCodes = {
|
|
25078
|
+
const ErrorCodes$2 = {
|
|
25059
25079
|
LOAD_PERSONS_ERROR: 100,
|
|
25060
25080
|
SAVE_PERSONS_ERROR: 101,
|
|
25061
25081
|
DELETE_PERSONS_ERROR: 102,
|
|
@@ -25067,5 +25087,5 @@ const ErrorCodes = {
|
|
|
25067
25087
|
* Generated bundle index. Do not edit.
|
|
25068
25088
|
*/
|
|
25069
25089
|
|
|
25070
|
-
export { APP_ABOUT_DEVELOPERS, APP_ABOUT_PARTNERS, APP_CONFIG_OPTIONS, APP_FORM_ERROR_I18N_KEYS, APP_GRAPHQL_TYPE_POLICIES, APP_HOME_BUTTONS, APP_LOCALES, APP_LOCAL_SETTINGS, APP_LOCAL_SETTINGS_OPTIONS, APP_LOCAL_STORAGE_TYPE_POLICIES, APP_MENU_ITEMS, APP_TESTING_PAGES, AboutModal, Account, AccountPage, AccountService, AccountToStringPipe, ActionsColumnComponent, AdminModule, AdminRoutingModule, Alerts, AnimationState, AppEditor, AppEditorOptions, AppEntityEditor, AppForm, AppFormField, AppFormProvider, AppFormUtils, AppGestureConfig, AppGraphQLModule, AppHelpModal, AppInMemoryTable, AppInstallUpgradeCard, AppListForm, AppLoadingSpinner, AppMenuModule, AppNullForm, AppPropertiesForm, AppTabEditor, AppTabEditorOptions, AppTable, AppTableDataSourceOptions, AppTableUtils, AppValidatorService, AppendToInputDirective, ArrayFilterPipe, ArrayFirstPipe, ArrayIncludesPipe, ArrayLengthPipe, ArrayPluckPipe, AudioProvider, AuthForm, AuthGuardService, AuthModal, AutocompleteTestPage, AutofocusDirective, Base58, BaseEntityService, BaseGraphqlService, BaseGraphqlServiceOptions, BaseReferential, Beans, CORE_CONFIG_OPTIONS, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigService, Configuration, CoreModule, CryptoService, DATE_ISO_PATTERN, DATE_UNIX_MS_TIMESTAMP, DATE_UNIX_TIMESTAMP, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLACEHOLDER_CHAR, DEFAULT_REQUIRED_COLUMNS, DateDiffDurationPipe, DateFormatPipe, DateFromNowPipe, DateTimeTestPage, DateUtils, Department, DepartmentToStringPipe, DurationPipe, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesService, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, ErrorCodes, EvenPipe, FileService, FileSizePipe, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, FormErrorTranslatePipe, FormErrorTranslator, FormFieldValuesHolder, Fragments, GraphqlService, HAMMER_PRESS_TIME, HAMMER_TAP_TIME, HighlightPipe, HomePage, Hotkeys, HotkeysDialogComponent, InMemoryEntitiesService, IsLoginAccountPipe, IsNilOrBlankPipe, IsNotNilOrBlankPipe, IsNotOnFieldModePipe, IsOnFieldModePipe, JobUtils, KEYBOARD_HIDE_DELAY_MS, LAT_LONG_DEFAULT_MAX_DECIMALS, LAT_LONG_PATTERNS, LatLongFormatPipe, LatLongTestPage, LatitudeFormatPipe, LocalSettingsService, LongitudeFormatPipe, MINIFY_ENTITY_FOR_LOCAL_STORAGE, MINIFY_ENTITY_FOR_POD, MapGetPipe, MapKeysPipe, MapValuesPipe, MatAutocompleteConfigHolder, MatAutocompleteField, MatBooleanField, MatChipsField, MatDate, MatDateShort, MatDateTime, MatDuration, MatLatLongField, MatNumpadComponent, MatNumpadContainerComponent, MatNumpadContent, MatPaginatorI18n, MatStepperI18n, MatSwipeField, MaterialChipsModule, MaterialTestingModule, MaterialTestingPage, MathAbsPipe, MenuComponent, MenuItems, MenuService, ModalToolbarComponent, NetworkService, NgInitDirective, NotEmptyArrayPipe, NumberFormatPipe, NumpadDirective, OddPipe, PRIORITIZED_AUTHORITIES, PUBKEY_REGEXP, Peer, Person, PersonFilter, PersonFragments, PersonService, PersonToStringPipe, PersonUtils, PersonValidatorService, PlatformService, ProgressBarService, ProgressInterceptor, PropertyGetPipe, RESERVED_END_COLUMNS, RESERVED_START_COLUMNS, Referential, ReferentialRef, ReferentialUtils, RegisterConfirmPage, SETTINGS_DISPLAY_COLUMNS, SETTINGS_FILTER, SETTINGS_PAGE_SIZE, SETTINGS_SORTED_COLUMN, SETTINGS_STORAGE_KEY, SETTINGS_TRANSIENT_PROPERTIES, SPACE_PLACEHOLDER_CHAR, SelectPeerModal, SettingsPage, SharedDirectivesModule, SharedFormArrayValidators, SharedFormGroupValidators, SharedHotkeysModule, SharedMatAutocompleteModule, SharedMatBooleanModule, SharedMatDateTimeModule, SharedMatDurationModule, SharedMatLatLongModule, SharedMatNumpadModule, SharedMatSwipeModule, SharedMaterialModule, SharedModule, SharedPipesModule, SharedRoutingModule, SharedTestingModule, SharedValidators, SocialModule, Software, StartableService, StatusById, StatusIds, StatusList, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, UserEvent, UserEventFilter, UserEventService, UserEventTypes, UserEventsTable, UserSettings, UsersPage, accountToString, adaptValueToControl, addValueInArray, arrayDistinct, arrayGroupBy, arraySize, asInputElement, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, copyEntity2Form, createPromiseEvent, createPromiseEventEmitter, departmentToString, departmentsToString, disableControls, emitPromiseEvent, entityToString, equals, equalsOrNil, fadeInAnimation, fadeInOutAnimation, filterFalse, filterNotNil, filterNumberInput, filterTrue, firstArrayValue, firstFalse, firstFalsePromise, firstNotNil, firstNotNilPromise, firstTrue, firstTruePromise, focusInput, focusNextInput, focusPreviousInput, formatLatitude, formatLongitude, fromDateISOString, fromScrollEndEvent, fromUnixMsTimestamp, fromUnixTimestamp, getCaretPosition, getColorContrast, getColorShade, getColorTint, getConnectionType, getControlFromPath, getFocusableInputElements, getFormErrors, getFormValueFromEntity, getProperty, getPropertyByPath, getPropertyByPathAsString, getRandomImage, hexToRgb, hexToRgbArray, isControlHasInput, isEmptyArray, isInputElement, isInstanceOf, isInt, isNil, isNilOrBlank, isNilOrNaN, isNotEmptyArray, isNotNil, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, joinProperties, joinPropertiesPath, logFormErrors, markAllAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, matchUpperCase, mergeLoadResult, mixHex, moveInputCaretToSeparator, noTrailingSlash, notNilOrDefault, nullIfUndefined, parseLatitudeOrLongitude, propertiesPathComparator, propertyComparator, propertyPathComparator, referentialToString, referentialsToString, remove, removeAll, removeDiacritics, removeDuplicatesFromArray, removeEnd, removeValueInArray, replaceAll, resetCalculatedValue, resizeArray, rgbArrayToHex, rgbToHex, round, scrollFactory, selectInputContent, selectInputRange, setCalculatedValue, setTabIndex, sleep, slideInOutAnimation, slideUpDownAnimation, sort, splitById, splitByProperty, startsWithUpperCase, suggestFromArray, suggestFromStringArray, tabindexComparator, toBoolean, toDateISOString, toDuration, toFloat, toInt, toNotNil, toNumber, trimEmptyToNull, uncapitalizeFirstLetter, updateValueAndValidity, waitFor, waitForTrue, waitIdle, waitWhilePending, CustomReuseStrategy as ɵa, MatNumpadDomService as ɵb, SharedMatBadgeIconModule as ɵc, MatBadgeIconDirective as ɵd, isFocusableElement as ɵe, MatBadgeIconTestPage as ɵf, RegisterForm as ɵg, AccountValidatorService as ɵh, RegisterModal as ɵi, UserSettingsValidatorService as ɵj, LocalSettingsValidatorService as ɵk, AppIconComponent as ɵl };
|
|
25090
|
+
export { APP_ABOUT_DEVELOPERS, APP_ABOUT_PARTNERS, APP_CONFIG_OPTIONS, APP_FORM_ERROR_I18N_KEYS, APP_GRAPHQL_TYPE_POLICIES, APP_HOME_BUTTONS, APP_LOCALES, APP_LOCAL_SETTINGS, APP_LOCAL_SETTINGS_OPTIONS, APP_LOCAL_STORAGE_TYPE_POLICIES, APP_MENU_ITEMS, APP_TESTING_PAGES, AboutModal, Account, AccountPage, AccountService, AccountToStringPipe, ActionsColumnComponent, AdminModule, AdminRoutingModule, Alerts, AnimationState, AppEditor, AppEditorOptions, AppEntityEditor, AppForm, AppFormField, AppFormProvider, AppFormUtils, AppGestureConfig, AppGraphQLModule, AppHelpModal, AppInMemoryTable, AppInstallUpgradeCard, AppListForm, AppLoadingSpinner, AppMenuModule, AppNullForm, AppPropertiesForm, AppTabEditor, AppTabEditorOptions, AppTable, AppTableDataSourceOptions, AppTableUtils, AppValidatorService, AppendToInputDirective, ArrayFilterPipe, ArrayFirstPipe, ArrayIncludesPipe, ArrayLengthPipe, ArrayPluckPipe, AudioProvider, AuthForm, AuthGuardService, AuthModal, AutocompleteTestPage, AutofocusDirective, Base58, BaseEntityService, BaseGraphqlService, BaseGraphqlServiceOptions, BaseReferential, Beans, CORE_CONFIG_OPTIONS, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigService, Configuration, CoreModule, CryptoService, DATE_ISO_PATTERN, DATE_UNIX_MS_TIMESTAMP, DATE_UNIX_TIMESTAMP, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLACEHOLDER_CHAR, DEFAULT_REQUIRED_COLUMNS, DateDiffDurationPipe, DateFormatPipe, DateFromNowPipe, DateTimeTestPage, DateUtils, Department, DepartmentToStringPipe, DurationPipe, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesService, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, ErrorCodes$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, NgVarDirective, NotEmptyArrayPipe, NumberFormatPipe, NumpadDirective, OddPipe, PRIORITIZED_AUTHORITIES, PUBKEY_REGEXP, Peer, Person, PersonFilter, PersonFragments, PersonService, PersonToStringPipe, PersonUtils, PersonValidatorService, PlatformService, ProgressBarService, ProgressInterceptor, PropertyGetPipe, RESERVED_END_COLUMNS, RESERVED_START_COLUMNS, Referential, ReferentialRef, ReferentialUtils, RegisterConfirmPage, SETTINGS_DISPLAY_COLUMNS, SETTINGS_FILTER, SETTINGS_PAGE_SIZE, SETTINGS_SORTED_COLUMN, SETTINGS_STORAGE_KEY, SETTINGS_TRANSIENT_PROPERTIES, SPACE_PLACEHOLDER_CHAR, SelectPeerModal, SettingsPage, SharedDirectivesModule, SharedFormArrayValidators, SharedFormGroupValidators, SharedHotkeysModule, SharedMatAutocompleteModule, SharedMatBooleanModule, SharedMatDateTimeModule, SharedMatDurationModule, SharedMatLatLongModule, SharedMatNumpadModule, SharedMatSwipeModule, SharedMaterialModule, SharedModule, SharedPipesModule, SharedRoutingModule, SharedTestingModule, SharedValidators, SocialModule, Software, StartableService, StatusById, StatusIds, StatusList, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, UserEvent, UserEventFilter, UserEventService, UserEventTypes, UserEventsTable, UserSettings, UsersPage, accountToString, adaptValueToControl, addValueInArray, arrayDistinct, arrayGroupBy, arraySize, asInputElement, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, copyEntity2Form, createPromiseEvent, createPromiseEventEmitter, departmentToString, departmentsToString, disableControls, emitPromiseEvent, entityToString, equals, equalsOrNil, fadeInAnimation, fadeInOutAnimation, filterFalse, filterNotNil, filterNumberInput, filterTrue, firstArrayValue, firstFalse, firstFalsePromise, firstNotNil, firstNotNilPromise, firstTrue, firstTruePromise, focusInput, focusNextInput, focusPreviousInput, formatLatitude, formatLongitude, fromDateISOString, fromScrollEndEvent, fromUnixMsTimestamp, fromUnixTimestamp, getCaretPosition, getColorContrast, getColorShade, getColorTint, getConnectionType, getControlFromPath, getFocusableInputElements, getFormErrors, getFormValueFromEntity, getProperty, getPropertyByPath, getPropertyByPathAsString, getRandomImage, hexToRgb, hexToRgbArray, isControlHasInput, isEmptyArray, isInputElement, isInstanceOf, isInt, isNil, isNilOrBlank, isNilOrNaN, isNotEmptyArray, isNotNil, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, joinProperties, joinPropertiesPath, logFormErrors, markAllAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, matchUpperCase, mergeLoadResult, mixHex, moveInputCaretToSeparator, noTrailingSlash, notNilOrDefault, nullIfUndefined, parseLatitudeOrLongitude, propertiesPathComparator, propertyComparator, propertyPathComparator, referentialToString, referentialsToString, remove, removeAll, removeDiacritics, removeDuplicatesFromArray, removeEnd, removeValueInArray, replaceAll, resetCalculatedValue, resizeArray, rgbArrayToHex, rgbToHex, round, scrollFactory, selectInputContent, selectInputRange, setCalculatedValue, setTabIndex, sleep, slideInOutAnimation, slideUpDownAnimation, sort, splitById, splitByProperty, startsWithUpperCase, suggestFromArray, suggestFromStringArray, tabindexComparator, toBoolean, toDateISOString, toDuration, toFloat, toInt, toNotNil, toNumber, trimEmptyToNull, uncapitalizeFirstLetter, updateValueAndValidity, waitFor, waitForTrue, waitIdle, waitWhilePending, CustomReuseStrategy as ɵa, MatNumpadDomService as ɵb, SharedMatBadgeIconModule as ɵc, MatBadgeIconDirective as ɵd, isFocusableElement as ɵe, MatBadgeIconTestPage as ɵf, RegisterForm as ɵg, AccountValidatorService as ɵh, RegisterModal as ɵi, UserSettingsValidatorService as ɵj, LocalSettingsValidatorService as ɵk, AppIconComponent as ɵl };
|
|
25071
25091
|
//# sourceMappingURL=sumaris-net.ngx-components.js.map
|