@sumaris-net/ngx-components 1.16.3 → 1.17.0
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 +314 -352
- package/bundles/sumaris-net.ngx-components.umd.js.map +1 -1
- package/bundles/sumaris-net.ngx-components.umd.min.js +2 -2
- package/bundles/sumaris-net.ngx-components.umd.min.js.map +1 -1
- package/doc/changelog.md +3 -0
- package/esm2015/src/app/admin/services/person.service.js +2 -2
- package/esm2015/src/app/core/graphql/graphql.service.js +2 -2
- package/esm2015/src/app/core/services/model/entity.model.js +1 -4
- package/esm2015/src/app/shared/services/job.utils.js +22 -32
- package/fesm2015/sumaris-net.ngx-components.js +298 -326
- package/fesm2015/sumaris-net.ngx-components.js.map +1 -1
- package/package.json +1 -1
- package/src/app/admin/services/person.service.d.ts +1 -1
- package/src/app/core/services/model/entity.model.d.ts +0 -1
- package/src/app/shared/services/job.utils.d.ts +1 -1
- 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, TemplateRef, ViewContainerRef, HostBinding, HostListener, ViewChildren, ComponentFactoryResolver, ApplicationRef, Injector, Renderer2, ViewEncapsulation } from '@angular/core';
|
|
3
|
-
import * as i1$3 from '@angular/common';
|
|
1
|
+
import { InjectionToken, EventEmitter, Component, forwardRef, ChangeDetectionStrategy, ChangeDetectorRef, Optional, Input, Output, ViewChild, ɵɵdefineInjectable, ɵɵinject, Pipe, Injectable, Directive, Inject, NgModule, ElementRef, TemplateRef, ViewContainerRef, HostBinding, HostListener, ViewChildren, 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, from, of, noop as noop$9, Observable, defer, forkJoin, 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, PopoverController, AlertController, IonicRouteStrategy, NavParams, MenuController, IonContent, IonInfiniteScroll } 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 * as momentTZImported from 'moment-timezone';
|
|
50
42
|
import { Keyboard } from '@ionic-native/keyboard/ngx';
|
|
@@ -55,38 +47,32 @@ import { trigger, state, style, transition, animate } from '@angular/animations'
|
|
|
55
47
|
import { MatDividerModule } from '@angular/material/divider';
|
|
56
48
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
57
49
|
import { MatChipsModule } from '@angular/material/chips';
|
|
58
|
-
import * as i3$3 from '@angular/router';
|
|
59
50
|
import { Router, ActivatedRoute, RouterModule, RouteReuseStrategy } from '@angular/router';
|
|
60
|
-
import * as i1$5 from '@angular/platform-browser';
|
|
61
51
|
import { HammerGestureConfig, EventManager } from '@angular/platform-browser';
|
|
62
|
-
import * as i2$2 from '@angular/common/http';
|
|
63
52
|
import { HttpResponse, HttpClient, HttpHeaders, HttpEventType, HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
|
|
64
53
|
import { ColorPickerModule } from 'ngx-color-picker';
|
|
65
|
-
import { NativeAudio } from '@ionic-native/native-audio/ngx';
|
|
66
|
-
import { Vibration } from '@ionic-native/vibration/ngx';
|
|
54
|
+
import { NativeAudio as NativeAudio$1 } from '@ionic-native/native-audio/ngx';
|
|
55
|
+
import { Vibration as Vibration$1 } from '@ionic-native/vibration/ngx';
|
|
67
56
|
import { AudioManagement } from '@ionic-native/audio-management/ngx';
|
|
68
|
-
import
|
|
69
|
-
import
|
|
70
|
-
import
|
|
57
|
+
import { NativeAudio } from '@ionic-native/native-audio/ngx/index';
|
|
58
|
+
import { Vibration } from '@ionic-native/vibration/ngx/index';
|
|
59
|
+
import { AudioManagement as AudioManagement$1 } from '@ionic-native/audio-management/ngx/index';
|
|
71
60
|
import * as uuidv4Imported from 'uuid/v4';
|
|
72
61
|
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
73
62
|
import { MarkdownModule } from 'ngx-markdown';
|
|
74
63
|
import { sign, box, hash, verify } from 'tweetnacl';
|
|
75
|
-
import * as i3$1 from '@ionic/storage';
|
|
76
64
|
import { Storage, IonicStorageModule } from '@ionic/storage';
|
|
77
65
|
import 'zone.js/dist/zone-error';
|
|
78
|
-
import { SplashScreen } from '@ionic-native/splash-screen/ngx';
|
|
79
|
-
import { Connection, Network } from '@ionic-native/network/ngx';
|
|
80
|
-
import { CacheService, CacheModule } from 'ionic-cache';
|
|
81
|
-
import
|
|
82
|
-
import
|
|
83
|
-
import
|
|
84
|
-
import { StatusBar } from '@ionic-native/status-bar/ngx';
|
|
85
|
-
import * as i2$4 from '@angular/cdk/platform';
|
|
66
|
+
import { SplashScreen as SplashScreen$1 } from '@ionic-native/splash-screen/ngx';
|
|
67
|
+
import { Connection, Network as Network$1 } from '@ionic-native/network/ngx';
|
|
68
|
+
import { CacheService as CacheService$1, CacheModule } from 'ionic-cache';
|
|
69
|
+
import { CacheService } from 'ionic-cache/dist/cache.service';
|
|
70
|
+
import { Network } from '@ionic-native/network/ngx/index';
|
|
71
|
+
import { SplashScreen } from '@ionic-native/splash-screen/ngx/index';
|
|
72
|
+
import { StatusBar as StatusBar$1 } from '@ionic-native/status-bar/ngx';
|
|
86
73
|
import { Platform as Platform$1 } from '@angular/cdk/platform';
|
|
87
|
-
import { InAppBrowser } from '@ionic-native/in-app-browser/ngx';
|
|
74
|
+
import { InAppBrowser as InAppBrowser$1 } from '@ionic-native/in-app-browser/ngx';
|
|
88
75
|
import { ApolloLink, NetworkStatus, InMemoryCache, ApolloClient, gql } from '@apollo/client/core';
|
|
89
|
-
import * as i2$3 from 'apollo-angular';
|
|
90
76
|
import { Apollo } from 'apollo-angular';
|
|
91
77
|
import { WebSocketLink } from '@apollo/client/link/ws';
|
|
92
78
|
import { getMainDefinition } from '@apollo/client/utilities';
|
|
@@ -94,14 +80,13 @@ import { RetryLink } from '@apollo/client/link/retry';
|
|
|
94
80
|
import QueueLink from 'apollo-link-queue';
|
|
95
81
|
import SerializingLink from 'apollo-link-serialize';
|
|
96
82
|
import loggerLink from 'apollo-link-logger';
|
|
97
|
-
import * as i3$2 from 'apollo-angular/http';
|
|
98
83
|
import { HttpLink } from 'apollo-angular/http';
|
|
99
84
|
import { IonicStorageWrapper, persistCache } from 'apollo3-cache-persist';
|
|
100
|
-
import { NotificationVisibility, Downloader } from '@ionic-native/downloader/ngx';
|
|
101
|
-
import
|
|
102
|
-
import
|
|
103
|
-
import
|
|
104
|
-
import
|
|
85
|
+
import { NotificationVisibility, Downloader as Downloader$1 } from '@ionic-native/downloader/ngx';
|
|
86
|
+
import { StatusBar } from '@ionic-native/status-bar/ngx/index';
|
|
87
|
+
import { Keyboard as Keyboard$1 } from '@ionic-native/keyboard/ngx/index';
|
|
88
|
+
import { InAppBrowser } from '@ionic-native/in-app-browser/ngx/index';
|
|
89
|
+
import { Downloader } from '@ionic-native/downloader/ngx/index';
|
|
105
90
|
import { CdkTextareaAutosize } from '@angular/cdk/text-field';
|
|
106
91
|
import { ValidatorService, TableDataSource } from '@e-is/ngx-material-table';
|
|
107
92
|
import { SelectionModel } from '@angular/cdk/collections';
|
|
@@ -994,14 +979,14 @@ class MatAutocompleteConfigHolder {
|
|
|
994
979
|
return this.fields[fieldName] || this.add(fieldName);
|
|
995
980
|
}
|
|
996
981
|
}
|
|
997
|
-
const noop
|
|
998
|
-
const ɵ0
|
|
982
|
+
const noop = (_) => { };
|
|
983
|
+
const ɵ0 = noop;
|
|
999
984
|
class MatAutocompleteField {
|
|
1000
985
|
constructor(cd, formGroupDir) {
|
|
1001
986
|
this.cd = cd;
|
|
1002
987
|
this.formGroupDir = formGroupDir;
|
|
1003
|
-
this._onChangeCallback = noop
|
|
1004
|
-
this._onTouchedCallback = noop
|
|
988
|
+
this._onChangeCallback = noop;
|
|
989
|
+
this._onTouchedCallback = noop;
|
|
1005
990
|
this.logPrefix = '[mat-autocomplete] ';
|
|
1006
991
|
this.formControlName = null;
|
|
1007
992
|
this.required = false;
|
|
@@ -1721,7 +1706,7 @@ class DateFormatPipe {
|
|
|
1721
1706
|
return this.dateAdapter.format(date, displayFormat);
|
|
1722
1707
|
}
|
|
1723
1708
|
}
|
|
1724
|
-
DateFormatPipe.ɵprov =
|
|
1709
|
+
DateFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateFormatPipe_Factory() { return new DateFormatPipe(ɵɵinject(MomentDateAdapter), ɵɵinject(TranslateService)); }, token: DateFormatPipe, providedIn: "root" });
|
|
1725
1710
|
DateFormatPipe.decorators = [
|
|
1726
1711
|
{ type: Pipe, args: [{
|
|
1727
1712
|
name: 'dateFormat'
|
|
@@ -1733,7 +1718,7 @@ DateFormatPipe.ctorParameters = () => [
|
|
|
1733
1718
|
{ type: TranslateService }
|
|
1734
1719
|
];
|
|
1735
1720
|
|
|
1736
|
-
const moment
|
|
1721
|
+
const moment = momentImported;
|
|
1737
1722
|
class DateDiffDurationPipe {
|
|
1738
1723
|
constructor(dateAdapter, translate) {
|
|
1739
1724
|
this.dateAdapter = dateAdapter;
|
|
@@ -1749,17 +1734,17 @@ class DateDiffDurationPipe {
|
|
|
1749
1734
|
return this.format(startDate, endDate);
|
|
1750
1735
|
}
|
|
1751
1736
|
format(startDate, endDate) {
|
|
1752
|
-
const duration = moment
|
|
1737
|
+
const duration = moment.duration(endDate.diff(startDate));
|
|
1753
1738
|
if (duration.asMinutes() < 0)
|
|
1754
1739
|
return '';
|
|
1755
|
-
const timeDuration = moment
|
|
1740
|
+
const timeDuration = moment(0)
|
|
1756
1741
|
.hour(duration.hours())
|
|
1757
1742
|
.minute(duration.minutes());
|
|
1758
1743
|
const days = Math.floor(duration.asDays());
|
|
1759
1744
|
return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + timeDuration.format('HH:mm');
|
|
1760
1745
|
}
|
|
1761
1746
|
}
|
|
1762
|
-
DateDiffDurationPipe.ɵprov =
|
|
1747
|
+
DateDiffDurationPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateDiffDurationPipe_Factory() { return new DateDiffDurationPipe(ɵɵinject(DateAdapter), ɵɵinject(TranslateService)); }, token: DateDiffDurationPipe, providedIn: "root" });
|
|
1763
1748
|
DateDiffDurationPipe.decorators = [
|
|
1764
1749
|
{ type: Pipe, args: [{
|
|
1765
1750
|
name: 'dateDiffDuration'
|
|
@@ -1780,7 +1765,7 @@ class DateFromNowPipe {
|
|
|
1780
1765
|
return date ? date.fromNow(args && args.withoutSuffix) : '';
|
|
1781
1766
|
}
|
|
1782
1767
|
}
|
|
1783
|
-
DateFromNowPipe.ɵprov =
|
|
1768
|
+
DateFromNowPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(ɵɵinject(MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
|
|
1784
1769
|
DateFromNowPipe.decorators = [
|
|
1785
1770
|
{ type: Pipe, args: [{
|
|
1786
1771
|
name: 'dateFromNow'
|
|
@@ -1849,7 +1834,7 @@ function formatToDD(value, opts) {
|
|
|
1849
1834
|
value *= -1;
|
|
1850
1835
|
}
|
|
1851
1836
|
}
|
|
1852
|
-
let degrees = roundFloat
|
|
1837
|
+
let degrees = roundFloat(value, opts.maxDecimals).toString();
|
|
1853
1838
|
// Add sign
|
|
1854
1839
|
let sign = negative ? '-' : '+';
|
|
1855
1840
|
if (opts.placeholderChar) {
|
|
@@ -1900,7 +1885,7 @@ function formatToDDMMSS(value, opts) {
|
|
|
1900
1885
|
}
|
|
1901
1886
|
let degrees = Math.trunc(value);
|
|
1902
1887
|
let minutes = Math.trunc((value - degrees) * 60);
|
|
1903
|
-
let seconds = roundFloat
|
|
1888
|
+
let seconds = roundFloat(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
|
|
1904
1889
|
while (seconds >= 60) {
|
|
1905
1890
|
seconds -= 60;
|
|
1906
1891
|
minutes += 1;
|
|
@@ -1968,7 +1953,7 @@ function formatToDDMM(value, opts) {
|
|
|
1968
1953
|
}
|
|
1969
1954
|
}
|
|
1970
1955
|
let degrees = Math.trunc(value);
|
|
1971
|
-
let minutes = roundFloat
|
|
1956
|
+
let minutes = roundFloat((value - degrees) * 60, opts.maxDecimals);
|
|
1972
1957
|
while (minutes >= 60) {
|
|
1973
1958
|
minutes -= 60;
|
|
1974
1959
|
degrees += 1;
|
|
@@ -2019,15 +2004,15 @@ function parseLatitudeOrLongitude(input, pattern, maxDecimals, placeholderChar)
|
|
|
2019
2004
|
return NaN;
|
|
2020
2005
|
}
|
|
2021
2006
|
if (pattern === 'DD')
|
|
2022
|
-
return roundFloat
|
|
2007
|
+
return roundFloat(degrees, maxDecimals);
|
|
2023
2008
|
const minutes = (pattern === 'DDMMSS' || pattern === 'DDMM') && parts[1] && parseFloat(parts[1].replace(/,/g, '.')) || 0;
|
|
2024
2009
|
const seconds = (pattern === 'DDMMSS') && parts[2] && parseFloat(parts[2].replace(/,/g, '.')) || 0;
|
|
2025
2010
|
const direction = ((pattern === 'DDMMSS') && parts[3]) || ((pattern === 'DDMM') && parts[2]) || undefined;
|
|
2026
2011
|
const sign = (direction && (direction === 's' || direction === 'S' || direction === 'w' || direction === 'W')) ? -1 : 1;
|
|
2027
2012
|
degrees = sign * (degrees + minutes / 60 + seconds / (60 * 60));
|
|
2028
|
-
return roundFloat
|
|
2013
|
+
return roundFloat(degrees, maxDecimals);
|
|
2029
2014
|
}
|
|
2030
|
-
function roundFloat
|
|
2015
|
+
function roundFloat(input, maxDecimals) {
|
|
2031
2016
|
if (maxDecimals > 0) {
|
|
2032
2017
|
const powDecimal = Math.pow(10, maxDecimals);
|
|
2033
2018
|
return Math.trunc(input * powDecimal + 0.5) / powDecimal;
|
|
@@ -2047,7 +2032,7 @@ class LatLongFormatPipe {
|
|
|
2047
2032
|
return ((!args.type || args.type !== 'latitude') ? formatLongitude : formatLatitude)(value, args);
|
|
2048
2033
|
}
|
|
2049
2034
|
}
|
|
2050
|
-
LatLongFormatPipe.ɵprov =
|
|
2035
|
+
LatLongFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
|
|
2051
2036
|
LatLongFormatPipe.decorators = [
|
|
2052
2037
|
{ type: Pipe, args: [{
|
|
2053
2038
|
name: 'latLongFormat'
|
|
@@ -2059,7 +2044,7 @@ class LatitudeFormatPipe {
|
|
|
2059
2044
|
this.transform = formatLatitude;
|
|
2060
2045
|
}
|
|
2061
2046
|
}
|
|
2062
|
-
LatitudeFormatPipe.ɵprov =
|
|
2047
|
+
LatitudeFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
|
|
2063
2048
|
LatitudeFormatPipe.decorators = [
|
|
2064
2049
|
{ type: Pipe, args: [{
|
|
2065
2050
|
name: 'latitudeFormat'
|
|
@@ -2071,7 +2056,7 @@ class LongitudeFormatPipe {
|
|
|
2071
2056
|
this.transform = formatLongitude;
|
|
2072
2057
|
}
|
|
2073
2058
|
}
|
|
2074
|
-
LongitudeFormatPipe.ɵprov =
|
|
2059
|
+
LongitudeFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
|
|
2075
2060
|
LongitudeFormatPipe.decorators = [
|
|
2076
2061
|
{ type: Pipe, args: [{
|
|
2077
2062
|
name: 'longitudeFormat'
|
|
@@ -2091,7 +2076,7 @@ class NumberFormatPipe {
|
|
|
2091
2076
|
}
|
|
2092
2077
|
}
|
|
2093
2078
|
}
|
|
2094
|
-
NumberFormatPipe.ɵprov =
|
|
2079
|
+
NumberFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
|
|
2095
2080
|
NumberFormatPipe.decorators = [
|
|
2096
2081
|
{ type: Pipe, args: [{
|
|
2097
2082
|
name: 'numberFormat'
|
|
@@ -2131,7 +2116,7 @@ class HighlightPipe {
|
|
|
2131
2116
|
}
|
|
2132
2117
|
}
|
|
2133
2118
|
}
|
|
2134
|
-
HighlightPipe.ɵprov =
|
|
2119
|
+
HighlightPipe.ɵprov = ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
|
|
2135
2120
|
HighlightPipe.decorators = [
|
|
2136
2121
|
{ type: Pipe, args: [{
|
|
2137
2122
|
name: 'highlight'
|
|
@@ -2196,7 +2181,7 @@ FileSizePipe.decorators = [
|
|
|
2196
2181
|
{ type: Pipe, args: [{ name: 'fileSize' },] }
|
|
2197
2182
|
];
|
|
2198
2183
|
|
|
2199
|
-
const moment$
|
|
2184
|
+
const moment$1 = momentImported;
|
|
2200
2185
|
const tz = momentTZImported;
|
|
2201
2186
|
const DATE_UNIX_TIMESTAMP = 'X';
|
|
2202
2187
|
const DATE_UNIX_MS_TIMESTAMP = 'x';
|
|
@@ -2273,32 +2258,32 @@ function fromDateISOString(value) {
|
|
|
2273
2258
|
if (!value || isMoment(value))
|
|
2274
2259
|
return value;
|
|
2275
2260
|
// Parse the input value, as a ISO date time
|
|
2276
|
-
const date = moment$
|
|
2261
|
+
const date = moment$1(value, DATE_ISO_PATTERN);
|
|
2277
2262
|
if (date.isValid())
|
|
2278
2263
|
return date;
|
|
2279
2264
|
// Not valid: trying to convert from unix timestamp
|
|
2280
2265
|
if (typeof value === 'string') {
|
|
2281
2266
|
console.warn('Wrong date format - Trying to convert from local time: ' + value);
|
|
2282
2267
|
if (value.length === 10) {
|
|
2283
|
-
return moment$
|
|
2268
|
+
return moment$1(value, DATE_UNIX_TIMESTAMP);
|
|
2284
2269
|
}
|
|
2285
2270
|
else if (value.length === 13) {
|
|
2286
|
-
return moment$
|
|
2271
|
+
return moment$1(value, DATE_UNIX_MS_TIMESTAMP);
|
|
2287
2272
|
}
|
|
2288
2273
|
}
|
|
2289
2274
|
console.warn('Unable to parse date: ' + value);
|
|
2290
2275
|
return undefined;
|
|
2291
2276
|
}
|
|
2292
2277
|
function fromUnixTimestamp(timeInSec) {
|
|
2293
|
-
return moment$
|
|
2278
|
+
return moment$1(timeInSec, DATE_UNIX_TIMESTAMP);
|
|
2294
2279
|
}
|
|
2295
2280
|
function fromUnixMsTimestamp(timeInMs) {
|
|
2296
|
-
return moment$
|
|
2281
|
+
return moment$1(timeInMs, DATE_UNIX_MS_TIMESTAMP);
|
|
2297
2282
|
}
|
|
2298
2283
|
function toDuration(value, unit) {
|
|
2299
2284
|
if (!value)
|
|
2300
2285
|
return undefined;
|
|
2301
|
-
const duration = moment$
|
|
2286
|
+
const duration = moment$1.duration(value, unit);
|
|
2302
2287
|
// fix 990+ ms
|
|
2303
2288
|
if (duration.milliseconds() >= 990) {
|
|
2304
2289
|
duration.add(1000 - duration.milliseconds(), 'ms');
|
|
@@ -2327,7 +2312,7 @@ class DurationPipe {
|
|
|
2327
2312
|
return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + hour + ':' + minute;
|
|
2328
2313
|
}
|
|
2329
2314
|
}
|
|
2330
|
-
DurationPipe.ɵprov =
|
|
2315
|
+
DurationPipe.ɵprov = ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(ɵɵinject(TranslateService)); }, token: DurationPipe, providedIn: "root" });
|
|
2331
2316
|
DurationPipe.decorators = [
|
|
2332
2317
|
{ type: Pipe, args: [{
|
|
2333
2318
|
name: 'duration'
|
|
@@ -2348,7 +2333,7 @@ class MathAbsPipe {
|
|
|
2348
2333
|
}
|
|
2349
2334
|
}
|
|
2350
2335
|
}
|
|
2351
|
-
MathAbsPipe.ɵprov =
|
|
2336
|
+
MathAbsPipe.ɵprov = ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
|
|
2352
2337
|
MathAbsPipe.decorators = [
|
|
2353
2338
|
{ type: Pipe, args: [{
|
|
2354
2339
|
name: 'mathAbs'
|
|
@@ -2360,7 +2345,7 @@ class EvenPipe {
|
|
|
2360
2345
|
return val % 2 === 0;
|
|
2361
2346
|
}
|
|
2362
2347
|
}
|
|
2363
|
-
EvenPipe.ɵprov =
|
|
2348
|
+
EvenPipe.ɵprov = ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
|
|
2364
2349
|
EvenPipe.decorators = [
|
|
2365
2350
|
{ type: Pipe, args: [{
|
|
2366
2351
|
name: 'even'
|
|
@@ -2372,7 +2357,7 @@ class OddPipe {
|
|
|
2372
2357
|
return val % 2 !== 0;
|
|
2373
2358
|
}
|
|
2374
2359
|
}
|
|
2375
|
-
OddPipe.ɵprov =
|
|
2360
|
+
OddPipe.ɵprov = ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
|
|
2376
2361
|
OddPipe.decorators = [
|
|
2377
2362
|
{ type: Pipe, args: [{
|
|
2378
2363
|
name: 'odd'
|
|
@@ -2480,7 +2465,7 @@ class MapGetPipe {
|
|
|
2480
2465
|
return val[key];
|
|
2481
2466
|
}
|
|
2482
2467
|
}
|
|
2483
|
-
MapGetPipe.ɵprov =
|
|
2468
|
+
MapGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
|
|
2484
2469
|
MapGetPipe.decorators = [
|
|
2485
2470
|
{ type: Pipe, args: [{
|
|
2486
2471
|
name: 'mapGet'
|
|
@@ -2494,7 +2479,7 @@ class MapKeysPipe {
|
|
|
2494
2479
|
return Object.keys(map);
|
|
2495
2480
|
}
|
|
2496
2481
|
}
|
|
2497
|
-
MapKeysPipe.ɵprov =
|
|
2482
|
+
MapKeysPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
|
|
2498
2483
|
MapKeysPipe.decorators = [
|
|
2499
2484
|
{ type: Pipe, args: [{
|
|
2500
2485
|
name: 'mapKeys'
|
|
@@ -2508,7 +2493,7 @@ class MapValuesPipe {
|
|
|
2508
2493
|
return Object.values(map);
|
|
2509
2494
|
}
|
|
2510
2495
|
}
|
|
2511
|
-
MapValuesPipe.ɵprov =
|
|
2496
|
+
MapValuesPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
|
|
2512
2497
|
MapValuesPipe.decorators = [
|
|
2513
2498
|
{ type: Pipe, args: [{
|
|
2514
2499
|
name: 'mapValues'
|
|
@@ -2521,7 +2506,7 @@ class IsNotNilOrBlankPipe {
|
|
|
2521
2506
|
return isNotNilOrBlank(value);
|
|
2522
2507
|
}
|
|
2523
2508
|
}
|
|
2524
|
-
IsNotNilOrBlankPipe.ɵprov =
|
|
2509
|
+
IsNotNilOrBlankPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
|
|
2525
2510
|
IsNotNilOrBlankPipe.decorators = [
|
|
2526
2511
|
{ type: Pipe, args: [{
|
|
2527
2512
|
name: 'isNotNilOrBlank'
|
|
@@ -2533,7 +2518,7 @@ class IsNilOrBlankPipe {
|
|
|
2533
2518
|
return isNilOrBlank(value);
|
|
2534
2519
|
}
|
|
2535
2520
|
}
|
|
2536
|
-
IsNilOrBlankPipe.ɵprov =
|
|
2521
|
+
IsNilOrBlankPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
|
|
2537
2522
|
IsNilOrBlankPipe.decorators = [
|
|
2538
2523
|
{ type: Pipe, args: [{
|
|
2539
2524
|
name: 'isNilOrBlank'
|
|
@@ -2545,7 +2530,7 @@ class ToStringPipe {
|
|
|
2545
2530
|
return (value !== null && value !== undefined) ? value.toString() : '';
|
|
2546
2531
|
}
|
|
2547
2532
|
}
|
|
2548
|
-
ToStringPipe.ɵprov =
|
|
2533
|
+
ToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
|
|
2549
2534
|
ToStringPipe.decorators = [
|
|
2550
2535
|
{ type: Pipe, args: [{
|
|
2551
2536
|
name: 'toString'
|
|
@@ -2557,7 +2542,7 @@ class StrLengthPipe {
|
|
|
2557
2542
|
return value && value.length || 0;
|
|
2558
2543
|
}
|
|
2559
2544
|
}
|
|
2560
|
-
StrLengthPipe.ɵprov =
|
|
2545
|
+
StrLengthPipe.ɵprov = ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
|
|
2561
2546
|
StrLengthPipe.decorators = [
|
|
2562
2547
|
{ type: Pipe, args: [{
|
|
2563
2548
|
name: 'strLength'
|
|
@@ -2569,7 +2554,7 @@ class StrIncludesPipe {
|
|
|
2569
2554
|
return (value === null || value === void 0 ? void 0 : value.includes(searchString, position)) || false;
|
|
2570
2555
|
}
|
|
2571
2556
|
}
|
|
2572
|
-
StrIncludesPipe.ɵprov =
|
|
2557
|
+
StrIncludesPipe.ɵprov = ɵɵdefineInjectable({ factory: function StrIncludesPipe_Factory() { return new StrIncludesPipe(); }, token: StrIncludesPipe, providedIn: "root" });
|
|
2573
2558
|
StrIncludesPipe.decorators = [
|
|
2574
2559
|
{ type: Pipe, args: [{
|
|
2575
2560
|
name: 'strIncludes'
|
|
@@ -2646,7 +2631,7 @@ class TranslateContextService {
|
|
|
2646
2631
|
return translations[keys[keys.length - 1]]; // Return the last keys translation
|
|
2647
2632
|
}
|
|
2648
2633
|
}
|
|
2649
|
-
TranslateContextService.ɵprov =
|
|
2634
|
+
TranslateContextService.ɵprov = ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(ɵɵinject(TranslateService)); }, token: TranslateContextService, providedIn: "root" });
|
|
2650
2635
|
TranslateContextService.decorators = [
|
|
2651
2636
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
2652
2637
|
];
|
|
@@ -2696,7 +2681,7 @@ class PropertyGetPipe {
|
|
|
2696
2681
|
args && args.defaultValue);
|
|
2697
2682
|
}
|
|
2698
2683
|
}
|
|
2699
|
-
PropertyGetPipe.ɵprov =
|
|
2684
|
+
PropertyGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
|
|
2700
2685
|
PropertyGetPipe.decorators = [
|
|
2701
2686
|
{ type: Pipe, args: [{
|
|
2702
2687
|
name: 'propertyGet'
|
|
@@ -2721,7 +2706,7 @@ NgInitDirective.propDecorators = {
|
|
|
2721
2706
|
ngInit: [{ type: Output }]
|
|
2722
2707
|
};
|
|
2723
2708
|
|
|
2724
|
-
const moment$
|
|
2709
|
+
const moment$2 = momentImported;
|
|
2725
2710
|
// @dynamic
|
|
2726
2711
|
class SharedValidators {
|
|
2727
2712
|
static getDoubleRegexp(maxDecimals) {
|
|
@@ -2802,7 +2787,7 @@ class SharedValidators {
|
|
|
2802
2787
|
}
|
|
2803
2788
|
static validDate(control) {
|
|
2804
2789
|
const value = control.value;
|
|
2805
|
-
const date = !value || moment$
|
|
2790
|
+
const date = !value || moment$2.isMoment(value) ? value : moment$2(control.value, DATE_ISO_PATTERN);
|
|
2806
2791
|
if (date && (!date.isValid() || date.year() < 1970)) {
|
|
2807
2792
|
return { validDate: true };
|
|
2808
2793
|
}
|
|
@@ -3914,7 +3899,7 @@ class FormErrorTranslator {
|
|
|
3914
3899
|
return errorKey;
|
|
3915
3900
|
}
|
|
3916
3901
|
}
|
|
3917
|
-
FormErrorTranslator.ɵprov =
|
|
3902
|
+
FormErrorTranslator.ɵprov = ɵɵdefineInjectable({ factory: function FormErrorTranslator_Factory() { return new FormErrorTranslator(ɵɵinject(TranslateService), ɵɵinject(APP_FORM_ERROR_I18N_KEYS, 8)); }, token: FormErrorTranslator, providedIn: "root" });
|
|
3918
3903
|
FormErrorTranslator.decorators = [
|
|
3919
3904
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
3920
3905
|
];
|
|
@@ -3994,7 +3979,7 @@ class FormGetPipe {
|
|
|
3994
3979
|
return form.get(path);
|
|
3995
3980
|
}
|
|
3996
3981
|
}
|
|
3997
|
-
FormGetPipe.ɵprov =
|
|
3982
|
+
FormGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function FormGetPipe_Factory() { return new FormGetPipe(); }, token: FormGetPipe, providedIn: "root" });
|
|
3998
3983
|
FormGetPipe.decorators = [
|
|
3999
3984
|
{ type: Pipe, args: [{
|
|
4000
3985
|
name: 'formGet'
|
|
@@ -4006,7 +3991,7 @@ class FormGetControlPipe {
|
|
|
4006
3991
|
return form.get(path);
|
|
4007
3992
|
}
|
|
4008
3993
|
}
|
|
4009
|
-
FormGetControlPipe.ɵprov =
|
|
3994
|
+
FormGetControlPipe.ɵprov = ɵɵdefineInjectable({ factory: function FormGetControlPipe_Factory() { return new FormGetControlPipe(); }, token: FormGetControlPipe, providedIn: "root" });
|
|
4010
3995
|
FormGetControlPipe.decorators = [
|
|
4011
3996
|
{ type: Pipe, args: [{
|
|
4012
3997
|
name: 'formGetControl'
|
|
@@ -4018,7 +4003,7 @@ class FormGetArrayPipe {
|
|
|
4018
4003
|
return form.get(path);
|
|
4019
4004
|
}
|
|
4020
4005
|
}
|
|
4021
|
-
FormGetArrayPipe.ɵprov =
|
|
4006
|
+
FormGetArrayPipe.ɵprov = ɵɵdefineInjectable({ factory: function FormGetArrayPipe_Factory() { return new FormGetArrayPipe(); }, token: FormGetArrayPipe, providedIn: "root" });
|
|
4022
4007
|
FormGetArrayPipe.decorators = [
|
|
4023
4008
|
{ type: Pipe, args: [{
|
|
4024
4009
|
name: 'formGetArray'
|
|
@@ -4030,7 +4015,7 @@ class FormGetGroupPipe {
|
|
|
4030
4015
|
return form.get(path);
|
|
4031
4016
|
}
|
|
4032
4017
|
}
|
|
4033
|
-
FormGetGroupPipe.ɵprov =
|
|
4018
|
+
FormGetGroupPipe.ɵprov = ɵɵdefineInjectable({ factory: function FormGetGroupPipe_Factory() { return new FormGetGroupPipe(); }, token: FormGetGroupPipe, providedIn: "root" });
|
|
4034
4019
|
FormGetGroupPipe.decorators = [
|
|
4035
4020
|
{ type: Pipe, args: [{
|
|
4036
4021
|
name: 'formGetGroup'
|
|
@@ -4150,7 +4135,7 @@ const isIpad = (win) => {
|
|
|
4150
4135
|
}
|
|
4151
4136
|
return false;
|
|
4152
4137
|
};
|
|
4153
|
-
const ɵ0$
|
|
4138
|
+
const ɵ0$1 = isIpad;
|
|
4154
4139
|
const isIOS = (win) => testUserAgent(win, /iPhone|iPod/i) || isIpad(win);
|
|
4155
4140
|
const isAndroid = (win) => testUserAgent(win, /android|sink/i);
|
|
4156
4141
|
const isCordova = (win) => !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);
|
|
@@ -4385,9 +4370,9 @@ function parseDuration(input, maxDecimals, placeholderChar) {
|
|
|
4385
4370
|
const hour = parseInt(durationParts[0] || '0');
|
|
4386
4371
|
const minute = parseInt(durationParts[1] || '0');
|
|
4387
4372
|
const value = hour + (minute + 0.5) / 60;
|
|
4388
|
-
return roundFloat(value, maxDecimals);
|
|
4373
|
+
return roundFloat$1(value, maxDecimals);
|
|
4389
4374
|
}
|
|
4390
|
-
function roundFloat(input, maxDecimals) {
|
|
4375
|
+
function roundFloat$1(input, maxDecimals) {
|
|
4391
4376
|
if (maxDecimals > 0) {
|
|
4392
4377
|
const powDecimal = Math.pow(10, maxDecimals);
|
|
4393
4378
|
return Math.trunc(input * powDecimal + 0.5) / powDecimal;
|
|
@@ -4411,9 +4396,9 @@ const MASKS = {
|
|
|
4411
4396
|
DD: [/[+-]/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '°']
|
|
4412
4397
|
}
|
|
4413
4398
|
};
|
|
4414
|
-
const noop$
|
|
4399
|
+
const noop$1 = () => {
|
|
4415
4400
|
};
|
|
4416
|
-
const ɵ0$
|
|
4401
|
+
const ɵ0$2 = noop$1;
|
|
4417
4402
|
class MatLatLongField {
|
|
4418
4403
|
constructor(platform, translate, formBuilder, cd, formGroupDir) {
|
|
4419
4404
|
this.platform = platform;
|
|
@@ -4421,8 +4406,8 @@ class MatLatLongField {
|
|
|
4421
4406
|
this.formBuilder = formBuilder;
|
|
4422
4407
|
this.cd = cd;
|
|
4423
4408
|
this.formGroupDir = formGroupDir;
|
|
4424
|
-
this._onChangeCallback = noop$
|
|
4425
|
-
this._onTouchedCallback = noop$
|
|
4409
|
+
this._onChangeCallback = noop$1;
|
|
4410
|
+
this._onTouchedCallback = noop$1;
|
|
4426
4411
|
this._subscription = new Subscription();
|
|
4427
4412
|
this.disabling = false;
|
|
4428
4413
|
this.writing = false;
|
|
@@ -4759,14 +4744,14 @@ SharedMatLatLongModule.decorators = [
|
|
|
4759
4744
|
},] }
|
|
4760
4745
|
];
|
|
4761
4746
|
|
|
4762
|
-
const DEFAULT_VALUE_ACCESSOR
|
|
4747
|
+
const DEFAULT_VALUE_ACCESSOR = {
|
|
4763
4748
|
provide: NG_VALUE_ACCESSOR,
|
|
4764
4749
|
useExisting: forwardRef(() => MatDate),
|
|
4765
4750
|
multi: true
|
|
4766
4751
|
};
|
|
4767
|
-
const DAY_MASK
|
|
4768
|
-
const noop$
|
|
4769
|
-
const ɵ0$
|
|
4752
|
+
const DAY_MASK = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
|
|
4753
|
+
const noop$2 = () => { };
|
|
4754
|
+
const ɵ0$3 = noop$2;
|
|
4770
4755
|
class MatDate {
|
|
4771
4756
|
constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
4772
4757
|
this.platform = platform;
|
|
@@ -4776,13 +4761,13 @@ class MatDate {
|
|
|
4776
4761
|
this.cd = cd;
|
|
4777
4762
|
this.keyboard = keyboard;
|
|
4778
4763
|
this.formGroupDir = formGroupDir;
|
|
4779
|
-
this._onChangeCallback = noop$
|
|
4780
|
-
this._onTouchedCallback = noop$
|
|
4764
|
+
this._onChangeCallback = noop$2;
|
|
4765
|
+
this._onTouchedCallback = noop$2;
|
|
4781
4766
|
this._subscription = new Subscription();
|
|
4782
4767
|
this._writing = true;
|
|
4783
4768
|
this._disabling = false;
|
|
4784
4769
|
this._readonly = false;
|
|
4785
|
-
this.dayMask = DAY_MASK
|
|
4770
|
+
this.dayMask = DAY_MASK;
|
|
4786
4771
|
this.floatLabel = 'auto';
|
|
4787
4772
|
this.compact = false;
|
|
4788
4773
|
this.placeholderChar = DEFAULT_PLACEHOLDER_CHAR;
|
|
@@ -5069,7 +5054,7 @@ MatDate.decorators = [
|
|
|
5069
5054
|
selector: 'mat-date-field',
|
|
5070
5055
|
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 -->\n<ng-template #writable>\n <mat-form-field [floatLabel]=\"floatLabel\">\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]=\"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 input -->\n <input matInput type=\"text\" [formControl]=\"formControl\"\n hidden\n [matDatepicker]=\"datePicker\"\n [matDatepickerFilter]=\"datePickerFilter\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n <button type=\"button\" mat-icon-button tabindex=\"-1\" matSuffix\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)=\"clear()\"\n [hidden]=\"formControl.disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <!-- errors -->\n <mat-error *ngIf=\"formControl.touched && formControl.errors|mapKeys|arrayFirst; let errorKey\">\n <ng-container [ngSwitch]=\"errorKey\">\n <span *ngSwitchCase=\"'required'\" translate>ERROR.FIELD_REQUIRED</span>\n <span *ngSwitchCase=\"'validDate'\" translate>ERROR.FIELD_NOT_VALID_DATE_TIME</span>\n <span *ngSwitchCase=\"'dateIsAfter'\">{{'ERROR.FIELD_NOT_VALID_DATE_AFTER' | translate: formControl.errors.dateIsAfter }}</span>\n <span *ngSwitchCase=\"'dateIsBefore'\">{{'ERROR.FIELD_NOT_VALID_DATE_BEFORE' | translate: formControl.errors.dateIsBefore }}</span>\n <span *ngSwitchCase=\"'dateRange'\" translate>ERROR.FIELD_NOT_VALID_DATE_RANGE</span>\n <span *ngSwitchCase=\"'dateMaxDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MAX_DURATION</span>\n <span *ngSwitchCase=\"'dateMinDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MIN_DURATION</span>\n <span *ngSwitchCase=\"'msg'\">{{(formControl.errors.msg?.key || formControl.errors.msg) | translate: formControl.errors.msg?.params}}</span>\n </ng-container>\n </mat-error>\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 </mat-form-field>\n\n <mat-datepicker #datePicker\n [touchUi]=\"mobile\"\n [disabled]=\"formControl.disabled\"\n [startAt]=\"startDate\"\n ></mat-datepicker>\n\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",
|
|
5071
5056
|
providers: [
|
|
5072
|
-
DEFAULT_VALUE_ACCESSOR
|
|
5057
|
+
DEFAULT_VALUE_ACCESSOR,
|
|
5073
5058
|
],
|
|
5074
5059
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
5075
5060
|
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%}"]
|
|
@@ -5104,16 +5089,16 @@ MatDate.propDecorators = {
|
|
|
5104
5089
|
matInputs: [{ type: ViewChildren, args: ['matInput',] }]
|
|
5105
5090
|
};
|
|
5106
5091
|
|
|
5107
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
5092
|
+
const DEFAULT_VALUE_ACCESSOR$1 = {
|
|
5108
5093
|
provide: NG_VALUE_ACCESSOR,
|
|
5109
5094
|
useExisting: forwardRef(() => MatDateTime),
|
|
5110
5095
|
multi: true
|
|
5111
5096
|
};
|
|
5112
5097
|
const DAY_MASK$1 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
|
|
5113
5098
|
const HOUR_REGEXP = /^[012][0-9][:][012345][0-9]$/;
|
|
5114
|
-
const HOUR_MASK
|
|
5115
|
-
const noop$
|
|
5116
|
-
const ɵ0$
|
|
5099
|
+
const HOUR_MASK = [/[012]/, /\d/, ':', /[012345]/, /\d/];
|
|
5100
|
+
const noop$3 = () => { };
|
|
5101
|
+
const ɵ0$4 = noop$3;
|
|
5117
5102
|
class MatDateTime {
|
|
5118
5103
|
constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
5119
5104
|
this.platform = platform;
|
|
@@ -5123,14 +5108,14 @@ class MatDateTime {
|
|
|
5123
5108
|
this.cd = cd;
|
|
5124
5109
|
this.keyboard = keyboard;
|
|
5125
5110
|
this.formGroupDir = formGroupDir;
|
|
5126
|
-
this._onChangeCallback = noop$
|
|
5127
|
-
this._onTouchedCallback = noop$
|
|
5111
|
+
this._onChangeCallback = noop$3;
|
|
5112
|
+
this._onTouchedCallback = noop$3;
|
|
5128
5113
|
this._subscription = new Subscription();
|
|
5129
5114
|
this._writing = true;
|
|
5130
5115
|
this._disabling = false;
|
|
5131
5116
|
this._readonly = false;
|
|
5132
5117
|
this.dayMask = DAY_MASK$1;
|
|
5133
|
-
this.hourMask = HOUR_MASK
|
|
5118
|
+
this.hourMask = HOUR_MASK;
|
|
5134
5119
|
this.floatLabel = 'auto';
|
|
5135
5120
|
this.compact = false;
|
|
5136
5121
|
this.placeholderChar = DEFAULT_PLACEHOLDER_CHAR;
|
|
@@ -5443,7 +5428,7 @@ MatDateTime.decorators = [
|
|
|
5443
5428
|
selector: 'mat-date-time-field',
|
|
5444
5429
|
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]=\"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 input -->\n <input matInput type=\"text\" [formControl]=\"formControl\"\n hidden\n [matDatepicker]=\"datePicker\"\n [matDatepickerFilter]=\"datePickerFilter\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n <button type=\"button\" mat-icon-button tabindex=\"-1\" matSuffix\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)=\"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=\"'dateIsBefore'\">{{'ERROR.FIELD_NOT_VALID_DATE_BEFORE' | translate: formControl.errors.dateIsBefore }}</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 && (hourControl.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]=\"hourControl\"\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]=\"hourControl\"\n (click)=\"openTimePickerIfMobile($event)\"\n readonly>\n\n <input matInput type=\"text\"\n [formControl]=\"hourControl\"\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",
|
|
5445
5430
|
providers: [
|
|
5446
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
5431
|
+
DEFAULT_VALUE_ACCESSOR$1,
|
|
5447
5432
|
],
|
|
5448
5433
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
5449
5434
|
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%}"]
|
|
@@ -5478,15 +5463,15 @@ MatDateTime.propDecorators = {
|
|
|
5478
5463
|
matInputs: [{ type: ViewChildren, args: ['matInput',] }]
|
|
5479
5464
|
};
|
|
5480
5465
|
|
|
5481
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
5466
|
+
const DEFAULT_VALUE_ACCESSOR$2 = {
|
|
5482
5467
|
provide: NG_VALUE_ACCESSOR,
|
|
5483
5468
|
useExisting: forwardRef(() => MatDateShort),
|
|
5484
5469
|
multi: true
|
|
5485
5470
|
};
|
|
5486
|
-
const DAY_MASK = [/\d/, /\d/, /\d/, /\d/];
|
|
5471
|
+
const DAY_MASK$2 = [/\d/, /\d/, /\d/, /\d/];
|
|
5487
5472
|
const noop$4 = () => {
|
|
5488
5473
|
};
|
|
5489
|
-
const ɵ0$
|
|
5474
|
+
const ɵ0$5 = noop$4;
|
|
5490
5475
|
class MatDateShort {
|
|
5491
5476
|
constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
5492
5477
|
this.dateAdapter = dateAdapter;
|
|
@@ -5499,7 +5484,7 @@ class MatDateShort {
|
|
|
5499
5484
|
this._onTouchedCallback = noop$4;
|
|
5500
5485
|
this.writing = true;
|
|
5501
5486
|
this.disabling = false;
|
|
5502
|
-
this.dayMask = DAY_MASK;
|
|
5487
|
+
this.dayMask = DAY_MASK$2;
|
|
5503
5488
|
this.disabled = false;
|
|
5504
5489
|
this.floatLabel = 'auto';
|
|
5505
5490
|
this.readonly = false;
|
|
@@ -5744,7 +5729,7 @@ MatDateShort.decorators = [
|
|
|
5744
5729
|
selector: 'mat-date-short-field',
|
|
5745
5730
|
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",
|
|
5746
5731
|
providers: [
|
|
5747
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
5732
|
+
DEFAULT_VALUE_ACCESSOR$2,
|
|
5748
5733
|
],
|
|
5749
5734
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
5750
5735
|
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%}"]
|
|
@@ -5812,16 +5797,16 @@ SharedMatDateTimeModule.decorators = [
|
|
|
5812
5797
|
},] }
|
|
5813
5798
|
];
|
|
5814
5799
|
|
|
5815
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
5800
|
+
const DEFAULT_VALUE_ACCESSOR$3 = {
|
|
5816
5801
|
provide: NG_VALUE_ACCESSOR,
|
|
5817
5802
|
useExisting: forwardRef(() => MatDuration),
|
|
5818
5803
|
multi: true
|
|
5819
5804
|
};
|
|
5820
5805
|
const HOUR_TIME_PATTERN = /[0-9]\d\d:[0-5]\d/;
|
|
5821
|
-
const HOUR_MASK = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
|
|
5822
|
-
const noop$
|
|
5806
|
+
const HOUR_MASK$1 = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
|
|
5807
|
+
const noop$5 = () => {
|
|
5823
5808
|
};
|
|
5824
|
-
const ɵ0$6 = noop$
|
|
5809
|
+
const ɵ0$6 = noop$5;
|
|
5825
5810
|
class MatDuration {
|
|
5826
5811
|
constructor(platform, dateAdapter, translate, formBuilder, cd, formGroupDir) {
|
|
5827
5812
|
this.dateAdapter = dateAdapter;
|
|
@@ -5830,11 +5815,11 @@ class MatDuration {
|
|
|
5830
5815
|
this.cd = cd;
|
|
5831
5816
|
this.formGroupDir = formGroupDir;
|
|
5832
5817
|
this._subscription = new Subscription();
|
|
5833
|
-
this._onChangeCallback = noop$
|
|
5834
|
-
this._onTouchedCallback = noop$
|
|
5818
|
+
this._onChangeCallback = noop$5;
|
|
5819
|
+
this._onTouchedCallback = noop$5;
|
|
5835
5820
|
this.writing = true;
|
|
5836
5821
|
this.disabling = false;
|
|
5837
|
-
this.hourMask = HOUR_MASK;
|
|
5822
|
+
this.hourMask = HOUR_MASK$1;
|
|
5838
5823
|
this.disabled = false;
|
|
5839
5824
|
this.floatLabel = 'auto';
|
|
5840
5825
|
this.readonly = false;
|
|
@@ -6014,7 +5999,7 @@ MatDuration.decorators = [
|
|
|
6014
5999
|
selector: 'mat-duration-field',
|
|
6015
6000
|
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",
|
|
6016
6001
|
providers: [
|
|
6017
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
6002
|
+
DEFAULT_VALUE_ACCESSOR$3,
|
|
6018
6003
|
],
|
|
6019
6004
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
6020
6005
|
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%}"]
|
|
@@ -6071,22 +6056,22 @@ SharedMatDurationModule.decorators = [
|
|
|
6071
6056
|
},] }
|
|
6072
6057
|
];
|
|
6073
6058
|
|
|
6074
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
6059
|
+
const DEFAULT_VALUE_ACCESSOR$4 = {
|
|
6075
6060
|
provide: NG_VALUE_ACCESSOR,
|
|
6076
6061
|
useExisting: forwardRef(() => MatBooleanField),
|
|
6077
6062
|
multi: true
|
|
6078
6063
|
};
|
|
6079
|
-
const noop$
|
|
6064
|
+
const noop$6 = () => {
|
|
6080
6065
|
};
|
|
6081
|
-
const ɵ0$
|
|
6066
|
+
const ɵ0$7 = noop$6;
|
|
6082
6067
|
class MatBooleanField {
|
|
6083
6068
|
constructor(translate, formBuilder, cd, formGroupDir) {
|
|
6084
6069
|
this.translate = translate;
|
|
6085
6070
|
this.formBuilder = formBuilder;
|
|
6086
6071
|
this.cd = cd;
|
|
6087
6072
|
this.formGroupDir = formGroupDir;
|
|
6088
|
-
this._onChangeCallback = noop$
|
|
6089
|
-
this._onTouchedCallback = noop$
|
|
6073
|
+
this._onChangeCallback = noop$6;
|
|
6074
|
+
this._onTouchedCallback = noop$6;
|
|
6090
6075
|
this._writing = false;
|
|
6091
6076
|
this.showRadio = false;
|
|
6092
6077
|
this.disabled = false;
|
|
@@ -6249,7 +6234,7 @@ MatBooleanField.decorators = [
|
|
|
6249
6234
|
selector: 'mat-boolean-field',
|
|
6250
6235
|
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",
|
|
6251
6236
|
providers: [
|
|
6252
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
6237
|
+
DEFAULT_VALUE_ACCESSOR$4
|
|
6253
6238
|
],
|
|
6254
6239
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
6255
6240
|
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}"]
|
|
@@ -6495,7 +6480,7 @@ class MatNumpadDomService {
|
|
|
6495
6480
|
this.appRef.detachView(this.componentRef.hostView);
|
|
6496
6481
|
}
|
|
6497
6482
|
}
|
|
6498
|
-
MatNumpadDomService.ɵprov =
|
|
6483
|
+
MatNumpadDomService.ɵprov = ɵɵdefineInjectable({ factory: function MatNumpadDomService_Factory() { return new MatNumpadDomService(ɵɵinject(ComponentFactoryResolver), ɵɵinject(ApplicationRef), ɵɵinject(INJECTOR), ɵɵinject(DOCUMENT, 8)); }, token: MatNumpadDomService, providedIn: "root" });
|
|
6499
6484
|
MatNumpadDomService.decorators = [
|
|
6500
6485
|
{ type: Injectable, args: [{
|
|
6501
6486
|
providedIn: 'root'
|
|
@@ -6859,7 +6844,7 @@ SharedMatNumpadModule.decorators = [
|
|
|
6859
6844
|
},] }
|
|
6860
6845
|
];
|
|
6861
6846
|
|
|
6862
|
-
const DEFAULT_VALUE_ACCESSOR = {
|
|
6847
|
+
const DEFAULT_VALUE_ACCESSOR$5 = {
|
|
6863
6848
|
provide: NG_VALUE_ACCESSOR,
|
|
6864
6849
|
useExisting: forwardRef(() => MatSwipeField),
|
|
6865
6850
|
multi: true
|
|
@@ -7122,7 +7107,7 @@ MatSwipeField.decorators = [
|
|
|
7122
7107
|
{ type: Component, args: [{
|
|
7123
7108
|
selector: 'mat-swipe-field',
|
|
7124
7109
|
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",
|
|
7125
|
-
providers: [DEFAULT_VALUE_ACCESSOR],
|
|
7110
|
+
providers: [DEFAULT_VALUE_ACCESSOR$5],
|
|
7126
7111
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
7127
7112
|
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}"]
|
|
7128
7113
|
},] }
|
|
@@ -7180,14 +7165,14 @@ SharedMatSwipeModule.decorators = [
|
|
|
7180
7165
|
},] }
|
|
7181
7166
|
];
|
|
7182
7167
|
|
|
7183
|
-
const noop$
|
|
7184
|
-
const ɵ0$
|
|
7168
|
+
const noop$7 = () => { };
|
|
7169
|
+
const ɵ0$8 = noop$7;
|
|
7185
7170
|
class MatChipsField {
|
|
7186
7171
|
constructor(cd, formGroupDir) {
|
|
7187
7172
|
this.cd = cd;
|
|
7188
7173
|
this.formGroupDir = formGroupDir;
|
|
7189
|
-
this._onChangeCallback = noop$
|
|
7190
|
-
this._onTouchedCallback = noop$
|
|
7174
|
+
this._onChangeCallback = noop$7;
|
|
7175
|
+
this._onTouchedCallback = noop$7;
|
|
7191
7176
|
this.logPrefix = '[mat-chips] ';
|
|
7192
7177
|
this.formControlName = null;
|
|
7193
7178
|
this.required = false;
|
|
@@ -8056,7 +8041,7 @@ class ProgressBarService {
|
|
|
8056
8041
|
}
|
|
8057
8042
|
}
|
|
8058
8043
|
}
|
|
8059
|
-
ProgressBarService.ɵprov =
|
|
8044
|
+
ProgressBarService.ɵprov = ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
|
|
8060
8045
|
ProgressBarService.decorators = [
|
|
8061
8046
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
8062
8047
|
];
|
|
@@ -8100,7 +8085,7 @@ class AppGestureConfig extends HammerGestureConfig {
|
|
|
8100
8085
|
return mc;
|
|
8101
8086
|
}
|
|
8102
8087
|
}
|
|
8103
|
-
AppGestureConfig.ɵprov =
|
|
8088
|
+
AppGestureConfig.ɵprov = ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
|
|
8104
8089
|
AppGestureConfig.decorators = [
|
|
8105
8090
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
8106
8091
|
];
|
|
@@ -8325,7 +8310,7 @@ class MatPaginatorI18n extends MatPaginatorIntl {
|
|
|
8325
8310
|
this.previousPageLabel = this.translate.instant('COMMON.PAGINATOR.PREVIOUS_PAGE');
|
|
8326
8311
|
}
|
|
8327
8312
|
}
|
|
8328
|
-
MatPaginatorI18n.ɵprov =
|
|
8313
|
+
MatPaginatorI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(ɵɵinject(TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
|
|
8329
8314
|
MatPaginatorI18n.decorators = [
|
|
8330
8315
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
8331
8316
|
];
|
|
@@ -8415,17 +8400,17 @@ function getColorContrast(color, bw) {
|
|
|
8415
8400
|
return rgbArrayToHex(rgb.map(v => 255 - v));
|
|
8416
8401
|
}
|
|
8417
8402
|
|
|
8418
|
-
const noop = () => {
|
|
8403
|
+
const noop$8 = () => {
|
|
8419
8404
|
};
|
|
8420
|
-
const ɵ0$
|
|
8405
|
+
const ɵ0$9 = noop$8;
|
|
8421
8406
|
class AppFormField {
|
|
8422
8407
|
constructor(translate, cd, injector, formGroupDir) {
|
|
8423
8408
|
this.translate = translate;
|
|
8424
8409
|
this.cd = cd;
|
|
8425
8410
|
this.injector = injector;
|
|
8426
8411
|
this.formGroupDir = formGroupDir;
|
|
8427
|
-
this._onChangeCallback = noop;
|
|
8428
|
-
this._onTouchedCallback = noop;
|
|
8412
|
+
this._onChangeCallback = noop$8;
|
|
8413
|
+
this._onTouchedCallback = noop$8;
|
|
8429
8414
|
this.readonly = false;
|
|
8430
8415
|
this.compact = false;
|
|
8431
8416
|
this.floatLabel = 'auto';
|
|
@@ -8861,14 +8846,14 @@ class AudioProvider extends StartableService {
|
|
|
8861
8846
|
});
|
|
8862
8847
|
}
|
|
8863
8848
|
}
|
|
8864
|
-
AudioProvider.ɵprov =
|
|
8849
|
+
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" });
|
|
8865
8850
|
AudioProvider.decorators = [
|
|
8866
8851
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
8867
8852
|
];
|
|
8868
8853
|
AudioProvider.ctorParameters = () => [
|
|
8869
8854
|
{ type: Platform },
|
|
8870
|
-
{ type: NativeAudio, decorators: [{ type: Optional }] },
|
|
8871
|
-
{ type: Vibration, decorators: [{ type: Optional }] },
|
|
8855
|
+
{ type: NativeAudio$1, decorators: [{ type: Optional }] },
|
|
8856
|
+
{ type: Vibration$1, decorators: [{ type: Optional }] },
|
|
8872
8857
|
{ type: AudioManagement, decorators: [{ type: Optional }] }
|
|
8873
8858
|
];
|
|
8874
8859
|
|
|
@@ -8950,7 +8935,7 @@ class Hotkeys {
|
|
|
8950
8935
|
});
|
|
8951
8936
|
}
|
|
8952
8937
|
}
|
|
8953
|
-
Hotkeys.ɵprov =
|
|
8938
|
+
Hotkeys.ɵprov = ɵɵdefineInjectable({ factory: function Hotkeys_Factory() { return new Hotkeys(ɵɵinject(EventManager), ɵɵinject(MatDialog), ɵɵinject(DOCUMENT), ɵɵinject(ModalController)); }, token: Hotkeys, providedIn: "root" });
|
|
8954
8939
|
Hotkeys.decorators = [
|
|
8955
8940
|
{ type: Injectable, args: [{
|
|
8956
8941
|
providedIn: 'root'
|
|
@@ -9124,7 +9109,7 @@ class Base64ImageReader {
|
|
|
9124
9109
|
}
|
|
9125
9110
|
}
|
|
9126
9111
|
|
|
9127
|
-
const uuidv4
|
|
9112
|
+
const uuidv4 = uuidv4Imported;
|
|
9128
9113
|
class FileService {
|
|
9129
9114
|
constructor(platform,
|
|
9130
9115
|
//private transfer: FileTransfer,
|
|
@@ -9161,7 +9146,7 @@ class FileService {
|
|
|
9161
9146
|
const lastSlashIndex = source.lastIndexOf('/');
|
|
9162
9147
|
if (lastSlashIndex === -1)
|
|
9163
9148
|
throw new Error('Invalid URL: ' + source);
|
|
9164
|
-
const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4
|
|
9149
|
+
const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4();
|
|
9165
9150
|
// Download into the file system
|
|
9166
9151
|
if (responseType === 'file' && this.canUseFileSystem) {
|
|
9167
9152
|
console.warn(`WARN: [file] Fetching image {${source}} in local file...`);
|
|
@@ -9217,7 +9202,7 @@ class FileService {
|
|
|
9217
9202
|
this._started = true;
|
|
9218
9203
|
}
|
|
9219
9204
|
}
|
|
9220
|
-
FileService.ɵprov =
|
|
9205
|
+
FileService.ɵprov = ɵɵdefineInjectable({ factory: function FileService_Factory() { return new FileService(ɵɵinject(Platform), ɵɵinject(HttpClient), ɵɵinject(ENVIRONMENT)); }, token: FileService, providedIn: "root" });
|
|
9221
9206
|
FileService.decorators = [
|
|
9222
9207
|
{ type: Injectable, args: [{
|
|
9223
9208
|
providedIn: 'root',
|
|
@@ -9383,7 +9368,7 @@ class Base58 {
|
|
|
9383
9368
|
Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
|
|
9384
9369
|
|
|
9385
9370
|
const scrypt = require('scrypt-async');
|
|
9386
|
-
const sha256
|
|
9371
|
+
const sha256 = require('hash.js/lib/hash/sha/256');
|
|
9387
9372
|
const sha512 = require('hash.js/lib/hash/sha/512');
|
|
9388
9373
|
const nacl = {
|
|
9389
9374
|
sign,
|
|
@@ -9487,7 +9472,7 @@ class CryptoService {
|
|
|
9487
9472
|
* Hash (using SHA256) a message
|
|
9488
9473
|
*/
|
|
9489
9474
|
sha256(message) {
|
|
9490
|
-
return sha256
|
|
9475
|
+
return sha256().update(message).digest('hex');
|
|
9491
9476
|
}
|
|
9492
9477
|
/**
|
|
9493
9478
|
* Hash (using SHA512) a message
|
|
@@ -9500,7 +9485,7 @@ class CryptoService {
|
|
|
9500
9485
|
return nacl.util.encodeBase64(m);
|
|
9501
9486
|
}
|
|
9502
9487
|
}
|
|
9503
|
-
CryptoService.ɵprov =
|
|
9488
|
+
CryptoService.ɵprov = ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
|
|
9504
9489
|
CryptoService.decorators = [
|
|
9505
9490
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
9506
9491
|
];
|
|
@@ -9740,9 +9725,6 @@ class EntityUtils {
|
|
|
9740
9725
|
static isLocalId(id) {
|
|
9741
9726
|
return isNotNil(id) && +id < 0;
|
|
9742
9727
|
}
|
|
9743
|
-
static isRemoteId(id) {
|
|
9744
|
-
return isNotNil(id) && +id >= 0;
|
|
9745
|
-
}
|
|
9746
9728
|
}
|
|
9747
9729
|
|
|
9748
9730
|
// This file can be replaced during build by using the `fileReplacements` array.
|
|
@@ -10363,7 +10345,7 @@ SelectPeerModal.propDecorators = {
|
|
|
10363
10345
|
onRefresh: [{ type: Input }]
|
|
10364
10346
|
};
|
|
10365
10347
|
|
|
10366
|
-
const moment$
|
|
10348
|
+
const moment$3 = momentImported;
|
|
10367
10349
|
const SETTINGS_STORAGE_KEY = 'settings';
|
|
10368
10350
|
const SETTINGS_TRANSIENT_PROPERTIES = ['mobile', 'touchUi' /*deprecated*/];
|
|
10369
10351
|
// fixme: this constant points to static environment
|
|
@@ -10606,11 +10588,11 @@ class LocalSettingsService extends StartableService {
|
|
|
10606
10588
|
if (!feature) {
|
|
10607
10589
|
feature = {
|
|
10608
10590
|
name: featureName.toLowerCase(),
|
|
10609
|
-
lastSyncDate: moment$
|
|
10591
|
+
lastSyncDate: moment$3().toISOString()
|
|
10610
10592
|
};
|
|
10611
10593
|
}
|
|
10612
10594
|
else {
|
|
10613
|
-
feature.lastSyncDate = moment$
|
|
10595
|
+
feature.lastSyncDate = moment$3().toISOString();
|
|
10614
10596
|
}
|
|
10615
10597
|
this.saveOfflineFeature(feature);
|
|
10616
10598
|
}
|
|
@@ -10771,7 +10753,7 @@ class LocalSettingsService extends StartableService {
|
|
|
10771
10753
|
if (!page || !page.title || !page.path)
|
|
10772
10754
|
throw Error('Missing required argument \'page\', \'page.path\' or \'page.title\'');
|
|
10773
10755
|
// Set time
|
|
10774
|
-
page.time = page.time || moment$
|
|
10756
|
+
page.time = page.time || moment$3();
|
|
10775
10757
|
// Clean the title (remove <small> tags)
|
|
10776
10758
|
if (!opts || opts.removeTitleSmallTag !== false) {
|
|
10777
10759
|
const tagIndex = page.title.indexOf('</small>');
|
|
@@ -10787,7 +10769,7 @@ class LocalSettingsService extends StartableService {
|
|
|
10787
10769
|
return page;
|
|
10788
10770
|
}
|
|
10789
10771
|
}
|
|
10790
|
-
LocalSettingsService.ɵprov =
|
|
10772
|
+
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" });
|
|
10791
10773
|
LocalSettingsService.decorators = [
|
|
10792
10774
|
{ type: Injectable, args: [{
|
|
10793
10775
|
providedIn: 'root',
|
|
@@ -11504,7 +11486,7 @@ class NetworkService extends StartableService {
|
|
|
11504
11486
|
});
|
|
11505
11487
|
}
|
|
11506
11488
|
}
|
|
11507
|
-
NetworkService.ɵprov =
|
|
11489
|
+
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" });
|
|
11508
11490
|
NetworkService.decorators = [
|
|
11509
11491
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
11510
11492
|
];
|
|
@@ -11515,16 +11497,16 @@ NetworkService.ctorParameters = () => [
|
|
|
11515
11497
|
{ type: CryptoService },
|
|
11516
11498
|
{ type: Storage },
|
|
11517
11499
|
{ type: LocalSettingsService },
|
|
11518
|
-
{ type: CacheService },
|
|
11500
|
+
{ type: CacheService$1 },
|
|
11519
11501
|
{ type: HttpClient },
|
|
11520
11502
|
{ type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
|
|
11521
|
-
{ type: Network, decorators: [{ type: Optional }] },
|
|
11522
|
-
{ type: SplashScreen, decorators: [{ type: Optional }] },
|
|
11503
|
+
{ type: Network$1, decorators: [{ type: Optional }] },
|
|
11504
|
+
{ type: SplashScreen$1, decorators: [{ type: Optional }] },
|
|
11523
11505
|
{ type: TranslateService, decorators: [{ type: Optional }] },
|
|
11524
11506
|
{ type: ToastController, decorators: [{ type: Optional }] }
|
|
11525
11507
|
];
|
|
11526
11508
|
|
|
11527
|
-
const ErrorCodes
|
|
11509
|
+
const ErrorCodes = {
|
|
11528
11510
|
UNKNOWN_ERROR: 0,
|
|
11529
11511
|
LOAD_ACCOUNT_ERROR: 1,
|
|
11530
11512
|
BAD_PASSWORD: 2,
|
|
@@ -11876,7 +11858,7 @@ class EntityStore {
|
|
|
11876
11858
|
}
|
|
11877
11859
|
catch (err) {
|
|
11878
11860
|
console.error(err);
|
|
11879
|
-
throw { code: ErrorCodes
|
|
11861
|
+
throw { code: ErrorCodes.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err };
|
|
11880
11862
|
}
|
|
11881
11863
|
}
|
|
11882
11864
|
// Emit update event
|
|
@@ -12450,7 +12432,7 @@ class EntitiesStorage extends StartableService {
|
|
|
12450
12432
|
}
|
|
12451
12433
|
EntitiesStorage.TRASH_PREFIX = 'Trash#';
|
|
12452
12434
|
EntitiesStorage.REMOTE_PREFIX = 'Remote#';
|
|
12453
|
-
EntitiesStorage.ɵprov =
|
|
12435
|
+
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" });
|
|
12454
12436
|
EntitiesStorage.decorators = [
|
|
12455
12437
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
12456
12438
|
];
|
|
@@ -12587,10 +12569,10 @@ function referentialToString(obj, properties) {
|
|
|
12587
12569
|
function referentialsToString(values, properties, separator) {
|
|
12588
12570
|
return (values || []).map(v => referentialToString(v, properties)).join(separator || ', ');
|
|
12589
12571
|
}
|
|
12590
|
-
const ɵ0$
|
|
12572
|
+
const ɵ0$a = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
|
|
12591
12573
|
const StatusList = Object.freeze([
|
|
12592
12574
|
{
|
|
12593
|
-
id: ɵ0$
|
|
12575
|
+
id: ɵ0$a,
|
|
12594
12576
|
icon: 'checkmark',
|
|
12595
12577
|
label: 'REFERENTIAL.STATUS_ENUM.ENABLE'
|
|
12596
12578
|
},
|
|
@@ -12865,7 +12847,7 @@ function accountToString(data) {
|
|
|
12865
12847
|
(data.lastName || '')) || '';
|
|
12866
12848
|
}
|
|
12867
12849
|
|
|
12868
|
-
const uuidv4 = uuidv4Imported;
|
|
12850
|
+
const uuidv4$1 = uuidv4Imported;
|
|
12869
12851
|
const _global = typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : {});
|
|
12870
12852
|
const NativeWebSocket = _global.WebSocket || _global.MozWebSocket;
|
|
12871
12853
|
/**
|
|
@@ -12909,7 +12891,7 @@ function createTrackerLink(opts) {
|
|
|
12909
12891
|
// Skip if not tracked
|
|
12910
12892
|
if (!context || !context.tracked)
|
|
12911
12893
|
return forward(operation);
|
|
12912
|
-
const id = context.serializationKey || uuidv4();
|
|
12894
|
+
const id = context.serializationKey || uuidv4$1();
|
|
12913
12895
|
console.debug(`[apollo-tracker-link] Watching tracked query {${operation.operationName}#${id}}`);
|
|
12914
12896
|
// Clean context, before calling JSON.stringify (remove unused attributes)
|
|
12915
12897
|
const cleanContext = Object.assign(Object.assign({}, context), { optimisticResponse: null, cache: null });
|
|
@@ -13572,7 +13554,7 @@ class GraphqlService extends StartableService {
|
|
|
13572
13554
|
(err.networkError && ((err.networkError.error && this.toAppError(err.networkError.error))
|
|
13573
13555
|
|| this.toAppError(err.networkError)
|
|
13574
13556
|
|| (err.networkError.error && this.createAppErrorByCode(err.networkError.error.status))
|
|
13575
|
-
|| this.createAppErrorByCode(ErrorCodes
|
|
13557
|
+
|| this.createAppErrorByCode(ErrorCodes.UNKNOWN_NETWORK_ERROR)))
|
|
13576
13558
|
// If graphQL: try to convert the first error found
|
|
13577
13559
|
|| (err.graphQLErrors && err.graphQLErrors.length && this.toAppError(err.graphQLErrors[0]))
|
|
13578
13560
|
|| this.toAppError(err)
|
|
@@ -13580,7 +13562,7 @@ class GraphqlService extends StartableService {
|
|
|
13580
13562
|
|| (err.graphQLErrors && err.graphQLErrors[0])
|
|
13581
13563
|
|| err;
|
|
13582
13564
|
console.error('[graphql] ' + (error && error.message || error), error.stack || '');
|
|
13583
|
-
if (error && error.code === ErrorCodes
|
|
13565
|
+
if (error && error.code === ErrorCodes.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
|
|
13584
13566
|
console.error('[graphql] original error: ' + err.networkError.message);
|
|
13585
13567
|
this.onNetworkError.next(error);
|
|
13586
13568
|
}
|
|
@@ -13591,7 +13573,7 @@ class GraphqlService extends StartableService {
|
|
|
13591
13573
|
data: null,
|
|
13592
13574
|
errors: [error],
|
|
13593
13575
|
loading: false,
|
|
13594
|
-
networkStatus:
|
|
13576
|
+
networkStatus: NetworkStatus.error
|
|
13595
13577
|
};
|
|
13596
13578
|
}
|
|
13597
13579
|
createAppErrorByCode(errorCode) {
|
|
@@ -13616,7 +13598,7 @@ class GraphqlService extends StartableService {
|
|
|
13616
13598
|
return 'ERROR.UNAUTHORIZED';
|
|
13617
13599
|
case ServerErrorCodes.FORBIDDEN:
|
|
13618
13600
|
return 'ERROR.FORBIDDEN';
|
|
13619
|
-
case ErrorCodes
|
|
13601
|
+
case ErrorCodes.UNKNOWN_NETWORK_ERROR:
|
|
13620
13602
|
return 'ERROR.UNKNOWN_NETWORK_ERROR';
|
|
13621
13603
|
case ServerErrorCodes.BAD_UPDATE_DATE:
|
|
13622
13604
|
return 'ERROR.BAD_UPDATE_DATE';
|
|
@@ -13647,7 +13629,7 @@ class GraphqlService extends StartableService {
|
|
|
13647
13629
|
return undefined;
|
|
13648
13630
|
}
|
|
13649
13631
|
}
|
|
13650
|
-
GraphqlService.ɵprov =
|
|
13632
|
+
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" });
|
|
13651
13633
|
GraphqlService.decorators = [
|
|
13652
13634
|
{ type: Injectable, args: [{
|
|
13653
13635
|
providedIn: 'root'
|
|
@@ -13664,7 +13646,7 @@ GraphqlService.ctorParameters = () => [
|
|
|
13664
13646
|
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_GRAPHQL_TYPE_POLICIES,] }] }
|
|
13665
13647
|
];
|
|
13666
13648
|
|
|
13667
|
-
const sha256 = require('hash.js/lib/hash/sha/256');
|
|
13649
|
+
const sha256$1 = require('hash.js/lib/hash/sha/256');
|
|
13668
13650
|
class BaseGraphqlServiceOptions {
|
|
13669
13651
|
}
|
|
13670
13652
|
// eslint-disable-next-line @angular-eslint/directive-class-suffix
|
|
@@ -13815,8 +13797,8 @@ class BaseGraphqlService extends StartableService {
|
|
|
13815
13797
|
}
|
|
13816
13798
|
/* -- protected methods -- */
|
|
13817
13799
|
computeMutableWatchQueryId(opts) {
|
|
13818
|
-
const queryName = opts.queryName || sha256().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
|
|
13819
|
-
const variablesKey = opts.variables && sha256().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
|
|
13800
|
+
const queryName = opts.queryName || sha256$1().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
|
|
13801
|
+
const variablesKey = opts.variables && sha256$1().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
|
|
13820
13802
|
return [queryName, opts.arrayFieldName, variablesKey].join('|');
|
|
13821
13803
|
}
|
|
13822
13804
|
findMutableWatchQueries(opts) {
|
|
@@ -13886,7 +13868,7 @@ const DEFAULT_AVATAR_IMAGE = 'assets/img/person.png';
|
|
|
13886
13868
|
/* ------------------------------------
|
|
13887
13869
|
* GraphQL queries
|
|
13888
13870
|
* ------------------------------------*/
|
|
13889
|
-
const Fragments
|
|
13871
|
+
const Fragments = {
|
|
13890
13872
|
account: gql `
|
|
13891
13873
|
fragment AccountFragment on AccountVO {
|
|
13892
13874
|
id
|
|
@@ -13921,14 +13903,14 @@ const Fragments$1 = {
|
|
|
13921
13903
|
}`
|
|
13922
13904
|
};
|
|
13923
13905
|
// Load account query
|
|
13924
|
-
const LoadQuery
|
|
13906
|
+
const LoadQuery = gql `
|
|
13925
13907
|
query Account {
|
|
13926
13908
|
data: account {
|
|
13927
13909
|
...AccountFragment
|
|
13928
13910
|
}
|
|
13929
13911
|
}
|
|
13930
|
-
${Fragments
|
|
13931
|
-
${Fragments
|
|
13912
|
+
${Fragments.account}
|
|
13913
|
+
${Fragments.settings}
|
|
13932
13914
|
`;
|
|
13933
13915
|
// Check email query
|
|
13934
13916
|
const IsEmailExistsQuery = gql `
|
|
@@ -13943,21 +13925,21 @@ const AccountMutations = {
|
|
|
13943
13925
|
...AccountFragment
|
|
13944
13926
|
}
|
|
13945
13927
|
}
|
|
13946
|
-
${Fragments
|
|
13947
|
-
${Fragments
|
|
13928
|
+
${Fragments.account}
|
|
13929
|
+
${Fragments.settings}`,
|
|
13948
13930
|
create: gql `mutation CreateAccount($data:AccountVOInput){
|
|
13949
13931
|
data: createAccount(account: $data){
|
|
13950
13932
|
...AccountFragment
|
|
13951
13933
|
}
|
|
13952
13934
|
}
|
|
13953
|
-
${Fragments
|
|
13954
|
-
${Fragments
|
|
13935
|
+
${Fragments.account}
|
|
13936
|
+
${Fragments.settings}`,
|
|
13955
13937
|
saveSettings: gql `mutation SaveSettings($data:UserSettingsVOInput){
|
|
13956
13938
|
data: saveSettings(settings: $data){
|
|
13957
13939
|
...UserSettingsFragment
|
|
13958
13940
|
}
|
|
13959
13941
|
}
|
|
13960
|
-
${Fragments
|
|
13942
|
+
${Fragments.settings}`
|
|
13961
13943
|
};
|
|
13962
13944
|
// Sent confirmation email
|
|
13963
13945
|
const SendConfirmEmailMutation = gql `
|
|
@@ -14272,7 +14254,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14272
14254
|
catch (error) {
|
|
14273
14255
|
console.error(error);
|
|
14274
14256
|
this.resetData();
|
|
14275
|
-
throw { code: ErrorCodes
|
|
14257
|
+
throw { code: ErrorCodes.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
|
|
14276
14258
|
}
|
|
14277
14259
|
// Store pubkey+keypair
|
|
14278
14260
|
this._cache.pubkey = Base58.encode(keypair.publicKey);
|
|
@@ -14306,7 +14288,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14306
14288
|
}
|
|
14307
14289
|
catch (err) {
|
|
14308
14290
|
// If account not found, check if email is valid
|
|
14309
|
-
if (err && +(err.code) === ErrorCodes
|
|
14291
|
+
if (err && +(err.code) === ErrorCodes.LOAD_ACCOUNT_ERROR) {
|
|
14310
14292
|
// Check email exists
|
|
14311
14293
|
if (data.username.indexOf('@') !== -1) {
|
|
14312
14294
|
let isEmailExists;
|
|
@@ -14318,11 +14300,11 @@ class AccountService extends BaseGraphqlService {
|
|
|
14318
14300
|
}
|
|
14319
14301
|
// Email not exists (no account)
|
|
14320
14302
|
if (!isEmailExists) {
|
|
14321
|
-
throw { code: ErrorCodes
|
|
14303
|
+
throw { code: ErrorCodes.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
|
|
14322
14304
|
}
|
|
14323
14305
|
}
|
|
14324
14306
|
// Email exists, so error = 'bad password'
|
|
14325
|
-
throw { code: ErrorCodes
|
|
14307
|
+
throw { code: ErrorCodes.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
|
|
14326
14308
|
}
|
|
14327
14309
|
throw err; // resend the first error
|
|
14328
14310
|
}
|
|
@@ -14468,8 +14450,8 @@ class AccountService extends BaseGraphqlService {
|
|
|
14468
14450
|
// Load remotely
|
|
14469
14451
|
else {
|
|
14470
14452
|
const { data } = yield this.graphql.query({
|
|
14471
|
-
query: LoadQuery
|
|
14472
|
-
error: { code: ErrorCodes
|
|
14453
|
+
query: LoadQuery,
|
|
14454
|
+
error: { code: ErrorCodes.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
|
|
14473
14455
|
fetchPolicy: opts && opts.fetchPolicy || 'no-cache' || undefined
|
|
14474
14456
|
});
|
|
14475
14457
|
json = data;
|
|
@@ -14496,7 +14478,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14496
14478
|
return __awaiter(this, void 0, void 0, function* () {
|
|
14497
14479
|
const isEmailExists = yield this.isEmailExists(email);
|
|
14498
14480
|
if (isEmailExists) {
|
|
14499
|
-
throw { code: ErrorCodes
|
|
14481
|
+
throw { code: ErrorCodes.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
|
|
14500
14482
|
}
|
|
14501
14483
|
});
|
|
14502
14484
|
}
|
|
@@ -14532,7 +14514,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14532
14514
|
locale
|
|
14533
14515
|
},
|
|
14534
14516
|
error: {
|
|
14535
|
-
code: ErrorCodes
|
|
14517
|
+
code: ErrorCodes.SENT_CONFIRMATION_EMAIL_FAILED,
|
|
14536
14518
|
message: 'ERROR.SENT_ACCOUNT_CONFIRMATION_EMAIL_FAILED'
|
|
14537
14519
|
}
|
|
14538
14520
|
});
|
|
@@ -14548,7 +14530,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14548
14530
|
code
|
|
14549
14531
|
},
|
|
14550
14532
|
error: {
|
|
14551
|
-
code: ErrorCodes
|
|
14533
|
+
code: ErrorCodes.CONFIRM_EMAIL_FAILED,
|
|
14552
14534
|
message: 'ERROR.CONFIRM_ACCOUNT_EMAIL_FAILED'
|
|
14553
14535
|
}
|
|
14554
14536
|
});
|
|
@@ -14627,7 +14609,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14627
14609
|
throw error;
|
|
14628
14610
|
console.error(error);
|
|
14629
14611
|
throw {
|
|
14630
|
-
code: ErrorCodes
|
|
14612
|
+
code: ErrorCodes.LOAD_ACCOUNT_ERROR,
|
|
14631
14613
|
message: 'ERROR.LOAD_ACCOUNT_ERROR'
|
|
14632
14614
|
};
|
|
14633
14615
|
}
|
|
@@ -14797,7 +14779,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14797
14779
|
if (!isNew) {
|
|
14798
14780
|
const existingAccount = yield this.load({ fetchPolicy: 'network-only' });
|
|
14799
14781
|
if (!existingAccount || !existingAccount.updateDate) {
|
|
14800
|
-
throw { code: ErrorCodes
|
|
14782
|
+
throw { code: ErrorCodes.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
|
|
14801
14783
|
}
|
|
14802
14784
|
this.copyIdAndUpdateDate(existingAccount, account);
|
|
14803
14785
|
}
|
|
@@ -14809,7 +14791,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14809
14791
|
mutation: isNew ? AccountMutations.create : AccountMutations.save,
|
|
14810
14792
|
variables: { data: json },
|
|
14811
14793
|
error: {
|
|
14812
|
-
code: ErrorCodes
|
|
14794
|
+
code: ErrorCodes.SAVE_ACCOUNT_ERROR,
|
|
14813
14795
|
message: 'ERROR.SAVE_ACCOUNT_ERROR'
|
|
14814
14796
|
}
|
|
14815
14797
|
});
|
|
@@ -14836,7 +14818,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14836
14818
|
mutation: AccountMutations.saveSettings,
|
|
14837
14819
|
variables: { data: json },
|
|
14838
14820
|
error: {
|
|
14839
|
-
code: ErrorCodes
|
|
14821
|
+
code: ErrorCodes.SAVE_SETTINGS_ERROR,
|
|
14840
14822
|
message: 'ERROR.SAVE_SETTINGS_ERROR'
|
|
14841
14823
|
}
|
|
14842
14824
|
});
|
|
@@ -14858,7 +14840,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14858
14840
|
if (counter > 4) {
|
|
14859
14841
|
if (this._debug)
|
|
14860
14842
|
console.debug(`[account] Failed to authentication on pod (after ${counter} attempts)`);
|
|
14861
|
-
throw { code: ErrorCodes
|
|
14843
|
+
throw { code: ErrorCodes.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
|
|
14862
14844
|
}
|
|
14863
14845
|
// Check if valid
|
|
14864
14846
|
if (token) {
|
|
@@ -14868,7 +14850,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14868
14850
|
token
|
|
14869
14851
|
},
|
|
14870
14852
|
error: {
|
|
14871
|
-
code: ErrorCodes
|
|
14853
|
+
code: ErrorCodes.UNAUTHORIZED,
|
|
14872
14854
|
message: 'ERROR.UNAUTHORIZED'
|
|
14873
14855
|
},
|
|
14874
14856
|
fetchPolicy: 'no-cache'
|
|
@@ -14884,7 +14866,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14884
14866
|
}
|
|
14885
14867
|
// Generate a new token
|
|
14886
14868
|
const challengeError = {
|
|
14887
|
-
code: ErrorCodes
|
|
14869
|
+
code: ErrorCodes.AUTH_CHALLENGE_ERROR,
|
|
14888
14870
|
message: 'ERROR.AUTH_CHALLENGE_ERROR'
|
|
14889
14871
|
};
|
|
14890
14872
|
const data = yield this.graphql.query({
|
|
@@ -14962,7 +14944,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14962
14944
|
query: AccountSubscriptions.listenChanges,
|
|
14963
14945
|
variables,
|
|
14964
14946
|
error: {
|
|
14965
|
-
code: ErrorCodes
|
|
14947
|
+
code: ErrorCodes.SUBSCRIBE_ACCOUNT_ERROR,
|
|
14966
14948
|
message: 'ERROR.ACCOUNT.SUBSCRIBE_ERROR'
|
|
14967
14949
|
}
|
|
14968
14950
|
}).pipe(map(({ data }) => data),
|
|
@@ -14991,7 +14973,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14991
14973
|
return Toasts.show(this.toastController, this.translate, opts);
|
|
14992
14974
|
}
|
|
14993
14975
|
}
|
|
14994
|
-
AccountService.ɵprov =
|
|
14976
|
+
AccountService.ɵprov = ɵɵdefineInjectable({ factory: function AccountService_Factory() { return new AccountService(ɵɵinject(CryptoService), ɵɵinject(NetworkService), ɵɵinject(GraphqlService), ɵɵinject(LocalSettingsService), ɵɵinject(Storage), ɵɵinject(FileService), ɵɵinject(TranslateService, 8), ɵɵinject(ToastController, 8), ɵɵinject(ENVIRONMENT)); }, token: AccountService, providedIn: "root" });
|
|
14995
14977
|
AccountService.decorators = [
|
|
14996
14978
|
{ type: Injectable, args: [{ providedIn: 'root', deps: [ENVIRONMENT] },] }
|
|
14997
14979
|
];
|
|
@@ -15259,7 +15241,7 @@ const CONFIGURATION_STORAGE_KEY = 'configuration';
|
|
|
15259
15241
|
/* ------------------------------------
|
|
15260
15242
|
* GraphQL queries
|
|
15261
15243
|
* ------------------------------------*/
|
|
15262
|
-
const Fragments = {
|
|
15244
|
+
const Fragments$1 = {
|
|
15263
15245
|
config: gql `
|
|
15264
15246
|
fragment ConfigFragment on ConfigurationVO {
|
|
15265
15247
|
id
|
|
@@ -15286,13 +15268,13 @@ const Fragments = {
|
|
|
15286
15268
|
}
|
|
15287
15269
|
`
|
|
15288
15270
|
};
|
|
15289
|
-
const LoadQuery = gql `
|
|
15271
|
+
const LoadQuery$1 = gql `
|
|
15290
15272
|
query Configuration{
|
|
15291
15273
|
data: configuration{
|
|
15292
15274
|
...ConfigFragment
|
|
15293
15275
|
}
|
|
15294
15276
|
}
|
|
15295
|
-
${Fragments.config}
|
|
15277
|
+
${Fragments$1.config}
|
|
15296
15278
|
`;
|
|
15297
15279
|
// Save (create or update) account mutation
|
|
15298
15280
|
const SaveMutation = gql `
|
|
@@ -15301,7 +15283,7 @@ const SaveMutation = gql `
|
|
|
15301
15283
|
...ConfigFragment
|
|
15302
15284
|
}
|
|
15303
15285
|
}
|
|
15304
|
-
${Fragments.config}
|
|
15286
|
+
${Fragments$1.config}
|
|
15305
15287
|
`;
|
|
15306
15288
|
const ClearCache = gql `
|
|
15307
15289
|
query ClearCache($name: String) {
|
|
@@ -15352,12 +15334,12 @@ class ConfigService extends BaseGraphqlService {
|
|
|
15352
15334
|
return __awaiter(this, void 0, void 0, function* () {
|
|
15353
15335
|
const now = Date.now();
|
|
15354
15336
|
console.debug('[config] Loading Pod configuration...');
|
|
15355
|
-
const query = opts && opts.query || LoadQuery;
|
|
15337
|
+
const query = opts && opts.query || LoadQuery$1;
|
|
15356
15338
|
const variables = opts && opts.variables || undefined;
|
|
15357
15339
|
const res = yield this.graphql.query({
|
|
15358
15340
|
query,
|
|
15359
15341
|
variables,
|
|
15360
|
-
error: { code: ErrorCodes
|
|
15342
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
15361
15343
|
fetchPolicy: opts && opts.fetchPolicy || undefined /*default*/
|
|
15362
15344
|
});
|
|
15363
15345
|
const data = res && res.data ? Configuration.fromObject(res.data) : undefined;
|
|
@@ -15390,7 +15372,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
15390
15372
|
data: json
|
|
15391
15373
|
},
|
|
15392
15374
|
error: {
|
|
15393
|
-
code: ErrorCodes
|
|
15375
|
+
code: ErrorCodes.SAVE_CONFIG_ERROR,
|
|
15394
15376
|
message: 'ERROR.SAVE_CONFIG_ERROR'
|
|
15395
15377
|
}
|
|
15396
15378
|
});
|
|
@@ -15416,7 +15398,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
15416
15398
|
const res = yield this.graphql.query({
|
|
15417
15399
|
query: CacheStatistics,
|
|
15418
15400
|
variables: null,
|
|
15419
|
-
error: { code: ErrorCodes
|
|
15401
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
15420
15402
|
fetchPolicy: 'network-only'
|
|
15421
15403
|
});
|
|
15422
15404
|
const data = res && res.cacheStatistics || undefined;
|
|
@@ -15432,7 +15414,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
15432
15414
|
const res = yield this.graphql.query({
|
|
15433
15415
|
query: ClearCache,
|
|
15434
15416
|
variables,
|
|
15435
|
-
error: { code: ErrorCodes
|
|
15417
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
15436
15418
|
fetchPolicy: 'no-cache'
|
|
15437
15419
|
});
|
|
15438
15420
|
const data = res && res.clearCache || undefined;
|
|
@@ -15591,7 +15573,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
15591
15573
|
});
|
|
15592
15574
|
}
|
|
15593
15575
|
}
|
|
15594
|
-
ConfigService.ɵprov =
|
|
15576
|
+
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(AccountService), ɵɵinject(ENVIRONMENT), ɵɵinject(APP_CONFIG_OPTIONS, 8)); }, token: ConfigService, providedIn: "root" });
|
|
15595
15577
|
ConfigService.decorators = [
|
|
15596
15578
|
{ type: Injectable, args: [{
|
|
15597
15579
|
providedIn: 'root',
|
|
@@ -15611,7 +15593,7 @@ ConfigService.ctorParameters = () => [
|
|
|
15611
15593
|
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_CONFIG_OPTIONS,] }] }
|
|
15612
15594
|
];
|
|
15613
15595
|
|
|
15614
|
-
const moment$
|
|
15596
|
+
const moment$4 = momentImported;
|
|
15615
15597
|
const AndroidOsEnvironment = Object.freeze({
|
|
15616
15598
|
DIRECTORY_DOWNLOADS: 'Download',
|
|
15617
15599
|
DIRECTORY_DOWNLOADS_OLD: 'Downloads',
|
|
@@ -15845,16 +15827,16 @@ class PlatformService extends StartableService {
|
|
|
15845
15827
|
}
|
|
15846
15828
|
// config moment lib
|
|
15847
15829
|
try {
|
|
15848
|
-
moment$
|
|
15830
|
+
moment$4.locale(event.lang);
|
|
15849
15831
|
console.debug('[platform] Use locale {' + event.lang + '}');
|
|
15850
15832
|
}
|
|
15851
15833
|
// If error, fallback to en
|
|
15852
15834
|
catch (err) {
|
|
15853
|
-
moment$
|
|
15835
|
+
moment$4.locale('en');
|
|
15854
15836
|
console.warn('[platform] Unknown local for moment lib. Using default [en]');
|
|
15855
15837
|
}
|
|
15856
15838
|
// Config date adapter
|
|
15857
|
-
this.dateAdapter.setLocale(moment$
|
|
15839
|
+
this.dateAdapter.setLocale(moment$4.locale());
|
|
15858
15840
|
}
|
|
15859
15841
|
});
|
|
15860
15842
|
this.settings.onChange.subscribe(data => {
|
|
@@ -16055,7 +16037,7 @@ class PlatformService extends StartableService {
|
|
|
16055
16037
|
});
|
|
16056
16038
|
}
|
|
16057
16039
|
}
|
|
16058
|
-
PlatformService.ɵprov =
|
|
16040
|
+
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" });
|
|
16059
16041
|
PlatformService.decorators = [
|
|
16060
16042
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
16061
16043
|
];
|
|
@@ -16070,15 +16052,15 @@ PlatformService.ctorParameters = () => [
|
|
|
16070
16052
|
{ type: NetworkService },
|
|
16071
16053
|
{ type: AccountService },
|
|
16072
16054
|
{ type: ConfigService },
|
|
16073
|
-
{ type: CacheService },
|
|
16055
|
+
{ type: CacheService$1 },
|
|
16074
16056
|
{ type: Storage },
|
|
16075
16057
|
{ type: AudioProvider },
|
|
16076
16058
|
{ type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
|
|
16077
|
-
{ type: StatusBar, decorators: [{ type: Optional }] },
|
|
16059
|
+
{ type: StatusBar$1, decorators: [{ type: Optional }] },
|
|
16078
16060
|
{ type: Keyboard, decorators: [{ type: Optional }] },
|
|
16079
|
-
{ type: SplashScreen, decorators: [{ type: Optional }] },
|
|
16080
|
-
{ type: InAppBrowser, decorators: [{ type: Optional }] },
|
|
16081
|
-
{ type: Downloader, decorators: [{ type: Optional }] }
|
|
16061
|
+
{ type: SplashScreen$1, decorators: [{ type: Optional }] },
|
|
16062
|
+
{ type: InAppBrowser$1, decorators: [{ type: Optional }] },
|
|
16063
|
+
{ type: Downloader$1, decorators: [{ type: Optional }] }
|
|
16082
16064
|
];
|
|
16083
16065
|
|
|
16084
16066
|
class AppHelpModal {
|
|
@@ -16142,7 +16124,7 @@ class MatStepperI18n extends MatStepperIntl {
|
|
|
16142
16124
|
this.optionalLabel = this.translate.instant('COMMON.OPTIONAL');
|
|
16143
16125
|
}
|
|
16144
16126
|
}
|
|
16145
|
-
MatStepperI18n.ɵprov =
|
|
16127
|
+
MatStepperI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(ɵɵinject(TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
|
|
16146
16128
|
MatStepperI18n.decorators = [
|
|
16147
16129
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
16148
16130
|
];
|
|
@@ -17692,52 +17674,47 @@ class JobUtils {
|
|
|
17692
17674
|
.then(() => {
|
|
17693
17675
|
if (opts === null || opts === void 0 ? void 0 : opts.maxProgression)
|
|
17694
17676
|
progression.next(opts.maxProgression);
|
|
17695
|
-
progression
|
|
17677
|
+
if (opts === null || opts === void 0 ? void 0 : opts.progression)
|
|
17678
|
+
opts.progression.complete();
|
|
17696
17679
|
})
|
|
17697
17680
|
.catch(err => progression.error(err));
|
|
17698
17681
|
return progression;
|
|
17699
17682
|
}
|
|
17700
17683
|
static fetchAllPages(loadPageFn, opts) {
|
|
17684
|
+
var _a;
|
|
17701
17685
|
return __awaiter(this, void 0, void 0, function* () {
|
|
17702
|
-
const maxProgression =
|
|
17703
|
-
const progression = opts === null || opts === void 0 ? void 0 : opts.progression;
|
|
17686
|
+
const maxProgression = opts && opts.maxProgression || undefined;
|
|
17704
17687
|
let total;
|
|
17705
17688
|
let pageCount;
|
|
17706
17689
|
let progressionStep;
|
|
17707
17690
|
let currentPageDataCount;
|
|
17708
|
-
const fetchSize =
|
|
17709
|
-
if (fetchSize <= 0)
|
|
17710
|
-
throw new Error('Unable to fetch pages: invalid fetchSize: ' + fetchSize);
|
|
17691
|
+
const fetchSize = opts && opts.fetchSize || 1000;
|
|
17711
17692
|
let offset = 0;
|
|
17712
17693
|
let data = [];
|
|
17713
17694
|
do {
|
|
17714
17695
|
if (opts && opts.logPrefix)
|
|
17715
17696
|
console.debug(`${opts.logPrefix} Fetching page #${offset / fetchSize}...`);
|
|
17716
|
-
//
|
|
17697
|
+
// Get some items, using paging
|
|
17717
17698
|
const res = yield loadPageFn(offset, fetchSize);
|
|
17718
|
-
// Concat to previous result
|
|
17719
17699
|
data = data.concat(res.data);
|
|
17720
|
-
// Compute variables, for next loop
|
|
17721
17700
|
currentPageDataCount = res.data && res.data.length || 0;
|
|
17722
17701
|
offset += currentPageDataCount;
|
|
17723
|
-
// Set total count (only
|
|
17702
|
+
// Set total count (only if not already set)
|
|
17724
17703
|
if (isNil(total) && isNotNil(res.total)) {
|
|
17725
17704
|
total = res.total;
|
|
17726
17705
|
// Compute the number of page
|
|
17727
17706
|
pageCount = Math.round(res.total / fetchSize + 0.5); // Round to HALF_UP integer
|
|
17728
17707
|
// Compute step, by dividing maxProgression by number of page
|
|
17729
|
-
|
|
17730
|
-
|
|
17731
|
-
|
|
17732
|
-
if
|
|
17733
|
-
console.debug(`${opts.logPrefix} {pageCount: ${pageCount}, progression: ${progression.value}, pageProgressionStep: ${progressionStep}}`);
|
|
17734
|
-
}
|
|
17708
|
+
const actualProgression = Math.max(0, toNumber(opts && ((_a = opts.progression) === null || _a === void 0 ? void 0 : _a.value), 0));
|
|
17709
|
+
progressionStep = maxProgression
|
|
17710
|
+
? (maxProgression - actualProgression) / pageCount
|
|
17711
|
+
: undefined /*if 0 reset to undefined*/;
|
|
17735
17712
|
}
|
|
17736
17713
|
// Increment progression on each iteration (if possible)
|
|
17737
|
-
if (isNotNil(progressionStep)) {
|
|
17738
|
-
progression.next(progression.value + progressionStep);
|
|
17714
|
+
if (opts && opts.progression && isNotNil(progressionStep)) {
|
|
17715
|
+
opts.progression.next(opts.progression.value + progressionStep);
|
|
17739
17716
|
}
|
|
17740
|
-
if (opts
|
|
17717
|
+
if (opts && opts.onPageLoaded)
|
|
17741
17718
|
opts.onPageLoaded(res);
|
|
17742
17719
|
} while (currentPageDataCount > 0 && ((isNil(total) && currentPageDataCount === fetchSize) || (isNotNil(total) && (offset < total))));
|
|
17743
17720
|
// Complete progression to reach progressionStep value (because of round)
|
|
@@ -17748,19 +17725,14 @@ class JobUtils {
|
|
|
17748
17725
|
total = data.length;
|
|
17749
17726
|
pageCount = Math.round(data.length / fetchSize + 0.5);
|
|
17750
17727
|
}
|
|
17751
|
-
|
|
17752
|
-
|
|
17753
|
-
|
|
17754
|
-
|
|
17755
|
-
else if (progression) {
|
|
17756
|
-
progressionStep = maxProgression;
|
|
17728
|
+
const lastProgressionStep = opts.maxProgression - (progressionStep * pageCount);
|
|
17729
|
+
if (opts && opts.progression && lastProgressionStep > 0) {
|
|
17730
|
+
opts.progression.next(opts.progression.value + lastProgressionStep);
|
|
17731
|
+
}
|
|
17757
17732
|
}
|
|
17758
|
-
//
|
|
17759
|
-
if (opts && opts.
|
|
17760
|
-
|
|
17761
|
-
// Final increment
|
|
17762
|
-
if (progression && progressionStep > 0) {
|
|
17763
|
-
progression.next(progression.value + progressionStep);
|
|
17733
|
+
// Or increment once
|
|
17734
|
+
else if (opts && opts.progression && opts.maxProgression) {
|
|
17735
|
+
opts.progression.next(opts.progression.value + opts.maxProgression);
|
|
17764
17736
|
}
|
|
17765
17737
|
return {
|
|
17766
17738
|
data,
|
|
@@ -17978,7 +17950,7 @@ function state2side(state) {
|
|
|
17978
17950
|
return 1;
|
|
17979
17951
|
}
|
|
17980
17952
|
}
|
|
17981
|
-
const ɵ0$
|
|
17953
|
+
const ɵ0$b = (defaultStateSize) => [
|
|
17982
17954
|
Math.round((rgbArrayMap.red[0] - 50) / defaultStateSize),
|
|
17983
17955
|
Math.round((255 - rgbArrayMap.red[1]) / defaultStateSize),
|
|
17984
17956
|
Math.round((255 - rgbArrayMap.red[2]) / defaultStateSize)
|
|
@@ -17986,7 +17958,7 @@ const ɵ0$1 = (defaultStateSize) => [
|
|
|
17986
17958
|
const SCALE_OPTIONS_DEFAULT = {
|
|
17987
17959
|
startColor: rgbArrayMap.red,
|
|
17988
17960
|
startStates: [0, 2, 3],
|
|
17989
|
-
startStepsFn: ɵ0$
|
|
17961
|
+
startStepsFn: ɵ0$b
|
|
17990
17962
|
};
|
|
17991
17963
|
/**
|
|
17992
17964
|
* Internal function, that create a colors scale, using iteration
|
|
@@ -18783,7 +18755,7 @@ class UserSettingsValidatorService extends AppValidatorService {
|
|
|
18783
18755
|
});
|
|
18784
18756
|
}
|
|
18785
18757
|
}
|
|
18786
|
-
UserSettingsValidatorService.ɵprov =
|
|
18758
|
+
UserSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(ɵɵinject(FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
|
|
18787
18759
|
UserSettingsValidatorService.decorators = [
|
|
18788
18760
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
18789
18761
|
];
|
|
@@ -18827,7 +18799,7 @@ class AccountValidatorService extends AppValidatorService {
|
|
|
18827
18799
|
return validatorFns.length ? Validators.compose(validatorFns) : validatorFns.length === 1 ? validatorFns[0] : undefined;
|
|
18828
18800
|
}
|
|
18829
18801
|
}
|
|
18830
|
-
AccountValidatorService.ɵprov =
|
|
18802
|
+
AccountValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
|
|
18831
18803
|
AccountValidatorService.decorators = [
|
|
18832
18804
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
18833
18805
|
];
|
|
@@ -19392,7 +19364,7 @@ class LocalSettingsValidatorService extends AppValidatorService {
|
|
|
19392
19364
|
});
|
|
19393
19365
|
}
|
|
19394
19366
|
}
|
|
19395
|
-
LocalSettingsValidatorService.ɵprov =
|
|
19367
|
+
LocalSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(ɵɵinject(FormBuilder), ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
|
|
19396
19368
|
LocalSettingsValidatorService.decorators = [
|
|
19397
19369
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
19398
19370
|
];
|
|
@@ -20011,7 +19983,7 @@ class IsOnFieldModePipe {
|
|
|
20011
19983
|
return value === 'FIELD';
|
|
20012
19984
|
}
|
|
20013
19985
|
}
|
|
20014
|
-
IsOnFieldModePipe.ɵprov =
|
|
19986
|
+
IsOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
|
|
20015
19987
|
IsOnFieldModePipe.decorators = [
|
|
20016
19988
|
{ type: Pipe, args: [{
|
|
20017
19989
|
name: 'isOnField'
|
|
@@ -20023,7 +19995,7 @@ class IsNotOnFieldModePipe {
|
|
|
20023
19995
|
return value !== 'FIELD';
|
|
20024
19996
|
}
|
|
20025
19997
|
}
|
|
20026
|
-
IsNotOnFieldModePipe.ɵprov =
|
|
19998
|
+
IsNotOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
|
|
20027
19999
|
IsNotOnFieldModePipe.decorators = [
|
|
20028
20000
|
{ type: Pipe, args: [{
|
|
20029
20001
|
name: 'isNotOnField'
|
|
@@ -20038,7 +20010,7 @@ class PersonToStringPipe {
|
|
|
20038
20010
|
return PersonUtils.personToString(value);
|
|
20039
20011
|
}
|
|
20040
20012
|
}
|
|
20041
|
-
PersonToStringPipe.ɵprov =
|
|
20013
|
+
PersonToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
|
|
20042
20014
|
PersonToStringPipe.decorators = [
|
|
20043
20015
|
{ type: Pipe, args: [{
|
|
20044
20016
|
name: 'personToString'
|
|
@@ -20423,7 +20395,7 @@ class IsLoginAccountPipe {
|
|
|
20423
20395
|
return value && value.pubkey && true;
|
|
20424
20396
|
}
|
|
20425
20397
|
}
|
|
20426
|
-
IsLoginAccountPipe.ɵprov =
|
|
20398
|
+
IsLoginAccountPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
|
|
20427
20399
|
IsLoginAccountPipe.decorators = [
|
|
20428
20400
|
{ type: Pipe, args: [{
|
|
20429
20401
|
name: 'isLogin'
|
|
@@ -20435,7 +20407,7 @@ class AccountToStringPipe {
|
|
|
20435
20407
|
return accountToString(value);
|
|
20436
20408
|
}
|
|
20437
20409
|
}
|
|
20438
|
-
AccountToStringPipe.ɵprov =
|
|
20410
|
+
AccountToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
|
|
20439
20411
|
AccountToStringPipe.decorators = [
|
|
20440
20412
|
{ type: Pipe, args: [{
|
|
20441
20413
|
name: 'accountToString'
|
|
@@ -20450,7 +20422,7 @@ class DepartmentToStringPipe {
|
|
|
20450
20422
|
return departmentToString(value);
|
|
20451
20423
|
}
|
|
20452
20424
|
}
|
|
20453
|
-
DepartmentToStringPipe.ɵprov =
|
|
20425
|
+
DepartmentToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
|
|
20454
20426
|
DepartmentToStringPipe.decorators = [
|
|
20455
20427
|
{ type: Pipe, args: [{
|
|
20456
20428
|
name: 'departmentToString'
|
|
@@ -20546,7 +20518,7 @@ class MenuService {
|
|
|
20546
20518
|
this._visibleSubject.next(value);
|
|
20547
20519
|
}
|
|
20548
20520
|
}
|
|
20549
|
-
MenuService.ɵprov =
|
|
20521
|
+
MenuService.ɵprov = ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
|
|
20550
20522
|
MenuService.decorators = [
|
|
20551
20523
|
{ type: Injectable, args: [{
|
|
20552
20524
|
providedIn: 'root'
|
|
@@ -21008,7 +20980,7 @@ class AuthGuardService {
|
|
|
21008
20980
|
}));
|
|
21009
20981
|
}
|
|
21010
20982
|
}
|
|
21011
|
-
AuthGuardService.ɵprov =
|
|
20983
|
+
AuthGuardService.ɵprov = ɵɵdefineInjectable({ factory: function AuthGuardService_Factory() { return new AuthGuardService(ɵɵinject(AccountService), ɵɵinject(ModalController), ɵɵinject(Router), ɵɵinject(ENVIRONMENT)); }, token: AuthGuardService, providedIn: "root" });
|
|
21012
20984
|
AuthGuardService.decorators = [
|
|
21013
20985
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
21014
20986
|
];
|
|
@@ -21050,7 +21022,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
21050
21022
|
query,
|
|
21051
21023
|
variables: { id },
|
|
21052
21024
|
fetchPolicy: opts && opts.fetchPolicy || undefined,
|
|
21053
|
-
error: { code: ErrorCodes
|
|
21025
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
|
|
21054
21026
|
})
|
|
21055
21027
|
.pipe(map(({ data }) => (!opts || opts.toEntity !== false)
|
|
21056
21028
|
? (data && this.fromObject(data))
|
|
@@ -21065,7 +21037,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
21065
21037
|
query,
|
|
21066
21038
|
variables: { id },
|
|
21067
21039
|
fetchPolicy: opts && opts.fetchPolicy || undefined,
|
|
21068
|
-
error: { code: ErrorCodes
|
|
21040
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
|
|
21069
21041
|
});
|
|
21070
21042
|
// Convert to entity
|
|
21071
21043
|
return (!opts || opts.toEntity !== false)
|
|
@@ -21096,7 +21068,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
21096
21068
|
totalFieldName: withTotal ? 'total' : undefined,
|
|
21097
21069
|
insertFilterFn: filter && filter.asFilterFn(),
|
|
21098
21070
|
variables,
|
|
21099
|
-
error: { code: ErrorCodes
|
|
21071
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
|
|
21100
21072
|
fetchPolicy: opts && opts.fetchPolicy || undefined
|
|
21101
21073
|
})
|
|
21102
21074
|
.pipe(map(({ data, total }) => {
|
|
@@ -21132,7 +21104,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
21132
21104
|
const { data, total } = yield this.graphql.query({
|
|
21133
21105
|
query,
|
|
21134
21106
|
variables,
|
|
21135
|
-
error: { code: ErrorCodes
|
|
21107
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
|
|
21136
21108
|
fetchPolicy: opts && opts.fetchPolicy || 'network-only'
|
|
21137
21109
|
});
|
|
21138
21110
|
const entities = (!opts || opts.toEntity !== false) ?
|
|
@@ -21171,7 +21143,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
21171
21143
|
variables: {
|
|
21172
21144
|
filter: filter && filter.asPodObject()
|
|
21173
21145
|
},
|
|
21174
|
-
error: { code: ErrorCodes
|
|
21146
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
|
|
21175
21147
|
fetchPolicy: opts && opts.fetchPolicy || 'network-only'
|
|
21176
21148
|
});
|
|
21177
21149
|
return res.total;
|
|
@@ -21207,7 +21179,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
21207
21179
|
variables: {
|
|
21208
21180
|
data: json
|
|
21209
21181
|
},
|
|
21210
|
-
error: { code: ErrorCodes
|
|
21182
|
+
error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
|
|
21211
21183
|
update: (proxy, { data }) => {
|
|
21212
21184
|
const savedEntities = data && data.data;
|
|
21213
21185
|
if (savedEntities) {
|
|
@@ -21263,7 +21235,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
21263
21235
|
variables: {
|
|
21264
21236
|
data: json
|
|
21265
21237
|
},
|
|
21266
|
-
error: { code: ErrorCodes
|
|
21238
|
+
error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
|
|
21267
21239
|
update: (cache, { data }) => {
|
|
21268
21240
|
// Update entity
|
|
21269
21241
|
const savedEntity = data && data.data;
|
|
@@ -21311,7 +21283,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
21311
21283
|
refetchQueries: this.getRefetchQueriesForMutation(opts),
|
|
21312
21284
|
awaitRefetchQueries: opts && opts.awaitRefetchQueries,
|
|
21313
21285
|
variables: { ids },
|
|
21314
|
-
error: { code: ErrorCodes
|
|
21286
|
+
error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
|
|
21315
21287
|
update: (cache, res) => {
|
|
21316
21288
|
// Remove from cache
|
|
21317
21289
|
if (this.watchQueriesUpdatePolicy === 'update-cache') {
|
|
@@ -21352,7 +21324,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
21352
21324
|
refetchQueries: this.getRefetchQueriesForMutation(opts),
|
|
21353
21325
|
awaitRefetchQueries: opts && opts.awaitRefetchQueries,
|
|
21354
21326
|
variables: { id },
|
|
21355
|
-
error: { code: ErrorCodes
|
|
21327
|
+
error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
|
|
21356
21328
|
update: (proxy, res) => {
|
|
21357
21329
|
// Remove from cache
|
|
21358
21330
|
if (this.watchQueriesUpdatePolicy === 'update-cache') {
|
|
@@ -21388,7 +21360,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
21388
21360
|
fetchPolicy: opts && opts.fetchPolicy || 'no-cache',
|
|
21389
21361
|
variables,
|
|
21390
21362
|
error: {
|
|
21391
|
-
code: ErrorCodes
|
|
21363
|
+
code: ErrorCodes.SUBSCRIBE_DATA_ERROR,
|
|
21392
21364
|
message: 'ERROR.SUBSCRIBE_DATA_ERROR'
|
|
21393
21365
|
}
|
|
21394
21366
|
})
|
|
@@ -21574,7 +21546,7 @@ class EntitiesTableDataSource extends TableDataSource {
|
|
|
21574
21546
|
if (this._debug)
|
|
21575
21547
|
invalidRows.forEach(row => AppTableUtils.logRowErrors(row, `[table-datasource] ${this._logTypeName} row #${row.id}`));
|
|
21576
21548
|
// Stop with an error
|
|
21577
|
-
throw { code: ErrorCodes
|
|
21549
|
+
throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
21578
21550
|
}
|
|
21579
21551
|
this._editingRowCount = 0;
|
|
21580
21552
|
let data;
|
|
@@ -22445,14 +22417,14 @@ class AppTable {
|
|
|
22445
22417
|
return __awaiter(this, void 0, void 0, function* () {
|
|
22446
22418
|
opts = Object.assign({ keepEditing: this.keepEditedRowOnSave }, opts);
|
|
22447
22419
|
if (this.readOnly) {
|
|
22448
|
-
throw { code: ErrorCodes
|
|
22420
|
+
throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
|
|
22449
22421
|
}
|
|
22450
22422
|
this.resetError();
|
|
22451
22423
|
// Keep edited row id (should be done BEFORE confirmEditCreate() )
|
|
22452
22424
|
this.previouslyEditedRowId = opts.keepEditing ? ((((_a = this.editedRow) === null || _a === void 0 ? void 0 : _a.editing) ? this.editedRow.id : undefined) || ((_b = this.singleSelectedRow) === null || _b === void 0 ? void 0 : _b.id)) : undefined;
|
|
22453
22425
|
const previouslyEditedData = opts.keepEditing ? (isNotNil(this.previouslyEditedRowId) && ((_c = this.editedRow) === null || _c === void 0 ? void 0 : _c.currentData) || ((_d = this.singleSelectedRow) === null || _d === void 0 ? void 0 : _d.currentData)) : undefined;
|
|
22454
22426
|
if (!this.confirmEditCreate()) {
|
|
22455
|
-
throw { code: ErrorCodes
|
|
22427
|
+
throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
22456
22428
|
}
|
|
22457
22429
|
// Mark as saving
|
|
22458
22430
|
this.markAsSaving();
|
|
@@ -22571,7 +22543,7 @@ class AppTable {
|
|
|
22571
22543
|
var _a;
|
|
22572
22544
|
return __awaiter(this, void 0, void 0, function* () {
|
|
22573
22545
|
if (this.readOnly) {
|
|
22574
|
-
throw { code: ErrorCodes
|
|
22546
|
+
throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
|
|
22575
22547
|
}
|
|
22576
22548
|
if (event === null || event === void 0 ? void 0 : event.defaultPrevented)
|
|
22577
22549
|
return 0; // SKip
|
|
@@ -24151,7 +24123,7 @@ class AppEntityEditor extends AppTabEditor {
|
|
|
24151
24123
|
try {
|
|
24152
24124
|
const data = yield this.dataService.load(id, opts);
|
|
24153
24125
|
if (!data)
|
|
24154
|
-
throw { code: ErrorCodes
|
|
24126
|
+
throw { code: ErrorCodes.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
|
|
24155
24127
|
this._usageMode = this.computeUsageMode(data);
|
|
24156
24128
|
yield this.onEntityLoaded(data, opts);
|
|
24157
24129
|
yield this.updateView(data, opts);
|
|
@@ -25103,7 +25075,7 @@ class UserEventService extends BaseGraphqlService {
|
|
|
25103
25075
|
EntityUtils.copyIdAndUpdateDate(source, target);
|
|
25104
25076
|
}
|
|
25105
25077
|
}
|
|
25106
|
-
UserEventService.ɵprov =
|
|
25078
|
+
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" });
|
|
25107
25079
|
UserEventService.decorators = [
|
|
25108
25080
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
25109
25081
|
];
|
|
@@ -25463,7 +25435,7 @@ class PersonService extends BaseEntityService {
|
|
|
25463
25435
|
fetchPolicy: 'network-only',
|
|
25464
25436
|
withTotal: (offset === 0),
|
|
25465
25437
|
toEntity: false
|
|
25466
|
-
}), {
|
|
25438
|
+
}), Object.assign(Object.assign({}, opts), { maxProgression: maxProgression * 0.9 }));
|
|
25467
25439
|
// Save result locally
|
|
25468
25440
|
yield this.entities.saveAll(res.data, { entityName: 'PersonVO', reset: true });
|
|
25469
25441
|
});
|
|
@@ -25484,7 +25456,7 @@ class PersonService extends BaseEntityService {
|
|
|
25484
25456
|
return target;
|
|
25485
25457
|
}
|
|
25486
25458
|
}
|
|
25487
|
-
PersonService.ɵprov =
|
|
25459
|
+
PersonService.ɵprov = ɵɵdefineInjectable({ factory: function PersonService_Factory() { return new PersonService(ɵɵinject(GraphqlService), ɵɵinject(PlatformService), ɵɵinject(NetworkService), ɵɵinject(EntitiesStorage)); }, token: PersonService, providedIn: "root" });
|
|
25488
25460
|
PersonService.decorators = [
|
|
25489
25461
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
25490
25462
|
];
|
|
@@ -25515,7 +25487,7 @@ class PersonValidatorService {
|
|
|
25515
25487
|
return this.formBuilder.group(formConfig);
|
|
25516
25488
|
}
|
|
25517
25489
|
}
|
|
25518
|
-
PersonValidatorService.ɵprov =
|
|
25490
|
+
PersonValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
|
|
25519
25491
|
PersonValidatorService.decorators = [
|
|
25520
25492
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
25521
25493
|
];
|
|
@@ -25709,16 +25681,16 @@ AdminModule.decorators = [
|
|
|
25709
25681
|
];
|
|
25710
25682
|
AdminModule.ctorParameters = () => [];
|
|
25711
25683
|
|
|
25712
|
-
const ɵ0 = {
|
|
25684
|
+
const ɵ0$c = {
|
|
25713
25685
|
profile: 'ADMIN'
|
|
25714
25686
|
};
|
|
25715
|
-
const routes
|
|
25687
|
+
const routes = [
|
|
25716
25688
|
{
|
|
25717
25689
|
path: 'users',
|
|
25718
25690
|
pathMatch: 'full',
|
|
25719
25691
|
component: UsersPage,
|
|
25720
25692
|
canActivate: [AuthGuardService],
|
|
25721
|
-
data: ɵ0
|
|
25693
|
+
data: ɵ0$c
|
|
25722
25694
|
}
|
|
25723
25695
|
];
|
|
25724
25696
|
class AdminRoutingModule {
|
|
@@ -25728,33 +25700,33 @@ AdminRoutingModule.decorators = [
|
|
|
25728
25700
|
imports: [
|
|
25729
25701
|
SharedRoutingModule,
|
|
25730
25702
|
AdminModule,
|
|
25731
|
-
RouterModule.forChild(routes
|
|
25703
|
+
RouterModule.forChild(routes)
|
|
25732
25704
|
],
|
|
25733
25705
|
exports: [RouterModule]
|
|
25734
25706
|
},] }
|
|
25735
25707
|
];
|
|
25736
25708
|
|
|
25737
|
-
const ErrorCodes = {
|
|
25709
|
+
const ErrorCodes$2 = {
|
|
25738
25710
|
LOAD_PERSONS_ERROR: 100,
|
|
25739
25711
|
SAVE_PERSONS_ERROR: 101,
|
|
25740
25712
|
DELETE_PERSONS_ERROR: 102,
|
|
25741
25713
|
};
|
|
25742
25714
|
|
|
25743
|
-
class EntityTestClass
|
|
25715
|
+
class EntityTestClass {
|
|
25744
25716
|
}
|
|
25745
|
-
const FAKE_ENTITIES
|
|
25717
|
+
const FAKE_ENTITIES = [
|
|
25746
25718
|
{ id: 1, label: 'AAA', name: 'Item A', description: 'Very long description A', comments: 'Very very long comments... again for A' },
|
|
25747
25719
|
{ id: 2, label: 'BBB', name: 'Item B', description: 'Very long description B', comments: 'Very very long comments... again for B' },
|
|
25748
25720
|
{ id: 3, label: 'CCC', name: 'Item C', description: 'Very long description C', comments: 'Very very long comments... again for C' }
|
|
25749
25721
|
];
|
|
25750
|
-
function deepCopy
|
|
25722
|
+
function deepCopy(values, size) {
|
|
25751
25723
|
if (isNil(size)) {
|
|
25752
|
-
return (values || FAKE_ENTITIES
|
|
25724
|
+
return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
|
|
25753
25725
|
}
|
|
25754
25726
|
let result = [];
|
|
25755
25727
|
let i = 1;
|
|
25756
25728
|
while (result.length < size) {
|
|
25757
|
-
result = result.concat((values || FAKE_ENTITIES
|
|
25729
|
+
result = result.concat((values || FAKE_ENTITIES).map(entity => {
|
|
25758
25730
|
const name = entity.name + ' #' + i;
|
|
25759
25731
|
return Object.assign(Object.assign({}, entity), { id: i++, name });
|
|
25760
25732
|
}));
|
|
@@ -25764,7 +25736,7 @@ function deepCopy$1(values, size) {
|
|
|
25764
25736
|
class AutocompleteTestPage {
|
|
25765
25737
|
constructor(formBuilder) {
|
|
25766
25738
|
this.formBuilder = formBuilder;
|
|
25767
|
-
this._items = deepCopy
|
|
25739
|
+
this._items = deepCopy(FAKE_ENTITIES, 100);
|
|
25768
25740
|
this._$items = new BehaviorSubject(undefined);
|
|
25769
25741
|
this.autocompleteFields = new MatAutocompleteConfigHolder();
|
|
25770
25742
|
this.memoryHide = false;
|
|
@@ -25808,7 +25780,7 @@ class AutocompleteTestPage {
|
|
|
25808
25780
|
});
|
|
25809
25781
|
// From items
|
|
25810
25782
|
this.autocompleteFields.add('entity-items-large', {
|
|
25811
|
-
items: FAKE_ENTITIES
|
|
25783
|
+
items: FAKE_ENTITIES.slice(),
|
|
25812
25784
|
attributes: ['label', 'name', 'description', 'comments'],
|
|
25813
25785
|
displayWith: this.entityToString
|
|
25814
25786
|
});
|
|
@@ -25818,12 +25790,12 @@ class AutocompleteTestPage {
|
|
|
25818
25790
|
loadData() {
|
|
25819
25791
|
return __awaiter(this, void 0, void 0, function* () {
|
|
25820
25792
|
const data = {
|
|
25821
|
-
entity: deepCopy
|
|
25793
|
+
entity: deepCopy(FAKE_ENTITIES)[0],
|
|
25822
25794
|
// This item is NOT in the items list => i should be displayed anyway
|
|
25823
25795
|
missingEntity: {
|
|
25824
25796
|
id: -1, label: '??', name: 'Missing item'
|
|
25825
25797
|
},
|
|
25826
|
-
disableEntity: deepCopy
|
|
25798
|
+
disableEntity: deepCopy(FAKE_ENTITIES)[2]
|
|
25827
25799
|
};
|
|
25828
25800
|
this.form.setValue(data);
|
|
25829
25801
|
// Load observables
|
|
@@ -25966,13 +25938,13 @@ LatLongTestPage.ctorParameters = () => [
|
|
|
25966
25938
|
{ type: FormBuilder }
|
|
25967
25939
|
];
|
|
25968
25940
|
|
|
25969
|
-
const moment$
|
|
25941
|
+
const moment$5 = momentImported;
|
|
25970
25942
|
class SwipeTestPage {
|
|
25971
25943
|
constructor(formBuilder, dateFormatPipe) {
|
|
25972
25944
|
this.formBuilder = formBuilder;
|
|
25973
25945
|
this.dateFormatPipe = dateFormatPipe;
|
|
25974
25946
|
this.$dates = new BehaviorSubject(undefined);
|
|
25975
|
-
this._today = moment$
|
|
25947
|
+
this._today = moment$5().startOf('day');
|
|
25976
25948
|
this.form = formBuilder.group({
|
|
25977
25949
|
empty: [null, Validators.required],
|
|
25978
25950
|
date: [null, Validators.compose([Validators.required, SharedValidators.validDate])],
|
|
@@ -25985,7 +25957,7 @@ class SwipeTestPage {
|
|
|
25985
25957
|
ngOnInit() {
|
|
25986
25958
|
const dates = [];
|
|
25987
25959
|
for (let d = 0; d < 7; d++) {
|
|
25988
|
-
dates[d] = moment$
|
|
25960
|
+
dates[d] = moment$5(this._today).add(d - 3, 'day');
|
|
25989
25961
|
}
|
|
25990
25962
|
this.$dates.next(dates);
|
|
25991
25963
|
this.loadData();
|
|
@@ -26026,7 +25998,7 @@ SwipeTestPage.ctorParameters = () => [
|
|
|
26026
25998
|
{ type: DateFormatPipe }
|
|
26027
25999
|
];
|
|
26028
26000
|
|
|
26029
|
-
const moment$
|
|
26001
|
+
const moment$6 = momentImported;
|
|
26030
26002
|
class DateTimeTestPage {
|
|
26031
26003
|
constructor(platform, formBuilder, cd) {
|
|
26032
26004
|
this.platform = platform;
|
|
@@ -26058,7 +26030,7 @@ class DateTimeTestPage {
|
|
|
26058
26030
|
// Load the form with data
|
|
26059
26031
|
loadData() {
|
|
26060
26032
|
return __awaiter(this, void 0, void 0, function* () {
|
|
26061
|
-
const now = moment$
|
|
26033
|
+
const now = moment$6();
|
|
26062
26034
|
const data = {
|
|
26063
26035
|
empty: toDateISOString(now.clone().add(2, 'hours')),
|
|
26064
26036
|
enable: toDateISOString(now),
|
|
@@ -26119,9 +26091,9 @@ DateTimeTestPage.ctorParameters = () => [
|
|
|
26119
26091
|
{ type: ChangeDetectorRef }
|
|
26120
26092
|
];
|
|
26121
26093
|
|
|
26122
|
-
class EntityTestClass {
|
|
26094
|
+
class EntityTestClass$1 {
|
|
26123
26095
|
}
|
|
26124
|
-
const FAKE_ENTITIES = [
|
|
26096
|
+
const FAKE_ENTITIES$1 = [
|
|
26125
26097
|
{ id: 1, label: 'AAA', name: 'Item A' },
|
|
26126
26098
|
{ id: 2, label: 'BBB', name: 'Item B' },
|
|
26127
26099
|
{ id: 3, label: 'CCC', name: 'Item C' },
|
|
@@ -26130,14 +26102,14 @@ const FAKE_ENTITIES = [
|
|
|
26130
26102
|
{ id: 6, label: 'FFF', name: 'Item F' },
|
|
26131
26103
|
{ id: 7, label: 'GGG', name: 'Item G' }
|
|
26132
26104
|
];
|
|
26133
|
-
function deepCopy(values, size) {
|
|
26105
|
+
function deepCopy$1(values, size) {
|
|
26134
26106
|
if (isNil(size)) {
|
|
26135
|
-
return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
|
|
26107
|
+
return (values || FAKE_ENTITIES$1).map(entity => Object.assign({}, entity));
|
|
26136
26108
|
}
|
|
26137
26109
|
let result = [];
|
|
26138
26110
|
let i = 1;
|
|
26139
26111
|
while (result.length < size) {
|
|
26140
|
-
result = result.concat((values || FAKE_ENTITIES).map(entity => {
|
|
26112
|
+
result = result.concat((values || FAKE_ENTITIES$1).map(entity => {
|
|
26141
26113
|
const name = entity.name + ' #' + i;
|
|
26142
26114
|
return Object.assign(Object.assign({}, entity), { id: i++, name });
|
|
26143
26115
|
}));
|
|
@@ -26147,7 +26119,7 @@ function deepCopy(values, size) {
|
|
|
26147
26119
|
class ChipsTestPage {
|
|
26148
26120
|
constructor(formBuilder) {
|
|
26149
26121
|
this.formBuilder = formBuilder;
|
|
26150
|
-
this._items = deepCopy(FAKE_ENTITIES, 100);
|
|
26122
|
+
this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
|
|
26151
26123
|
this._$items = new BehaviorSubject(undefined);
|
|
26152
26124
|
this.autocompleteFields = new MatAutocompleteConfigHolder();
|
|
26153
26125
|
this.form = formBuilder.group({
|
|
@@ -26186,7 +26158,7 @@ class ChipsTestPage {
|
|
|
26186
26158
|
// Load the form with data
|
|
26187
26159
|
loadData() {
|
|
26188
26160
|
return __awaiter(this, void 0, void 0, function* () {
|
|
26189
|
-
const items = deepCopy(FAKE_ENTITIES);
|
|
26161
|
+
const items = deepCopy$1(FAKE_ENTITIES$1);
|
|
26190
26162
|
const data = {
|
|
26191
26163
|
entity: items.slice(0, 1),
|
|
26192
26164
|
entityInitial: items.slice(1, 2),
|
|
@@ -26302,7 +26274,7 @@ NumpadTestPage.ctorParameters = () => [
|
|
|
26302
26274
|
{ type: FormBuilder }
|
|
26303
26275
|
];
|
|
26304
26276
|
|
|
26305
|
-
const moment = momentImported;
|
|
26277
|
+
const moment$7 = momentImported;
|
|
26306
26278
|
class DateTestPage {
|
|
26307
26279
|
constructor(platform, formBuilder, cd) {
|
|
26308
26280
|
this.platform = platform;
|
|
@@ -26336,7 +26308,7 @@ class DateTestPage {
|
|
|
26336
26308
|
// Load the form with data
|
|
26337
26309
|
loadData() {
|
|
26338
26310
|
return __awaiter(this, void 0, void 0, function* () {
|
|
26339
|
-
const now = moment();
|
|
26311
|
+
const now = moment$7();
|
|
26340
26312
|
const nowAtMahe = now.clone().tz(this.timezone).startOf('day');
|
|
26341
26313
|
const data = {
|
|
26342
26314
|
empty: toDateISOString(now.clone().add(2, 'hours')),
|
|
@@ -26414,7 +26386,7 @@ const SHARED_MATERIAL_TESTING_PAGES = [
|
|
|
26414
26386
|
{ label: 'Shared directives', divider: true },
|
|
26415
26387
|
{ label: 'Badge icon directive', page: '/testing/shared/badge-icon' }
|
|
26416
26388
|
];
|
|
26417
|
-
const routes$
|
|
26389
|
+
const routes$1 = [
|
|
26418
26390
|
{
|
|
26419
26391
|
path: '',
|
|
26420
26392
|
pathMatch: 'full',
|
|
@@ -26471,7 +26443,7 @@ MaterialTestingModule.decorators = [
|
|
|
26471
26443
|
ReactiveFormsModule,
|
|
26472
26444
|
SharedMaterialModule,
|
|
26473
26445
|
TranslateModule.forChild(),
|
|
26474
|
-
RouterModule.forChild(routes$
|
|
26446
|
+
RouterModule.forChild(routes$1)
|
|
26475
26447
|
],
|
|
26476
26448
|
declarations: [
|
|
26477
26449
|
DateTimeTestPage,
|
|
@@ -26532,7 +26504,7 @@ ToastTestingPage.ctorParameters = () => [
|
|
|
26532
26504
|
{ type: TranslateService }
|
|
26533
26505
|
];
|
|
26534
26506
|
|
|
26535
|
-
const routes$
|
|
26507
|
+
const routes$2 = [
|
|
26536
26508
|
{
|
|
26537
26509
|
path: 'toast',
|
|
26538
26510
|
pathMatch: 'full',
|
|
@@ -26547,7 +26519,7 @@ ToastTestingModule.decorators = [
|
|
|
26547
26519
|
CommonModule,
|
|
26548
26520
|
IonicModule,
|
|
26549
26521
|
TranslateModule.forChild(),
|
|
26550
|
-
RouterModule.forChild(routes$
|
|
26522
|
+
RouterModule.forChild(routes$2)
|
|
26551
26523
|
],
|
|
26552
26524
|
declarations: [
|
|
26553
26525
|
ToastTestingPage
|
|
@@ -26610,7 +26582,7 @@ UploadFileTestingPage.ctorParameters = () => [
|
|
|
26610
26582
|
{ type: PopoverController }
|
|
26611
26583
|
];
|
|
26612
26584
|
|
|
26613
|
-
const routes$
|
|
26585
|
+
const routes$3 = [
|
|
26614
26586
|
{
|
|
26615
26587
|
path: 'upload-file',
|
|
26616
26588
|
pathMatch: 'full',
|
|
@@ -26625,7 +26597,7 @@ UploadFileTestingModule.decorators = [
|
|
|
26625
26597
|
CommonModule,
|
|
26626
26598
|
IonicModule,
|
|
26627
26599
|
TranslateModule.forChild(),
|
|
26628
|
-
RouterModule.forChild(routes$
|
|
26600
|
+
RouterModule.forChild(routes$3)
|
|
26629
26601
|
],
|
|
26630
26602
|
declarations: [
|
|
26631
26603
|
UploadFileTestingPage
|
|
@@ -27006,7 +26978,7 @@ TextPopoverTestingPage.ctorParameters = () => [
|
|
|
27006
26978
|
{ type: PopoverController }
|
|
27007
26979
|
];
|
|
27008
26980
|
|
|
27009
|
-
const routes$
|
|
26981
|
+
const routes$4 = [
|
|
27010
26982
|
{
|
|
27011
26983
|
path: 'text-popover',
|
|
27012
26984
|
pathMatch: 'full',
|
|
@@ -27021,7 +26993,7 @@ TextPopoverTestingModule.decorators = [
|
|
|
27021
26993
|
CommonModule,
|
|
27022
26994
|
IonicModule,
|
|
27023
26995
|
TranslateModule.forChild(),
|
|
27024
|
-
RouterModule.forChild(routes$
|
|
26996
|
+
RouterModule.forChild(routes$4)
|
|
27025
26997
|
],
|
|
27026
26998
|
declarations: [
|
|
27027
26999
|
TextPopoverTestingPage
|
|
@@ -27038,7 +27010,7 @@ const CORE_TESTING_PAGES = [
|
|
|
27038
27010
|
{ label: 'Table', page: '/testing/core/table' },
|
|
27039
27011
|
{ label: 'Text popover', page: '/testing/core/text-popover' }
|
|
27040
27012
|
];
|
|
27041
|
-
const routes = [
|
|
27013
|
+
const routes$5 = [
|
|
27042
27014
|
{
|
|
27043
27015
|
path: '',
|
|
27044
27016
|
pathMatch: 'full',
|
|
@@ -27062,7 +27034,7 @@ CoreTestingModule.decorators = [
|
|
|
27062
27034
|
imports: [
|
|
27063
27035
|
CommonModule,
|
|
27064
27036
|
TranslateModule.forChild(),
|
|
27065
|
-
RouterModule.forChild(routes),
|
|
27037
|
+
RouterModule.forChild(routes$5),
|
|
27066
27038
|
// Sub modules
|
|
27067
27039
|
TableTestingModule,
|
|
27068
27040
|
TextPopoverTestingModule
|
|
@@ -27082,5 +27054,5 @@ CoreTestingModule.decorators = [
|
|
|
27082
27054
|
* Generated bundle index. Do not edit.
|
|
27083
27055
|
*/
|
|
27084
27056
|
|
|
27085
|
-
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, AndroidOsEnvironment, 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, CORE_TESTING_PAGES, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigService, Configuration, CoreModule, CoreTestingModule, 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, DragAndDropDirective, DurationPipe, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesService, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, ErrorCodes, EvenPipe, FileResponse, FileService, FileSizePipe, FilesUtils, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, FormErrorTranslatePipe, FormErrorTranslator, FormFieldValuesHolder, FormGetArrayPipe, FormGetControlPipe, FormGetGroupPipe, FormGetPipe, 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, MatBadgeIconDirective, MatBooleanField, MatChipsField, MatDate, MatDateShort, MatDateTime, MatDuration, MatLatLongField, MatNumpadComponent, MatNumpadContainerComponent, MatNumpadContent, MatPaginatorI18n, MatStepperI18n, MatSwipeField, MaterialTestingModule, MathAbsPipe, MenuComponent, MenuItems, MenuService, ModalToolbarComponent, NetworkService, NgInitDirective, NgVarDirective, NotEmptyArrayPipe, NumberFormatPipe, NumpadDirective, OddPipe, PRIORITIZED_AUTHORITIES, PUBKEY_REGEXP, Peer, Person, PersonFilter, PersonFragments, PersonService, PersonToStringPipe, PersonUtils, PersonValidatorService, PlatformService, ProgressBarService, ProgressInterceptor, PropertyGetPipe, RESERVED_END_COLUMNS, RESERVED_START_COLUMNS, Referential, ReferentialFilter, ReferentialRef, ReferentialUtils, ReferentialValidatorService, RegisterConfirmPage, SETTINGS_DISPLAY_COLUMNS, SETTINGS_FILTER, SETTINGS_PAGE_SIZE, SETTINGS_SORTED_COLUMN, SETTINGS_STORAGE_KEY, SETTINGS_TRANSIENT_PROPERTIES, SHARED_MATERIAL_TESTING_PAGES, SHARED_TESTING_PAGES, SPACE_PLACEHOLDER_CHAR, SelectPeerModal, SettingsPage, SharedAsyncValidators, SharedDirectivesModule, SharedFormArrayValidators, SharedFormGroupValidators, SharedHotkeysModule, SharedMatAutocompleteModule, SharedMatBadgeIconModule, SharedMatBooleanModule, SharedMatChipsModule, SharedMatDateTimeModule, SharedMatDurationModule, SharedMatLatLongModule, SharedMatNumpadModule, SharedMatSwipeModule, SharedMaterialModule, SharedModule, SharedPipesModule, SharedRoutingModule, SharedTestingModule, SharedTestsPage, SharedValidators, SocialModule, Software, StartableService, StatusById, StatusIds, StatusList, StrIncludesPipe, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, TableTestPage, TableTestingModule, TextForm, TextPopover, TextPopoverTestingModule, TextPopoverTestingPage, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, UploadFile, UploadFileComponent, UploadFilePopover, UploadFileTestingModule, UploadFileTestingPage, 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, isAndroid, isControlHasInput, isCordova, isEmptyArray, isIOS, isInputElement, isInstanceOf, isInt, isMobile, isNil, isNilOrBlank, isNilOrNaN, isNotEmptyArray, isNotNil, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, isProgressEvent, isResponseEvent, isTouchUi, isWindows, joinProperties, joinPropertiesPath, logFormErrors, markAllAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, matchMedia, 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, testUserAgent, toBoolean, toDateISOString, toDuration, toFloat, toInt, toNotNil, toNumber, trimEmptyToNull, uncapitalizeFirstLetter, updateValueAndValidity, waitFor, waitForTrue, waitIdle, waitWhilePending, ɵ0$
|
|
27057
|
+
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, AndroidOsEnvironment, 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, CORE_TESTING_PAGES, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigService, Configuration, CoreModule, CoreTestingModule, 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, DragAndDropDirective, DurationPipe, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesService, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, ErrorCodes$2 as ErrorCodes, EvenPipe, FileResponse, FileService, FileSizePipe, FilesUtils, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, FormErrorTranslatePipe, FormErrorTranslator, FormFieldValuesHolder, FormGetArrayPipe, FormGetControlPipe, FormGetGroupPipe, FormGetPipe, 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, MatBadgeIconDirective, MatBooleanField, MatChipsField, MatDate, MatDateShort, MatDateTime, MatDuration, MatLatLongField, MatNumpadComponent, MatNumpadContainerComponent, MatNumpadContent, MatPaginatorI18n, MatStepperI18n, MatSwipeField, MaterialTestingModule, MathAbsPipe, MenuComponent, MenuItems, MenuService, ModalToolbarComponent, NetworkService, NgInitDirective, NgVarDirective, NotEmptyArrayPipe, NumberFormatPipe, NumpadDirective, OddPipe, PRIORITIZED_AUTHORITIES, PUBKEY_REGEXP, Peer, Person, PersonFilter, PersonFragments, PersonService, PersonToStringPipe, PersonUtils, PersonValidatorService, PlatformService, ProgressBarService, ProgressInterceptor, PropertyGetPipe, RESERVED_END_COLUMNS, RESERVED_START_COLUMNS, Referential, ReferentialFilter, ReferentialRef, ReferentialUtils, ReferentialValidatorService, RegisterConfirmPage, SETTINGS_DISPLAY_COLUMNS, SETTINGS_FILTER, SETTINGS_PAGE_SIZE, SETTINGS_SORTED_COLUMN, SETTINGS_STORAGE_KEY, SETTINGS_TRANSIENT_PROPERTIES, SHARED_MATERIAL_TESTING_PAGES, SHARED_TESTING_PAGES, SPACE_PLACEHOLDER_CHAR, SelectPeerModal, SettingsPage, SharedAsyncValidators, SharedDirectivesModule, SharedFormArrayValidators, SharedFormGroupValidators, SharedHotkeysModule, SharedMatAutocompleteModule, SharedMatBadgeIconModule, SharedMatBooleanModule, SharedMatChipsModule, SharedMatDateTimeModule, SharedMatDurationModule, SharedMatLatLongModule, SharedMatNumpadModule, SharedMatSwipeModule, SharedMaterialModule, SharedModule, SharedPipesModule, SharedRoutingModule, SharedTestingModule, SharedTestsPage, SharedValidators, SocialModule, Software, StartableService, StatusById, StatusIds, StatusList, StrIncludesPipe, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, TableTestPage, TableTestingModule, TextForm, TextPopover, TextPopoverTestingModule, TextPopoverTestingPage, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, UploadFile, UploadFileComponent, UploadFilePopover, UploadFileTestingModule, UploadFileTestingPage, 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, isAndroid, isControlHasInput, isCordova, isEmptyArray, isIOS, isInputElement, isInstanceOf, isInt, isMobile, isNil, isNilOrBlank, isNilOrNaN, isNotEmptyArray, isNotNil, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, isProgressEvent, isResponseEvent, isTouchUi, isWindows, joinProperties, joinPropertiesPath, logFormErrors, markAllAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, matchMedia, 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, testUserAgent, toBoolean, toDateISOString, toDuration, toFloat, toInt, toNotNil, toNumber, trimEmptyToNull, uncapitalizeFirstLetter, updateValueAndValidity, waitFor, waitForTrue, waitIdle, waitWhilePending, ɵ0$1 as ɵ0, CustomReuseStrategy as ɵa, MatNumpadDomService as ɵb, isFocusableElement as ɵc, RegisterForm as ɵd, AccountValidatorService as ɵe, RegisterModal as ɵf, UserSettingsValidatorService as ɵg, LocalSettingsValidatorService as ɵh, AppIconComponent as ɵi, DateTestPage as ɵj, NumpadTestPage as ɵk, MatBadgeIconTestPage as ɵl, ToastTestingModule as ɵm, ToastTestingPage as ɵn };
|
|
27086
27058
|
//# sourceMappingURL=sumaris-net.ngx-components.js.map
|