@sumaris-net/ngx-components 1.6.17 → 1.7.2-rc1
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 +326 -308
- 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 +20 -19
- package/fesm2015/sumaris-net.ngx-components.js +313 -292
- 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,24 +4169,25 @@ class MatLatLongField {
|
|
|
4151
4169
|
this.pattern = 'DDMM';
|
|
4152
4170
|
this.mask = MASKS[this.type][this.pattern];
|
|
4153
4171
|
}
|
|
4154
|
-
|
|
4155
|
-
|
|
4156
|
-
|
|
4157
|
-
|
|
4158
|
-
|
|
4159
|
-
|
|
4160
|
-
|
|
4161
|
-
|
|
4162
|
-
|
|
4163
|
-
|
|
4164
|
-
|
|
4165
|
-
|
|
4166
|
-
|
|
4167
|
-
|
|
4168
|
-
|
|
4169
|
-
|
|
4170
|
-
|
|
4171
|
-
}
|
|
4172
|
+
// Remove max decimals in the DDMMSS format
|
|
4173
|
+
if (this.pattern === 'DD') {
|
|
4174
|
+
console.warn(`Invalid attribute 'maxDecimals' - Must be '0' when using the 'DDMMSS' pattern.`);
|
|
4175
|
+
this.maxDecimals = 7;
|
|
4176
|
+
}
|
|
4177
|
+
else if (this.pattern === 'DDMMSS') {
|
|
4178
|
+
console.warn(`Invalid attribute 'maxDecimals' - Must be '0' when using the 'DDMMSS' pattern.`);
|
|
4179
|
+
this.maxDecimals = 0;
|
|
4180
|
+
}
|
|
4181
|
+
else if (isNil(this.maxDecimals)) {
|
|
4182
|
+
this.maxDecimals = DEFAULT_MAX_DECIMALS;
|
|
4183
|
+
}
|
|
4184
|
+
else if (this.maxDecimals < 0) {
|
|
4185
|
+
console.error('Invalid attribute \'maxDecimals\'. Must a positive value.');
|
|
4186
|
+
this.maxDecimals = DEFAULT_MAX_DECIMALS;
|
|
4187
|
+
}
|
|
4188
|
+
else if (this.maxDecimals !== DEFAULT_MAX_DECIMALS) {
|
|
4189
|
+
console.warn(`Invalid attribute 'maxDecimals' - Expected value: ${DEFAULT_MAX_DECIMALS} but get: ${this.maxDecimals}. Other value not implemented.`);
|
|
4190
|
+
this.maxDecimals = DEFAULT_MAX_DECIMALS;
|
|
4172
4191
|
}
|
|
4173
4192
|
this.showSignControl = this.pattern !== 'DD';
|
|
4174
4193
|
this.formatFn = this.type === 'latitude' ? formatLatitude : formatLongitude;
|
|
@@ -4454,14 +4473,14 @@ SharedMatLatLongModule.decorators = [
|
|
|
4454
4473
|
},] }
|
|
4455
4474
|
];
|
|
4456
4475
|
|
|
4457
|
-
const DEFAULT_VALUE_ACCESSOR
|
|
4476
|
+
const DEFAULT_VALUE_ACCESSOR = {
|
|
4458
4477
|
provide: NG_VALUE_ACCESSOR,
|
|
4459
4478
|
useExisting: forwardRef(() => MatDate),
|
|
4460
4479
|
multi: true
|
|
4461
4480
|
};
|
|
4462
|
-
const DAY_MASK
|
|
4463
|
-
const noop$
|
|
4464
|
-
const ɵ0$
|
|
4481
|
+
const DAY_MASK = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
|
|
4482
|
+
const noop$2 = () => { };
|
|
4483
|
+
const ɵ0$2 = noop$2;
|
|
4465
4484
|
class MatDate {
|
|
4466
4485
|
constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
4467
4486
|
this.dateAdapter = dateAdapter;
|
|
@@ -4470,12 +4489,12 @@ class MatDate {
|
|
|
4470
4489
|
this.cd = cd;
|
|
4471
4490
|
this.keyboard = keyboard;
|
|
4472
4491
|
this.formGroupDir = formGroupDir;
|
|
4473
|
-
this._onChangeCallback = noop$
|
|
4474
|
-
this._onTouchedCallback = noop$
|
|
4492
|
+
this._onChangeCallback = noop$2;
|
|
4493
|
+
this._onTouchedCallback = noop$2;
|
|
4475
4494
|
this._subscription = new Subscription();
|
|
4476
4495
|
this.writing = true;
|
|
4477
4496
|
this.disabling = false;
|
|
4478
|
-
this.dayMask = DAY_MASK
|
|
4497
|
+
this.dayMask = DAY_MASK;
|
|
4479
4498
|
this.disabled = false;
|
|
4480
4499
|
this.floatLabel = 'auto';
|
|
4481
4500
|
this.readonly = false;
|
|
@@ -4712,7 +4731,7 @@ MatDate.decorators = [
|
|
|
4712
4731
|
selector: 'mat-date-field',
|
|
4713
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",
|
|
4714
4733
|
providers: [
|
|
4715
|
-
DEFAULT_VALUE_ACCESSOR
|
|
4734
|
+
DEFAULT_VALUE_ACCESSOR,
|
|
4716
4735
|
],
|
|
4717
4736
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4718
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%}"]
|
|
@@ -4745,17 +4764,17 @@ MatDate.propDecorators = {
|
|
|
4745
4764
|
matInputs: [{ type: ViewChildren, args: ['matInput',] }]
|
|
4746
4765
|
};
|
|
4747
4766
|
|
|
4748
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
4767
|
+
const DEFAULT_VALUE_ACCESSOR$1 = {
|
|
4749
4768
|
provide: NG_VALUE_ACCESSOR,
|
|
4750
4769
|
useExisting: forwardRef(() => MatDateTime),
|
|
4751
4770
|
multi: true
|
|
4752
4771
|
};
|
|
4753
4772
|
const DAY_MASK$1 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
|
|
4754
4773
|
const HOUR_REGEXP = /^[012][0-9][:][012345][0-9]$/;
|
|
4755
|
-
const HOUR_MASK
|
|
4756
|
-
const noop$
|
|
4774
|
+
const HOUR_MASK = [/[012]/, /\d/, ':', /[012345]/, /\d/];
|
|
4775
|
+
const noop$3 = () => {
|
|
4757
4776
|
};
|
|
4758
|
-
const ɵ0$
|
|
4777
|
+
const ɵ0$3 = noop$3;
|
|
4759
4778
|
class MatDateTime {
|
|
4760
4779
|
constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
4761
4780
|
this.platform = platform;
|
|
@@ -4765,14 +4784,14 @@ class MatDateTime {
|
|
|
4765
4784
|
this.cd = cd;
|
|
4766
4785
|
this.keyboard = keyboard;
|
|
4767
4786
|
this.formGroupDir = formGroupDir;
|
|
4768
|
-
this._onChangeCallback = noop$
|
|
4769
|
-
this._onTouchedCallback = noop$
|
|
4787
|
+
this._onChangeCallback = noop$3;
|
|
4788
|
+
this._onTouchedCallback = noop$3;
|
|
4770
4789
|
this._subscription = new Subscription();
|
|
4771
4790
|
this.writing = true;
|
|
4772
4791
|
this.disabling = false;
|
|
4773
4792
|
this._readonly = false;
|
|
4774
4793
|
this.dayMask = DAY_MASK$1;
|
|
4775
|
-
this.hourMask = HOUR_MASK
|
|
4794
|
+
this.hourMask = HOUR_MASK;
|
|
4776
4795
|
this.floatLabel = 'auto';
|
|
4777
4796
|
this.compact = false;
|
|
4778
4797
|
this.placeholderChar = DEFAULT_PLACEHOLDER_CHAR;
|
|
@@ -5084,7 +5103,7 @@ MatDateTime.decorators = [
|
|
|
5084
5103
|
selector: 'mat-date-time-field',
|
|
5085
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",
|
|
5086
5105
|
providers: [
|
|
5087
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
5106
|
+
DEFAULT_VALUE_ACCESSOR$1,
|
|
5088
5107
|
],
|
|
5089
5108
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
5090
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%}"]
|
|
@@ -5118,15 +5137,15 @@ MatDateTime.propDecorators = {
|
|
|
5118
5137
|
matInputs: [{ type: ViewChildren, args: ['matInput',] }]
|
|
5119
5138
|
};
|
|
5120
5139
|
|
|
5121
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
5140
|
+
const DEFAULT_VALUE_ACCESSOR$2 = {
|
|
5122
5141
|
provide: NG_VALUE_ACCESSOR,
|
|
5123
5142
|
useExisting: forwardRef(() => MatDateShort),
|
|
5124
5143
|
multi: true
|
|
5125
5144
|
};
|
|
5126
|
-
const DAY_MASK = [/\d/, /\d/, /\d/, /\d/];
|
|
5145
|
+
const DAY_MASK$2 = [/\d/, /\d/, /\d/, /\d/];
|
|
5127
5146
|
const noop$4 = () => {
|
|
5128
5147
|
};
|
|
5129
|
-
const ɵ0$
|
|
5148
|
+
const ɵ0$4 = noop$4;
|
|
5130
5149
|
class MatDateShort {
|
|
5131
5150
|
constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
5132
5151
|
this.dateAdapter = dateAdapter;
|
|
@@ -5139,7 +5158,7 @@ class MatDateShort {
|
|
|
5139
5158
|
this._onTouchedCallback = noop$4;
|
|
5140
5159
|
this.writing = true;
|
|
5141
5160
|
this.disabling = false;
|
|
5142
|
-
this.dayMask = DAY_MASK;
|
|
5161
|
+
this.dayMask = DAY_MASK$2;
|
|
5143
5162
|
this.disabled = false;
|
|
5144
5163
|
this.floatLabel = 'auto';
|
|
5145
5164
|
this.readonly = false;
|
|
@@ -5384,7 +5403,7 @@ MatDateShort.decorators = [
|
|
|
5384
5403
|
selector: 'mat-date-short-field',
|
|
5385
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",
|
|
5386
5405
|
providers: [
|
|
5387
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
5406
|
+
DEFAULT_VALUE_ACCESSOR$2,
|
|
5388
5407
|
],
|
|
5389
5408
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
5390
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%}"]
|
|
@@ -5452,16 +5471,16 @@ SharedMatDateTimeModule.decorators = [
|
|
|
5452
5471
|
},] }
|
|
5453
5472
|
];
|
|
5454
5473
|
|
|
5455
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
5474
|
+
const DEFAULT_VALUE_ACCESSOR$3 = {
|
|
5456
5475
|
provide: NG_VALUE_ACCESSOR,
|
|
5457
5476
|
useExisting: forwardRef(() => MatDuration),
|
|
5458
5477
|
multi: true
|
|
5459
5478
|
};
|
|
5460
5479
|
const HOUR_TIME_PATTERN = /[0-9]\d\d:[0-5]\d/;
|
|
5461
|
-
const HOUR_MASK = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
|
|
5462
|
-
const noop$
|
|
5480
|
+
const HOUR_MASK$1 = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
|
|
5481
|
+
const noop$5 = () => {
|
|
5463
5482
|
};
|
|
5464
|
-
const ɵ0$
|
|
5483
|
+
const ɵ0$5 = noop$5;
|
|
5465
5484
|
class MatDuration {
|
|
5466
5485
|
constructor(platform, dateAdapter, translate, formBuilder, cd, formGroupDir) {
|
|
5467
5486
|
this.dateAdapter = dateAdapter;
|
|
@@ -5470,11 +5489,11 @@ class MatDuration {
|
|
|
5470
5489
|
this.cd = cd;
|
|
5471
5490
|
this.formGroupDir = formGroupDir;
|
|
5472
5491
|
this._subscription = new Subscription();
|
|
5473
|
-
this._onChangeCallback = noop$
|
|
5474
|
-
this._onTouchedCallback = noop$
|
|
5492
|
+
this._onChangeCallback = noop$5;
|
|
5493
|
+
this._onTouchedCallback = noop$5;
|
|
5475
5494
|
this.writing = true;
|
|
5476
5495
|
this.disabling = false;
|
|
5477
|
-
this.hourMask = HOUR_MASK;
|
|
5496
|
+
this.hourMask = HOUR_MASK$1;
|
|
5478
5497
|
this.disabled = false;
|
|
5479
5498
|
this.floatLabel = 'auto';
|
|
5480
5499
|
this.readonly = false;
|
|
@@ -5654,7 +5673,7 @@ MatDuration.decorators = [
|
|
|
5654
5673
|
selector: 'mat-duration-field',
|
|
5655
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",
|
|
5656
5675
|
providers: [
|
|
5657
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
5676
|
+
DEFAULT_VALUE_ACCESSOR$3,
|
|
5658
5677
|
],
|
|
5659
5678
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
5660
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%}"]
|
|
@@ -5711,22 +5730,22 @@ SharedMatDurationModule.decorators = [
|
|
|
5711
5730
|
},] }
|
|
5712
5731
|
];
|
|
5713
5732
|
|
|
5714
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
5733
|
+
const DEFAULT_VALUE_ACCESSOR$4 = {
|
|
5715
5734
|
provide: NG_VALUE_ACCESSOR,
|
|
5716
5735
|
useExisting: forwardRef(() => MatBooleanField),
|
|
5717
5736
|
multi: true
|
|
5718
5737
|
};
|
|
5719
|
-
const noop$
|
|
5738
|
+
const noop$6 = () => {
|
|
5720
5739
|
};
|
|
5721
|
-
const ɵ0$
|
|
5740
|
+
const ɵ0$6 = noop$6;
|
|
5722
5741
|
class MatBooleanField {
|
|
5723
5742
|
constructor(translate, formBuilder, cd, formGroupDir) {
|
|
5724
5743
|
this.translate = translate;
|
|
5725
5744
|
this.formBuilder = formBuilder;
|
|
5726
5745
|
this.cd = cd;
|
|
5727
5746
|
this.formGroupDir = formGroupDir;
|
|
5728
|
-
this._onChangeCallback = noop$
|
|
5729
|
-
this._onTouchedCallback = noop$
|
|
5747
|
+
this._onChangeCallback = noop$6;
|
|
5748
|
+
this._onTouchedCallback = noop$6;
|
|
5730
5749
|
this._writing = false;
|
|
5731
5750
|
this.showRadio = false;
|
|
5732
5751
|
this.disabled = false;
|
|
@@ -5889,7 +5908,7 @@ MatBooleanField.decorators = [
|
|
|
5889
5908
|
selector: 'mat-boolean-field',
|
|
5890
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",
|
|
5891
5910
|
providers: [
|
|
5892
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
5911
|
+
DEFAULT_VALUE_ACCESSOR$4
|
|
5893
5912
|
],
|
|
5894
5913
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
5895
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}"]
|
|
@@ -6135,7 +6154,7 @@ class MatNumpadDomService {
|
|
|
6135
6154
|
this.appRef.detachView(this.componentRef.hostView);
|
|
6136
6155
|
}
|
|
6137
6156
|
}
|
|
6138
|
-
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" });
|
|
6139
6158
|
MatNumpadDomService.decorators = [
|
|
6140
6159
|
{ type: Injectable, args: [{
|
|
6141
6160
|
providedIn: 'root'
|
|
@@ -6499,7 +6518,7 @@ SharedMatNumpadModule.decorators = [
|
|
|
6499
6518
|
},] }
|
|
6500
6519
|
];
|
|
6501
6520
|
|
|
6502
|
-
const DEFAULT_VALUE_ACCESSOR = {
|
|
6521
|
+
const DEFAULT_VALUE_ACCESSOR$5 = {
|
|
6503
6522
|
provide: NG_VALUE_ACCESSOR,
|
|
6504
6523
|
useExisting: forwardRef(() => MatSwipeField),
|
|
6505
6524
|
multi: true
|
|
@@ -6762,7 +6781,7 @@ MatSwipeField.decorators = [
|
|
|
6762
6781
|
{ type: Component, args: [{
|
|
6763
6782
|
selector: 'mat-swipe-field',
|
|
6764
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",
|
|
6765
|
-
providers: [DEFAULT_VALUE_ACCESSOR],
|
|
6784
|
+
providers: [DEFAULT_VALUE_ACCESSOR$5],
|
|
6766
6785
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
6767
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}"]
|
|
6768
6787
|
},] }
|
|
@@ -6820,14 +6839,14 @@ SharedMatSwipeModule.decorators = [
|
|
|
6820
6839
|
},] }
|
|
6821
6840
|
];
|
|
6822
6841
|
|
|
6823
|
-
const noop$
|
|
6824
|
-
const ɵ0$
|
|
6842
|
+
const noop$7 = () => { };
|
|
6843
|
+
const ɵ0$7 = noop$7;
|
|
6825
6844
|
class MatChipsField {
|
|
6826
6845
|
constructor(cd, formGroupDir) {
|
|
6827
6846
|
this.cd = cd;
|
|
6828
6847
|
this.formGroupDir = formGroupDir;
|
|
6829
|
-
this._onChangeCallback = noop$
|
|
6830
|
-
this._onTouchedCallback = noop$
|
|
6848
|
+
this._onChangeCallback = noop$7;
|
|
6849
|
+
this._onTouchedCallback = noop$7;
|
|
6831
6850
|
this.logPrefix = '[mat-chips] ';
|
|
6832
6851
|
this.formControlName = null;
|
|
6833
6852
|
this.required = false;
|
|
@@ -7696,7 +7715,7 @@ class ProgressBarService {
|
|
|
7696
7715
|
}
|
|
7697
7716
|
}
|
|
7698
7717
|
}
|
|
7699
|
-
ProgressBarService.ɵprov =
|
|
7718
|
+
ProgressBarService.ɵprov = ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
|
|
7700
7719
|
ProgressBarService.decorators = [
|
|
7701
7720
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
7702
7721
|
];
|
|
@@ -7740,7 +7759,7 @@ class AppGestureConfig extends HammerGestureConfig {
|
|
|
7740
7759
|
return mc;
|
|
7741
7760
|
}
|
|
7742
7761
|
}
|
|
7743
|
-
AppGestureConfig.ɵprov =
|
|
7762
|
+
AppGestureConfig.ɵprov = ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
|
|
7744
7763
|
AppGestureConfig.decorators = [
|
|
7745
7764
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
7746
7765
|
];
|
|
@@ -7965,7 +7984,7 @@ class MatPaginatorI18n extends MatPaginatorIntl {
|
|
|
7965
7984
|
this.previousPageLabel = this.translate.instant('COMMON.PAGINATOR.PREVIOUS_PAGE');
|
|
7966
7985
|
}
|
|
7967
7986
|
}
|
|
7968
|
-
MatPaginatorI18n.ɵprov =
|
|
7987
|
+
MatPaginatorI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(ɵɵinject(TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
|
|
7969
7988
|
MatPaginatorI18n.decorators = [
|
|
7970
7989
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
7971
7990
|
];
|
|
@@ -8055,17 +8074,17 @@ function getColorContrast(color, bw) {
|
|
|
8055
8074
|
return rgbArrayToHex(rgb.map(v => 255 - v));
|
|
8056
8075
|
}
|
|
8057
8076
|
|
|
8058
|
-
const noop = () => {
|
|
8077
|
+
const noop$8 = () => {
|
|
8059
8078
|
};
|
|
8060
|
-
const ɵ0$
|
|
8079
|
+
const ɵ0$8 = noop$8;
|
|
8061
8080
|
class AppFormField {
|
|
8062
8081
|
constructor(translate, cd, injector, formGroupDir) {
|
|
8063
8082
|
this.translate = translate;
|
|
8064
8083
|
this.cd = cd;
|
|
8065
8084
|
this.injector = injector;
|
|
8066
8085
|
this.formGroupDir = formGroupDir;
|
|
8067
|
-
this._onChangeCallback = noop;
|
|
8068
|
-
this._onTouchedCallback = noop;
|
|
8086
|
+
this._onChangeCallback = noop$8;
|
|
8087
|
+
this._onTouchedCallback = noop$8;
|
|
8069
8088
|
this.readonly = false;
|
|
8070
8089
|
this.compact = false;
|
|
8071
8090
|
this.floatLabel = 'auto';
|
|
@@ -8498,14 +8517,14 @@ class AudioProvider extends StartableService {
|
|
|
8498
8517
|
});
|
|
8499
8518
|
}
|
|
8500
8519
|
}
|
|
8501
|
-
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" });
|
|
8502
8521
|
AudioProvider.decorators = [
|
|
8503
8522
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
8504
8523
|
];
|
|
8505
8524
|
AudioProvider.ctorParameters = () => [
|
|
8506
8525
|
{ type: Platform },
|
|
8507
|
-
{ type: NativeAudio, decorators: [{ type: Optional }] },
|
|
8508
|
-
{ type: Vibration, decorators: [{ type: Optional }] },
|
|
8526
|
+
{ type: NativeAudio$1, decorators: [{ type: Optional }] },
|
|
8527
|
+
{ type: Vibration$1, decorators: [{ type: Optional }] },
|
|
8509
8528
|
{ type: AudioManagement, decorators: [{ type: Optional }] }
|
|
8510
8529
|
];
|
|
8511
8530
|
|
|
@@ -8587,7 +8606,7 @@ class Hotkeys {
|
|
|
8587
8606
|
});
|
|
8588
8607
|
}
|
|
8589
8608
|
}
|
|
8590
|
-
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" });
|
|
8591
8610
|
Hotkeys.decorators = [
|
|
8592
8611
|
{ type: Injectable, args: [{
|
|
8593
8612
|
providedIn: 'root'
|
|
@@ -8761,7 +8780,7 @@ class Base64ImageReader {
|
|
|
8761
8780
|
}
|
|
8762
8781
|
}
|
|
8763
8782
|
|
|
8764
|
-
const uuidv4
|
|
8783
|
+
const uuidv4 = uuidv4Imported;
|
|
8765
8784
|
class FileService {
|
|
8766
8785
|
constructor(platform,
|
|
8767
8786
|
//private transfer: FileTransfer,
|
|
@@ -8798,7 +8817,7 @@ class FileService {
|
|
|
8798
8817
|
const lastSlashIndex = source.lastIndexOf('/');
|
|
8799
8818
|
if (lastSlashIndex === -1)
|
|
8800
8819
|
throw new Error('Invalid URL: ' + source);
|
|
8801
|
-
const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4
|
|
8820
|
+
const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4();
|
|
8802
8821
|
// Download into the file system
|
|
8803
8822
|
if (responseType === 'file' && this.canUseFileSystem) {
|
|
8804
8823
|
console.warn(`WARN: [file] Fetching image {${source}} in local file...`);
|
|
@@ -8854,7 +8873,7 @@ class FileService {
|
|
|
8854
8873
|
this._started = true;
|
|
8855
8874
|
}
|
|
8856
8875
|
}
|
|
8857
|
-
FileService.ɵprov =
|
|
8876
|
+
FileService.ɵprov = ɵɵdefineInjectable({ factory: function FileService_Factory() { return new FileService(ɵɵinject(Platform), ɵɵinject(HttpClient), ɵɵinject(ENVIRONMENT)); }, token: FileService, providedIn: "root" });
|
|
8858
8877
|
FileService.decorators = [
|
|
8859
8878
|
{ type: Injectable, args: [{
|
|
8860
8879
|
providedIn: 'root',
|
|
@@ -9020,7 +9039,7 @@ class Base58 {
|
|
|
9020
9039
|
Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
|
|
9021
9040
|
|
|
9022
9041
|
const scrypt = require('scrypt-async');
|
|
9023
|
-
const sha256
|
|
9042
|
+
const sha256 = require('hash.js/lib/hash/sha/256');
|
|
9024
9043
|
const sha512 = require('hash.js/lib/hash/sha/512');
|
|
9025
9044
|
const nacl = {
|
|
9026
9045
|
sign,
|
|
@@ -9124,7 +9143,7 @@ class CryptoService {
|
|
|
9124
9143
|
* Hash (using SHA256) a message
|
|
9125
9144
|
*/
|
|
9126
9145
|
sha256(message) {
|
|
9127
|
-
return sha256
|
|
9146
|
+
return sha256().update(message).digest('hex');
|
|
9128
9147
|
}
|
|
9129
9148
|
/**
|
|
9130
9149
|
* Hash (using SHA512) a message
|
|
@@ -9137,7 +9156,7 @@ class CryptoService {
|
|
|
9137
9156
|
return nacl.util.encodeBase64(m);
|
|
9138
9157
|
}
|
|
9139
9158
|
}
|
|
9140
|
-
CryptoService.ɵprov =
|
|
9159
|
+
CryptoService.ɵprov = ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
|
|
9141
9160
|
CryptoService.decorators = [
|
|
9142
9161
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
9143
9162
|
];
|
|
@@ -10365,7 +10384,7 @@ class LocalSettingsService extends StartableService {
|
|
|
10365
10384
|
return page;
|
|
10366
10385
|
}
|
|
10367
10386
|
}
|
|
10368
|
-
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" });
|
|
10369
10388
|
LocalSettingsService.decorators = [
|
|
10370
10389
|
{ type: Injectable, args: [{
|
|
10371
10390
|
providedIn: 'root',
|
|
@@ -11023,7 +11042,7 @@ class NetworkService extends StartableService {
|
|
|
11023
11042
|
});
|
|
11024
11043
|
}
|
|
11025
11044
|
}
|
|
11026
|
-
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" });
|
|
11027
11046
|
NetworkService.decorators = [
|
|
11028
11047
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
11029
11048
|
];
|
|
@@ -11034,16 +11053,16 @@ NetworkService.ctorParameters = () => [
|
|
|
11034
11053
|
{ type: CryptoService },
|
|
11035
11054
|
{ type: Storage },
|
|
11036
11055
|
{ type: LocalSettingsService },
|
|
11037
|
-
{ type: CacheService },
|
|
11056
|
+
{ type: CacheService$1 },
|
|
11038
11057
|
{ type: HttpClient },
|
|
11039
11058
|
{ type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
|
|
11040
|
-
{ type: Network, decorators: [{ type: Optional }] },
|
|
11041
|
-
{ type: SplashScreen, decorators: [{ type: Optional }] },
|
|
11059
|
+
{ type: Network$1, decorators: [{ type: Optional }] },
|
|
11060
|
+
{ type: SplashScreen$1, decorators: [{ type: Optional }] },
|
|
11042
11061
|
{ type: TranslateService, decorators: [{ type: Optional }] },
|
|
11043
11062
|
{ type: ToastController, decorators: [{ type: Optional }] }
|
|
11044
11063
|
];
|
|
11045
11064
|
|
|
11046
|
-
const ErrorCodes
|
|
11065
|
+
const ErrorCodes = {
|
|
11047
11066
|
UNKNOWN_ERROR: 0,
|
|
11048
11067
|
LOAD_ACCOUNT_ERROR: 1,
|
|
11049
11068
|
BAD_PASSWORD: 2,
|
|
@@ -11395,7 +11414,7 @@ class EntityStore {
|
|
|
11395
11414
|
}
|
|
11396
11415
|
catch (err) {
|
|
11397
11416
|
console.error(err);
|
|
11398
|
-
throw { code: ErrorCodes
|
|
11417
|
+
throw { code: ErrorCodes.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err };
|
|
11399
11418
|
}
|
|
11400
11419
|
}
|
|
11401
11420
|
// Emit update event
|
|
@@ -11969,7 +11988,7 @@ class EntitiesStorage extends StartableService {
|
|
|
11969
11988
|
}
|
|
11970
11989
|
EntitiesStorage.TRASH_PREFIX = 'Trash#';
|
|
11971
11990
|
EntitiesStorage.REMOTE_PREFIX = 'Remote#';
|
|
11972
|
-
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" });
|
|
11973
11992
|
EntitiesStorage.decorators = [
|
|
11974
11993
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
11975
11994
|
];
|
|
@@ -12106,10 +12125,10 @@ function referentialToString(obj, properties) {
|
|
|
12106
12125
|
function referentialsToString(values, properties, separator) {
|
|
12107
12126
|
return (values || []).map(v => referentialToString(v, properties)).join(separator || ', ');
|
|
12108
12127
|
}
|
|
12109
|
-
const ɵ0$
|
|
12128
|
+
const ɵ0$9 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
|
|
12110
12129
|
const StatusList = Object.freeze([
|
|
12111
12130
|
{
|
|
12112
|
-
id: ɵ0$
|
|
12131
|
+
id: ɵ0$9,
|
|
12113
12132
|
icon: 'checkmark',
|
|
12114
12133
|
label: 'REFERENTIAL.STATUS_ENUM.ENABLE'
|
|
12115
12134
|
},
|
|
@@ -12384,7 +12403,7 @@ function accountToString(data) {
|
|
|
12384
12403
|
(data.lastName || '')) || '';
|
|
12385
12404
|
}
|
|
12386
12405
|
|
|
12387
|
-
const uuidv4 = uuidv4Imported;
|
|
12406
|
+
const uuidv4$1 = uuidv4Imported;
|
|
12388
12407
|
const _global = typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : {});
|
|
12389
12408
|
const NativeWebSocket = _global.WebSocket || _global.MozWebSocket;
|
|
12390
12409
|
/**
|
|
@@ -12428,7 +12447,7 @@ function createTrackerLink(opts) {
|
|
|
12428
12447
|
// Skip if not tracked
|
|
12429
12448
|
if (!context || !context.tracked)
|
|
12430
12449
|
return forward(operation);
|
|
12431
|
-
const id = context.serializationKey || uuidv4();
|
|
12450
|
+
const id = context.serializationKey || uuidv4$1();
|
|
12432
12451
|
console.debug(`[apollo-tracker-link] Watching tracked query {${operation.operationName}#${id}}`);
|
|
12433
12452
|
// Clean context, before calling JSON.stringify (remove unused attributes)
|
|
12434
12453
|
const cleanContext = Object.assign(Object.assign({}, context), { optimisticResponse: null, cache: null });
|
|
@@ -13093,7 +13112,7 @@ class GraphqlService extends StartableService {
|
|
|
13093
13112
|
(err.networkError && ((err.networkError.error && this.toAppError(err.networkError.error))
|
|
13094
13113
|
|| this.toAppError(err.networkError)
|
|
13095
13114
|
|| (err.networkError.error && this.createAppErrorByCode(err.networkError.error.status))
|
|
13096
|
-
|| this.createAppErrorByCode(ErrorCodes
|
|
13115
|
+
|| this.createAppErrorByCode(ErrorCodes.UNKNOWN_NETWORK_ERROR)))
|
|
13097
13116
|
// If graphQL: try to convert the first error found
|
|
13098
13117
|
|| (err.graphQLErrors && err.graphQLErrors.length && this.toAppError(err.graphQLErrors[0]))
|
|
13099
13118
|
|| this.toAppError(err)
|
|
@@ -13101,7 +13120,7 @@ class GraphqlService extends StartableService {
|
|
|
13101
13120
|
|| (err.graphQLErrors && err.graphQLErrors[0])
|
|
13102
13121
|
|| err;
|
|
13103
13122
|
console.error('[graphql] ' + (error && error.message || error), error.stack || '');
|
|
13104
|
-
if (error && error.code === ErrorCodes
|
|
13123
|
+
if (error && error.code === ErrorCodes.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
|
|
13105
13124
|
console.error('[graphql] original error: ' + err.networkError.message);
|
|
13106
13125
|
this.onNetworkError.next(error);
|
|
13107
13126
|
}
|
|
@@ -13137,7 +13156,7 @@ class GraphqlService extends StartableService {
|
|
|
13137
13156
|
return 'ERROR.UNAUTHORIZED';
|
|
13138
13157
|
case ServerErrorCodes.FORBIDDEN:
|
|
13139
13158
|
return 'ERROR.FORBIDDEN';
|
|
13140
|
-
case ErrorCodes
|
|
13159
|
+
case ErrorCodes.UNKNOWN_NETWORK_ERROR:
|
|
13141
13160
|
return 'ERROR.UNKNOWN_NETWORK_ERROR';
|
|
13142
13161
|
case ServerErrorCodes.BAD_UPDATE_DATE:
|
|
13143
13162
|
return 'ERROR.BAD_UPDATE_DATE';
|
|
@@ -13168,7 +13187,7 @@ class GraphqlService extends StartableService {
|
|
|
13168
13187
|
return undefined;
|
|
13169
13188
|
}
|
|
13170
13189
|
}
|
|
13171
|
-
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" });
|
|
13172
13191
|
GraphqlService.decorators = [
|
|
13173
13192
|
{ type: Injectable, args: [{
|
|
13174
13193
|
providedIn: 'root'
|
|
@@ -13185,7 +13204,7 @@ GraphqlService.ctorParameters = () => [
|
|
|
13185
13204
|
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_GRAPHQL_TYPE_POLICIES,] }] }
|
|
13186
13205
|
];
|
|
13187
13206
|
|
|
13188
|
-
const sha256 = require('hash.js/lib/hash/sha/256');
|
|
13207
|
+
const sha256$1 = require('hash.js/lib/hash/sha/256');
|
|
13189
13208
|
class BaseGraphqlServiceOptions {
|
|
13190
13209
|
}
|
|
13191
13210
|
// eslint-disable-next-line @angular-eslint/directive-class-suffix
|
|
@@ -13336,8 +13355,8 @@ class BaseGraphqlService extends StartableService {
|
|
|
13336
13355
|
}
|
|
13337
13356
|
/* -- protected methods -- */
|
|
13338
13357
|
computeMutableWatchQueryId(opts) {
|
|
13339
|
-
const queryName = opts.queryName || sha256().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
|
|
13340
|
-
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) || '';
|
|
13341
13360
|
return [queryName, opts.arrayFieldName, variablesKey].join('|');
|
|
13342
13361
|
}
|
|
13343
13362
|
findMutableWatchQueries(opts) {
|
|
@@ -13403,7 +13422,7 @@ const DEFAULT_AVATAR_IMAGE = 'assets/img/person.png';
|
|
|
13403
13422
|
/* ------------------------------------
|
|
13404
13423
|
* GraphQL queries
|
|
13405
13424
|
* ------------------------------------*/
|
|
13406
|
-
const Fragments
|
|
13425
|
+
const Fragments = {
|
|
13407
13426
|
account: gql `
|
|
13408
13427
|
fragment AccountFragment on AccountVO {
|
|
13409
13428
|
id
|
|
@@ -13438,14 +13457,14 @@ const Fragments$1 = {
|
|
|
13438
13457
|
}`
|
|
13439
13458
|
};
|
|
13440
13459
|
// Load account query
|
|
13441
|
-
const LoadQuery
|
|
13460
|
+
const LoadQuery = gql `
|
|
13442
13461
|
query Account {
|
|
13443
13462
|
data: account {
|
|
13444
13463
|
...AccountFragment
|
|
13445
13464
|
}
|
|
13446
13465
|
}
|
|
13447
|
-
${Fragments
|
|
13448
|
-
${Fragments
|
|
13466
|
+
${Fragments.account}
|
|
13467
|
+
${Fragments.settings}
|
|
13449
13468
|
`;
|
|
13450
13469
|
// Check email query
|
|
13451
13470
|
const IsEmailExistsQuery = gql `
|
|
@@ -13460,21 +13479,21 @@ const AccountMutations = {
|
|
|
13460
13479
|
...AccountFragment
|
|
13461
13480
|
}
|
|
13462
13481
|
}
|
|
13463
|
-
${Fragments
|
|
13464
|
-
${Fragments
|
|
13482
|
+
${Fragments.account}
|
|
13483
|
+
${Fragments.settings}`,
|
|
13465
13484
|
create: gql `mutation CreateAccount($data:AccountVOInput){
|
|
13466
13485
|
data: createAccount(account: $data){
|
|
13467
13486
|
...AccountFragment
|
|
13468
13487
|
}
|
|
13469
13488
|
}
|
|
13470
|
-
${Fragments
|
|
13471
|
-
${Fragments
|
|
13489
|
+
${Fragments.account}
|
|
13490
|
+
${Fragments.settings}`,
|
|
13472
13491
|
saveSettings: gql `mutation SaveSettings($data:UserSettingsVOInput){
|
|
13473
13492
|
data: saveSettings(settings: $data){
|
|
13474
13493
|
...UserSettingsFragment
|
|
13475
13494
|
}
|
|
13476
13495
|
}
|
|
13477
|
-
${Fragments
|
|
13496
|
+
${Fragments.settings}`
|
|
13478
13497
|
};
|
|
13479
13498
|
// Sent confirmation email
|
|
13480
13499
|
const SendConfirmEmailMutation = gql `
|
|
@@ -13783,7 +13802,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
13783
13802
|
catch (error) {
|
|
13784
13803
|
console.error(error);
|
|
13785
13804
|
this.resetData();
|
|
13786
|
-
throw { code: ErrorCodes
|
|
13805
|
+
throw { code: ErrorCodes.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
|
|
13787
13806
|
}
|
|
13788
13807
|
// Store pubkey+keypair
|
|
13789
13808
|
this._cache.pubkey = Base58.encode(keypair.publicKey);
|
|
@@ -13817,7 +13836,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
13817
13836
|
}
|
|
13818
13837
|
catch (err) {
|
|
13819
13838
|
// If account not found, check if email is valid
|
|
13820
|
-
if (err && +(err.code) === ErrorCodes
|
|
13839
|
+
if (err && +(err.code) === ErrorCodes.LOAD_ACCOUNT_ERROR) {
|
|
13821
13840
|
// Check email exists
|
|
13822
13841
|
if (data.username.indexOf('@') !== -1) {
|
|
13823
13842
|
let isEmailExists;
|
|
@@ -13829,11 +13848,11 @@ class AccountService extends BaseGraphqlService {
|
|
|
13829
13848
|
}
|
|
13830
13849
|
// Email not exists (no account)
|
|
13831
13850
|
if (!isEmailExists) {
|
|
13832
|
-
throw { code: ErrorCodes
|
|
13851
|
+
throw { code: ErrorCodes.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
|
|
13833
13852
|
}
|
|
13834
13853
|
}
|
|
13835
13854
|
// Email exists, so error = 'bad password'
|
|
13836
|
-
throw { code: ErrorCodes
|
|
13855
|
+
throw { code: ErrorCodes.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
|
|
13837
13856
|
}
|
|
13838
13857
|
throw err; // resend the first error
|
|
13839
13858
|
}
|
|
@@ -13958,8 +13977,8 @@ class AccountService extends BaseGraphqlService {
|
|
|
13958
13977
|
// Load remotely
|
|
13959
13978
|
else {
|
|
13960
13979
|
const { data } = yield this.graphql.query({
|
|
13961
|
-
query: LoadQuery
|
|
13962
|
-
error: { code: ErrorCodes
|
|
13980
|
+
query: LoadQuery,
|
|
13981
|
+
error: { code: ErrorCodes.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
|
|
13963
13982
|
fetchPolicy: opts && opts.fetchPolicy || 'no-cache' || undefined
|
|
13964
13983
|
});
|
|
13965
13984
|
json = data;
|
|
@@ -13986,7 +14005,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
13986
14005
|
return __awaiter(this, void 0, void 0, function* () {
|
|
13987
14006
|
const isEmailExists = yield this.isEmailExists(email);
|
|
13988
14007
|
if (isEmailExists) {
|
|
13989
|
-
throw { code: ErrorCodes
|
|
14008
|
+
throw { code: ErrorCodes.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
|
|
13990
14009
|
}
|
|
13991
14010
|
});
|
|
13992
14011
|
}
|
|
@@ -14022,7 +14041,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14022
14041
|
locale
|
|
14023
14042
|
},
|
|
14024
14043
|
error: {
|
|
14025
|
-
code: ErrorCodes
|
|
14044
|
+
code: ErrorCodes.SENT_CONFIRMATION_EMAIL_FAILED,
|
|
14026
14045
|
message: 'ERROR.SENT_ACCOUNT_CONFIRMATION_EMAIL_FAILED'
|
|
14027
14046
|
}
|
|
14028
14047
|
});
|
|
@@ -14038,7 +14057,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14038
14057
|
code
|
|
14039
14058
|
},
|
|
14040
14059
|
error: {
|
|
14041
|
-
code: ErrorCodes
|
|
14060
|
+
code: ErrorCodes.CONFIRM_EMAIL_FAILED,
|
|
14042
14061
|
message: 'ERROR.CONFIRM_ACCOUNT_EMAIL_FAILED'
|
|
14043
14062
|
}
|
|
14044
14063
|
});
|
|
@@ -14056,7 +14075,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14056
14075
|
interval: 10
|
|
14057
14076
|
},
|
|
14058
14077
|
error: {
|
|
14059
|
-
code: ErrorCodes
|
|
14078
|
+
code: ErrorCodes.SUBSCRIBE_ACCOUNT_ERROR,
|
|
14060
14079
|
message: 'ERROR.ACCOUNT.SUBSCRIBE_ACCOUNT_ERROR'
|
|
14061
14080
|
}
|
|
14062
14081
|
}).subscribe({
|
|
@@ -14157,7 +14176,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14157
14176
|
throw error;
|
|
14158
14177
|
console.error(error);
|
|
14159
14178
|
throw {
|
|
14160
|
-
code: ErrorCodes
|
|
14179
|
+
code: ErrorCodes.LOAD_ACCOUNT_ERROR,
|
|
14161
14180
|
message: 'ERROR.LOAD_ACCOUNT_ERROR'
|
|
14162
14181
|
};
|
|
14163
14182
|
}
|
|
@@ -14325,7 +14344,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14325
14344
|
if (!isNew) {
|
|
14326
14345
|
const existingAccount = yield this.load({ fetchPolicy: 'network-only' });
|
|
14327
14346
|
if (!existingAccount || !existingAccount.updateDate) {
|
|
14328
|
-
throw { code: ErrorCodes
|
|
14347
|
+
throw { code: ErrorCodes.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
|
|
14329
14348
|
}
|
|
14330
14349
|
this.copyIdAndUpdateDate(existingAccount, account);
|
|
14331
14350
|
}
|
|
@@ -14337,7 +14356,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14337
14356
|
mutation: isNew ? AccountMutations.create : AccountMutations.save,
|
|
14338
14357
|
variables: { data: json },
|
|
14339
14358
|
error: {
|
|
14340
|
-
code: ErrorCodes
|
|
14359
|
+
code: ErrorCodes.SAVE_ACCOUNT_ERROR,
|
|
14341
14360
|
message: 'ERROR.SAVE_ACCOUNT_ERROR'
|
|
14342
14361
|
}
|
|
14343
14362
|
});
|
|
@@ -14364,7 +14383,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14364
14383
|
mutation: AccountMutations.saveSettings,
|
|
14365
14384
|
variables: { data: json },
|
|
14366
14385
|
error: {
|
|
14367
|
-
code: ErrorCodes
|
|
14386
|
+
code: ErrorCodes.SAVE_SETTINGS_ERROR,
|
|
14368
14387
|
message: 'ERROR.SAVE_SETTINGS_ERROR'
|
|
14369
14388
|
}
|
|
14370
14389
|
});
|
|
@@ -14386,7 +14405,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14386
14405
|
if (counter > 4) {
|
|
14387
14406
|
if (this._debug)
|
|
14388
14407
|
console.debug(`[account] Failed to authentication on pod (after ${counter} attempts)`);
|
|
14389
|
-
throw { code: ErrorCodes
|
|
14408
|
+
throw { code: ErrorCodes.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
|
|
14390
14409
|
}
|
|
14391
14410
|
// Check if valid
|
|
14392
14411
|
if (token) {
|
|
@@ -14396,7 +14415,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14396
14415
|
token
|
|
14397
14416
|
},
|
|
14398
14417
|
error: {
|
|
14399
|
-
code: ErrorCodes
|
|
14418
|
+
code: ErrorCodes.UNAUTHORIZED,
|
|
14400
14419
|
message: 'ERROR.UNAUTHORIZED'
|
|
14401
14420
|
},
|
|
14402
14421
|
fetchPolicy: 'no-cache'
|
|
@@ -14412,7 +14431,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14412
14431
|
}
|
|
14413
14432
|
// Generate a new token
|
|
14414
14433
|
const challengeError = {
|
|
14415
|
-
code: ErrorCodes
|
|
14434
|
+
code: ErrorCodes.AUTH_CHALLENGE_ERROR,
|
|
14416
14435
|
message: 'ERROR.AUTH_CHALLENGE_ERROR'
|
|
14417
14436
|
};
|
|
14418
14437
|
const data = yield this.graphql.query({
|
|
@@ -14451,7 +14470,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14451
14470
|
target.updateDate = source.updateDate || target.updateDate;
|
|
14452
14471
|
}
|
|
14453
14472
|
}
|
|
14454
|
-
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" });
|
|
14455
14474
|
AccountService.decorators = [
|
|
14456
14475
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
14457
14476
|
];
|
|
@@ -14711,7 +14730,7 @@ const CONFIGURATION_STORAGE_KEY = 'configuration';
|
|
|
14711
14730
|
/* ------------------------------------
|
|
14712
14731
|
* GraphQL queries
|
|
14713
14732
|
* ------------------------------------*/
|
|
14714
|
-
const Fragments = {
|
|
14733
|
+
const Fragments$1 = {
|
|
14715
14734
|
config: gql `
|
|
14716
14735
|
fragment ConfigFragment on ConfigurationVO {
|
|
14717
14736
|
id
|
|
@@ -14738,13 +14757,13 @@ const Fragments = {
|
|
|
14738
14757
|
}
|
|
14739
14758
|
`
|
|
14740
14759
|
};
|
|
14741
|
-
const LoadQuery = gql `
|
|
14760
|
+
const LoadQuery$1 = gql `
|
|
14742
14761
|
query Configuration{
|
|
14743
14762
|
data: configuration{
|
|
14744
14763
|
...ConfigFragment
|
|
14745
14764
|
}
|
|
14746
14765
|
}
|
|
14747
|
-
${Fragments.config}
|
|
14766
|
+
${Fragments$1.config}
|
|
14748
14767
|
`;
|
|
14749
14768
|
// Save (create or update) account mutation
|
|
14750
14769
|
const SaveMutation = gql `
|
|
@@ -14753,7 +14772,7 @@ const SaveMutation = gql `
|
|
|
14753
14772
|
...ConfigFragment
|
|
14754
14773
|
}
|
|
14755
14774
|
}
|
|
14756
|
-
${Fragments.config}
|
|
14775
|
+
${Fragments$1.config}
|
|
14757
14776
|
`;
|
|
14758
14777
|
const ClearCache = gql `
|
|
14759
14778
|
query ClearCache($name: String) {
|
|
@@ -14803,12 +14822,12 @@ class ConfigService extends BaseGraphqlService {
|
|
|
14803
14822
|
return __awaiter(this, void 0, void 0, function* () {
|
|
14804
14823
|
const now = Date.now();
|
|
14805
14824
|
console.debug('[config] Loading Pod configuration...');
|
|
14806
|
-
const query = opts && opts.query || LoadQuery;
|
|
14825
|
+
const query = opts && opts.query || LoadQuery$1;
|
|
14807
14826
|
const variables = opts && opts.variables || undefined;
|
|
14808
14827
|
const res = yield this.graphql.query({
|
|
14809
14828
|
query,
|
|
14810
14829
|
variables,
|
|
14811
|
-
error: { code: ErrorCodes
|
|
14830
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
14812
14831
|
fetchPolicy: opts && opts.fetchPolicy || undefined /*default*/
|
|
14813
14832
|
});
|
|
14814
14833
|
const data = res && res.data ? Configuration.fromObject(res.data) : undefined;
|
|
@@ -14838,7 +14857,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
14838
14857
|
data: json
|
|
14839
14858
|
},
|
|
14840
14859
|
error: {
|
|
14841
|
-
code: ErrorCodes
|
|
14860
|
+
code: ErrorCodes.SAVE_CONFIG_ERROR,
|
|
14842
14861
|
message: 'ERROR.SAVE_CONFIG_ERROR'
|
|
14843
14862
|
}
|
|
14844
14863
|
});
|
|
@@ -14864,7 +14883,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
14864
14883
|
const res = yield this.graphql.query({
|
|
14865
14884
|
query: CacheStatistics,
|
|
14866
14885
|
variables: null,
|
|
14867
|
-
error: { code: ErrorCodes
|
|
14886
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
14868
14887
|
fetchPolicy: 'network-only'
|
|
14869
14888
|
});
|
|
14870
14889
|
const data = res && res.cacheStatistics || undefined;
|
|
@@ -14880,7 +14899,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
14880
14899
|
const res = yield this.graphql.query({
|
|
14881
14900
|
query: ClearCache,
|
|
14882
14901
|
variables,
|
|
14883
|
-
error: { code: ErrorCodes
|
|
14902
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
14884
14903
|
fetchPolicy: 'network-only'
|
|
14885
14904
|
});
|
|
14886
14905
|
const data = res && res.clearCache || undefined;
|
|
@@ -15039,7 +15058,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
15039
15058
|
});
|
|
15040
15059
|
}
|
|
15041
15060
|
}
|
|
15042
|
-
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" });
|
|
15043
15062
|
ConfigService.decorators = [
|
|
15044
15063
|
{ type: Injectable, args: [{
|
|
15045
15064
|
providedIn: 'root',
|
|
@@ -15058,7 +15077,7 @@ ConfigService.ctorParameters = () => [
|
|
|
15058
15077
|
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_CONFIG_OPTIONS,] }] }
|
|
15059
15078
|
];
|
|
15060
15079
|
|
|
15061
|
-
const moment$
|
|
15080
|
+
const moment$4 = momentImported;
|
|
15062
15081
|
class PlatformService extends StartableService {
|
|
15063
15082
|
constructor(platform, cdkPlatform, toastController, translate, dateAdapter, entitiesStorage, settings, networkService, accountService, configService, cache, storage, audioProvider, environment, statusBar, keyboard, splashScreen, browser, downloader) {
|
|
15064
15083
|
super(platform);
|
|
@@ -15262,16 +15281,16 @@ class PlatformService extends StartableService {
|
|
|
15262
15281
|
}
|
|
15263
15282
|
// config moment lib
|
|
15264
15283
|
try {
|
|
15265
|
-
moment$
|
|
15284
|
+
moment$4.locale(event.lang);
|
|
15266
15285
|
console.debug('[platform] Use locale {' + event.lang + '}');
|
|
15267
15286
|
}
|
|
15268
15287
|
// If error, fallback to en
|
|
15269
15288
|
catch (err) {
|
|
15270
|
-
moment$
|
|
15289
|
+
moment$4.locale('en');
|
|
15271
15290
|
console.warn('[platform] Unknown local for moment lib. Using default [en]');
|
|
15272
15291
|
}
|
|
15273
15292
|
// Config date adapter
|
|
15274
|
-
this.dateAdapter.setLocale(moment$
|
|
15293
|
+
this.dateAdapter.setLocale(moment$4.locale());
|
|
15275
15294
|
}
|
|
15276
15295
|
});
|
|
15277
15296
|
this.settings.onChange.subscribe(data => {
|
|
@@ -15405,7 +15424,7 @@ class PlatformService extends StartableService {
|
|
|
15405
15424
|
});
|
|
15406
15425
|
}
|
|
15407
15426
|
}
|
|
15408
|
-
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" });
|
|
15409
15428
|
PlatformService.decorators = [
|
|
15410
15429
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
15411
15430
|
];
|
|
@@ -15420,15 +15439,15 @@ PlatformService.ctorParameters = () => [
|
|
|
15420
15439
|
{ type: NetworkService },
|
|
15421
15440
|
{ type: AccountService },
|
|
15422
15441
|
{ type: ConfigService },
|
|
15423
|
-
{ type: CacheService },
|
|
15442
|
+
{ type: CacheService$1 },
|
|
15424
15443
|
{ type: Storage },
|
|
15425
15444
|
{ type: AudioProvider },
|
|
15426
15445
|
{ type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
|
|
15427
|
-
{ type: StatusBar, decorators: [{ type: Optional }] },
|
|
15446
|
+
{ type: StatusBar$1, decorators: [{ type: Optional }] },
|
|
15428
15447
|
{ type: Keyboard, decorators: [{ type: Optional }] },
|
|
15429
|
-
{ type: SplashScreen, decorators: [{ type: Optional }] },
|
|
15430
|
-
{ type: InAppBrowser, decorators: [{ type: Optional }] },
|
|
15431
|
-
{ 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 }] }
|
|
15432
15451
|
];
|
|
15433
15452
|
|
|
15434
15453
|
class AppHelpModal {
|
|
@@ -15492,7 +15511,7 @@ class MatStepperI18n extends MatStepperIntl {
|
|
|
15492
15511
|
this.optionalLabel = this.translate.instant('COMMON.OPTIONAL');
|
|
15493
15512
|
}
|
|
15494
15513
|
}
|
|
15495
|
-
MatStepperI18n.ɵprov =
|
|
15514
|
+
MatStepperI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(ɵɵinject(TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
|
|
15496
15515
|
MatStepperI18n.decorators = [
|
|
15497
15516
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
15498
15517
|
];
|
|
@@ -16494,7 +16513,7 @@ function state2side(state) {
|
|
|
16494
16513
|
return 1;
|
|
16495
16514
|
}
|
|
16496
16515
|
}
|
|
16497
|
-
const ɵ0$
|
|
16516
|
+
const ɵ0$a = (defaultStateSize) => [
|
|
16498
16517
|
Math.round((rgbArrayMap.red[0] - 50) / defaultStateSize),
|
|
16499
16518
|
Math.round((255 - rgbArrayMap.red[1]) / defaultStateSize),
|
|
16500
16519
|
Math.round((255 - rgbArrayMap.red[2]) / defaultStateSize)
|
|
@@ -16502,7 +16521,7 @@ const ɵ0$1 = (defaultStateSize) => [
|
|
|
16502
16521
|
const SCALE_OPTIONS_DEFAULT = {
|
|
16503
16522
|
startColor: rgbArrayMap.red,
|
|
16504
16523
|
startStates: [0, 2, 3],
|
|
16505
|
-
startStepsFn: ɵ0$
|
|
16524
|
+
startStepsFn: ɵ0$a
|
|
16506
16525
|
};
|
|
16507
16526
|
/**
|
|
16508
16527
|
* Internal function, that create a colors scale, using iteration
|
|
@@ -16594,21 +16613,21 @@ function linearColorGradient(count, options) {
|
|
|
16594
16613
|
return result;
|
|
16595
16614
|
}
|
|
16596
16615
|
|
|
16597
|
-
class EntityTestClass
|
|
16616
|
+
class EntityTestClass {
|
|
16598
16617
|
}
|
|
16599
|
-
const FAKE_ENTITIES
|
|
16618
|
+
const FAKE_ENTITIES = [
|
|
16600
16619
|
{ id: 1, label: 'AAA', name: 'Item A', description: 'Very long description A', comments: 'Very very long comments... again for A' },
|
|
16601
16620
|
{ id: 2, label: 'BBB', name: 'Item B', description: 'Very long description B', comments: 'Very very long comments... again for B' },
|
|
16602
16621
|
{ id: 3, label: 'CCC', name: 'Item C', description: 'Very long description C', comments: 'Very very long comments... again for C' }
|
|
16603
16622
|
];
|
|
16604
|
-
function deepCopy
|
|
16623
|
+
function deepCopy(values, size) {
|
|
16605
16624
|
if (isNil(size)) {
|
|
16606
|
-
return (values || FAKE_ENTITIES
|
|
16625
|
+
return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
|
|
16607
16626
|
}
|
|
16608
16627
|
let result = [];
|
|
16609
16628
|
let i = 1;
|
|
16610
16629
|
while (result.length < size) {
|
|
16611
|
-
result = result.concat((values || FAKE_ENTITIES
|
|
16630
|
+
result = result.concat((values || FAKE_ENTITIES).map(entity => {
|
|
16612
16631
|
const name = entity.name + ' #' + i;
|
|
16613
16632
|
return Object.assign(Object.assign({}, entity), { id: i++, name });
|
|
16614
16633
|
}));
|
|
@@ -16618,7 +16637,7 @@ function deepCopy$1(values, size) {
|
|
|
16618
16637
|
class AutocompleteTestPage {
|
|
16619
16638
|
constructor(formBuilder) {
|
|
16620
16639
|
this.formBuilder = formBuilder;
|
|
16621
|
-
this._items = deepCopy
|
|
16640
|
+
this._items = deepCopy(FAKE_ENTITIES, 100);
|
|
16622
16641
|
this._$items = new BehaviorSubject(undefined);
|
|
16623
16642
|
this.autocompleteFields = new MatAutocompleteConfigHolder();
|
|
16624
16643
|
this.memoryHide = false;
|
|
@@ -16662,7 +16681,7 @@ class AutocompleteTestPage {
|
|
|
16662
16681
|
});
|
|
16663
16682
|
// From items
|
|
16664
16683
|
this.autocompleteFields.add('entity-items-large', {
|
|
16665
|
-
items: FAKE_ENTITIES
|
|
16684
|
+
items: FAKE_ENTITIES.slice(),
|
|
16666
16685
|
attributes: ['label', 'name', 'description', 'comments'],
|
|
16667
16686
|
displayWith: this.entityToString
|
|
16668
16687
|
});
|
|
@@ -16672,12 +16691,12 @@ class AutocompleteTestPage {
|
|
|
16672
16691
|
loadData() {
|
|
16673
16692
|
return __awaiter(this, void 0, void 0, function* () {
|
|
16674
16693
|
const data = {
|
|
16675
|
-
entity: deepCopy
|
|
16694
|
+
entity: deepCopy(FAKE_ENTITIES)[0],
|
|
16676
16695
|
// This item is NOT in the items list => i should be displayed anyway
|
|
16677
16696
|
missingEntity: {
|
|
16678
16697
|
id: -1, label: '??', name: 'Missing item'
|
|
16679
16698
|
},
|
|
16680
|
-
disableEntity: deepCopy
|
|
16699
|
+
disableEntity: deepCopy(FAKE_ENTITIES)[2]
|
|
16681
16700
|
};
|
|
16682
16701
|
this.form.setValue(data);
|
|
16683
16702
|
// Load observables
|
|
@@ -16850,13 +16869,13 @@ MaterialTestingPage.ctorParameters = () => [
|
|
|
16850
16869
|
{ type: Array, decorators: [{ type: Optional }, { type: Inject, args: [APP_TESTING_PAGES,] }] }
|
|
16851
16870
|
];
|
|
16852
16871
|
|
|
16853
|
-
const moment$
|
|
16872
|
+
const moment$5 = momentImported;
|
|
16854
16873
|
class SwipeTestPage {
|
|
16855
16874
|
constructor(formBuilder, dateFormatPipe) {
|
|
16856
16875
|
this.formBuilder = formBuilder;
|
|
16857
16876
|
this.dateFormatPipe = dateFormatPipe;
|
|
16858
16877
|
this.$dates = new BehaviorSubject(undefined);
|
|
16859
|
-
this._today = moment$
|
|
16878
|
+
this._today = moment$5().startOf('day');
|
|
16860
16879
|
this.form = formBuilder.group({
|
|
16861
16880
|
empty: [null, Validators.required],
|
|
16862
16881
|
date: [null, Validators.compose([Validators.required, SharedValidators.validDate])],
|
|
@@ -16869,7 +16888,7 @@ class SwipeTestPage {
|
|
|
16869
16888
|
ngOnInit() {
|
|
16870
16889
|
const dates = [];
|
|
16871
16890
|
for (let d = 0; d < 7; d++) {
|
|
16872
|
-
dates[d] = moment$
|
|
16891
|
+
dates[d] = moment$5(this._today).add(d - 3, 'day');
|
|
16873
16892
|
}
|
|
16874
16893
|
this.$dates.next(dates);
|
|
16875
16894
|
this.loadData();
|
|
@@ -16910,7 +16929,7 @@ SwipeTestPage.ctorParameters = () => [
|
|
|
16910
16929
|
{ type: DateFormatPipe }
|
|
16911
16930
|
];
|
|
16912
16931
|
|
|
16913
|
-
const moment = momentImported;
|
|
16932
|
+
const moment$6 = momentImported;
|
|
16914
16933
|
class DateTimeTestPage {
|
|
16915
16934
|
constructor(platform, formBuilder, cd) {
|
|
16916
16935
|
this.platform = platform;
|
|
@@ -16942,7 +16961,7 @@ class DateTimeTestPage {
|
|
|
16942
16961
|
// Load the form with data
|
|
16943
16962
|
loadData() {
|
|
16944
16963
|
return __awaiter(this, void 0, void 0, function* () {
|
|
16945
|
-
const now = moment();
|
|
16964
|
+
const now = moment$6();
|
|
16946
16965
|
const data = {
|
|
16947
16966
|
empty: toDateISOString(now.clone().add(2, 'hours')),
|
|
16948
16967
|
enable: toDateISOString(now),
|
|
@@ -17003,9 +17022,9 @@ DateTimeTestPage.ctorParameters = () => [
|
|
|
17003
17022
|
{ type: ChangeDetectorRef }
|
|
17004
17023
|
];
|
|
17005
17024
|
|
|
17006
|
-
class EntityTestClass {
|
|
17025
|
+
class EntityTestClass$1 {
|
|
17007
17026
|
}
|
|
17008
|
-
const FAKE_ENTITIES = [
|
|
17027
|
+
const FAKE_ENTITIES$1 = [
|
|
17009
17028
|
{ id: 1, label: 'AAA', name: 'Item A' },
|
|
17010
17029
|
{ id: 2, label: 'BBB', name: 'Item B' },
|
|
17011
17030
|
{ id: 3, label: 'CCC', name: 'Item C' },
|
|
@@ -17014,14 +17033,14 @@ const FAKE_ENTITIES = [
|
|
|
17014
17033
|
{ id: 6, label: 'FFF', name: 'Item F' },
|
|
17015
17034
|
{ id: 7, label: 'GGG', name: 'Item G' }
|
|
17016
17035
|
];
|
|
17017
|
-
function deepCopy(values, size) {
|
|
17036
|
+
function deepCopy$1(values, size) {
|
|
17018
17037
|
if (isNil(size)) {
|
|
17019
|
-
return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
|
|
17038
|
+
return (values || FAKE_ENTITIES$1).map(entity => Object.assign({}, entity));
|
|
17020
17039
|
}
|
|
17021
17040
|
let result = [];
|
|
17022
17041
|
let i = 1;
|
|
17023
17042
|
while (result.length < size) {
|
|
17024
|
-
result = result.concat((values || FAKE_ENTITIES).map(entity => {
|
|
17043
|
+
result = result.concat((values || FAKE_ENTITIES$1).map(entity => {
|
|
17025
17044
|
const name = entity.name + ' #' + i;
|
|
17026
17045
|
return Object.assign(Object.assign({}, entity), { id: i++, name });
|
|
17027
17046
|
}));
|
|
@@ -17031,7 +17050,7 @@ function deepCopy(values, size) {
|
|
|
17031
17050
|
class ChipsTestPage {
|
|
17032
17051
|
constructor(formBuilder) {
|
|
17033
17052
|
this.formBuilder = formBuilder;
|
|
17034
|
-
this._items = deepCopy(FAKE_ENTITIES, 100);
|
|
17053
|
+
this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
|
|
17035
17054
|
this._$items = new BehaviorSubject(undefined);
|
|
17036
17055
|
this.autocompleteFields = new MatAutocompleteConfigHolder();
|
|
17037
17056
|
this.form = formBuilder.group({
|
|
@@ -17070,7 +17089,7 @@ class ChipsTestPage {
|
|
|
17070
17089
|
// Load the form with data
|
|
17071
17090
|
loadData() {
|
|
17072
17091
|
return __awaiter(this, void 0, void 0, function* () {
|
|
17073
|
-
const items = deepCopy(FAKE_ENTITIES);
|
|
17092
|
+
const items = deepCopy$1(FAKE_ENTITIES$1);
|
|
17074
17093
|
const data = {
|
|
17075
17094
|
entity: items.slice(0, 1),
|
|
17076
17095
|
entityInitial: items.slice(1, 2),
|
|
@@ -17146,7 +17165,7 @@ MatBadgeIconTestPage.decorators = [
|
|
|
17146
17165
|
},] }
|
|
17147
17166
|
];
|
|
17148
17167
|
|
|
17149
|
-
const routes
|
|
17168
|
+
const routes = [
|
|
17150
17169
|
{
|
|
17151
17170
|
path: '',
|
|
17152
17171
|
pathMatch: 'full',
|
|
@@ -17198,7 +17217,7 @@ MaterialTestingModule.decorators = [
|
|
|
17198
17217
|
ReactiveFormsModule,
|
|
17199
17218
|
SharedMaterialModule,
|
|
17200
17219
|
TranslateModule.forChild(),
|
|
17201
|
-
RouterModule.forChild(routes
|
|
17220
|
+
RouterModule.forChild(routes)
|
|
17202
17221
|
],
|
|
17203
17222
|
declarations: [
|
|
17204
17223
|
MaterialTestingPage,
|
|
@@ -18213,7 +18232,7 @@ class UserSettingsValidatorService extends AppValidatorService {
|
|
|
18213
18232
|
});
|
|
18214
18233
|
}
|
|
18215
18234
|
}
|
|
18216
|
-
UserSettingsValidatorService.ɵprov =
|
|
18235
|
+
UserSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(ɵɵinject(FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
|
|
18217
18236
|
UserSettingsValidatorService.decorators = [
|
|
18218
18237
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
18219
18238
|
];
|
|
@@ -18257,7 +18276,7 @@ class AccountValidatorService extends AppValidatorService {
|
|
|
18257
18276
|
return validatorFns.length ? Validators.compose(validatorFns) : validatorFns.length === 1 ? validatorFns[0] : undefined;
|
|
18258
18277
|
}
|
|
18259
18278
|
}
|
|
18260
|
-
AccountValidatorService.ɵprov =
|
|
18279
|
+
AccountValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
|
|
18261
18280
|
AccountValidatorService.decorators = [
|
|
18262
18281
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
18263
18282
|
];
|
|
@@ -18822,7 +18841,7 @@ class LocalSettingsValidatorService extends AppValidatorService {
|
|
|
18822
18841
|
});
|
|
18823
18842
|
}
|
|
18824
18843
|
}
|
|
18825
|
-
LocalSettingsValidatorService.ɵprov =
|
|
18844
|
+
LocalSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(ɵɵinject(FormBuilder), ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
|
|
18826
18845
|
LocalSettingsValidatorService.decorators = [
|
|
18827
18846
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
18828
18847
|
];
|
|
@@ -19441,7 +19460,7 @@ class IsOnFieldModePipe {
|
|
|
19441
19460
|
return value === 'FIELD';
|
|
19442
19461
|
}
|
|
19443
19462
|
}
|
|
19444
|
-
IsOnFieldModePipe.ɵprov =
|
|
19463
|
+
IsOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
|
|
19445
19464
|
IsOnFieldModePipe.decorators = [
|
|
19446
19465
|
{ type: Pipe, args: [{
|
|
19447
19466
|
name: 'isOnField'
|
|
@@ -19453,7 +19472,7 @@ class IsNotOnFieldModePipe {
|
|
|
19453
19472
|
return value !== 'FIELD';
|
|
19454
19473
|
}
|
|
19455
19474
|
}
|
|
19456
|
-
IsNotOnFieldModePipe.ɵprov =
|
|
19475
|
+
IsNotOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
|
|
19457
19476
|
IsNotOnFieldModePipe.decorators = [
|
|
19458
19477
|
{ type: Pipe, args: [{
|
|
19459
19478
|
name: 'isNotOnField'
|
|
@@ -19468,7 +19487,7 @@ class PersonToStringPipe {
|
|
|
19468
19487
|
return PersonUtils.personToString(value);
|
|
19469
19488
|
}
|
|
19470
19489
|
}
|
|
19471
|
-
PersonToStringPipe.ɵprov =
|
|
19490
|
+
PersonToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
|
|
19472
19491
|
PersonToStringPipe.decorators = [
|
|
19473
19492
|
{ type: Pipe, args: [{
|
|
19474
19493
|
name: 'personToString'
|
|
@@ -19853,7 +19872,7 @@ class IsLoginAccountPipe {
|
|
|
19853
19872
|
return value && value.pubkey && true;
|
|
19854
19873
|
}
|
|
19855
19874
|
}
|
|
19856
|
-
IsLoginAccountPipe.ɵprov =
|
|
19875
|
+
IsLoginAccountPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
|
|
19857
19876
|
IsLoginAccountPipe.decorators = [
|
|
19858
19877
|
{ type: Pipe, args: [{
|
|
19859
19878
|
name: 'isLogin'
|
|
@@ -19865,7 +19884,7 @@ class AccountToStringPipe {
|
|
|
19865
19884
|
return accountToString(value);
|
|
19866
19885
|
}
|
|
19867
19886
|
}
|
|
19868
|
-
AccountToStringPipe.ɵprov =
|
|
19887
|
+
AccountToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
|
|
19869
19888
|
AccountToStringPipe.decorators = [
|
|
19870
19889
|
{ type: Pipe, args: [{
|
|
19871
19890
|
name: 'accountToString'
|
|
@@ -19880,7 +19899,7 @@ class DepartmentToStringPipe {
|
|
|
19880
19899
|
return departmentToString(value);
|
|
19881
19900
|
}
|
|
19882
19901
|
}
|
|
19883
|
-
DepartmentToStringPipe.ɵprov =
|
|
19902
|
+
DepartmentToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
|
|
19884
19903
|
DepartmentToStringPipe.decorators = [
|
|
19885
19904
|
{ type: Pipe, args: [{
|
|
19886
19905
|
name: 'departmentToString'
|
|
@@ -19906,7 +19925,7 @@ class MenuService {
|
|
|
19906
19925
|
this._visibleSubject.next(value);
|
|
19907
19926
|
}
|
|
19908
19927
|
}
|
|
19909
|
-
MenuService.ɵprov =
|
|
19928
|
+
MenuService.ɵprov = ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
|
|
19910
19929
|
MenuService.decorators = [
|
|
19911
19930
|
{ type: Injectable, args: [{
|
|
19912
19931
|
providedIn: 'root'
|
|
@@ -20430,7 +20449,7 @@ class AuthGuardService {
|
|
|
20430
20449
|
}));
|
|
20431
20450
|
}
|
|
20432
20451
|
}
|
|
20433
|
-
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" });
|
|
20434
20453
|
AuthGuardService.decorators = [
|
|
20435
20454
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
20436
20455
|
];
|
|
@@ -20472,7 +20491,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20472
20491
|
query,
|
|
20473
20492
|
variables: { id },
|
|
20474
20493
|
fetchPolicy: opts && opts.fetchPolicy || undefined,
|
|
20475
|
-
error: { code: ErrorCodes
|
|
20494
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
|
|
20476
20495
|
})
|
|
20477
20496
|
.pipe(map(({ data }) => (!opts || opts.toEntity !== false)
|
|
20478
20497
|
? (data && this.fromObject(data))
|
|
@@ -20487,7 +20506,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20487
20506
|
query,
|
|
20488
20507
|
variables: { id },
|
|
20489
20508
|
fetchPolicy: opts && opts.fetchPolicy || undefined,
|
|
20490
|
-
error: { code: ErrorCodes
|
|
20509
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
|
|
20491
20510
|
});
|
|
20492
20511
|
// Convert to entity
|
|
20493
20512
|
return (!opts || opts.toEntity !== false)
|
|
@@ -20518,7 +20537,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20518
20537
|
totalFieldName: withTotal ? 'total' : undefined,
|
|
20519
20538
|
insertFilterFn: filter && filter.asFilterFn(),
|
|
20520
20539
|
variables,
|
|
20521
|
-
error: { code: ErrorCodes
|
|
20540
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
|
|
20522
20541
|
fetchPolicy: opts && opts.fetchPolicy || undefined
|
|
20523
20542
|
})
|
|
20524
20543
|
.pipe(map(({ data, total }) => {
|
|
@@ -20554,7 +20573,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20554
20573
|
const { data, total } = yield this.graphql.query({
|
|
20555
20574
|
query,
|
|
20556
20575
|
variables,
|
|
20557
|
-
error: { code: ErrorCodes
|
|
20576
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
|
|
20558
20577
|
fetchPolicy: opts && opts.fetchPolicy || 'network-only'
|
|
20559
20578
|
});
|
|
20560
20579
|
const entities = (!opts || opts.toEntity !== false) ?
|
|
@@ -20593,7 +20612,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20593
20612
|
variables: {
|
|
20594
20613
|
filter: filter && filter.asPodObject()
|
|
20595
20614
|
},
|
|
20596
|
-
error: { code: ErrorCodes
|
|
20615
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
|
|
20597
20616
|
fetchPolicy: opts && opts.fetchPolicy || 'network-only'
|
|
20598
20617
|
});
|
|
20599
20618
|
return res.total;
|
|
@@ -20626,7 +20645,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20626
20645
|
variables: {
|
|
20627
20646
|
data: json
|
|
20628
20647
|
},
|
|
20629
|
-
error: { code: ErrorCodes
|
|
20648
|
+
error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
|
|
20630
20649
|
update: (proxy, { data }) => {
|
|
20631
20650
|
const savedEntities = data && data.data;
|
|
20632
20651
|
if (savedEntities) {
|
|
@@ -20682,7 +20701,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20682
20701
|
variables: {
|
|
20683
20702
|
data: json
|
|
20684
20703
|
},
|
|
20685
|
-
error: { code: ErrorCodes
|
|
20704
|
+
error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
|
|
20686
20705
|
update: (cache, { data }) => {
|
|
20687
20706
|
// Update entity
|
|
20688
20707
|
const savedEntity = data && data.data;
|
|
@@ -20730,7 +20749,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20730
20749
|
refetchQueries: this.getRefetchQueriesForMutation(opts),
|
|
20731
20750
|
awaitRefetchQueries: opts && opts.awaitRefetchQueries,
|
|
20732
20751
|
variables: { ids },
|
|
20733
|
-
error: { code: ErrorCodes
|
|
20752
|
+
error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
|
|
20734
20753
|
update: (cache, res) => {
|
|
20735
20754
|
// Remove from cache
|
|
20736
20755
|
if (this.watchQueriesUpdatePolicy === 'update-cache') {
|
|
@@ -20771,7 +20790,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20771
20790
|
refetchQueries: this.getRefetchQueriesForMutation(opts),
|
|
20772
20791
|
awaitRefetchQueries: opts && opts.awaitRefetchQueries,
|
|
20773
20792
|
variables: { id },
|
|
20774
|
-
error: { code: ErrorCodes
|
|
20793
|
+
error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
|
|
20775
20794
|
update: (proxy, res) => {
|
|
20776
20795
|
// Remove from cache
|
|
20777
20796
|
if (this.watchQueriesUpdatePolicy === 'update-cache') {
|
|
@@ -20804,7 +20823,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20804
20823
|
query: opts && opts.query || this.subscriptions.listenChanges,
|
|
20805
20824
|
variables,
|
|
20806
20825
|
error: {
|
|
20807
|
-
code: ErrorCodes
|
|
20826
|
+
code: ErrorCodes.SUBSCRIBE_DATA_ERROR,
|
|
20808
20827
|
message: 'ERROR.SUBSCRIBE_DATA_ERROR'
|
|
20809
20828
|
}
|
|
20810
20829
|
})
|
|
@@ -20990,7 +21009,7 @@ class EntitiesTableDataSource extends TableDataSource {
|
|
|
20990
21009
|
if (this._debug)
|
|
20991
21010
|
invalidRows.forEach(row => AppTableUtils.logRowErrors(row, `[table-datasource] ${this._logTypeName} row #${row.id}`));
|
|
20992
21011
|
// Stop with an error
|
|
20993
|
-
throw { code: ErrorCodes
|
|
21012
|
+
throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
20994
21013
|
}
|
|
20995
21014
|
this._editingRowCount = 0;
|
|
20996
21015
|
let data;
|
|
@@ -21606,7 +21625,7 @@ class AppTable {
|
|
|
21606
21625
|
merge(
|
|
21607
21626
|
// Listen sort events
|
|
21608
21627
|
this.sort && this.sort.sortChange
|
|
21609
|
-
.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),
|
|
21610
21629
|
// Save sort in settings
|
|
21611
21630
|
tap(() => {
|
|
21612
21631
|
const value = [this.sort.active, this.sort.direction || 'asc'].join(':');
|
|
@@ -21623,7 +21642,9 @@ class AppTable {
|
|
|
21623
21642
|
});
|
|
21624
21643
|
// If the user changes the sort order, reset back to the first page.
|
|
21625
21644
|
if (this.sort && this.paginator) {
|
|
21626
|
-
this.registerSubscription(this.sort.sortChange
|
|
21645
|
+
this.registerSubscription(this.sort.sortChange
|
|
21646
|
+
.pipe(filter(() => !this.sort.disabled))
|
|
21647
|
+
.subscribe(() => this.paginator.pageIndex = 0));
|
|
21627
21648
|
}
|
|
21628
21649
|
}
|
|
21629
21650
|
ngOnDestroy() {
|
|
@@ -21852,14 +21873,14 @@ class AppTable {
|
|
|
21852
21873
|
return __awaiter(this, void 0, void 0, function* () {
|
|
21853
21874
|
opts = Object.assign({ keepEditing: this.keepEditedRowOnSave }, opts);
|
|
21854
21875
|
if (this.readOnly) {
|
|
21855
|
-
throw { code: ErrorCodes
|
|
21876
|
+
throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
|
|
21856
21877
|
}
|
|
21857
21878
|
this.resetError();
|
|
21858
21879
|
// Keep edited row id (should be done BEFORE confirmEditCreate() )
|
|
21859
21880
|
this.previouslyEditedRowId = opts.keepEditing && ((_a = this.editedRow) === null || _a === void 0 ? void 0 : _a.editing) ? this.editedRow.id : undefined;
|
|
21860
21881
|
const previouslyEditedData = isNotNil(this.previouslyEditedRowId) && this.editedRow.currentData || ((_b = this.singleSelectedRow) === null || _b === void 0 ? void 0 : _b.currentData);
|
|
21861
21882
|
if (!this.confirmEditCreate()) {
|
|
21862
|
-
throw { code: ErrorCodes
|
|
21883
|
+
throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
21863
21884
|
}
|
|
21864
21885
|
// Mark as saving
|
|
21865
21886
|
this.markAsSaving();
|
|
@@ -21976,7 +21997,7 @@ class AppTable {
|
|
|
21976
21997
|
var _a;
|
|
21977
21998
|
return __awaiter(this, void 0, void 0, function* () {
|
|
21978
21999
|
if (this.readOnly) {
|
|
21979
|
-
throw { code: ErrorCodes
|
|
22000
|
+
throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
|
|
21980
22001
|
}
|
|
21981
22002
|
if (event === null || event === void 0 ? void 0 : event.defaultPrevented)
|
|
21982
22003
|
return 0; // SKip
|
|
@@ -23502,7 +23523,7 @@ class AppEntityEditor extends AppTabEditor {
|
|
|
23502
23523
|
try {
|
|
23503
23524
|
const data = yield this.dataService.load(id, opts);
|
|
23504
23525
|
if (!data)
|
|
23505
|
-
throw { code: ErrorCodes
|
|
23526
|
+
throw { code: ErrorCodes.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
|
|
23506
23527
|
this._usageMode = this.computeUsageMode(data);
|
|
23507
23528
|
yield this.onEntityLoaded(data, opts);
|
|
23508
23529
|
yield this.updateView(data, opts);
|
|
@@ -24407,7 +24428,7 @@ class UserEventService extends BaseGraphqlService {
|
|
|
24407
24428
|
EntityUtils.copyIdAndUpdateDate(source, target);
|
|
24408
24429
|
}
|
|
24409
24430
|
}
|
|
24410
|
-
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" });
|
|
24411
24432
|
UserEventService.decorators = [
|
|
24412
24433
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
24413
24434
|
];
|
|
@@ -24792,7 +24813,7 @@ class PersonService extends BaseEntityService {
|
|
|
24792
24813
|
return target;
|
|
24793
24814
|
}
|
|
24794
24815
|
}
|
|
24795
|
-
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" });
|
|
24796
24817
|
PersonService.decorators = [
|
|
24797
24818
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
24798
24819
|
];
|
|
@@ -24823,7 +24844,7 @@ class PersonValidatorService {
|
|
|
24823
24844
|
return this.formBuilder.group(formConfig);
|
|
24824
24845
|
}
|
|
24825
24846
|
}
|
|
24826
|
-
PersonValidatorService.ɵprov =
|
|
24847
|
+
PersonValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
|
|
24827
24848
|
PersonValidatorService.decorators = [
|
|
24828
24849
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
24829
24850
|
];
|
|
@@ -25029,16 +25050,16 @@ AdminModule.decorators = [
|
|
|
25029
25050
|
];
|
|
25030
25051
|
AdminModule.ctorParameters = () => [];
|
|
25031
25052
|
|
|
25032
|
-
const ɵ0 = {
|
|
25053
|
+
const ɵ0$b = {
|
|
25033
25054
|
profile: 'ADMIN'
|
|
25034
25055
|
};
|
|
25035
|
-
const routes = [
|
|
25056
|
+
const routes$1 = [
|
|
25036
25057
|
{
|
|
25037
25058
|
path: 'users',
|
|
25038
25059
|
pathMatch: 'full',
|
|
25039
25060
|
component: UsersPage,
|
|
25040
25061
|
canActivate: [AuthGuardService],
|
|
25041
|
-
data: ɵ0
|
|
25062
|
+
data: ɵ0$b
|
|
25042
25063
|
}
|
|
25043
25064
|
];
|
|
25044
25065
|
class AdminRoutingModule {
|
|
@@ -25048,13 +25069,13 @@ AdminRoutingModule.decorators = [
|
|
|
25048
25069
|
imports: [
|
|
25049
25070
|
SharedRoutingModule,
|
|
25050
25071
|
AdminModule,
|
|
25051
|
-
RouterModule.forChild(routes)
|
|
25072
|
+
RouterModule.forChild(routes$1)
|
|
25052
25073
|
],
|
|
25053
25074
|
exports: [RouterModule]
|
|
25054
25075
|
},] }
|
|
25055
25076
|
];
|
|
25056
25077
|
|
|
25057
|
-
const ErrorCodes = {
|
|
25078
|
+
const ErrorCodes$2 = {
|
|
25058
25079
|
LOAD_PERSONS_ERROR: 100,
|
|
25059
25080
|
SAVE_PERSONS_ERROR: 101,
|
|
25060
25081
|
DELETE_PERSONS_ERROR: 102,
|
|
@@ -25066,5 +25087,5 @@ const ErrorCodes = {
|
|
|
25066
25087
|
* Generated bundle index. Do not edit.
|
|
25067
25088
|
*/
|
|
25068
25089
|
|
|
25069
|
-
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 };
|
|
25070
25091
|
//# sourceMappingURL=sumaris-net.ngx-components.js.map
|