@sumaris-net/ngx-components 1.6.7 → 1.6.9
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 +340 -364
- package/bundles/sumaris-net.ngx-components.umd.js.map +1 -1
- package/bundles/sumaris-net.ngx-components.umd.min.js +2 -2
- package/bundles/sumaris-net.ngx-components.umd.min.js.map +1 -1
- package/esm2015/src/app/core/services/model/filter.model.js +1 -1
- package/esm2015/src/app/core/services/model/referential.model.js +1 -1
- package/esm2015/src/app/core/table/table.class.js +8 -8
- package/esm2015/src/app/shared/material/boolean/material.boolean.js +3 -4
- package/esm2015/src/app/shared/material/datetime/material.date.js +40 -40
- package/esm2015/src/app/shared/material/datetime/material.datetime.js +29 -29
- package/fesm2015/sumaris-net.ngx-components.js +331 -347
- package/fesm2015/sumaris-net.ngx-components.js.map +1 -1
- package/package.json +1 -1
- package/src/app/core/services/model/filter.model.d.ts +1 -1
- package/src/app/core/services/model/referential.model.d.ts +3 -3
- package/src/app/core/table/table.class.d.ts +4 -4
- package/src/app/shared/material/boolean/material.boolean.d.ts +0 -1
- package/src/app/shared/material/datetime/material.date.d.ts +6 -6
- package/src/app/shared/material/datetime/material.datetime.d.ts +9 -9
- 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, 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;
|
|
@@ -1715,7 +1700,7 @@ class DateFormatPipe {
|
|
|
1715
1700
|
return this.dateAdapter.format(date, displayFormat);
|
|
1716
1701
|
}
|
|
1717
1702
|
}
|
|
1718
|
-
DateFormatPipe.ɵprov =
|
|
1703
|
+
DateFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateFormatPipe_Factory() { return new DateFormatPipe(ɵɵinject(MomentDateAdapter), ɵɵinject(TranslateService)); }, token: DateFormatPipe, providedIn: "root" });
|
|
1719
1704
|
DateFormatPipe.decorators = [
|
|
1720
1705
|
{ type: Pipe, args: [{
|
|
1721
1706
|
name: 'dateFormat'
|
|
@@ -1727,7 +1712,7 @@ DateFormatPipe.ctorParameters = () => [
|
|
|
1727
1712
|
{ type: TranslateService }
|
|
1728
1713
|
];
|
|
1729
1714
|
|
|
1730
|
-
const moment
|
|
1715
|
+
const moment = momentImported;
|
|
1731
1716
|
class DateDiffDurationPipe {
|
|
1732
1717
|
constructor(dateAdapter, translate) {
|
|
1733
1718
|
this.dateAdapter = dateAdapter;
|
|
@@ -1743,17 +1728,17 @@ class DateDiffDurationPipe {
|
|
|
1743
1728
|
return this.format(startDate, endDate);
|
|
1744
1729
|
}
|
|
1745
1730
|
format(startDate, endDate) {
|
|
1746
|
-
const duration = moment
|
|
1731
|
+
const duration = moment.duration(endDate.diff(startDate));
|
|
1747
1732
|
if (duration.asMinutes() < 0)
|
|
1748
1733
|
return '';
|
|
1749
|
-
const timeDuration = moment
|
|
1734
|
+
const timeDuration = moment(0)
|
|
1750
1735
|
.hour(duration.hours())
|
|
1751
1736
|
.minute(duration.minutes());
|
|
1752
1737
|
const days = Math.floor(duration.asDays());
|
|
1753
1738
|
return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + timeDuration.format('HH:mm');
|
|
1754
1739
|
}
|
|
1755
1740
|
}
|
|
1756
|
-
DateDiffDurationPipe.ɵprov =
|
|
1741
|
+
DateDiffDurationPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateDiffDurationPipe_Factory() { return new DateDiffDurationPipe(ɵɵinject(DateAdapter), ɵɵinject(TranslateService)); }, token: DateDiffDurationPipe, providedIn: "root" });
|
|
1757
1742
|
DateDiffDurationPipe.decorators = [
|
|
1758
1743
|
{ type: Pipe, args: [{
|
|
1759
1744
|
name: 'dateDiffDuration'
|
|
@@ -1774,7 +1759,7 @@ class DateFromNowPipe {
|
|
|
1774
1759
|
return date ? date.fromNow(args && args.withoutSuffix) : '';
|
|
1775
1760
|
}
|
|
1776
1761
|
}
|
|
1777
|
-
DateFromNowPipe.ɵprov =
|
|
1762
|
+
DateFromNowPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(ɵɵinject(MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
|
|
1778
1763
|
DateFromNowPipe.decorators = [
|
|
1779
1764
|
{ type: Pipe, args: [{
|
|
1780
1765
|
name: 'dateFromNow'
|
|
@@ -1843,7 +1828,7 @@ function formatToDD(value, opts) {
|
|
|
1843
1828
|
value *= -1;
|
|
1844
1829
|
}
|
|
1845
1830
|
}
|
|
1846
|
-
let degrees = roundFloat
|
|
1831
|
+
let degrees = roundFloat(value, opts.maxDecimals).toString();
|
|
1847
1832
|
// Add sign
|
|
1848
1833
|
let sign = negative ? '-' : '+';
|
|
1849
1834
|
if (opts.placeholderChar) {
|
|
@@ -1894,7 +1879,7 @@ function formatToDDMMSS(value, opts) {
|
|
|
1894
1879
|
}
|
|
1895
1880
|
let degrees = Math.trunc(value);
|
|
1896
1881
|
let minutes = Math.trunc((value - degrees) * 60);
|
|
1897
|
-
let seconds = roundFloat
|
|
1882
|
+
let seconds = roundFloat(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
|
|
1898
1883
|
while (seconds >= 60) {
|
|
1899
1884
|
seconds -= 60;
|
|
1900
1885
|
minutes += 1;
|
|
@@ -1962,7 +1947,7 @@ function formatToDDMM(value, opts) {
|
|
|
1962
1947
|
}
|
|
1963
1948
|
}
|
|
1964
1949
|
let degrees = Math.trunc(value);
|
|
1965
|
-
let minutes = roundFloat
|
|
1950
|
+
let minutes = roundFloat((value - degrees) * 60, opts.maxDecimals);
|
|
1966
1951
|
while (minutes >= 60) {
|
|
1967
1952
|
minutes -= 60;
|
|
1968
1953
|
degrees += 1;
|
|
@@ -2013,15 +1998,15 @@ function parseLatitudeOrLongitude(input, pattern, maxDecimals, placeholderChar)
|
|
|
2013
1998
|
return NaN;
|
|
2014
1999
|
}
|
|
2015
2000
|
if (pattern === 'DD')
|
|
2016
|
-
return roundFloat
|
|
2001
|
+
return roundFloat(degrees, maxDecimals);
|
|
2017
2002
|
const minutes = (pattern === 'DDMMSS' || pattern === 'DDMM') && parts[1] && parseFloat(parts[1].replace(/,/g, '.')) || 0;
|
|
2018
2003
|
const seconds = (pattern === 'DDMMSS') && parts[2] && parseFloat(parts[2].replace(/,/g, '.')) || 0;
|
|
2019
2004
|
const direction = ((pattern === 'DDMMSS') && parts[3]) || ((pattern === 'DDMM') && parts[2]) || undefined;
|
|
2020
2005
|
const sign = (direction && (direction === 's' || direction === 'S' || direction === 'w' || direction === 'W')) ? -1 : 1;
|
|
2021
2006
|
degrees = sign * (degrees + minutes / 60 + seconds / (60 * 60));
|
|
2022
|
-
return roundFloat
|
|
2007
|
+
return roundFloat(degrees, maxDecimals);
|
|
2023
2008
|
}
|
|
2024
|
-
function roundFloat
|
|
2009
|
+
function roundFloat(input, maxDecimals) {
|
|
2025
2010
|
if (maxDecimals > 0) {
|
|
2026
2011
|
const powDecimal = Math.pow(10, maxDecimals);
|
|
2027
2012
|
return Math.trunc(input * powDecimal + 0.5) / powDecimal;
|
|
@@ -2041,7 +2026,7 @@ class LatLongFormatPipe {
|
|
|
2041
2026
|
return ((!args.type || args.type !== 'latitude') ? formatLongitude : formatLatitude)(value, args);
|
|
2042
2027
|
}
|
|
2043
2028
|
}
|
|
2044
|
-
LatLongFormatPipe.ɵprov =
|
|
2029
|
+
LatLongFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
|
|
2045
2030
|
LatLongFormatPipe.decorators = [
|
|
2046
2031
|
{ type: Pipe, args: [{
|
|
2047
2032
|
name: 'latLongFormat'
|
|
@@ -2053,7 +2038,7 @@ class LatitudeFormatPipe {
|
|
|
2053
2038
|
this.transform = formatLatitude;
|
|
2054
2039
|
}
|
|
2055
2040
|
}
|
|
2056
|
-
LatitudeFormatPipe.ɵprov =
|
|
2041
|
+
LatitudeFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
|
|
2057
2042
|
LatitudeFormatPipe.decorators = [
|
|
2058
2043
|
{ type: Pipe, args: [{
|
|
2059
2044
|
name: 'latitudeFormat'
|
|
@@ -2065,7 +2050,7 @@ class LongitudeFormatPipe {
|
|
|
2065
2050
|
this.transform = formatLongitude;
|
|
2066
2051
|
}
|
|
2067
2052
|
}
|
|
2068
|
-
LongitudeFormatPipe.ɵprov =
|
|
2053
|
+
LongitudeFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
|
|
2069
2054
|
LongitudeFormatPipe.decorators = [
|
|
2070
2055
|
{ type: Pipe, args: [{
|
|
2071
2056
|
name: 'longitudeFormat'
|
|
@@ -2085,7 +2070,7 @@ class NumberFormatPipe {
|
|
|
2085
2070
|
}
|
|
2086
2071
|
}
|
|
2087
2072
|
}
|
|
2088
|
-
NumberFormatPipe.ɵprov =
|
|
2073
|
+
NumberFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
|
|
2089
2074
|
NumberFormatPipe.decorators = [
|
|
2090
2075
|
{ type: Pipe, args: [{
|
|
2091
2076
|
name: 'numberFormat'
|
|
@@ -2125,7 +2110,7 @@ class HighlightPipe {
|
|
|
2125
2110
|
}
|
|
2126
2111
|
}
|
|
2127
2112
|
}
|
|
2128
|
-
HighlightPipe.ɵprov =
|
|
2113
|
+
HighlightPipe.ɵprov = ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
|
|
2129
2114
|
HighlightPipe.decorators = [
|
|
2130
2115
|
{ type: Pipe, args: [{
|
|
2131
2116
|
name: 'highlight'
|
|
@@ -2190,7 +2175,7 @@ FileSizePipe.decorators = [
|
|
|
2190
2175
|
{ type: Pipe, args: [{ name: 'fileSize' },] }
|
|
2191
2176
|
];
|
|
2192
2177
|
|
|
2193
|
-
const moment$
|
|
2178
|
+
const moment$1 = momentImported;
|
|
2194
2179
|
const DATE_UNIX_TIMESTAMP = 'X';
|
|
2195
2180
|
const DATE_UNIX_MS_TIMESTAMP = 'x';
|
|
2196
2181
|
class DateUtils {
|
|
@@ -2232,32 +2217,32 @@ function fromDateISOString(value) {
|
|
|
2232
2217
|
if (!value || isMoment(value))
|
|
2233
2218
|
return value;
|
|
2234
2219
|
// Parse the input value, as a ISO date time
|
|
2235
|
-
const date = moment$
|
|
2220
|
+
const date = moment$1(value, DATE_ISO_PATTERN);
|
|
2236
2221
|
if (date.isValid())
|
|
2237
2222
|
return date;
|
|
2238
2223
|
// Not valid: trying to convert from unix timestamp
|
|
2239
2224
|
if (typeof value === 'string') {
|
|
2240
2225
|
console.warn('Wrong date format - Trying to convert from local time: ' + value);
|
|
2241
2226
|
if (value.length === 10) {
|
|
2242
|
-
return moment$
|
|
2227
|
+
return moment$1(value, DATE_UNIX_TIMESTAMP);
|
|
2243
2228
|
}
|
|
2244
2229
|
else if (value.length === 13) {
|
|
2245
|
-
return moment$
|
|
2230
|
+
return moment$1(value, DATE_UNIX_MS_TIMESTAMP);
|
|
2246
2231
|
}
|
|
2247
2232
|
}
|
|
2248
2233
|
console.warn('Unable to parse date: ' + value);
|
|
2249
2234
|
return undefined;
|
|
2250
2235
|
}
|
|
2251
2236
|
function fromUnixTimestamp(timeInSec) {
|
|
2252
|
-
return moment$
|
|
2237
|
+
return moment$1(timeInSec, DATE_UNIX_TIMESTAMP);
|
|
2253
2238
|
}
|
|
2254
2239
|
function fromUnixMsTimestamp(timeInMs) {
|
|
2255
|
-
return moment$
|
|
2240
|
+
return moment$1(timeInMs, DATE_UNIX_MS_TIMESTAMP);
|
|
2256
2241
|
}
|
|
2257
2242
|
function toDuration(value, unit) {
|
|
2258
2243
|
if (!value)
|
|
2259
2244
|
return undefined;
|
|
2260
|
-
const duration = moment$
|
|
2245
|
+
const duration = moment$1.duration(value, unit);
|
|
2261
2246
|
// fix 990+ ms
|
|
2262
2247
|
if (duration.milliseconds() >= 990) {
|
|
2263
2248
|
duration.add(1000 - duration.milliseconds(), 'ms');
|
|
@@ -2286,7 +2271,7 @@ class DurationPipe {
|
|
|
2286
2271
|
return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + hour + ':' + minute;
|
|
2287
2272
|
}
|
|
2288
2273
|
}
|
|
2289
|
-
DurationPipe.ɵprov =
|
|
2274
|
+
DurationPipe.ɵprov = ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(ɵɵinject(TranslateService)); }, token: DurationPipe, providedIn: "root" });
|
|
2290
2275
|
DurationPipe.decorators = [
|
|
2291
2276
|
{ type: Pipe, args: [{
|
|
2292
2277
|
name: 'duration'
|
|
@@ -2307,7 +2292,7 @@ class MathAbsPipe {
|
|
|
2307
2292
|
}
|
|
2308
2293
|
}
|
|
2309
2294
|
}
|
|
2310
|
-
MathAbsPipe.ɵprov =
|
|
2295
|
+
MathAbsPipe.ɵprov = ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
|
|
2311
2296
|
MathAbsPipe.decorators = [
|
|
2312
2297
|
{ type: Pipe, args: [{
|
|
2313
2298
|
name: 'mathAbs'
|
|
@@ -2319,7 +2304,7 @@ class EvenPipe {
|
|
|
2319
2304
|
return val % 2 === 0;
|
|
2320
2305
|
}
|
|
2321
2306
|
}
|
|
2322
|
-
EvenPipe.ɵprov =
|
|
2307
|
+
EvenPipe.ɵprov = ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
|
|
2323
2308
|
EvenPipe.decorators = [
|
|
2324
2309
|
{ type: Pipe, args: [{
|
|
2325
2310
|
name: 'even'
|
|
@@ -2331,7 +2316,7 @@ class OddPipe {
|
|
|
2331
2316
|
return val % 2 !== 0;
|
|
2332
2317
|
}
|
|
2333
2318
|
}
|
|
2334
|
-
OddPipe.ɵprov =
|
|
2319
|
+
OddPipe.ɵprov = ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
|
|
2335
2320
|
OddPipe.decorators = [
|
|
2336
2321
|
{ type: Pipe, args: [{
|
|
2337
2322
|
name: 'odd'
|
|
@@ -2439,7 +2424,7 @@ class MapGetPipe {
|
|
|
2439
2424
|
return val[key];
|
|
2440
2425
|
}
|
|
2441
2426
|
}
|
|
2442
|
-
MapGetPipe.ɵprov =
|
|
2427
|
+
MapGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
|
|
2443
2428
|
MapGetPipe.decorators = [
|
|
2444
2429
|
{ type: Pipe, args: [{
|
|
2445
2430
|
name: 'mapGet'
|
|
@@ -2453,7 +2438,7 @@ class MapKeysPipe {
|
|
|
2453
2438
|
return Object.keys(map);
|
|
2454
2439
|
}
|
|
2455
2440
|
}
|
|
2456
|
-
MapKeysPipe.ɵprov =
|
|
2441
|
+
MapKeysPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
|
|
2457
2442
|
MapKeysPipe.decorators = [
|
|
2458
2443
|
{ type: Pipe, args: [{
|
|
2459
2444
|
name: 'mapKeys'
|
|
@@ -2467,7 +2452,7 @@ class MapValuesPipe {
|
|
|
2467
2452
|
return Object.values(map);
|
|
2468
2453
|
}
|
|
2469
2454
|
}
|
|
2470
|
-
MapValuesPipe.ɵprov =
|
|
2455
|
+
MapValuesPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
|
|
2471
2456
|
MapValuesPipe.decorators = [
|
|
2472
2457
|
{ type: Pipe, args: [{
|
|
2473
2458
|
name: 'mapValues'
|
|
@@ -2480,7 +2465,7 @@ class IsNotNilOrBlankPipe {
|
|
|
2480
2465
|
return isNotNilOrBlank(value);
|
|
2481
2466
|
}
|
|
2482
2467
|
}
|
|
2483
|
-
IsNotNilOrBlankPipe.ɵprov =
|
|
2468
|
+
IsNotNilOrBlankPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
|
|
2484
2469
|
IsNotNilOrBlankPipe.decorators = [
|
|
2485
2470
|
{ type: Pipe, args: [{
|
|
2486
2471
|
name: 'isNotNilOrBlank'
|
|
@@ -2492,7 +2477,7 @@ class IsNilOrBlankPipe {
|
|
|
2492
2477
|
return isNilOrBlank(value);
|
|
2493
2478
|
}
|
|
2494
2479
|
}
|
|
2495
|
-
IsNilOrBlankPipe.ɵprov =
|
|
2480
|
+
IsNilOrBlankPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
|
|
2496
2481
|
IsNilOrBlankPipe.decorators = [
|
|
2497
2482
|
{ type: Pipe, args: [{
|
|
2498
2483
|
name: 'isNilOrBlank'
|
|
@@ -2504,7 +2489,7 @@ class ToStringPipe {
|
|
|
2504
2489
|
return (value !== null && value !== undefined) ? value.toString() : '';
|
|
2505
2490
|
}
|
|
2506
2491
|
}
|
|
2507
|
-
ToStringPipe.ɵprov =
|
|
2492
|
+
ToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
|
|
2508
2493
|
ToStringPipe.decorators = [
|
|
2509
2494
|
{ type: Pipe, args: [{
|
|
2510
2495
|
name: 'toString'
|
|
@@ -2516,7 +2501,7 @@ class StrLengthPipe {
|
|
|
2516
2501
|
return value && value.length || 0;
|
|
2517
2502
|
}
|
|
2518
2503
|
}
|
|
2519
|
-
StrLengthPipe.ɵprov =
|
|
2504
|
+
StrLengthPipe.ɵprov = ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
|
|
2520
2505
|
StrLengthPipe.decorators = [
|
|
2521
2506
|
{ type: Pipe, args: [{
|
|
2522
2507
|
name: 'strLength'
|
|
@@ -2593,7 +2578,7 @@ class TranslateContextService {
|
|
|
2593
2578
|
return translations[keys[keys.length - 1]]; // Return the last keys translation
|
|
2594
2579
|
}
|
|
2595
2580
|
}
|
|
2596
|
-
TranslateContextService.ɵprov =
|
|
2581
|
+
TranslateContextService.ɵprov = ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(ɵɵinject(TranslateService)); }, token: TranslateContextService, providedIn: "root" });
|
|
2597
2582
|
TranslateContextService.decorators = [
|
|
2598
2583
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
2599
2584
|
];
|
|
@@ -2645,7 +2630,7 @@ class PropertyGetPipe {
|
|
|
2645
2630
|
args && args.defaultValue);
|
|
2646
2631
|
}
|
|
2647
2632
|
}
|
|
2648
|
-
PropertyGetPipe.ɵprov =
|
|
2633
|
+
PropertyGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
|
|
2649
2634
|
PropertyGetPipe.decorators = [
|
|
2650
2635
|
{ type: Pipe, args: [{
|
|
2651
2636
|
name: 'propertyGet'
|
|
@@ -2670,7 +2655,7 @@ NgInitDirective.propDecorators = {
|
|
|
2670
2655
|
ngInit: [{ type: Output }]
|
|
2671
2656
|
};
|
|
2672
2657
|
|
|
2673
|
-
const moment$
|
|
2658
|
+
const moment$2 = momentImported;
|
|
2674
2659
|
// @dynamic
|
|
2675
2660
|
class SharedValidators {
|
|
2676
2661
|
static getDoubleRegexp(maxDecimals) {
|
|
@@ -2687,7 +2672,7 @@ class SharedValidators {
|
|
|
2687
2672
|
}
|
|
2688
2673
|
static validDate(control) {
|
|
2689
2674
|
const value = control.value;
|
|
2690
|
-
const date = !value || moment$
|
|
2675
|
+
const date = !value || moment$2.isMoment(value) ? value : moment$2(control.value, DATE_ISO_PATTERN);
|
|
2691
2676
|
if (date && (!date.isValid() || date.year() < 1970)) {
|
|
2692
2677
|
return { validDate: true };
|
|
2693
2678
|
}
|
|
@@ -3761,7 +3746,7 @@ class FormErrorTranslator {
|
|
|
3761
3746
|
return errorKey;
|
|
3762
3747
|
}
|
|
3763
3748
|
}
|
|
3764
|
-
FormErrorTranslator.ɵprov =
|
|
3749
|
+
FormErrorTranslator.ɵprov = ɵɵdefineInjectable({ factory: function FormErrorTranslator_Factory() { return new FormErrorTranslator(ɵɵinject(TranslateService), ɵɵinject(APP_FORM_ERROR_I18N_KEYS, 8)); }, token: FormErrorTranslator, providedIn: "root" });
|
|
3765
3750
|
FormErrorTranslator.decorators = [
|
|
3766
3751
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
3767
3752
|
];
|
|
@@ -4080,9 +4065,9 @@ function parseDuration(input, maxDecimals, placeholderChar) {
|
|
|
4080
4065
|
const hour = parseInt(durationParts[0] || '0');
|
|
4081
4066
|
const minute = parseInt(durationParts[1] || '0');
|
|
4082
4067
|
const value = hour + (minute + 0.5) / 60;
|
|
4083
|
-
return roundFloat(value, maxDecimals);
|
|
4068
|
+
return roundFloat$1(value, maxDecimals);
|
|
4084
4069
|
}
|
|
4085
|
-
function roundFloat(input, maxDecimals) {
|
|
4070
|
+
function roundFloat$1(input, maxDecimals) {
|
|
4086
4071
|
if (maxDecimals > 0) {
|
|
4087
4072
|
const powDecimal = Math.pow(10, maxDecimals);
|
|
4088
4073
|
return Math.trunc(input * powDecimal + 0.5) / powDecimal;
|
|
@@ -4106,9 +4091,9 @@ const MASKS = {
|
|
|
4106
4091
|
DD: [/[+-]/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '°']
|
|
4107
4092
|
}
|
|
4108
4093
|
};
|
|
4109
|
-
const noop$
|
|
4094
|
+
const noop$1 = () => {
|
|
4110
4095
|
};
|
|
4111
|
-
const ɵ0$
|
|
4096
|
+
const ɵ0$1 = noop$1;
|
|
4112
4097
|
class MatLatLongField {
|
|
4113
4098
|
constructor(platform, translate, formBuilder, cd, formGroupDir) {
|
|
4114
4099
|
this.platform = platform;
|
|
@@ -4116,8 +4101,8 @@ class MatLatLongField {
|
|
|
4116
4101
|
this.formBuilder = formBuilder;
|
|
4117
4102
|
this.cd = cd;
|
|
4118
4103
|
this.formGroupDir = formGroupDir;
|
|
4119
|
-
this._onChangeCallback = noop$
|
|
4120
|
-
this._onTouchedCallback = noop$
|
|
4104
|
+
this._onChangeCallback = noop$1;
|
|
4105
|
+
this._onTouchedCallback = noop$1;
|
|
4121
4106
|
this._subscription = new Subscription();
|
|
4122
4107
|
this.disabling = false;
|
|
4123
4108
|
this.writing = false;
|
|
@@ -4453,14 +4438,14 @@ SharedMatLatLongModule.decorators = [
|
|
|
4453
4438
|
},] }
|
|
4454
4439
|
];
|
|
4455
4440
|
|
|
4456
|
-
const DEFAULT_VALUE_ACCESSOR
|
|
4441
|
+
const DEFAULT_VALUE_ACCESSOR = {
|
|
4457
4442
|
provide: NG_VALUE_ACCESSOR,
|
|
4458
4443
|
useExisting: forwardRef(() => MatDate),
|
|
4459
4444
|
multi: true
|
|
4460
4445
|
};
|
|
4461
|
-
const DAY_MASK
|
|
4462
|
-
const noop$
|
|
4463
|
-
const ɵ0$
|
|
4446
|
+
const DAY_MASK = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
|
|
4447
|
+
const noop$2 = () => { };
|
|
4448
|
+
const ɵ0$2 = noop$2;
|
|
4464
4449
|
class MatDate {
|
|
4465
4450
|
constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
4466
4451
|
this.dateAdapter = dateAdapter;
|
|
@@ -4469,12 +4454,12 @@ class MatDate {
|
|
|
4469
4454
|
this.cd = cd;
|
|
4470
4455
|
this.keyboard = keyboard;
|
|
4471
4456
|
this.formGroupDir = formGroupDir;
|
|
4472
|
-
this._onChangeCallback = noop$
|
|
4473
|
-
this._onTouchedCallback = noop$
|
|
4457
|
+
this._onChangeCallback = noop$2;
|
|
4458
|
+
this._onTouchedCallback = noop$2;
|
|
4474
4459
|
this._subscription = new Subscription();
|
|
4475
4460
|
this.writing = true;
|
|
4476
4461
|
this.disabling = false;
|
|
4477
|
-
this.dayMask = DAY_MASK
|
|
4462
|
+
this.dayMask = DAY_MASK;
|
|
4478
4463
|
this.disabled = false;
|
|
4479
4464
|
this.floatLabel = 'auto';
|
|
4480
4465
|
this.readonly = false;
|
|
@@ -4599,44 +4584,6 @@ class MatDate {
|
|
|
4599
4584
|
this.markForCheck();
|
|
4600
4585
|
this._onChangeCallback(dateStr);
|
|
4601
4586
|
}
|
|
4602
|
-
updatePattern(pattern) {
|
|
4603
|
-
pattern = pattern !== 'COMMON.DATE_PATTERN' ? pattern : 'L';
|
|
4604
|
-
if (this.displayPattern !== pattern) {
|
|
4605
|
-
this.displayPattern = pattern;
|
|
4606
|
-
this.dayPattern = pattern;
|
|
4607
|
-
this.markForCheck();
|
|
4608
|
-
}
|
|
4609
|
-
}
|
|
4610
|
-
onFormChange(dayValue) {
|
|
4611
|
-
if (this.writing)
|
|
4612
|
-
return; // Skip if call by self
|
|
4613
|
-
this.writing = true;
|
|
4614
|
-
// Make to remove placeholder chars
|
|
4615
|
-
while (dayValue && dayValue.indexOf(this.placeholderChar) !== -1) {
|
|
4616
|
-
dayValue = dayValue.replace(this.placeholderChar, '');
|
|
4617
|
-
}
|
|
4618
|
-
let date;
|
|
4619
|
-
// Parse day string
|
|
4620
|
-
date = dayValue && this.dateAdapter.parse(dayValue, this.dayPattern) || null;
|
|
4621
|
-
// Reset time
|
|
4622
|
-
date = date && date.utc(true).hour(0).minute(0).seconds(0).millisecond(0);
|
|
4623
|
-
// update date picker
|
|
4624
|
-
this._value = date && this.dateAdapter.parse(date.clone(), DATE_ISO_PATTERN);
|
|
4625
|
-
// Get the model value
|
|
4626
|
-
const dateStr = date && date.isValid() && this.dateAdapter.format(date, DATE_ISO_PATTERN).replace('+00:00', 'Z') || date;
|
|
4627
|
-
//console.debug("[mat-date-time] Setting date: ", dateStr);
|
|
4628
|
-
this.formControl.patchValue(dateStr, { emitEvent: false });
|
|
4629
|
-
//this.formControl.updateValueAndValidity();
|
|
4630
|
-
this.writing = false;
|
|
4631
|
-
this.markForCheck();
|
|
4632
|
-
this._onChangeCallback(dateStr);
|
|
4633
|
-
}
|
|
4634
|
-
checkIfTouched() {
|
|
4635
|
-
if (this.dayControl.touched) {
|
|
4636
|
-
this.markForCheck();
|
|
4637
|
-
this._onTouchedCallback();
|
|
4638
|
-
}
|
|
4639
|
-
}
|
|
4640
4587
|
openDatePickerIfMobile(event, datePicker) {
|
|
4641
4588
|
return __awaiter(this, void 0, void 0, function* () {
|
|
4642
4589
|
if (!this.mobile || event.defaultPrevented)
|
|
@@ -4676,7 +4623,45 @@ class MatDate {
|
|
|
4676
4623
|
}
|
|
4677
4624
|
});
|
|
4678
4625
|
}
|
|
4679
|
-
/* --
|
|
4626
|
+
/* -- private method -- */
|
|
4627
|
+
updatePattern(pattern) {
|
|
4628
|
+
pattern = pattern !== 'COMMON.DATE_PATTERN' ? pattern : 'L';
|
|
4629
|
+
if (this.displayPattern !== pattern) {
|
|
4630
|
+
this.displayPattern = pattern;
|
|
4631
|
+
this.dayPattern = pattern;
|
|
4632
|
+
this.markForCheck();
|
|
4633
|
+
}
|
|
4634
|
+
}
|
|
4635
|
+
onFormChange(dayValue) {
|
|
4636
|
+
if (this.writing)
|
|
4637
|
+
return; // Skip if call by self
|
|
4638
|
+
this.writing = true;
|
|
4639
|
+
// Make to remove placeholder chars
|
|
4640
|
+
while (dayValue && dayValue.indexOf(this.placeholderChar) !== -1) {
|
|
4641
|
+
dayValue = dayValue.replace(this.placeholderChar, '');
|
|
4642
|
+
}
|
|
4643
|
+
let date;
|
|
4644
|
+
// Parse day string
|
|
4645
|
+
date = dayValue && this.dateAdapter.parse(dayValue, this.dayPattern) || null;
|
|
4646
|
+
// Reset time
|
|
4647
|
+
date = date && date.utc(true).hour(0).minute(0).seconds(0).millisecond(0);
|
|
4648
|
+
// update date picker
|
|
4649
|
+
this._value = date && this.dateAdapter.parse(date.clone(), DATE_ISO_PATTERN);
|
|
4650
|
+
// Get the model value
|
|
4651
|
+
const dateStr = date && date.isValid() && this.dateAdapter.format(date, DATE_ISO_PATTERN).replace('+00:00', 'Z') || date;
|
|
4652
|
+
//console.debug("[mat-date-time] Setting date: ", dateStr);
|
|
4653
|
+
this.formControl.patchValue(dateStr, { emitEvent: false });
|
|
4654
|
+
//this.formControl.updateValueAndValidity();
|
|
4655
|
+
this.writing = false;
|
|
4656
|
+
this.markForCheck();
|
|
4657
|
+
this._onChangeCallback(dateStr);
|
|
4658
|
+
}
|
|
4659
|
+
checkIfTouched() {
|
|
4660
|
+
if (this.dayControl.touched) {
|
|
4661
|
+
this.markForCheck();
|
|
4662
|
+
this._onTouchedCallback();
|
|
4663
|
+
}
|
|
4664
|
+
}
|
|
4680
4665
|
waitKeyboardHide(waitKeyboardDelay) {
|
|
4681
4666
|
return __awaiter(this, void 0, void 0, function* () {
|
|
4682
4667
|
if (!this.keyboard || !this.keyboard.isVisible)
|
|
@@ -4711,7 +4696,7 @@ MatDate.decorators = [
|
|
|
4711
4696
|
selector: 'mat-date-field',
|
|
4712
4697
|
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",
|
|
4713
4698
|
providers: [
|
|
4714
|
-
DEFAULT_VALUE_ACCESSOR
|
|
4699
|
+
DEFAULT_VALUE_ACCESSOR,
|
|
4715
4700
|
],
|
|
4716
4701
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4717
4702
|
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%}"]
|
|
@@ -4744,17 +4729,17 @@ MatDate.propDecorators = {
|
|
|
4744
4729
|
matInputs: [{ type: ViewChildren, args: ['matInput',] }]
|
|
4745
4730
|
};
|
|
4746
4731
|
|
|
4747
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
4732
|
+
const DEFAULT_VALUE_ACCESSOR$1 = {
|
|
4748
4733
|
provide: NG_VALUE_ACCESSOR,
|
|
4749
4734
|
useExisting: forwardRef(() => MatDateTime),
|
|
4750
4735
|
multi: true
|
|
4751
4736
|
};
|
|
4752
4737
|
const DAY_MASK$1 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
|
|
4753
4738
|
const HOUR_REGEXP = /^[012][0-9][:][012345][0-9]$/;
|
|
4754
|
-
const HOUR_MASK
|
|
4755
|
-
const noop$
|
|
4739
|
+
const HOUR_MASK = [/[012]/, /\d/, ':', /[012345]/, /\d/];
|
|
4740
|
+
const noop$3 = () => {
|
|
4756
4741
|
};
|
|
4757
|
-
const ɵ0$
|
|
4742
|
+
const ɵ0$3 = noop$3;
|
|
4758
4743
|
class MatDateTime {
|
|
4759
4744
|
constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
4760
4745
|
this.platform = platform;
|
|
@@ -4764,14 +4749,14 @@ class MatDateTime {
|
|
|
4764
4749
|
this.cd = cd;
|
|
4765
4750
|
this.keyboard = keyboard;
|
|
4766
4751
|
this.formGroupDir = formGroupDir;
|
|
4767
|
-
this._onChangeCallback = noop$
|
|
4768
|
-
this._onTouchedCallback = noop$
|
|
4752
|
+
this._onChangeCallback = noop$3;
|
|
4753
|
+
this._onTouchedCallback = noop$3;
|
|
4769
4754
|
this._subscription = new Subscription();
|
|
4770
4755
|
this.writing = true;
|
|
4771
4756
|
this.disabling = false;
|
|
4772
4757
|
this._readonly = false;
|
|
4773
4758
|
this.dayMask = DAY_MASK$1;
|
|
4774
|
-
this.hourMask = HOUR_MASK
|
|
4759
|
+
this.hourMask = HOUR_MASK;
|
|
4775
4760
|
this.floatLabel = 'auto';
|
|
4776
4761
|
this.compact = false;
|
|
4777
4762
|
this.placeholderChar = DEFAULT_PLACEHOLDER_CHAR;
|
|
@@ -4801,7 +4786,7 @@ class MatDateTime {
|
|
|
4801
4786
|
}
|
|
4802
4787
|
ngOnInit() {
|
|
4803
4788
|
this.mobile = isNil(this.mobile) ? this.platform.is('mobile') : this.mobile;
|
|
4804
|
-
this.
|
|
4789
|
+
this.keyboardHideDelay = this.mobile && KEYBOARD_HIDE_DELAY_MS || 0;
|
|
4805
4790
|
this.formControl = this.formControl || this.formControlName && this.formGroupDir && this.formGroupDir.form.get(this.formControlName);
|
|
4806
4791
|
if (!this.formControl)
|
|
4807
4792
|
throw new Error('Missing mandatory attribute \'formControl\' or \'formControlName\' in <mat-date-time-field>.');
|
|
@@ -4925,10 +4910,6 @@ class MatDateTime {
|
|
|
4925
4910
|
this.disabling = false;
|
|
4926
4911
|
this.markForCheck();
|
|
4927
4912
|
}
|
|
4928
|
-
updatePattern(patterns) {
|
|
4929
|
-
this.displayPattern = (patterns['COMMON.DATE_TIME_PATTERN'] !== 'COMMON.DATE_TIME_PATTERN' ? patterns['COMMON.DATE_TIME_PATTERN'] : 'L LT');
|
|
4930
|
-
this.dayPattern = (patterns['COMMON.DATE_PATTERN'] !== 'COMMON.DATE_PATTERN' ? patterns['COMMON.DATE_PATTERN'] : 'L');
|
|
4931
|
-
}
|
|
4932
4913
|
onDatePickerChange(event) {
|
|
4933
4914
|
// Make sure event is valid
|
|
4934
4915
|
if (!event || (event.value !== null && !isMoment(event.value))) {
|
|
@@ -4966,7 +4947,7 @@ class MatDateTime {
|
|
|
4966
4947
|
return;
|
|
4967
4948
|
this.preventEvent(event);
|
|
4968
4949
|
// Make sure the keyboard is closed
|
|
4969
|
-
yield this.
|
|
4950
|
+
yield this.waitKeyboardHide(false);
|
|
4970
4951
|
// Open the picker
|
|
4971
4952
|
this.openDatePicker(null, datePicker);
|
|
4972
4953
|
});
|
|
@@ -4987,7 +4968,7 @@ class MatDateTime {
|
|
|
4987
4968
|
return;
|
|
4988
4969
|
this.preventEvent(event);
|
|
4989
4970
|
// Make sure the keyboard is closed
|
|
4990
|
-
yield this.
|
|
4971
|
+
yield this.waitKeyboardHide(true);
|
|
4991
4972
|
// Open the picker
|
|
4992
4973
|
this.openTimePicker(null);
|
|
4993
4974
|
});
|
|
@@ -5006,12 +4987,6 @@ class MatDateTime {
|
|
|
5006
4987
|
event.stopPropagation();
|
|
5007
4988
|
event.returnValue = false;
|
|
5008
4989
|
}
|
|
5009
|
-
checkIfTouched() {
|
|
5010
|
-
if (this.dateFormControl.touched || this.timeFormControl.touched) {
|
|
5011
|
-
this._onTouchedCallback();
|
|
5012
|
-
this.markForCheck();
|
|
5013
|
-
}
|
|
5014
|
-
}
|
|
5015
4990
|
focus() {
|
|
5016
4991
|
if (!this.matInputs.length)
|
|
5017
4992
|
return;
|
|
@@ -5027,7 +5002,31 @@ class MatDateTime {
|
|
|
5027
5002
|
this.markAsTouched();
|
|
5028
5003
|
this.markAsDirty();
|
|
5029
5004
|
}
|
|
5030
|
-
/* --
|
|
5005
|
+
/* -- private method -- */
|
|
5006
|
+
updatePattern(patterns) {
|
|
5007
|
+
this.displayPattern = (patterns['COMMON.DATE_TIME_PATTERN'] !== 'COMMON.DATE_TIME_PATTERN' ? patterns['COMMON.DATE_TIME_PATTERN'] : 'L LT');
|
|
5008
|
+
this.dayPattern = (patterns['COMMON.DATE_PATTERN'] !== 'COMMON.DATE_PATTERN' ? patterns['COMMON.DATE_PATTERN'] : 'L');
|
|
5009
|
+
}
|
|
5010
|
+
checkIfTouched() {
|
|
5011
|
+
if (this.dateFormControl.touched || this.timeFormControl.touched) {
|
|
5012
|
+
this._onTouchedCallback();
|
|
5013
|
+
this.markForCheck();
|
|
5014
|
+
}
|
|
5015
|
+
}
|
|
5016
|
+
waitKeyboardHide(waitKeyboardDelay) {
|
|
5017
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
5018
|
+
if (!this.keyboard || !this.keyboard.isVisible)
|
|
5019
|
+
return; // ok, already hidden (or not accessible)
|
|
5020
|
+
// Force keyboard to be hide
|
|
5021
|
+
this.keyboard.hide();
|
|
5022
|
+
// Wait hide occur
|
|
5023
|
+
yield this.keyboard.onKeyboardHide().pipe(first()).toPromise();
|
|
5024
|
+
// Wait an additional delay if need (depending on the OS)
|
|
5025
|
+
if (this.keyboardHideDelay > 0 && waitKeyboardDelay) {
|
|
5026
|
+
yield sleep(this.keyboardHideDelay);
|
|
5027
|
+
}
|
|
5028
|
+
});
|
|
5029
|
+
}
|
|
5031
5030
|
emitChange(value) {
|
|
5032
5031
|
// Get the model value
|
|
5033
5032
|
const dateStr = toDateISOString(value) || null;
|
|
@@ -5040,20 +5039,6 @@ class MatDateTime {
|
|
|
5040
5039
|
this.checkIfTouched();
|
|
5041
5040
|
}
|
|
5042
5041
|
}
|
|
5043
|
-
hideKeyboard(waitIsHidden) {
|
|
5044
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
5045
|
-
if (!this.keyboard.isVisible)
|
|
5046
|
-
return; // ok, already hidden
|
|
5047
|
-
// Force keyboard to be hide
|
|
5048
|
-
this.keyboard.hide();
|
|
5049
|
-
// Wait hide occur
|
|
5050
|
-
yield this.keyboard.onKeyboardHide().pipe(first()).toPromise();
|
|
5051
|
-
// Wait an additional delay if need (depending on the OS)
|
|
5052
|
-
if (this.waitHideKeyboardDelay > 0 && waitIsHidden) {
|
|
5053
|
-
yield sleep(this.waitHideKeyboardDelay);
|
|
5054
|
-
}
|
|
5055
|
-
});
|
|
5056
|
-
}
|
|
5057
5042
|
updateTabIndex() {
|
|
5058
5043
|
if (isNil(this._tabindex) || this._tabindex === -1)
|
|
5059
5044
|
return; // skip
|
|
@@ -5083,7 +5068,7 @@ MatDateTime.decorators = [
|
|
|
5083
5068
|
selector: 'mat-date-time-field',
|
|
5084
5069
|
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",
|
|
5085
5070
|
providers: [
|
|
5086
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
5071
|
+
DEFAULT_VALUE_ACCESSOR$1,
|
|
5087
5072
|
],
|
|
5088
5073
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
5089
5074
|
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%}"]
|
|
@@ -5117,15 +5102,15 @@ MatDateTime.propDecorators = {
|
|
|
5117
5102
|
matInputs: [{ type: ViewChildren, args: ['matInput',] }]
|
|
5118
5103
|
};
|
|
5119
5104
|
|
|
5120
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
5105
|
+
const DEFAULT_VALUE_ACCESSOR$2 = {
|
|
5121
5106
|
provide: NG_VALUE_ACCESSOR,
|
|
5122
5107
|
useExisting: forwardRef(() => MatDateShort),
|
|
5123
5108
|
multi: true
|
|
5124
5109
|
};
|
|
5125
|
-
const DAY_MASK = [/\d/, /\d/, /\d/, /\d/];
|
|
5110
|
+
const DAY_MASK$2 = [/\d/, /\d/, /\d/, /\d/];
|
|
5126
5111
|
const noop$4 = () => {
|
|
5127
5112
|
};
|
|
5128
|
-
const ɵ0$
|
|
5113
|
+
const ɵ0$4 = noop$4;
|
|
5129
5114
|
class MatDateShort {
|
|
5130
5115
|
constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
5131
5116
|
this.dateAdapter = dateAdapter;
|
|
@@ -5138,7 +5123,7 @@ class MatDateShort {
|
|
|
5138
5123
|
this._onTouchedCallback = noop$4;
|
|
5139
5124
|
this.writing = true;
|
|
5140
5125
|
this.disabling = false;
|
|
5141
|
-
this.dayMask = DAY_MASK;
|
|
5126
|
+
this.dayMask = DAY_MASK$2;
|
|
5142
5127
|
this.disabled = false;
|
|
5143
5128
|
this.floatLabel = 'auto';
|
|
5144
5129
|
this.readonly = false;
|
|
@@ -5383,7 +5368,7 @@ MatDateShort.decorators = [
|
|
|
5383
5368
|
selector: 'mat-date-short-field',
|
|
5384
5369
|
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",
|
|
5385
5370
|
providers: [
|
|
5386
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
5371
|
+
DEFAULT_VALUE_ACCESSOR$2,
|
|
5387
5372
|
],
|
|
5388
5373
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
5389
5374
|
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%}"]
|
|
@@ -5451,16 +5436,16 @@ SharedMatDateTimeModule.decorators = [
|
|
|
5451
5436
|
},] }
|
|
5452
5437
|
];
|
|
5453
5438
|
|
|
5454
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
5439
|
+
const DEFAULT_VALUE_ACCESSOR$3 = {
|
|
5455
5440
|
provide: NG_VALUE_ACCESSOR,
|
|
5456
5441
|
useExisting: forwardRef(() => MatDuration),
|
|
5457
5442
|
multi: true
|
|
5458
5443
|
};
|
|
5459
5444
|
const HOUR_TIME_PATTERN = /[0-9]\d\d:[0-5]\d/;
|
|
5460
|
-
const HOUR_MASK = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
|
|
5461
|
-
const noop$
|
|
5445
|
+
const HOUR_MASK$1 = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
|
|
5446
|
+
const noop$5 = () => {
|
|
5462
5447
|
};
|
|
5463
|
-
const ɵ0$
|
|
5448
|
+
const ɵ0$5 = noop$5;
|
|
5464
5449
|
class MatDuration {
|
|
5465
5450
|
constructor(platform, dateAdapter, translate, formBuilder, cd, formGroupDir) {
|
|
5466
5451
|
this.dateAdapter = dateAdapter;
|
|
@@ -5469,11 +5454,11 @@ class MatDuration {
|
|
|
5469
5454
|
this.cd = cd;
|
|
5470
5455
|
this.formGroupDir = formGroupDir;
|
|
5471
5456
|
this._subscription = new Subscription();
|
|
5472
|
-
this._onChangeCallback = noop$
|
|
5473
|
-
this._onTouchedCallback = noop$
|
|
5457
|
+
this._onChangeCallback = noop$5;
|
|
5458
|
+
this._onTouchedCallback = noop$5;
|
|
5474
5459
|
this.writing = true;
|
|
5475
5460
|
this.disabling = false;
|
|
5476
|
-
this.hourMask = HOUR_MASK;
|
|
5461
|
+
this.hourMask = HOUR_MASK$1;
|
|
5477
5462
|
this.disabled = false;
|
|
5478
5463
|
this.floatLabel = 'auto';
|
|
5479
5464
|
this.readonly = false;
|
|
@@ -5653,7 +5638,7 @@ MatDuration.decorators = [
|
|
|
5653
5638
|
selector: 'mat-duration-field',
|
|
5654
5639
|
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",
|
|
5655
5640
|
providers: [
|
|
5656
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
5641
|
+
DEFAULT_VALUE_ACCESSOR$3,
|
|
5657
5642
|
],
|
|
5658
5643
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
5659
5644
|
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%}"]
|
|
@@ -5710,22 +5695,22 @@ SharedMatDurationModule.decorators = [
|
|
|
5710
5695
|
},] }
|
|
5711
5696
|
];
|
|
5712
5697
|
|
|
5713
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
5698
|
+
const DEFAULT_VALUE_ACCESSOR$4 = {
|
|
5714
5699
|
provide: NG_VALUE_ACCESSOR,
|
|
5715
5700
|
useExisting: forwardRef(() => MatBooleanField),
|
|
5716
5701
|
multi: true
|
|
5717
5702
|
};
|
|
5718
|
-
const noop$
|
|
5703
|
+
const noop$6 = () => {
|
|
5719
5704
|
};
|
|
5720
|
-
const ɵ0$
|
|
5705
|
+
const ɵ0$6 = noop$6;
|
|
5721
5706
|
class MatBooleanField {
|
|
5722
5707
|
constructor(translate, formBuilder, cd, formGroupDir) {
|
|
5723
5708
|
this.translate = translate;
|
|
5724
5709
|
this.formBuilder = formBuilder;
|
|
5725
5710
|
this.cd = cd;
|
|
5726
5711
|
this.formGroupDir = formGroupDir;
|
|
5727
|
-
this._onChangeCallback = noop$
|
|
5728
|
-
this._onTouchedCallback = noop$
|
|
5712
|
+
this._onChangeCallback = noop$6;
|
|
5713
|
+
this._onTouchedCallback = noop$6;
|
|
5729
5714
|
this._writing = false;
|
|
5730
5715
|
this.showRadio = false;
|
|
5731
5716
|
this.disabled = false;
|
|
@@ -5886,9 +5871,9 @@ class MatBooleanField {
|
|
|
5886
5871
|
MatBooleanField.decorators = [
|
|
5887
5872
|
{ type: Component, args: [{
|
|
5888
5873
|
selector: 'mat-boolean-field',
|
|
5889
|
-
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
|
|
5874
|
+
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",
|
|
5890
5875
|
providers: [
|
|
5891
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
5876
|
+
DEFAULT_VALUE_ACCESSOR$4
|
|
5892
5877
|
],
|
|
5893
5878
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
5894
5879
|
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}"]
|
|
@@ -5924,8 +5909,7 @@ MatBooleanField.propDecorators = {
|
|
|
5924
5909
|
yesButton: [{ type: ViewChild, args: ['yesButton',] }],
|
|
5925
5910
|
noButton: [{ type: ViewChild, args: ['noButton',] }],
|
|
5926
5911
|
checkboxButton: [{ type: ViewChild, args: ['checkboxButton',] }],
|
|
5927
|
-
fakeInput: [{ type: ViewChild, args: ['fakeInput',] }]
|
|
5928
|
-
suffixDiv: [{ type: ViewChild, args: ['suffix', { static: false },] }]
|
|
5912
|
+
fakeInput: [{ type: ViewChild, args: ['fakeInput',] }]
|
|
5929
5913
|
};
|
|
5930
5914
|
|
|
5931
5915
|
class SharedMatBooleanModule {
|
|
@@ -6135,7 +6119,7 @@ class MatNumpadDomService {
|
|
|
6135
6119
|
this.appRef.detachView(this.componentRef.hostView);
|
|
6136
6120
|
}
|
|
6137
6121
|
}
|
|
6138
|
-
MatNumpadDomService.ɵprov =
|
|
6122
|
+
MatNumpadDomService.ɵprov = ɵɵdefineInjectable({ factory: function MatNumpadDomService_Factory() { return new MatNumpadDomService(ɵɵinject(ComponentFactoryResolver), ɵɵinject(ApplicationRef), ɵɵinject(INJECTOR), ɵɵinject(DOCUMENT, 8)); }, token: MatNumpadDomService, providedIn: "root" });
|
|
6139
6123
|
MatNumpadDomService.decorators = [
|
|
6140
6124
|
{ type: Injectable, args: [{
|
|
6141
6125
|
providedIn: 'root'
|
|
@@ -6499,7 +6483,7 @@ SharedMatNumpadModule.decorators = [
|
|
|
6499
6483
|
},] }
|
|
6500
6484
|
];
|
|
6501
6485
|
|
|
6502
|
-
const DEFAULT_VALUE_ACCESSOR = {
|
|
6486
|
+
const DEFAULT_VALUE_ACCESSOR$5 = {
|
|
6503
6487
|
provide: NG_VALUE_ACCESSOR,
|
|
6504
6488
|
useExisting: forwardRef(() => MatSwipeField),
|
|
6505
6489
|
multi: true
|
|
@@ -6762,7 +6746,7 @@ MatSwipeField.decorators = [
|
|
|
6762
6746
|
{ type: Component, args: [{
|
|
6763
6747
|
selector: 'mat-swipe-field',
|
|
6764
6748
|
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],
|
|
6749
|
+
providers: [DEFAULT_VALUE_ACCESSOR$5],
|
|
6766
6750
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
6767
6751
|
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
6752
|
},] }
|
|
@@ -6820,14 +6804,14 @@ SharedMatSwipeModule.decorators = [
|
|
|
6820
6804
|
},] }
|
|
6821
6805
|
];
|
|
6822
6806
|
|
|
6823
|
-
const noop$
|
|
6824
|
-
const ɵ0$
|
|
6807
|
+
const noop$7 = () => { };
|
|
6808
|
+
const ɵ0$7 = noop$7;
|
|
6825
6809
|
class MatChipsField {
|
|
6826
6810
|
constructor(cd, formGroupDir) {
|
|
6827
6811
|
this.cd = cd;
|
|
6828
6812
|
this.formGroupDir = formGroupDir;
|
|
6829
|
-
this._onChangeCallback = noop$
|
|
6830
|
-
this._onTouchedCallback = noop$
|
|
6813
|
+
this._onChangeCallback = noop$7;
|
|
6814
|
+
this._onTouchedCallback = noop$7;
|
|
6831
6815
|
this.logPrefix = '[mat-chips] ';
|
|
6832
6816
|
this.formControlName = null;
|
|
6833
6817
|
this.required = false;
|
|
@@ -7613,7 +7597,7 @@ class ProgressBarService {
|
|
|
7613
7597
|
}
|
|
7614
7598
|
}
|
|
7615
7599
|
}
|
|
7616
|
-
ProgressBarService.ɵprov =
|
|
7600
|
+
ProgressBarService.ɵprov = ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
|
|
7617
7601
|
ProgressBarService.decorators = [
|
|
7618
7602
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
7619
7603
|
];
|
|
@@ -7657,7 +7641,7 @@ class AppGestureConfig extends HammerGestureConfig {
|
|
|
7657
7641
|
return mc;
|
|
7658
7642
|
}
|
|
7659
7643
|
}
|
|
7660
|
-
AppGestureConfig.ɵprov =
|
|
7644
|
+
AppGestureConfig.ɵprov = ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
|
|
7661
7645
|
AppGestureConfig.decorators = [
|
|
7662
7646
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
7663
7647
|
];
|
|
@@ -7882,7 +7866,7 @@ class MatPaginatorI18n extends MatPaginatorIntl {
|
|
|
7882
7866
|
this.previousPageLabel = this.translate.instant('COMMON.PAGINATOR.PREVIOUS_PAGE');
|
|
7883
7867
|
}
|
|
7884
7868
|
}
|
|
7885
|
-
MatPaginatorI18n.ɵprov =
|
|
7869
|
+
MatPaginatorI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(ɵɵinject(TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
|
|
7886
7870
|
MatPaginatorI18n.decorators = [
|
|
7887
7871
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
7888
7872
|
];
|
|
@@ -7972,17 +7956,17 @@ function getColorContrast(color, bw) {
|
|
|
7972
7956
|
return rgbArrayToHex(rgb.map(v => 255 - v));
|
|
7973
7957
|
}
|
|
7974
7958
|
|
|
7975
|
-
const noop = () => {
|
|
7959
|
+
const noop$8 = () => {
|
|
7976
7960
|
};
|
|
7977
|
-
const ɵ0$
|
|
7961
|
+
const ɵ0$8 = noop$8;
|
|
7978
7962
|
class AppFormField {
|
|
7979
7963
|
constructor(translate, cd, injector, formGroupDir) {
|
|
7980
7964
|
this.translate = translate;
|
|
7981
7965
|
this.cd = cd;
|
|
7982
7966
|
this.injector = injector;
|
|
7983
7967
|
this.formGroupDir = formGroupDir;
|
|
7984
|
-
this._onChangeCallback = noop;
|
|
7985
|
-
this._onTouchedCallback = noop;
|
|
7968
|
+
this._onChangeCallback = noop$8;
|
|
7969
|
+
this._onTouchedCallback = noop$8;
|
|
7986
7970
|
this.readonly = false;
|
|
7987
7971
|
this.compact = false;
|
|
7988
7972
|
this.floatLabel = 'auto';
|
|
@@ -8415,14 +8399,14 @@ class AudioProvider extends StartableService {
|
|
|
8415
8399
|
});
|
|
8416
8400
|
}
|
|
8417
8401
|
}
|
|
8418
|
-
AudioProvider.ɵprov =
|
|
8402
|
+
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" });
|
|
8419
8403
|
AudioProvider.decorators = [
|
|
8420
8404
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
8421
8405
|
];
|
|
8422
8406
|
AudioProvider.ctorParameters = () => [
|
|
8423
8407
|
{ type: Platform },
|
|
8424
|
-
{ type: NativeAudio, decorators: [{ type: Optional }] },
|
|
8425
|
-
{ type: Vibration, decorators: [{ type: Optional }] },
|
|
8408
|
+
{ type: NativeAudio$1, decorators: [{ type: Optional }] },
|
|
8409
|
+
{ type: Vibration$1, decorators: [{ type: Optional }] },
|
|
8426
8410
|
{ type: AudioManagement, decorators: [{ type: Optional }] }
|
|
8427
8411
|
];
|
|
8428
8412
|
|
|
@@ -8504,7 +8488,7 @@ class Hotkeys {
|
|
|
8504
8488
|
});
|
|
8505
8489
|
}
|
|
8506
8490
|
}
|
|
8507
|
-
Hotkeys.ɵprov =
|
|
8491
|
+
Hotkeys.ɵprov = ɵɵdefineInjectable({ factory: function Hotkeys_Factory() { return new Hotkeys(ɵɵinject(EventManager), ɵɵinject(MatDialog), ɵɵinject(DOCUMENT), ɵɵinject(ModalController)); }, token: Hotkeys, providedIn: "root" });
|
|
8508
8492
|
Hotkeys.decorators = [
|
|
8509
8493
|
{ type: Injectable, args: [{
|
|
8510
8494
|
providedIn: 'root'
|
|
@@ -8678,7 +8662,7 @@ class Base64ImageReader {
|
|
|
8678
8662
|
}
|
|
8679
8663
|
}
|
|
8680
8664
|
|
|
8681
|
-
const uuidv4
|
|
8665
|
+
const uuidv4 = uuidv4Imported;
|
|
8682
8666
|
class FileService {
|
|
8683
8667
|
constructor(platform,
|
|
8684
8668
|
//private transfer: FileTransfer,
|
|
@@ -8715,7 +8699,7 @@ class FileService {
|
|
|
8715
8699
|
const lastSlashIndex = source.lastIndexOf('/');
|
|
8716
8700
|
if (lastSlashIndex === -1)
|
|
8717
8701
|
throw new Error('Invalid URL: ' + source);
|
|
8718
|
-
const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4
|
|
8702
|
+
const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4();
|
|
8719
8703
|
// Download into the file system
|
|
8720
8704
|
if (responseType === 'file' && this.canUseFileSystem) {
|
|
8721
8705
|
console.warn(`WARN: [file] Fetching image {${source}} in local file...`);
|
|
@@ -8771,7 +8755,7 @@ class FileService {
|
|
|
8771
8755
|
this._started = true;
|
|
8772
8756
|
}
|
|
8773
8757
|
}
|
|
8774
|
-
FileService.ɵprov =
|
|
8758
|
+
FileService.ɵprov = ɵɵdefineInjectable({ factory: function FileService_Factory() { return new FileService(ɵɵinject(Platform), ɵɵinject(HttpClient), ɵɵinject(ENVIRONMENT)); }, token: FileService, providedIn: "root" });
|
|
8775
8759
|
FileService.decorators = [
|
|
8776
8760
|
{ type: Injectable, args: [{
|
|
8777
8761
|
providedIn: 'root',
|
|
@@ -8937,7 +8921,7 @@ class Base58 {
|
|
|
8937
8921
|
Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
|
|
8938
8922
|
|
|
8939
8923
|
const scrypt = require('scrypt-async');
|
|
8940
|
-
const sha256
|
|
8924
|
+
const sha256 = require('hash.js/lib/hash/sha/256');
|
|
8941
8925
|
const sha512 = require('hash.js/lib/hash/sha/512');
|
|
8942
8926
|
const nacl = {
|
|
8943
8927
|
sign,
|
|
@@ -9041,7 +9025,7 @@ class CryptoService {
|
|
|
9041
9025
|
* Hash (using SHA256) a message
|
|
9042
9026
|
*/
|
|
9043
9027
|
sha256(message) {
|
|
9044
|
-
return sha256
|
|
9028
|
+
return sha256().update(message).digest('hex');
|
|
9045
9029
|
}
|
|
9046
9030
|
/**
|
|
9047
9031
|
* Hash (using SHA512) a message
|
|
@@ -9054,7 +9038,7 @@ class CryptoService {
|
|
|
9054
9038
|
return nacl.util.encodeBase64(m);
|
|
9055
9039
|
}
|
|
9056
9040
|
}
|
|
9057
|
-
CryptoService.ɵprov =
|
|
9041
|
+
CryptoService.ɵprov = ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
|
|
9058
9042
|
CryptoService.decorators = [
|
|
9059
9043
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
9060
9044
|
];
|
|
@@ -10282,7 +10266,7 @@ class LocalSettingsService extends StartableService {
|
|
|
10282
10266
|
return page;
|
|
10283
10267
|
}
|
|
10284
10268
|
}
|
|
10285
|
-
LocalSettingsService.ɵprov =
|
|
10269
|
+
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" });
|
|
10286
10270
|
LocalSettingsService.decorators = [
|
|
10287
10271
|
{ type: Injectable, args: [{
|
|
10288
10272
|
providedIn: 'root',
|
|
@@ -10940,7 +10924,7 @@ class NetworkService extends StartableService {
|
|
|
10940
10924
|
});
|
|
10941
10925
|
}
|
|
10942
10926
|
}
|
|
10943
|
-
NetworkService.ɵprov =
|
|
10927
|
+
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" });
|
|
10944
10928
|
NetworkService.decorators = [
|
|
10945
10929
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
10946
10930
|
];
|
|
@@ -10951,16 +10935,16 @@ NetworkService.ctorParameters = () => [
|
|
|
10951
10935
|
{ type: CryptoService },
|
|
10952
10936
|
{ type: Storage },
|
|
10953
10937
|
{ type: LocalSettingsService },
|
|
10954
|
-
{ type: CacheService },
|
|
10938
|
+
{ type: CacheService$1 },
|
|
10955
10939
|
{ type: HttpClient },
|
|
10956
10940
|
{ type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
|
|
10957
|
-
{ type: Network, decorators: [{ type: Optional }] },
|
|
10958
|
-
{ type: SplashScreen, decorators: [{ type: Optional }] },
|
|
10941
|
+
{ type: Network$1, decorators: [{ type: Optional }] },
|
|
10942
|
+
{ type: SplashScreen$1, decorators: [{ type: Optional }] },
|
|
10959
10943
|
{ type: TranslateService, decorators: [{ type: Optional }] },
|
|
10960
10944
|
{ type: ToastController, decorators: [{ type: Optional }] }
|
|
10961
10945
|
];
|
|
10962
10946
|
|
|
10963
|
-
const ErrorCodes
|
|
10947
|
+
const ErrorCodes = {
|
|
10964
10948
|
UNKNOWN_ERROR: 0,
|
|
10965
10949
|
LOAD_ACCOUNT_ERROR: 1,
|
|
10966
10950
|
BAD_PASSWORD: 2,
|
|
@@ -11312,7 +11296,7 @@ class EntityStore {
|
|
|
11312
11296
|
}
|
|
11313
11297
|
catch (err) {
|
|
11314
11298
|
console.error(err);
|
|
11315
|
-
throw { code: ErrorCodes
|
|
11299
|
+
throw { code: ErrorCodes.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err };
|
|
11316
11300
|
}
|
|
11317
11301
|
}
|
|
11318
11302
|
// Emit update event
|
|
@@ -11886,7 +11870,7 @@ class EntitiesStorage extends StartableService {
|
|
|
11886
11870
|
}
|
|
11887
11871
|
EntitiesStorage.TRASH_PREFIX = 'Trash#';
|
|
11888
11872
|
EntitiesStorage.REMOTE_PREFIX = 'Remote#';
|
|
11889
|
-
EntitiesStorage.ɵprov =
|
|
11873
|
+
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" });
|
|
11890
11874
|
EntitiesStorage.decorators = [
|
|
11891
11875
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
11892
11876
|
];
|
|
@@ -12023,10 +12007,10 @@ function referentialToString(obj, properties) {
|
|
|
12023
12007
|
function referentialsToString(values, properties, separator) {
|
|
12024
12008
|
return (values || []).map(v => referentialToString(v, properties)).join(separator || ', ');
|
|
12025
12009
|
}
|
|
12026
|
-
const ɵ0$
|
|
12010
|
+
const ɵ0$9 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
|
|
12027
12011
|
const StatusList = Object.freeze([
|
|
12028
12012
|
{
|
|
12029
|
-
id: ɵ0$
|
|
12013
|
+
id: ɵ0$9,
|
|
12030
12014
|
icon: 'checkmark',
|
|
12031
12015
|
label: 'REFERENTIAL.STATUS_ENUM.ENABLE'
|
|
12032
12016
|
},
|
|
@@ -12301,7 +12285,7 @@ function accountToString(data) {
|
|
|
12301
12285
|
(data.lastName || '')) || '';
|
|
12302
12286
|
}
|
|
12303
12287
|
|
|
12304
|
-
const uuidv4 = uuidv4Imported;
|
|
12288
|
+
const uuidv4$1 = uuidv4Imported;
|
|
12305
12289
|
const _global = typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : {});
|
|
12306
12290
|
const NativeWebSocket = _global.WebSocket || _global.MozWebSocket;
|
|
12307
12291
|
/**
|
|
@@ -12345,7 +12329,7 @@ function createTrackerLink(opts) {
|
|
|
12345
12329
|
// Skip if not tracked
|
|
12346
12330
|
if (!context || !context.tracked)
|
|
12347
12331
|
return forward(operation);
|
|
12348
|
-
const id = context.serializationKey || uuidv4();
|
|
12332
|
+
const id = context.serializationKey || uuidv4$1();
|
|
12349
12333
|
console.debug(`[apollo-tracker-link] Watching tracked query {${operation.operationName}#${id}}`);
|
|
12350
12334
|
// Clean context, before calling JSON.stringify (remove unused attributes)
|
|
12351
12335
|
const cleanContext = Object.assign(Object.assign({}, context), { optimisticResponse: null, cache: null });
|
|
@@ -13010,7 +12994,7 @@ class GraphqlService extends StartableService {
|
|
|
13010
12994
|
(err.networkError && ((err.networkError.error && this.toAppError(err.networkError.error))
|
|
13011
12995
|
|| this.toAppError(err.networkError)
|
|
13012
12996
|
|| (err.networkError.error && this.createAppErrorByCode(err.networkError.error.status))
|
|
13013
|
-
|| this.createAppErrorByCode(ErrorCodes
|
|
12997
|
+
|| this.createAppErrorByCode(ErrorCodes.UNKNOWN_NETWORK_ERROR)))
|
|
13014
12998
|
// If graphQL: try to convert the first error found
|
|
13015
12999
|
|| (err.graphQLErrors && err.graphQLErrors.length && this.toAppError(err.graphQLErrors[0]))
|
|
13016
13000
|
|| this.toAppError(err)
|
|
@@ -13018,7 +13002,7 @@ class GraphqlService extends StartableService {
|
|
|
13018
13002
|
|| (err.graphQLErrors && err.graphQLErrors[0])
|
|
13019
13003
|
|| err;
|
|
13020
13004
|
console.error('[graphql] ' + (error && error.message || error), error.stack || '');
|
|
13021
|
-
if (error && error.code === ErrorCodes
|
|
13005
|
+
if (error && error.code === ErrorCodes.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
|
|
13022
13006
|
console.error('[graphql] original error: ' + err.networkError.message);
|
|
13023
13007
|
this.onNetworkError.next(error);
|
|
13024
13008
|
}
|
|
@@ -13054,7 +13038,7 @@ class GraphqlService extends StartableService {
|
|
|
13054
13038
|
return 'ERROR.UNAUTHORIZED';
|
|
13055
13039
|
case ServerErrorCodes.FORBIDDEN:
|
|
13056
13040
|
return 'ERROR.FORBIDDEN';
|
|
13057
|
-
case ErrorCodes
|
|
13041
|
+
case ErrorCodes.UNKNOWN_NETWORK_ERROR:
|
|
13058
13042
|
return 'ERROR.UNKNOWN_NETWORK_ERROR';
|
|
13059
13043
|
case ServerErrorCodes.BAD_UPDATE_DATE:
|
|
13060
13044
|
return 'ERROR.BAD_UPDATE_DATE';
|
|
@@ -13085,7 +13069,7 @@ class GraphqlService extends StartableService {
|
|
|
13085
13069
|
return undefined;
|
|
13086
13070
|
}
|
|
13087
13071
|
}
|
|
13088
|
-
GraphqlService.ɵprov =
|
|
13072
|
+
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" });
|
|
13089
13073
|
GraphqlService.decorators = [
|
|
13090
13074
|
{ type: Injectable, args: [{
|
|
13091
13075
|
providedIn: 'root'
|
|
@@ -13102,7 +13086,7 @@ GraphqlService.ctorParameters = () => [
|
|
|
13102
13086
|
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_GRAPHQL_TYPE_POLICIES,] }] }
|
|
13103
13087
|
];
|
|
13104
13088
|
|
|
13105
|
-
const sha256 = require('hash.js/lib/hash/sha/256');
|
|
13089
|
+
const sha256$1 = require('hash.js/lib/hash/sha/256');
|
|
13106
13090
|
class BaseGraphqlServiceOptions {
|
|
13107
13091
|
}
|
|
13108
13092
|
// eslint-disable-next-line @angular-eslint/directive-class-suffix
|
|
@@ -13253,8 +13237,8 @@ class BaseGraphqlService extends StartableService {
|
|
|
13253
13237
|
}
|
|
13254
13238
|
/* -- protected methods -- */
|
|
13255
13239
|
computeMutableWatchQueryId(opts) {
|
|
13256
|
-
const queryName = opts.queryName || sha256().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
|
|
13257
|
-
const variablesKey = opts.variables && sha256().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
|
|
13240
|
+
const queryName = opts.queryName || sha256$1().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
|
|
13241
|
+
const variablesKey = opts.variables && sha256$1().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
|
|
13258
13242
|
return [queryName, opts.arrayFieldName, variablesKey].join('|');
|
|
13259
13243
|
}
|
|
13260
13244
|
findMutableWatchQueries(opts) {
|
|
@@ -13320,7 +13304,7 @@ const DEFAULT_AVATAR_IMAGE = 'assets/img/person.png';
|
|
|
13320
13304
|
/* ------------------------------------
|
|
13321
13305
|
* GraphQL queries
|
|
13322
13306
|
* ------------------------------------*/
|
|
13323
|
-
const Fragments
|
|
13307
|
+
const Fragments = {
|
|
13324
13308
|
account: gql `
|
|
13325
13309
|
fragment AccountFragment on AccountVO {
|
|
13326
13310
|
id
|
|
@@ -13355,14 +13339,14 @@ const Fragments$1 = {
|
|
|
13355
13339
|
}`
|
|
13356
13340
|
};
|
|
13357
13341
|
// Load account query
|
|
13358
|
-
const LoadQuery
|
|
13342
|
+
const LoadQuery = gql `
|
|
13359
13343
|
query Account {
|
|
13360
13344
|
data: account {
|
|
13361
13345
|
...AccountFragment
|
|
13362
13346
|
}
|
|
13363
13347
|
}
|
|
13364
|
-
${Fragments
|
|
13365
|
-
${Fragments
|
|
13348
|
+
${Fragments.account}
|
|
13349
|
+
${Fragments.settings}
|
|
13366
13350
|
`;
|
|
13367
13351
|
// Check email query
|
|
13368
13352
|
const IsEmailExistsQuery = gql `
|
|
@@ -13377,21 +13361,21 @@ const AccountMutations = {
|
|
|
13377
13361
|
...AccountFragment
|
|
13378
13362
|
}
|
|
13379
13363
|
}
|
|
13380
|
-
${Fragments
|
|
13381
|
-
${Fragments
|
|
13364
|
+
${Fragments.account}
|
|
13365
|
+
${Fragments.settings}`,
|
|
13382
13366
|
create: gql `mutation CreateAccount($data:AccountVOInput){
|
|
13383
13367
|
data: createAccount(account: $data){
|
|
13384
13368
|
...AccountFragment
|
|
13385
13369
|
}
|
|
13386
13370
|
}
|
|
13387
|
-
${Fragments
|
|
13388
|
-
${Fragments
|
|
13371
|
+
${Fragments.account}
|
|
13372
|
+
${Fragments.settings}`,
|
|
13389
13373
|
saveSettings: gql `mutation SaveSettings($data:UserSettingsVOInput){
|
|
13390
13374
|
data: saveSettings(settings: $data){
|
|
13391
13375
|
...UserSettingsFragment
|
|
13392
13376
|
}
|
|
13393
13377
|
}
|
|
13394
|
-
${Fragments
|
|
13378
|
+
${Fragments.settings}`
|
|
13395
13379
|
};
|
|
13396
13380
|
// Sent confirmation email
|
|
13397
13381
|
const SendConfirmEmailMutation = gql `
|
|
@@ -13700,7 +13684,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
13700
13684
|
catch (error) {
|
|
13701
13685
|
console.error(error);
|
|
13702
13686
|
this.resetData();
|
|
13703
|
-
throw { code: ErrorCodes
|
|
13687
|
+
throw { code: ErrorCodes.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
|
|
13704
13688
|
}
|
|
13705
13689
|
// Store pubkey+keypair
|
|
13706
13690
|
this._cache.pubkey = Base58.encode(keypair.publicKey);
|
|
@@ -13734,7 +13718,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
13734
13718
|
}
|
|
13735
13719
|
catch (err) {
|
|
13736
13720
|
// If account not found, check if email is valid
|
|
13737
|
-
if (err && +(err.code) === ErrorCodes
|
|
13721
|
+
if (err && +(err.code) === ErrorCodes.LOAD_ACCOUNT_ERROR) {
|
|
13738
13722
|
// Check email exists
|
|
13739
13723
|
if (data.username.indexOf('@') !== -1) {
|
|
13740
13724
|
let isEmailExists;
|
|
@@ -13746,11 +13730,11 @@ class AccountService extends BaseGraphqlService {
|
|
|
13746
13730
|
}
|
|
13747
13731
|
// Email not exists (no account)
|
|
13748
13732
|
if (!isEmailExists) {
|
|
13749
|
-
throw { code: ErrorCodes
|
|
13733
|
+
throw { code: ErrorCodes.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
|
|
13750
13734
|
}
|
|
13751
13735
|
}
|
|
13752
13736
|
// Email exists, so error = 'bad password'
|
|
13753
|
-
throw { code: ErrorCodes
|
|
13737
|
+
throw { code: ErrorCodes.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
|
|
13754
13738
|
}
|
|
13755
13739
|
throw err; // resend the first error
|
|
13756
13740
|
}
|
|
@@ -13875,8 +13859,8 @@ class AccountService extends BaseGraphqlService {
|
|
|
13875
13859
|
// Load remotely
|
|
13876
13860
|
else {
|
|
13877
13861
|
const { data } = yield this.graphql.query({
|
|
13878
|
-
query: LoadQuery
|
|
13879
|
-
error: { code: ErrorCodes
|
|
13862
|
+
query: LoadQuery,
|
|
13863
|
+
error: { code: ErrorCodes.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
|
|
13880
13864
|
fetchPolicy: opts && opts.fetchPolicy || 'no-cache' || undefined
|
|
13881
13865
|
});
|
|
13882
13866
|
json = data;
|
|
@@ -13903,7 +13887,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
13903
13887
|
return __awaiter(this, void 0, void 0, function* () {
|
|
13904
13888
|
const isEmailExists = yield this.isEmailExists(email);
|
|
13905
13889
|
if (isEmailExists) {
|
|
13906
|
-
throw { code: ErrorCodes
|
|
13890
|
+
throw { code: ErrorCodes.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
|
|
13907
13891
|
}
|
|
13908
13892
|
});
|
|
13909
13893
|
}
|
|
@@ -13939,7 +13923,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
13939
13923
|
locale
|
|
13940
13924
|
},
|
|
13941
13925
|
error: {
|
|
13942
|
-
code: ErrorCodes
|
|
13926
|
+
code: ErrorCodes.SENT_CONFIRMATION_EMAIL_FAILED,
|
|
13943
13927
|
message: 'ERROR.SENT_ACCOUNT_CONFIRMATION_EMAIL_FAILED'
|
|
13944
13928
|
}
|
|
13945
13929
|
});
|
|
@@ -13955,7 +13939,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
13955
13939
|
code
|
|
13956
13940
|
},
|
|
13957
13941
|
error: {
|
|
13958
|
-
code: ErrorCodes
|
|
13942
|
+
code: ErrorCodes.CONFIRM_EMAIL_FAILED,
|
|
13959
13943
|
message: 'ERROR.CONFIRM_ACCOUNT_EMAIL_FAILED'
|
|
13960
13944
|
}
|
|
13961
13945
|
});
|
|
@@ -13973,7 +13957,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
13973
13957
|
interval: 10
|
|
13974
13958
|
},
|
|
13975
13959
|
error: {
|
|
13976
|
-
code: ErrorCodes
|
|
13960
|
+
code: ErrorCodes.SUBSCRIBE_ACCOUNT_ERROR,
|
|
13977
13961
|
message: 'ERROR.ACCOUNT.SUBSCRIBE_ACCOUNT_ERROR'
|
|
13978
13962
|
}
|
|
13979
13963
|
}).subscribe({
|
|
@@ -14074,7 +14058,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14074
14058
|
throw error;
|
|
14075
14059
|
console.error(error);
|
|
14076
14060
|
throw {
|
|
14077
|
-
code: ErrorCodes
|
|
14061
|
+
code: ErrorCodes.LOAD_ACCOUNT_ERROR,
|
|
14078
14062
|
message: 'ERROR.LOAD_ACCOUNT_ERROR'
|
|
14079
14063
|
};
|
|
14080
14064
|
}
|
|
@@ -14242,7 +14226,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14242
14226
|
if (!isNew) {
|
|
14243
14227
|
const existingAccount = yield this.load({ fetchPolicy: 'network-only' });
|
|
14244
14228
|
if (!existingAccount || !existingAccount.updateDate) {
|
|
14245
|
-
throw { code: ErrorCodes
|
|
14229
|
+
throw { code: ErrorCodes.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
|
|
14246
14230
|
}
|
|
14247
14231
|
this.copyIdAndUpdateDate(existingAccount, account);
|
|
14248
14232
|
}
|
|
@@ -14254,7 +14238,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14254
14238
|
mutation: isNew ? AccountMutations.create : AccountMutations.save,
|
|
14255
14239
|
variables: { data: json },
|
|
14256
14240
|
error: {
|
|
14257
|
-
code: ErrorCodes
|
|
14241
|
+
code: ErrorCodes.SAVE_ACCOUNT_ERROR,
|
|
14258
14242
|
message: 'ERROR.SAVE_ACCOUNT_ERROR'
|
|
14259
14243
|
}
|
|
14260
14244
|
});
|
|
@@ -14281,7 +14265,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14281
14265
|
mutation: AccountMutations.saveSettings,
|
|
14282
14266
|
variables: { data: json },
|
|
14283
14267
|
error: {
|
|
14284
|
-
code: ErrorCodes
|
|
14268
|
+
code: ErrorCodes.SAVE_SETTINGS_ERROR,
|
|
14285
14269
|
message: 'ERROR.SAVE_SETTINGS_ERROR'
|
|
14286
14270
|
}
|
|
14287
14271
|
});
|
|
@@ -14303,7 +14287,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14303
14287
|
if (counter > 4) {
|
|
14304
14288
|
if (this._debug)
|
|
14305
14289
|
console.debug(`[account] Failed to authentication on pod (after ${counter} attempts)`);
|
|
14306
|
-
throw { code: ErrorCodes
|
|
14290
|
+
throw { code: ErrorCodes.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
|
|
14307
14291
|
}
|
|
14308
14292
|
// Check if valid
|
|
14309
14293
|
if (token) {
|
|
@@ -14313,7 +14297,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14313
14297
|
token
|
|
14314
14298
|
},
|
|
14315
14299
|
error: {
|
|
14316
|
-
code: ErrorCodes
|
|
14300
|
+
code: ErrorCodes.UNAUTHORIZED,
|
|
14317
14301
|
message: 'ERROR.UNAUTHORIZED'
|
|
14318
14302
|
},
|
|
14319
14303
|
fetchPolicy: 'no-cache'
|
|
@@ -14329,7 +14313,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14329
14313
|
}
|
|
14330
14314
|
// Generate a new token
|
|
14331
14315
|
const challengeError = {
|
|
14332
|
-
code: ErrorCodes
|
|
14316
|
+
code: ErrorCodes.AUTH_CHALLENGE_ERROR,
|
|
14333
14317
|
message: 'ERROR.AUTH_CHALLENGE_ERROR'
|
|
14334
14318
|
};
|
|
14335
14319
|
const data = yield this.graphql.query({
|
|
@@ -14368,7 +14352,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14368
14352
|
target.updateDate = source.updateDate || target.updateDate;
|
|
14369
14353
|
}
|
|
14370
14354
|
}
|
|
14371
|
-
AccountService.ɵprov =
|
|
14355
|
+
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" });
|
|
14372
14356
|
AccountService.decorators = [
|
|
14373
14357
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
14374
14358
|
];
|
|
@@ -14628,7 +14612,7 @@ const CONFIGURATION_STORAGE_KEY = 'configuration';
|
|
|
14628
14612
|
/* ------------------------------------
|
|
14629
14613
|
* GraphQL queries
|
|
14630
14614
|
* ------------------------------------*/
|
|
14631
|
-
const Fragments = {
|
|
14615
|
+
const Fragments$1 = {
|
|
14632
14616
|
config: gql `
|
|
14633
14617
|
fragment ConfigFragment on ConfigurationVO {
|
|
14634
14618
|
id
|
|
@@ -14655,13 +14639,13 @@ const Fragments = {
|
|
|
14655
14639
|
}
|
|
14656
14640
|
`
|
|
14657
14641
|
};
|
|
14658
|
-
const LoadQuery = gql `
|
|
14642
|
+
const LoadQuery$1 = gql `
|
|
14659
14643
|
query Configuration{
|
|
14660
14644
|
data: configuration{
|
|
14661
14645
|
...ConfigFragment
|
|
14662
14646
|
}
|
|
14663
14647
|
}
|
|
14664
|
-
${Fragments.config}
|
|
14648
|
+
${Fragments$1.config}
|
|
14665
14649
|
`;
|
|
14666
14650
|
// Save (create or update) account mutation
|
|
14667
14651
|
const SaveMutation = gql `
|
|
@@ -14670,7 +14654,7 @@ const SaveMutation = gql `
|
|
|
14670
14654
|
...ConfigFragment
|
|
14671
14655
|
}
|
|
14672
14656
|
}
|
|
14673
|
-
${Fragments.config}
|
|
14657
|
+
${Fragments$1.config}
|
|
14674
14658
|
`;
|
|
14675
14659
|
const ClearCache = gql `
|
|
14676
14660
|
query ClearCache($name: String) {
|
|
@@ -14720,12 +14704,12 @@ class ConfigService extends BaseGraphqlService {
|
|
|
14720
14704
|
return __awaiter(this, void 0, void 0, function* () {
|
|
14721
14705
|
const now = Date.now();
|
|
14722
14706
|
console.debug('[config] Loading Pod configuration...');
|
|
14723
|
-
const query = opts && opts.query || LoadQuery;
|
|
14707
|
+
const query = opts && opts.query || LoadQuery$1;
|
|
14724
14708
|
const variables = opts && opts.variables || undefined;
|
|
14725
14709
|
const res = yield this.graphql.query({
|
|
14726
14710
|
query,
|
|
14727
14711
|
variables,
|
|
14728
|
-
error: { code: ErrorCodes
|
|
14712
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
14729
14713
|
fetchPolicy: opts && opts.fetchPolicy || undefined /*default*/
|
|
14730
14714
|
});
|
|
14731
14715
|
const data = res && res.data ? Configuration.fromObject(res.data) : undefined;
|
|
@@ -14755,7 +14739,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
14755
14739
|
data: json
|
|
14756
14740
|
},
|
|
14757
14741
|
error: {
|
|
14758
|
-
code: ErrorCodes
|
|
14742
|
+
code: ErrorCodes.SAVE_CONFIG_ERROR,
|
|
14759
14743
|
message: 'ERROR.SAVE_CONFIG_ERROR'
|
|
14760
14744
|
}
|
|
14761
14745
|
});
|
|
@@ -14781,7 +14765,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
14781
14765
|
const res = yield this.graphql.query({
|
|
14782
14766
|
query: CacheStatistics,
|
|
14783
14767
|
variables: null,
|
|
14784
|
-
error: { code: ErrorCodes
|
|
14768
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
14785
14769
|
fetchPolicy: 'network-only'
|
|
14786
14770
|
});
|
|
14787
14771
|
const data = res && res.cacheStatistics || undefined;
|
|
@@ -14797,7 +14781,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
14797
14781
|
const res = yield this.graphql.query({
|
|
14798
14782
|
query: ClearCache,
|
|
14799
14783
|
variables,
|
|
14800
|
-
error: { code: ErrorCodes
|
|
14784
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
14801
14785
|
fetchPolicy: 'network-only'
|
|
14802
14786
|
});
|
|
14803
14787
|
const data = res && res.clearCache || undefined;
|
|
@@ -14956,7 +14940,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
14956
14940
|
});
|
|
14957
14941
|
}
|
|
14958
14942
|
}
|
|
14959
|
-
ConfigService.ɵprov =
|
|
14943
|
+
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" });
|
|
14960
14944
|
ConfigService.decorators = [
|
|
14961
14945
|
{ type: Injectable, args: [{
|
|
14962
14946
|
providedIn: 'root',
|
|
@@ -14975,7 +14959,7 @@ ConfigService.ctorParameters = () => [
|
|
|
14975
14959
|
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_CONFIG_OPTIONS,] }] }
|
|
14976
14960
|
];
|
|
14977
14961
|
|
|
14978
|
-
const moment$
|
|
14962
|
+
const moment$4 = momentImported;
|
|
14979
14963
|
class PlatformService extends StartableService {
|
|
14980
14964
|
constructor(platform, cdkPlatform, toastController, translate, dateAdapter, entitiesStorage, settings, networkService, accountService, configService, cache, storage, audioProvider, environment, statusBar, keyboard, splashScreen, browser, downloader) {
|
|
14981
14965
|
super(platform);
|
|
@@ -15179,16 +15163,16 @@ class PlatformService extends StartableService {
|
|
|
15179
15163
|
}
|
|
15180
15164
|
// config moment lib
|
|
15181
15165
|
try {
|
|
15182
|
-
moment$
|
|
15166
|
+
moment$4.locale(event.lang);
|
|
15183
15167
|
console.debug('[platform] Use locale {' + event.lang + '}');
|
|
15184
15168
|
}
|
|
15185
15169
|
// If error, fallback to en
|
|
15186
15170
|
catch (err) {
|
|
15187
|
-
moment$
|
|
15171
|
+
moment$4.locale('en');
|
|
15188
15172
|
console.warn('[platform] Unknown local for moment lib. Using default [en]');
|
|
15189
15173
|
}
|
|
15190
15174
|
// Config date adapter
|
|
15191
|
-
this.dateAdapter.setLocale(moment$
|
|
15175
|
+
this.dateAdapter.setLocale(moment$4.locale());
|
|
15192
15176
|
}
|
|
15193
15177
|
});
|
|
15194
15178
|
this.settings.onChange.subscribe(data => {
|
|
@@ -15322,7 +15306,7 @@ class PlatformService extends StartableService {
|
|
|
15322
15306
|
});
|
|
15323
15307
|
}
|
|
15324
15308
|
}
|
|
15325
|
-
PlatformService.ɵprov =
|
|
15309
|
+
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" });
|
|
15326
15310
|
PlatformService.decorators = [
|
|
15327
15311
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
15328
15312
|
];
|
|
@@ -15337,15 +15321,15 @@ PlatformService.ctorParameters = () => [
|
|
|
15337
15321
|
{ type: NetworkService },
|
|
15338
15322
|
{ type: AccountService },
|
|
15339
15323
|
{ type: ConfigService },
|
|
15340
|
-
{ type: CacheService },
|
|
15324
|
+
{ type: CacheService$1 },
|
|
15341
15325
|
{ type: Storage },
|
|
15342
15326
|
{ type: AudioProvider },
|
|
15343
15327
|
{ type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
|
|
15344
|
-
{ type: StatusBar, decorators: [{ type: Optional }] },
|
|
15328
|
+
{ type: StatusBar$1, decorators: [{ type: Optional }] },
|
|
15345
15329
|
{ type: Keyboard, decorators: [{ type: Optional }] },
|
|
15346
|
-
{ type: SplashScreen, decorators: [{ type: Optional }] },
|
|
15347
|
-
{ type: InAppBrowser, decorators: [{ type: Optional }] },
|
|
15348
|
-
{ type: Downloader, decorators: [{ type: Optional }] }
|
|
15330
|
+
{ type: SplashScreen$1, decorators: [{ type: Optional }] },
|
|
15331
|
+
{ type: InAppBrowser$1, decorators: [{ type: Optional }] },
|
|
15332
|
+
{ type: Downloader$1, decorators: [{ type: Optional }] }
|
|
15349
15333
|
];
|
|
15350
15334
|
|
|
15351
15335
|
class AppHelpModal {
|
|
@@ -15409,7 +15393,7 @@ class MatStepperI18n extends MatStepperIntl {
|
|
|
15409
15393
|
this.optionalLabel = this.translate.instant('COMMON.OPTIONAL');
|
|
15410
15394
|
}
|
|
15411
15395
|
}
|
|
15412
|
-
MatStepperI18n.ɵprov =
|
|
15396
|
+
MatStepperI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(ɵɵinject(TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
|
|
15413
15397
|
MatStepperI18n.decorators = [
|
|
15414
15398
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
15415
15399
|
];
|
|
@@ -16411,7 +16395,7 @@ function state2side(state) {
|
|
|
16411
16395
|
return 1;
|
|
16412
16396
|
}
|
|
16413
16397
|
}
|
|
16414
|
-
const ɵ0$
|
|
16398
|
+
const ɵ0$a = (defaultStateSize) => [
|
|
16415
16399
|
Math.round((rgbArrayMap.red[0] - 50) / defaultStateSize),
|
|
16416
16400
|
Math.round((255 - rgbArrayMap.red[1]) / defaultStateSize),
|
|
16417
16401
|
Math.round((255 - rgbArrayMap.red[2]) / defaultStateSize)
|
|
@@ -16419,7 +16403,7 @@ const ɵ0$1 = (defaultStateSize) => [
|
|
|
16419
16403
|
const SCALE_OPTIONS_DEFAULT = {
|
|
16420
16404
|
startColor: rgbArrayMap.red,
|
|
16421
16405
|
startStates: [0, 2, 3],
|
|
16422
|
-
startStepsFn: ɵ0$
|
|
16406
|
+
startStepsFn: ɵ0$a
|
|
16423
16407
|
};
|
|
16424
16408
|
/**
|
|
16425
16409
|
* Internal function, that create a colors scale, using iteration
|
|
@@ -16511,21 +16495,21 @@ function linearColorGradient(count, options) {
|
|
|
16511
16495
|
return result;
|
|
16512
16496
|
}
|
|
16513
16497
|
|
|
16514
|
-
class EntityTestClass
|
|
16498
|
+
class EntityTestClass {
|
|
16515
16499
|
}
|
|
16516
|
-
const FAKE_ENTITIES
|
|
16500
|
+
const FAKE_ENTITIES = [
|
|
16517
16501
|
{ id: 1, label: 'AAA', name: 'Item A', description: 'Very long description A', comments: 'Very very long comments... again for A' },
|
|
16518
16502
|
{ id: 2, label: 'BBB', name: 'Item B', description: 'Very long description B', comments: 'Very very long comments... again for B' },
|
|
16519
16503
|
{ id: 3, label: 'CCC', name: 'Item C', description: 'Very long description C', comments: 'Very very long comments... again for C' }
|
|
16520
16504
|
];
|
|
16521
|
-
function deepCopy
|
|
16505
|
+
function deepCopy(values, size) {
|
|
16522
16506
|
if (isNil(size)) {
|
|
16523
|
-
return (values || FAKE_ENTITIES
|
|
16507
|
+
return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
|
|
16524
16508
|
}
|
|
16525
16509
|
let result = [];
|
|
16526
16510
|
let i = 1;
|
|
16527
16511
|
while (result.length < size) {
|
|
16528
|
-
result = result.concat((values || FAKE_ENTITIES
|
|
16512
|
+
result = result.concat((values || FAKE_ENTITIES).map(entity => {
|
|
16529
16513
|
const name = entity.name + ' #' + i;
|
|
16530
16514
|
return Object.assign(Object.assign({}, entity), { id: i++, name });
|
|
16531
16515
|
}));
|
|
@@ -16535,7 +16519,7 @@ function deepCopy$1(values, size) {
|
|
|
16535
16519
|
class AutocompleteTestPage {
|
|
16536
16520
|
constructor(formBuilder) {
|
|
16537
16521
|
this.formBuilder = formBuilder;
|
|
16538
|
-
this._items = deepCopy
|
|
16522
|
+
this._items = deepCopy(FAKE_ENTITIES, 100);
|
|
16539
16523
|
this._$items = new BehaviorSubject(undefined);
|
|
16540
16524
|
this.autocompleteFields = new MatAutocompleteConfigHolder();
|
|
16541
16525
|
this.memoryHide = false;
|
|
@@ -16579,7 +16563,7 @@ class AutocompleteTestPage {
|
|
|
16579
16563
|
});
|
|
16580
16564
|
// From items
|
|
16581
16565
|
this.autocompleteFields.add('entity-items-large', {
|
|
16582
|
-
items: FAKE_ENTITIES
|
|
16566
|
+
items: FAKE_ENTITIES.slice(),
|
|
16583
16567
|
attributes: ['label', 'name', 'description', 'comments'],
|
|
16584
16568
|
displayWith: this.entityToString
|
|
16585
16569
|
});
|
|
@@ -16589,12 +16573,12 @@ class AutocompleteTestPage {
|
|
|
16589
16573
|
loadData() {
|
|
16590
16574
|
return __awaiter(this, void 0, void 0, function* () {
|
|
16591
16575
|
const data = {
|
|
16592
|
-
entity: deepCopy
|
|
16576
|
+
entity: deepCopy(FAKE_ENTITIES)[0],
|
|
16593
16577
|
// This item is NOT in the items list => i should be displayed anyway
|
|
16594
16578
|
missingEntity: {
|
|
16595
16579
|
id: -1, label: '??', name: 'Missing item'
|
|
16596
16580
|
},
|
|
16597
|
-
disableEntity: deepCopy
|
|
16581
|
+
disableEntity: deepCopy(FAKE_ENTITIES)[2]
|
|
16598
16582
|
};
|
|
16599
16583
|
this.form.setValue(data);
|
|
16600
16584
|
// Load observables
|
|
@@ -16767,13 +16751,13 @@ MaterialTestingPage.ctorParameters = () => [
|
|
|
16767
16751
|
{ type: Array, decorators: [{ type: Optional }, { type: Inject, args: [APP_TESTING_PAGES,] }] }
|
|
16768
16752
|
];
|
|
16769
16753
|
|
|
16770
|
-
const moment$
|
|
16754
|
+
const moment$5 = momentImported;
|
|
16771
16755
|
class SwipeTestPage {
|
|
16772
16756
|
constructor(formBuilder, dateFormatPipe) {
|
|
16773
16757
|
this.formBuilder = formBuilder;
|
|
16774
16758
|
this.dateFormatPipe = dateFormatPipe;
|
|
16775
16759
|
this.$dates = new BehaviorSubject(undefined);
|
|
16776
|
-
this._today = moment$
|
|
16760
|
+
this._today = moment$5().startOf('day');
|
|
16777
16761
|
this.form = formBuilder.group({
|
|
16778
16762
|
empty: [null, Validators.required],
|
|
16779
16763
|
date: [null, Validators.compose([Validators.required, SharedValidators.validDate])],
|
|
@@ -16786,7 +16770,7 @@ class SwipeTestPage {
|
|
|
16786
16770
|
ngOnInit() {
|
|
16787
16771
|
const dates = [];
|
|
16788
16772
|
for (let d = 0; d < 7; d++) {
|
|
16789
|
-
dates[d] = moment$
|
|
16773
|
+
dates[d] = moment$5(this._today).add(d - 3, 'day');
|
|
16790
16774
|
}
|
|
16791
16775
|
this.$dates.next(dates);
|
|
16792
16776
|
this.loadData();
|
|
@@ -16827,7 +16811,7 @@ SwipeTestPage.ctorParameters = () => [
|
|
|
16827
16811
|
{ type: DateFormatPipe }
|
|
16828
16812
|
];
|
|
16829
16813
|
|
|
16830
|
-
const moment = momentImported;
|
|
16814
|
+
const moment$6 = momentImported;
|
|
16831
16815
|
class DateTimeTestPage {
|
|
16832
16816
|
constructor(platform, formBuilder, cd) {
|
|
16833
16817
|
this.platform = platform;
|
|
@@ -16859,7 +16843,7 @@ class DateTimeTestPage {
|
|
|
16859
16843
|
// Load the form with data
|
|
16860
16844
|
loadData() {
|
|
16861
16845
|
return __awaiter(this, void 0, void 0, function* () {
|
|
16862
|
-
const now = moment();
|
|
16846
|
+
const now = moment$6();
|
|
16863
16847
|
const data = {
|
|
16864
16848
|
empty: toDateISOString(now.clone().add(2, 'hours')),
|
|
16865
16849
|
enable: toDateISOString(now),
|
|
@@ -16920,9 +16904,9 @@ DateTimeTestPage.ctorParameters = () => [
|
|
|
16920
16904
|
{ type: ChangeDetectorRef }
|
|
16921
16905
|
];
|
|
16922
16906
|
|
|
16923
|
-
class EntityTestClass {
|
|
16907
|
+
class EntityTestClass$1 {
|
|
16924
16908
|
}
|
|
16925
|
-
const FAKE_ENTITIES = [
|
|
16909
|
+
const FAKE_ENTITIES$1 = [
|
|
16926
16910
|
{ id: 1, label: 'AAA', name: 'Item A' },
|
|
16927
16911
|
{ id: 2, label: 'BBB', name: 'Item B' },
|
|
16928
16912
|
{ id: 3, label: 'CCC', name: 'Item C' },
|
|
@@ -16931,14 +16915,14 @@ const FAKE_ENTITIES = [
|
|
|
16931
16915
|
{ id: 6, label: 'FFF', name: 'Item F' },
|
|
16932
16916
|
{ id: 7, label: 'GGG', name: 'Item G' }
|
|
16933
16917
|
];
|
|
16934
|
-
function deepCopy(values, size) {
|
|
16918
|
+
function deepCopy$1(values, size) {
|
|
16935
16919
|
if (isNil(size)) {
|
|
16936
|
-
return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
|
|
16920
|
+
return (values || FAKE_ENTITIES$1).map(entity => Object.assign({}, entity));
|
|
16937
16921
|
}
|
|
16938
16922
|
let result = [];
|
|
16939
16923
|
let i = 1;
|
|
16940
16924
|
while (result.length < size) {
|
|
16941
|
-
result = result.concat((values || FAKE_ENTITIES).map(entity => {
|
|
16925
|
+
result = result.concat((values || FAKE_ENTITIES$1).map(entity => {
|
|
16942
16926
|
const name = entity.name + ' #' + i;
|
|
16943
16927
|
return Object.assign(Object.assign({}, entity), { id: i++, name });
|
|
16944
16928
|
}));
|
|
@@ -16948,7 +16932,7 @@ function deepCopy(values, size) {
|
|
|
16948
16932
|
class ChipsTestPage {
|
|
16949
16933
|
constructor(formBuilder) {
|
|
16950
16934
|
this.formBuilder = formBuilder;
|
|
16951
|
-
this._items = deepCopy(FAKE_ENTITIES, 100);
|
|
16935
|
+
this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
|
|
16952
16936
|
this._$items = new BehaviorSubject(undefined);
|
|
16953
16937
|
this.autocompleteFields = new MatAutocompleteConfigHolder();
|
|
16954
16938
|
this.form = formBuilder.group({
|
|
@@ -16987,7 +16971,7 @@ class ChipsTestPage {
|
|
|
16987
16971
|
// Load the form with data
|
|
16988
16972
|
loadData() {
|
|
16989
16973
|
return __awaiter(this, void 0, void 0, function* () {
|
|
16990
|
-
const items = deepCopy(FAKE_ENTITIES);
|
|
16974
|
+
const items = deepCopy$1(FAKE_ENTITIES$1);
|
|
16991
16975
|
const data = {
|
|
16992
16976
|
entity: items.slice(0, 1),
|
|
16993
16977
|
entityInitial: items.slice(1, 2),
|
|
@@ -17057,7 +17041,7 @@ MatBadgeIconTestPage.decorators = [
|
|
|
17057
17041
|
},] }
|
|
17058
17042
|
];
|
|
17059
17043
|
|
|
17060
|
-
const routes
|
|
17044
|
+
const routes = [
|
|
17061
17045
|
{
|
|
17062
17046
|
path: '',
|
|
17063
17047
|
pathMatch: 'full',
|
|
@@ -17109,7 +17093,7 @@ MaterialTestingModule.decorators = [
|
|
|
17109
17093
|
ReactiveFormsModule,
|
|
17110
17094
|
SharedMaterialModule,
|
|
17111
17095
|
TranslateModule.forChild(),
|
|
17112
|
-
RouterModule.forChild(routes
|
|
17096
|
+
RouterModule.forChild(routes)
|
|
17113
17097
|
],
|
|
17114
17098
|
declarations: [
|
|
17115
17099
|
MaterialTestingPage,
|
|
@@ -18124,7 +18108,7 @@ class UserSettingsValidatorService extends AppValidatorService {
|
|
|
18124
18108
|
});
|
|
18125
18109
|
}
|
|
18126
18110
|
}
|
|
18127
|
-
UserSettingsValidatorService.ɵprov =
|
|
18111
|
+
UserSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(ɵɵinject(FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
|
|
18128
18112
|
UserSettingsValidatorService.decorators = [
|
|
18129
18113
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
18130
18114
|
];
|
|
@@ -18168,7 +18152,7 @@ class AccountValidatorService extends AppValidatorService {
|
|
|
18168
18152
|
return validatorFns.length ? Validators.compose(validatorFns) : validatorFns.length === 1 ? validatorFns[0] : undefined;
|
|
18169
18153
|
}
|
|
18170
18154
|
}
|
|
18171
|
-
AccountValidatorService.ɵprov =
|
|
18155
|
+
AccountValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
|
|
18172
18156
|
AccountValidatorService.decorators = [
|
|
18173
18157
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
18174
18158
|
];
|
|
@@ -18733,7 +18717,7 @@ class LocalSettingsValidatorService extends AppValidatorService {
|
|
|
18733
18717
|
});
|
|
18734
18718
|
}
|
|
18735
18719
|
}
|
|
18736
|
-
LocalSettingsValidatorService.ɵprov =
|
|
18720
|
+
LocalSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(ɵɵinject(FormBuilder), ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
|
|
18737
18721
|
LocalSettingsValidatorService.decorators = [
|
|
18738
18722
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
18739
18723
|
];
|
|
@@ -19352,7 +19336,7 @@ class IsOnFieldModePipe {
|
|
|
19352
19336
|
return value === 'FIELD';
|
|
19353
19337
|
}
|
|
19354
19338
|
}
|
|
19355
|
-
IsOnFieldModePipe.ɵprov =
|
|
19339
|
+
IsOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
|
|
19356
19340
|
IsOnFieldModePipe.decorators = [
|
|
19357
19341
|
{ type: Pipe, args: [{
|
|
19358
19342
|
name: 'isOnField'
|
|
@@ -19364,7 +19348,7 @@ class IsNotOnFieldModePipe {
|
|
|
19364
19348
|
return value !== 'FIELD';
|
|
19365
19349
|
}
|
|
19366
19350
|
}
|
|
19367
|
-
IsNotOnFieldModePipe.ɵprov =
|
|
19351
|
+
IsNotOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
|
|
19368
19352
|
IsNotOnFieldModePipe.decorators = [
|
|
19369
19353
|
{ type: Pipe, args: [{
|
|
19370
19354
|
name: 'isNotOnField'
|
|
@@ -19379,7 +19363,7 @@ class PersonToStringPipe {
|
|
|
19379
19363
|
return PersonUtils.personToString(value);
|
|
19380
19364
|
}
|
|
19381
19365
|
}
|
|
19382
|
-
PersonToStringPipe.ɵprov =
|
|
19366
|
+
PersonToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
|
|
19383
19367
|
PersonToStringPipe.decorators = [
|
|
19384
19368
|
{ type: Pipe, args: [{
|
|
19385
19369
|
name: 'personToString'
|
|
@@ -19764,7 +19748,7 @@ class IsLoginAccountPipe {
|
|
|
19764
19748
|
return value && value.pubkey && true;
|
|
19765
19749
|
}
|
|
19766
19750
|
}
|
|
19767
|
-
IsLoginAccountPipe.ɵprov =
|
|
19751
|
+
IsLoginAccountPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
|
|
19768
19752
|
IsLoginAccountPipe.decorators = [
|
|
19769
19753
|
{ type: Pipe, args: [{
|
|
19770
19754
|
name: 'isLogin'
|
|
@@ -19776,7 +19760,7 @@ class AccountToStringPipe {
|
|
|
19776
19760
|
return accountToString(value);
|
|
19777
19761
|
}
|
|
19778
19762
|
}
|
|
19779
|
-
AccountToStringPipe.ɵprov =
|
|
19763
|
+
AccountToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
|
|
19780
19764
|
AccountToStringPipe.decorators = [
|
|
19781
19765
|
{ type: Pipe, args: [{
|
|
19782
19766
|
name: 'accountToString'
|
|
@@ -19791,7 +19775,7 @@ class DepartmentToStringPipe {
|
|
|
19791
19775
|
return departmentToString(value);
|
|
19792
19776
|
}
|
|
19793
19777
|
}
|
|
19794
|
-
DepartmentToStringPipe.ɵprov =
|
|
19778
|
+
DepartmentToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
|
|
19795
19779
|
DepartmentToStringPipe.decorators = [
|
|
19796
19780
|
{ type: Pipe, args: [{
|
|
19797
19781
|
name: 'departmentToString'
|
|
@@ -19817,7 +19801,7 @@ class MenuService {
|
|
|
19817
19801
|
this._visibleSubject.next(value);
|
|
19818
19802
|
}
|
|
19819
19803
|
}
|
|
19820
|
-
MenuService.ɵprov =
|
|
19804
|
+
MenuService.ɵprov = ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
|
|
19821
19805
|
MenuService.decorators = [
|
|
19822
19806
|
{ type: Injectable, args: [{
|
|
19823
19807
|
providedIn: 'root'
|
|
@@ -20341,7 +20325,7 @@ class AuthGuardService {
|
|
|
20341
20325
|
}));
|
|
20342
20326
|
}
|
|
20343
20327
|
}
|
|
20344
|
-
AuthGuardService.ɵprov =
|
|
20328
|
+
AuthGuardService.ɵprov = ɵɵdefineInjectable({ factory: function AuthGuardService_Factory() { return new AuthGuardService(ɵɵinject(AccountService), ɵɵinject(ModalController), ɵɵinject(Router), ɵɵinject(ENVIRONMENT)); }, token: AuthGuardService, providedIn: "root" });
|
|
20345
20329
|
AuthGuardService.decorators = [
|
|
20346
20330
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
20347
20331
|
];
|
|
@@ -20383,7 +20367,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20383
20367
|
query,
|
|
20384
20368
|
variables: { id },
|
|
20385
20369
|
fetchPolicy: opts && opts.fetchPolicy || undefined,
|
|
20386
|
-
error: { code: ErrorCodes
|
|
20370
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
|
|
20387
20371
|
})
|
|
20388
20372
|
.pipe(map(({ data }) => (!opts || opts.toEntity !== false)
|
|
20389
20373
|
? (data && this.fromObject(data))
|
|
@@ -20398,7 +20382,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20398
20382
|
query,
|
|
20399
20383
|
variables: { id },
|
|
20400
20384
|
fetchPolicy: opts && opts.fetchPolicy || undefined,
|
|
20401
|
-
error: { code: ErrorCodes
|
|
20385
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
|
|
20402
20386
|
});
|
|
20403
20387
|
// Convert to entity
|
|
20404
20388
|
return (!opts || opts.toEntity !== false)
|
|
@@ -20429,7 +20413,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20429
20413
|
totalFieldName: withTotal ? 'total' : undefined,
|
|
20430
20414
|
insertFilterFn: filter && filter.asFilterFn(),
|
|
20431
20415
|
variables,
|
|
20432
|
-
error: { code: ErrorCodes
|
|
20416
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
|
|
20433
20417
|
fetchPolicy: opts && opts.fetchPolicy || undefined
|
|
20434
20418
|
})
|
|
20435
20419
|
.pipe(map(({ data, total }) => {
|
|
@@ -20465,7 +20449,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20465
20449
|
const { data, total } = yield this.graphql.query({
|
|
20466
20450
|
query,
|
|
20467
20451
|
variables,
|
|
20468
|
-
error: { code: ErrorCodes
|
|
20452
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
|
|
20469
20453
|
fetchPolicy: opts && opts.fetchPolicy || 'network-only'
|
|
20470
20454
|
});
|
|
20471
20455
|
const entities = (!opts || opts.toEntity !== false) ?
|
|
@@ -20504,7 +20488,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20504
20488
|
variables: {
|
|
20505
20489
|
filter: filter && filter.asPodObject()
|
|
20506
20490
|
},
|
|
20507
|
-
error: { code: ErrorCodes
|
|
20491
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
|
|
20508
20492
|
fetchPolicy: opts && opts.fetchPolicy || 'network-only'
|
|
20509
20493
|
});
|
|
20510
20494
|
return res.total;
|
|
@@ -20537,7 +20521,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20537
20521
|
variables: {
|
|
20538
20522
|
data: json
|
|
20539
20523
|
},
|
|
20540
|
-
error: { code: ErrorCodes
|
|
20524
|
+
error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
|
|
20541
20525
|
update: (proxy, { data }) => {
|
|
20542
20526
|
const savedEntities = data && data.data;
|
|
20543
20527
|
if (savedEntities) {
|
|
@@ -20593,7 +20577,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20593
20577
|
variables: {
|
|
20594
20578
|
data: json
|
|
20595
20579
|
},
|
|
20596
|
-
error: { code: ErrorCodes
|
|
20580
|
+
error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
|
|
20597
20581
|
update: (cache, { data }) => {
|
|
20598
20582
|
// Update entity
|
|
20599
20583
|
const savedEntity = data && data.data;
|
|
@@ -20641,7 +20625,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20641
20625
|
refetchQueries: this.getRefetchQueriesForMutation(opts),
|
|
20642
20626
|
awaitRefetchQueries: opts && opts.awaitRefetchQueries,
|
|
20643
20627
|
variables: { ids },
|
|
20644
|
-
error: { code: ErrorCodes
|
|
20628
|
+
error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
|
|
20645
20629
|
update: (cache, res) => {
|
|
20646
20630
|
// Remove from cache
|
|
20647
20631
|
if (this.watchQueriesUpdatePolicy === 'update-cache') {
|
|
@@ -20682,7 +20666,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20682
20666
|
refetchQueries: this.getRefetchQueriesForMutation(opts),
|
|
20683
20667
|
awaitRefetchQueries: opts && opts.awaitRefetchQueries,
|
|
20684
20668
|
variables: { id },
|
|
20685
|
-
error: { code: ErrorCodes
|
|
20669
|
+
error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
|
|
20686
20670
|
update: (proxy, res) => {
|
|
20687
20671
|
// Remove from cache
|
|
20688
20672
|
if (this.watchQueriesUpdatePolicy === 'update-cache') {
|
|
@@ -20715,7 +20699,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20715
20699
|
query: opts && opts.query || this.subscriptions.listenChanges,
|
|
20716
20700
|
variables,
|
|
20717
20701
|
error: {
|
|
20718
|
-
code: ErrorCodes
|
|
20702
|
+
code: ErrorCodes.SUBSCRIBE_DATA_ERROR,
|
|
20719
20703
|
message: 'ERROR.SUBSCRIBE_DATA_ERROR'
|
|
20720
20704
|
}
|
|
20721
20705
|
})
|
|
@@ -20901,7 +20885,7 @@ class EntitiesTableDataSource extends TableDataSource {
|
|
|
20901
20885
|
if (this._debug)
|
|
20902
20886
|
invalidRows.forEach(row => AppTableUtils.logRowErrors(row, `[table-datasource] ${this._logTypeName} row #${row.id}`));
|
|
20903
20887
|
// Stop with an error
|
|
20904
|
-
throw { code: ErrorCodes
|
|
20888
|
+
throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
20905
20889
|
}
|
|
20906
20890
|
this._editingRowCount = 0;
|
|
20907
20891
|
let data;
|
|
@@ -21381,13 +21365,6 @@ class AppTable {
|
|
|
21381
21365
|
markAsLoaded(opts) {
|
|
21382
21366
|
this.setLoading(false, opts);
|
|
21383
21367
|
}
|
|
21384
|
-
markRowAsDirty(row, opts) {
|
|
21385
|
-
var _a;
|
|
21386
|
-
row = row || this.editedRow;
|
|
21387
|
-
if (row)
|
|
21388
|
-
(_a = row.validator) === null || _a === void 0 ? void 0 : _a.markAsDirty(opts);
|
|
21389
|
-
this.markAsDirty(opts);
|
|
21390
|
-
}
|
|
21391
21368
|
markAsReady(opts) {
|
|
21392
21369
|
if (this.readySubject.value !== true) {
|
|
21393
21370
|
this.readySubject.next(true);
|
|
@@ -21770,14 +21747,14 @@ class AppTable {
|
|
|
21770
21747
|
return __awaiter(this, void 0, void 0, function* () {
|
|
21771
21748
|
opts = Object.assign({ keepEditing: this.keepEditedRowOnSave }, opts);
|
|
21772
21749
|
if (this.readOnly) {
|
|
21773
|
-
throw { code: ErrorCodes
|
|
21750
|
+
throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
|
|
21774
21751
|
}
|
|
21775
21752
|
this.resetError();
|
|
21776
21753
|
// Keep edited row id (should be done BEFORE confirmEditCreate() )
|
|
21777
21754
|
this.previouslyEditedRowId = opts.keepEditing && ((_a = this.editedRow) === null || _a === void 0 ? void 0 : _a.editing) ? this.editedRow.id : undefined;
|
|
21778
21755
|
const previouslyEditedData = isNotNil(this.previouslyEditedRowId) && this.editedRow.currentData || ((_b = this.singleSelectedRow) === null || _b === void 0 ? void 0 : _b.currentData);
|
|
21779
21756
|
if (!this.confirmEditCreate()) {
|
|
21780
|
-
throw { code: ErrorCodes
|
|
21757
|
+
throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
21781
21758
|
}
|
|
21782
21759
|
// Mark as saving
|
|
21783
21760
|
this.markAsSaving();
|
|
@@ -21894,7 +21871,7 @@ class AppTable {
|
|
|
21894
21871
|
var _a;
|
|
21895
21872
|
return __awaiter(this, void 0, void 0, function* () {
|
|
21896
21873
|
if (this.readOnly) {
|
|
21897
|
-
throw { code: ErrorCodes
|
|
21874
|
+
throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
|
|
21898
21875
|
}
|
|
21899
21876
|
if (event === null || event === void 0 ? void 0 : event.defaultPrevented)
|
|
21900
21877
|
return 0; // SKip
|
|
@@ -22508,6 +22485,13 @@ class AppTable {
|
|
|
22508
22485
|
equals(d1, d2) {
|
|
22509
22486
|
return EntityUtils.equals(d1, d2, 'id');
|
|
22510
22487
|
}
|
|
22488
|
+
markRowAsDirty(row, opts) {
|
|
22489
|
+
var _a;
|
|
22490
|
+
row = row || this.editedRow;
|
|
22491
|
+
if (row)
|
|
22492
|
+
(_a = row.validator) === null || _a === void 0 ? void 0 : _a.markAsDirty(opts);
|
|
22493
|
+
this.markAsDirty(opts);
|
|
22494
|
+
}
|
|
22511
22495
|
/* -- private method -- */
|
|
22512
22496
|
setLoading(value, opts) {
|
|
22513
22497
|
if (this.loadingSubject.value !== value) {
|
|
@@ -23413,7 +23397,7 @@ class AppEntityEditor extends AppTabEditor {
|
|
|
23413
23397
|
try {
|
|
23414
23398
|
const data = yield this.dataService.load(id, opts);
|
|
23415
23399
|
if (!data)
|
|
23416
|
-
throw { code: ErrorCodes
|
|
23400
|
+
throw { code: ErrorCodes.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
|
|
23417
23401
|
this._usageMode = this.computeUsageMode(data);
|
|
23418
23402
|
yield this.onEntityLoaded(data, opts);
|
|
23419
23403
|
yield this.updateView(data, opts);
|
|
@@ -24318,7 +24302,7 @@ class UserEventService extends BaseGraphqlService {
|
|
|
24318
24302
|
EntityUtils.copyIdAndUpdateDate(source, target);
|
|
24319
24303
|
}
|
|
24320
24304
|
}
|
|
24321
|
-
UserEventService.ɵprov =
|
|
24305
|
+
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" });
|
|
24322
24306
|
UserEventService.decorators = [
|
|
24323
24307
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
24324
24308
|
];
|
|
@@ -24703,7 +24687,7 @@ class PersonService extends BaseEntityService {
|
|
|
24703
24687
|
return target;
|
|
24704
24688
|
}
|
|
24705
24689
|
}
|
|
24706
|
-
PersonService.ɵprov =
|
|
24690
|
+
PersonService.ɵprov = ɵɵdefineInjectable({ factory: function PersonService_Factory() { return new PersonService(ɵɵinject(GraphqlService), ɵɵinject(PlatformService), ɵɵinject(NetworkService), ɵɵinject(EntitiesStorage)); }, token: PersonService, providedIn: "root" });
|
|
24707
24691
|
PersonService.decorators = [
|
|
24708
24692
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
24709
24693
|
];
|
|
@@ -24734,7 +24718,7 @@ class PersonValidatorService {
|
|
|
24734
24718
|
return this.formBuilder.group(formConfig);
|
|
24735
24719
|
}
|
|
24736
24720
|
}
|
|
24737
|
-
PersonValidatorService.ɵprov =
|
|
24721
|
+
PersonValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
|
|
24738
24722
|
PersonValidatorService.decorators = [
|
|
24739
24723
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
24740
24724
|
];
|
|
@@ -24940,16 +24924,16 @@ AdminModule.decorators = [
|
|
|
24940
24924
|
];
|
|
24941
24925
|
AdminModule.ctorParameters = () => [];
|
|
24942
24926
|
|
|
24943
|
-
const ɵ0 = {
|
|
24927
|
+
const ɵ0$b = {
|
|
24944
24928
|
profile: 'ADMIN'
|
|
24945
24929
|
};
|
|
24946
|
-
const routes = [
|
|
24930
|
+
const routes$1 = [
|
|
24947
24931
|
{
|
|
24948
24932
|
path: 'users',
|
|
24949
24933
|
pathMatch: 'full',
|
|
24950
24934
|
component: UsersPage,
|
|
24951
24935
|
canActivate: [AuthGuardService],
|
|
24952
|
-
data: ɵ0
|
|
24936
|
+
data: ɵ0$b
|
|
24953
24937
|
}
|
|
24954
24938
|
];
|
|
24955
24939
|
class AdminRoutingModule {
|
|
@@ -24959,13 +24943,13 @@ AdminRoutingModule.decorators = [
|
|
|
24959
24943
|
imports: [
|
|
24960
24944
|
SharedRoutingModule,
|
|
24961
24945
|
AdminModule,
|
|
24962
|
-
RouterModule.forChild(routes)
|
|
24946
|
+
RouterModule.forChild(routes$1)
|
|
24963
24947
|
],
|
|
24964
24948
|
exports: [RouterModule]
|
|
24965
24949
|
},] }
|
|
24966
24950
|
];
|
|
24967
24951
|
|
|
24968
|
-
const ErrorCodes = {
|
|
24952
|
+
const ErrorCodes$2 = {
|
|
24969
24953
|
LOAD_PERSONS_ERROR: 100,
|
|
24970
24954
|
SAVE_PERSONS_ERROR: 101,
|
|
24971
24955
|
DELETE_PERSONS_ERROR: 102,
|
|
@@ -24977,5 +24961,5 @@ const ErrorCodes = {
|
|
|
24977
24961
|
* Generated bundle index. Do not edit.
|
|
24978
24962
|
*/
|
|
24979
24963
|
|
|
24980
|
-
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 };
|
|
24964
|
+
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, 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, ɵ0$7 as ɵ0, CustomReuseStrategy as ɵa, MatNumpadDomService as ɵb, SharedMatBadgeIconModule as ɵc, MatBadgeIconDirective as ɵd, isFocusableElement as ɵe, MatBadgeIconTestPage as ɵf, RegisterForm as ɵg, AccountValidatorService as ɵh, RegisterModal as ɵi, UserSettingsValidatorService as ɵj, LocalSettingsValidatorService as ɵk, AppIconComponent as ɵl };
|
|
24981
24965
|
//# sourceMappingURL=sumaris-net.ngx-components.js.map
|