@sumaris-net/ngx-components 1.16.2 → 1.17.1-rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/sumaris-net.ngx-components.umd.js +342 -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/core/graphql/graphql.service.js +2 -2
- package/esm2015/src/app/core/menu/menu.component.js +3 -9
- package/esm2015/src/app/core/text-popover/text-form.component.js +2 -2
- package/esm2015/src/app/core/text-popover/text-popover.component.js +2 -2
- package/esm2015/src/app/shared/hotkeys/hotkeys.service.js +8 -6
- package/esm2015/src/app/shared/services/job.utils.js +32 -22
- package/fesm2015/sumaris-net.ngx-components.js +316 -325
- package/fesm2015/sumaris-net.ngx-components.js.map +1 -1
- package/package.json +1 -1
- package/src/app/core/menu/menu.component.d.ts +0 -2
- package/src/app/shared/hotkeys/hotkeys.service.d.ts +3 -2
- package/src/app/shared/services/job.utils.d.ts +2 -2
- package/src/assets/i18n/en-US.json +1 -0
- package/src/assets/i18n/en.json +1 -0
- package/src/assets/i18n/fr.json +1 -0
- package/sumaris-net.ngx-components.metadata.json +1 -1
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { InjectionToken, EventEmitter, Component, forwardRef, ChangeDetectionStrategy, ChangeDetectorRef, Optional, Input, Output, ViewChild, Pipe, Injectable, Directive, Inject, NgModule, ElementRef, 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
|
|
44
|
-
import { IonicModule, Platform, IonRouterOutlet, ModalController, IonicSafeString, createAnimation, ToastController, PopoverController, AlertController, IonicRouteStrategy, NavParams, MenuController, IonContent, IonInfiniteScroll } from '@ionic/angular';
|
|
37
|
+
import { IonicModule, Platform, IonRouterOutlet, ModalController, PopoverController, IonicSafeString, createAnimation, ToastController, 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
|
|
|
@@ -8891,11 +8876,12 @@ HotkeysDialogComponent.ctorParameters = () => [
|
|
|
8891
8876
|
];
|
|
8892
8877
|
|
|
8893
8878
|
class Hotkeys {
|
|
8894
|
-
constructor(eventManager, dialog, document, modalController) {
|
|
8879
|
+
constructor(eventManager, dialog, document, modalController, popoverController) {
|
|
8895
8880
|
this.eventManager = eventManager;
|
|
8896
8881
|
this.dialog = dialog;
|
|
8897
8882
|
this.document = document;
|
|
8898
8883
|
this.modalController = modalController;
|
|
8884
|
+
this.popoverController = popoverController;
|
|
8899
8885
|
this._debug = false;
|
|
8900
8886
|
this._hotkeys = new Map();
|
|
8901
8887
|
this._defaults = {
|
|
@@ -8924,7 +8910,7 @@ class Hotkeys {
|
|
|
8924
8910
|
return new Observable(observer => {
|
|
8925
8911
|
const handler = (e) => __awaiter(this, void 0, void 0, function* () {
|
|
8926
8912
|
// Get top component from ModalController
|
|
8927
|
-
const top = yield this.modalController.getTop();
|
|
8913
|
+
const top = (yield this.modalController.getTop()) || (yield this.popoverController.getTop());
|
|
8928
8914
|
// If modal present, check its component name against hotkey element name (fix #181)
|
|
8929
8915
|
if (top && top.component['name'] !== merged.elementName)
|
|
8930
8916
|
return;
|
|
@@ -8950,7 +8936,7 @@ class Hotkeys {
|
|
|
8950
8936
|
});
|
|
8951
8937
|
}
|
|
8952
8938
|
}
|
|
8953
|
-
Hotkeys.ɵprov =
|
|
8939
|
+
Hotkeys.ɵprov = ɵɵdefineInjectable({ factory: function Hotkeys_Factory() { return new Hotkeys(ɵɵinject(EventManager), ɵɵinject(MatDialog), ɵɵinject(DOCUMENT), ɵɵinject(ModalController), ɵɵinject(PopoverController)); }, token: Hotkeys, providedIn: "root" });
|
|
8954
8940
|
Hotkeys.decorators = [
|
|
8955
8941
|
{ type: Injectable, args: [{
|
|
8956
8942
|
providedIn: 'root'
|
|
@@ -8960,7 +8946,8 @@ Hotkeys.ctorParameters = () => [
|
|
|
8960
8946
|
{ type: EventManager },
|
|
8961
8947
|
{ type: MatDialog },
|
|
8962
8948
|
{ type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
|
|
8963
|
-
{ type: ModalController }
|
|
8949
|
+
{ type: ModalController },
|
|
8950
|
+
{ type: PopoverController }
|
|
8964
8951
|
];
|
|
8965
8952
|
|
|
8966
8953
|
class SharedHotkeysModule {
|
|
@@ -9124,7 +9111,7 @@ class Base64ImageReader {
|
|
|
9124
9111
|
}
|
|
9125
9112
|
}
|
|
9126
9113
|
|
|
9127
|
-
const uuidv4
|
|
9114
|
+
const uuidv4 = uuidv4Imported;
|
|
9128
9115
|
class FileService {
|
|
9129
9116
|
constructor(platform,
|
|
9130
9117
|
//private transfer: FileTransfer,
|
|
@@ -9161,7 +9148,7 @@ class FileService {
|
|
|
9161
9148
|
const lastSlashIndex = source.lastIndexOf('/');
|
|
9162
9149
|
if (lastSlashIndex === -1)
|
|
9163
9150
|
throw new Error('Invalid URL: ' + source);
|
|
9164
|
-
const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4
|
|
9151
|
+
const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4();
|
|
9165
9152
|
// Download into the file system
|
|
9166
9153
|
if (responseType === 'file' && this.canUseFileSystem) {
|
|
9167
9154
|
console.warn(`WARN: [file] Fetching image {${source}} in local file...`);
|
|
@@ -9217,7 +9204,7 @@ class FileService {
|
|
|
9217
9204
|
this._started = true;
|
|
9218
9205
|
}
|
|
9219
9206
|
}
|
|
9220
|
-
FileService.ɵprov =
|
|
9207
|
+
FileService.ɵprov = ɵɵdefineInjectable({ factory: function FileService_Factory() { return new FileService(ɵɵinject(Platform), ɵɵinject(HttpClient), ɵɵinject(ENVIRONMENT)); }, token: FileService, providedIn: "root" });
|
|
9221
9208
|
FileService.decorators = [
|
|
9222
9209
|
{ type: Injectable, args: [{
|
|
9223
9210
|
providedIn: 'root',
|
|
@@ -9383,7 +9370,7 @@ class Base58 {
|
|
|
9383
9370
|
Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
|
|
9384
9371
|
|
|
9385
9372
|
const scrypt = require('scrypt-async');
|
|
9386
|
-
const sha256
|
|
9373
|
+
const sha256 = require('hash.js/lib/hash/sha/256');
|
|
9387
9374
|
const sha512 = require('hash.js/lib/hash/sha/512');
|
|
9388
9375
|
const nacl = {
|
|
9389
9376
|
sign,
|
|
@@ -9487,7 +9474,7 @@ class CryptoService {
|
|
|
9487
9474
|
* Hash (using SHA256) a message
|
|
9488
9475
|
*/
|
|
9489
9476
|
sha256(message) {
|
|
9490
|
-
return sha256
|
|
9477
|
+
return sha256().update(message).digest('hex');
|
|
9491
9478
|
}
|
|
9492
9479
|
/**
|
|
9493
9480
|
* Hash (using SHA512) a message
|
|
@@ -9500,7 +9487,7 @@ class CryptoService {
|
|
|
9500
9487
|
return nacl.util.encodeBase64(m);
|
|
9501
9488
|
}
|
|
9502
9489
|
}
|
|
9503
|
-
CryptoService.ɵprov =
|
|
9490
|
+
CryptoService.ɵprov = ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
|
|
9504
9491
|
CryptoService.decorators = [
|
|
9505
9492
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
9506
9493
|
];
|
|
@@ -10363,7 +10350,7 @@ SelectPeerModal.propDecorators = {
|
|
|
10363
10350
|
onRefresh: [{ type: Input }]
|
|
10364
10351
|
};
|
|
10365
10352
|
|
|
10366
|
-
const moment$
|
|
10353
|
+
const moment$3 = momentImported;
|
|
10367
10354
|
const SETTINGS_STORAGE_KEY = 'settings';
|
|
10368
10355
|
const SETTINGS_TRANSIENT_PROPERTIES = ['mobile', 'touchUi' /*deprecated*/];
|
|
10369
10356
|
// fixme: this constant points to static environment
|
|
@@ -10606,11 +10593,11 @@ class LocalSettingsService extends StartableService {
|
|
|
10606
10593
|
if (!feature) {
|
|
10607
10594
|
feature = {
|
|
10608
10595
|
name: featureName.toLowerCase(),
|
|
10609
|
-
lastSyncDate: moment$
|
|
10596
|
+
lastSyncDate: moment$3().toISOString()
|
|
10610
10597
|
};
|
|
10611
10598
|
}
|
|
10612
10599
|
else {
|
|
10613
|
-
feature.lastSyncDate = moment$
|
|
10600
|
+
feature.lastSyncDate = moment$3().toISOString();
|
|
10614
10601
|
}
|
|
10615
10602
|
this.saveOfflineFeature(feature);
|
|
10616
10603
|
}
|
|
@@ -10771,7 +10758,7 @@ class LocalSettingsService extends StartableService {
|
|
|
10771
10758
|
if (!page || !page.title || !page.path)
|
|
10772
10759
|
throw Error('Missing required argument \'page\', \'page.path\' or \'page.title\'');
|
|
10773
10760
|
// Set time
|
|
10774
|
-
page.time = page.time || moment$
|
|
10761
|
+
page.time = page.time || moment$3();
|
|
10775
10762
|
// Clean the title (remove <small> tags)
|
|
10776
10763
|
if (!opts || opts.removeTitleSmallTag !== false) {
|
|
10777
10764
|
const tagIndex = page.title.indexOf('</small>');
|
|
@@ -10787,7 +10774,7 @@ class LocalSettingsService extends StartableService {
|
|
|
10787
10774
|
return page;
|
|
10788
10775
|
}
|
|
10789
10776
|
}
|
|
10790
|
-
LocalSettingsService.ɵprov =
|
|
10777
|
+
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
10778
|
LocalSettingsService.decorators = [
|
|
10792
10779
|
{ type: Injectable, args: [{
|
|
10793
10780
|
providedIn: 'root',
|
|
@@ -11504,7 +11491,7 @@ class NetworkService extends StartableService {
|
|
|
11504
11491
|
});
|
|
11505
11492
|
}
|
|
11506
11493
|
}
|
|
11507
|
-
NetworkService.ɵprov =
|
|
11494
|
+
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
11495
|
NetworkService.decorators = [
|
|
11509
11496
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
11510
11497
|
];
|
|
@@ -11515,16 +11502,16 @@ NetworkService.ctorParameters = () => [
|
|
|
11515
11502
|
{ type: CryptoService },
|
|
11516
11503
|
{ type: Storage },
|
|
11517
11504
|
{ type: LocalSettingsService },
|
|
11518
|
-
{ type: CacheService },
|
|
11505
|
+
{ type: CacheService$1 },
|
|
11519
11506
|
{ type: HttpClient },
|
|
11520
11507
|
{ type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
|
|
11521
|
-
{ type: Network, decorators: [{ type: Optional }] },
|
|
11522
|
-
{ type: SplashScreen, decorators: [{ type: Optional }] },
|
|
11508
|
+
{ type: Network$1, decorators: [{ type: Optional }] },
|
|
11509
|
+
{ type: SplashScreen$1, decorators: [{ type: Optional }] },
|
|
11523
11510
|
{ type: TranslateService, decorators: [{ type: Optional }] },
|
|
11524
11511
|
{ type: ToastController, decorators: [{ type: Optional }] }
|
|
11525
11512
|
];
|
|
11526
11513
|
|
|
11527
|
-
const ErrorCodes
|
|
11514
|
+
const ErrorCodes = {
|
|
11528
11515
|
UNKNOWN_ERROR: 0,
|
|
11529
11516
|
LOAD_ACCOUNT_ERROR: 1,
|
|
11530
11517
|
BAD_PASSWORD: 2,
|
|
@@ -11876,7 +11863,7 @@ class EntityStore {
|
|
|
11876
11863
|
}
|
|
11877
11864
|
catch (err) {
|
|
11878
11865
|
console.error(err);
|
|
11879
|
-
throw { code: ErrorCodes
|
|
11866
|
+
throw { code: ErrorCodes.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err };
|
|
11880
11867
|
}
|
|
11881
11868
|
}
|
|
11882
11869
|
// Emit update event
|
|
@@ -12450,7 +12437,7 @@ class EntitiesStorage extends StartableService {
|
|
|
12450
12437
|
}
|
|
12451
12438
|
EntitiesStorage.TRASH_PREFIX = 'Trash#';
|
|
12452
12439
|
EntitiesStorage.REMOTE_PREFIX = 'Remote#';
|
|
12453
|
-
EntitiesStorage.ɵprov =
|
|
12440
|
+
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
12441
|
EntitiesStorage.decorators = [
|
|
12455
12442
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
12456
12443
|
];
|
|
@@ -12587,10 +12574,10 @@ function referentialToString(obj, properties) {
|
|
|
12587
12574
|
function referentialsToString(values, properties, separator) {
|
|
12588
12575
|
return (values || []).map(v => referentialToString(v, properties)).join(separator || ', ');
|
|
12589
12576
|
}
|
|
12590
|
-
const ɵ0$
|
|
12577
|
+
const ɵ0$a = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
|
|
12591
12578
|
const StatusList = Object.freeze([
|
|
12592
12579
|
{
|
|
12593
|
-
id: ɵ0$
|
|
12580
|
+
id: ɵ0$a,
|
|
12594
12581
|
icon: 'checkmark',
|
|
12595
12582
|
label: 'REFERENTIAL.STATUS_ENUM.ENABLE'
|
|
12596
12583
|
},
|
|
@@ -12865,7 +12852,7 @@ function accountToString(data) {
|
|
|
12865
12852
|
(data.lastName || '')) || '';
|
|
12866
12853
|
}
|
|
12867
12854
|
|
|
12868
|
-
const uuidv4 = uuidv4Imported;
|
|
12855
|
+
const uuidv4$1 = uuidv4Imported;
|
|
12869
12856
|
const _global = typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : {});
|
|
12870
12857
|
const NativeWebSocket = _global.WebSocket || _global.MozWebSocket;
|
|
12871
12858
|
/**
|
|
@@ -12909,7 +12896,7 @@ function createTrackerLink(opts) {
|
|
|
12909
12896
|
// Skip if not tracked
|
|
12910
12897
|
if (!context || !context.tracked)
|
|
12911
12898
|
return forward(operation);
|
|
12912
|
-
const id = context.serializationKey || uuidv4();
|
|
12899
|
+
const id = context.serializationKey || uuidv4$1();
|
|
12913
12900
|
console.debug(`[apollo-tracker-link] Watching tracked query {${operation.operationName}#${id}}`);
|
|
12914
12901
|
// Clean context, before calling JSON.stringify (remove unused attributes)
|
|
12915
12902
|
const cleanContext = Object.assign(Object.assign({}, context), { optimisticResponse: null, cache: null });
|
|
@@ -13572,7 +13559,7 @@ class GraphqlService extends StartableService {
|
|
|
13572
13559
|
(err.networkError && ((err.networkError.error && this.toAppError(err.networkError.error))
|
|
13573
13560
|
|| this.toAppError(err.networkError)
|
|
13574
13561
|
|| (err.networkError.error && this.createAppErrorByCode(err.networkError.error.status))
|
|
13575
|
-
|| this.createAppErrorByCode(ErrorCodes
|
|
13562
|
+
|| this.createAppErrorByCode(ErrorCodes.UNKNOWN_NETWORK_ERROR)))
|
|
13576
13563
|
// If graphQL: try to convert the first error found
|
|
13577
13564
|
|| (err.graphQLErrors && err.graphQLErrors.length && this.toAppError(err.graphQLErrors[0]))
|
|
13578
13565
|
|| this.toAppError(err)
|
|
@@ -13580,7 +13567,7 @@ class GraphqlService extends StartableService {
|
|
|
13580
13567
|
|| (err.graphQLErrors && err.graphQLErrors[0])
|
|
13581
13568
|
|| err;
|
|
13582
13569
|
console.error('[graphql] ' + (error && error.message || error), error.stack || '');
|
|
13583
|
-
if (error && error.code === ErrorCodes
|
|
13570
|
+
if (error && error.code === ErrorCodes.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
|
|
13584
13571
|
console.error('[graphql] original error: ' + err.networkError.message);
|
|
13585
13572
|
this.onNetworkError.next(error);
|
|
13586
13573
|
}
|
|
@@ -13591,7 +13578,7 @@ class GraphqlService extends StartableService {
|
|
|
13591
13578
|
data: null,
|
|
13592
13579
|
errors: [error],
|
|
13593
13580
|
loading: false,
|
|
13594
|
-
networkStatus:
|
|
13581
|
+
networkStatus: NetworkStatus.error
|
|
13595
13582
|
};
|
|
13596
13583
|
}
|
|
13597
13584
|
createAppErrorByCode(errorCode) {
|
|
@@ -13616,7 +13603,7 @@ class GraphqlService extends StartableService {
|
|
|
13616
13603
|
return 'ERROR.UNAUTHORIZED';
|
|
13617
13604
|
case ServerErrorCodes.FORBIDDEN:
|
|
13618
13605
|
return 'ERROR.FORBIDDEN';
|
|
13619
|
-
case ErrorCodes
|
|
13606
|
+
case ErrorCodes.UNKNOWN_NETWORK_ERROR:
|
|
13620
13607
|
return 'ERROR.UNKNOWN_NETWORK_ERROR';
|
|
13621
13608
|
case ServerErrorCodes.BAD_UPDATE_DATE:
|
|
13622
13609
|
return 'ERROR.BAD_UPDATE_DATE';
|
|
@@ -13647,7 +13634,7 @@ class GraphqlService extends StartableService {
|
|
|
13647
13634
|
return undefined;
|
|
13648
13635
|
}
|
|
13649
13636
|
}
|
|
13650
|
-
GraphqlService.ɵprov =
|
|
13637
|
+
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
13638
|
GraphqlService.decorators = [
|
|
13652
13639
|
{ type: Injectable, args: [{
|
|
13653
13640
|
providedIn: 'root'
|
|
@@ -13664,7 +13651,7 @@ GraphqlService.ctorParameters = () => [
|
|
|
13664
13651
|
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_GRAPHQL_TYPE_POLICIES,] }] }
|
|
13665
13652
|
];
|
|
13666
13653
|
|
|
13667
|
-
const sha256 = require('hash.js/lib/hash/sha/256');
|
|
13654
|
+
const sha256$1 = require('hash.js/lib/hash/sha/256');
|
|
13668
13655
|
class BaseGraphqlServiceOptions {
|
|
13669
13656
|
}
|
|
13670
13657
|
// eslint-disable-next-line @angular-eslint/directive-class-suffix
|
|
@@ -13815,8 +13802,8 @@ class BaseGraphqlService extends StartableService {
|
|
|
13815
13802
|
}
|
|
13816
13803
|
/* -- protected methods -- */
|
|
13817
13804
|
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) || '';
|
|
13805
|
+
const queryName = opts.queryName || sha256$1().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
|
|
13806
|
+
const variablesKey = opts.variables && sha256$1().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
|
|
13820
13807
|
return [queryName, opts.arrayFieldName, variablesKey].join('|');
|
|
13821
13808
|
}
|
|
13822
13809
|
findMutableWatchQueries(opts) {
|
|
@@ -13886,7 +13873,7 @@ const DEFAULT_AVATAR_IMAGE = 'assets/img/person.png';
|
|
|
13886
13873
|
/* ------------------------------------
|
|
13887
13874
|
* GraphQL queries
|
|
13888
13875
|
* ------------------------------------*/
|
|
13889
|
-
const Fragments
|
|
13876
|
+
const Fragments = {
|
|
13890
13877
|
account: gql `
|
|
13891
13878
|
fragment AccountFragment on AccountVO {
|
|
13892
13879
|
id
|
|
@@ -13921,14 +13908,14 @@ const Fragments$1 = {
|
|
|
13921
13908
|
}`
|
|
13922
13909
|
};
|
|
13923
13910
|
// Load account query
|
|
13924
|
-
const LoadQuery
|
|
13911
|
+
const LoadQuery = gql `
|
|
13925
13912
|
query Account {
|
|
13926
13913
|
data: account {
|
|
13927
13914
|
...AccountFragment
|
|
13928
13915
|
}
|
|
13929
13916
|
}
|
|
13930
|
-
${Fragments
|
|
13931
|
-
${Fragments
|
|
13917
|
+
${Fragments.account}
|
|
13918
|
+
${Fragments.settings}
|
|
13932
13919
|
`;
|
|
13933
13920
|
// Check email query
|
|
13934
13921
|
const IsEmailExistsQuery = gql `
|
|
@@ -13943,21 +13930,21 @@ const AccountMutations = {
|
|
|
13943
13930
|
...AccountFragment
|
|
13944
13931
|
}
|
|
13945
13932
|
}
|
|
13946
|
-
${Fragments
|
|
13947
|
-
${Fragments
|
|
13933
|
+
${Fragments.account}
|
|
13934
|
+
${Fragments.settings}`,
|
|
13948
13935
|
create: gql `mutation CreateAccount($data:AccountVOInput){
|
|
13949
13936
|
data: createAccount(account: $data){
|
|
13950
13937
|
...AccountFragment
|
|
13951
13938
|
}
|
|
13952
13939
|
}
|
|
13953
|
-
${Fragments
|
|
13954
|
-
${Fragments
|
|
13940
|
+
${Fragments.account}
|
|
13941
|
+
${Fragments.settings}`,
|
|
13955
13942
|
saveSettings: gql `mutation SaveSettings($data:UserSettingsVOInput){
|
|
13956
13943
|
data: saveSettings(settings: $data){
|
|
13957
13944
|
...UserSettingsFragment
|
|
13958
13945
|
}
|
|
13959
13946
|
}
|
|
13960
|
-
${Fragments
|
|
13947
|
+
${Fragments.settings}`
|
|
13961
13948
|
};
|
|
13962
13949
|
// Sent confirmation email
|
|
13963
13950
|
const SendConfirmEmailMutation = gql `
|
|
@@ -14272,7 +14259,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14272
14259
|
catch (error) {
|
|
14273
14260
|
console.error(error);
|
|
14274
14261
|
this.resetData();
|
|
14275
|
-
throw { code: ErrorCodes
|
|
14262
|
+
throw { code: ErrorCodes.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
|
|
14276
14263
|
}
|
|
14277
14264
|
// Store pubkey+keypair
|
|
14278
14265
|
this._cache.pubkey = Base58.encode(keypair.publicKey);
|
|
@@ -14306,7 +14293,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14306
14293
|
}
|
|
14307
14294
|
catch (err) {
|
|
14308
14295
|
// If account not found, check if email is valid
|
|
14309
|
-
if (err && +(err.code) === ErrorCodes
|
|
14296
|
+
if (err && +(err.code) === ErrorCodes.LOAD_ACCOUNT_ERROR) {
|
|
14310
14297
|
// Check email exists
|
|
14311
14298
|
if (data.username.indexOf('@') !== -1) {
|
|
14312
14299
|
let isEmailExists;
|
|
@@ -14318,11 +14305,11 @@ class AccountService extends BaseGraphqlService {
|
|
|
14318
14305
|
}
|
|
14319
14306
|
// Email not exists (no account)
|
|
14320
14307
|
if (!isEmailExists) {
|
|
14321
|
-
throw { code: ErrorCodes
|
|
14308
|
+
throw { code: ErrorCodes.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
|
|
14322
14309
|
}
|
|
14323
14310
|
}
|
|
14324
14311
|
// Email exists, so error = 'bad password'
|
|
14325
|
-
throw { code: ErrorCodes
|
|
14312
|
+
throw { code: ErrorCodes.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
|
|
14326
14313
|
}
|
|
14327
14314
|
throw err; // resend the first error
|
|
14328
14315
|
}
|
|
@@ -14468,8 +14455,8 @@ class AccountService extends BaseGraphqlService {
|
|
|
14468
14455
|
// Load remotely
|
|
14469
14456
|
else {
|
|
14470
14457
|
const { data } = yield this.graphql.query({
|
|
14471
|
-
query: LoadQuery
|
|
14472
|
-
error: { code: ErrorCodes
|
|
14458
|
+
query: LoadQuery,
|
|
14459
|
+
error: { code: ErrorCodes.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
|
|
14473
14460
|
fetchPolicy: opts && opts.fetchPolicy || 'no-cache' || undefined
|
|
14474
14461
|
});
|
|
14475
14462
|
json = data;
|
|
@@ -14496,7 +14483,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14496
14483
|
return __awaiter(this, void 0, void 0, function* () {
|
|
14497
14484
|
const isEmailExists = yield this.isEmailExists(email);
|
|
14498
14485
|
if (isEmailExists) {
|
|
14499
|
-
throw { code: ErrorCodes
|
|
14486
|
+
throw { code: ErrorCodes.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
|
|
14500
14487
|
}
|
|
14501
14488
|
});
|
|
14502
14489
|
}
|
|
@@ -14532,7 +14519,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14532
14519
|
locale
|
|
14533
14520
|
},
|
|
14534
14521
|
error: {
|
|
14535
|
-
code: ErrorCodes
|
|
14522
|
+
code: ErrorCodes.SENT_CONFIRMATION_EMAIL_FAILED,
|
|
14536
14523
|
message: 'ERROR.SENT_ACCOUNT_CONFIRMATION_EMAIL_FAILED'
|
|
14537
14524
|
}
|
|
14538
14525
|
});
|
|
@@ -14548,7 +14535,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14548
14535
|
code
|
|
14549
14536
|
},
|
|
14550
14537
|
error: {
|
|
14551
|
-
code: ErrorCodes
|
|
14538
|
+
code: ErrorCodes.CONFIRM_EMAIL_FAILED,
|
|
14552
14539
|
message: 'ERROR.CONFIRM_ACCOUNT_EMAIL_FAILED'
|
|
14553
14540
|
}
|
|
14554
14541
|
});
|
|
@@ -14627,7 +14614,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14627
14614
|
throw error;
|
|
14628
14615
|
console.error(error);
|
|
14629
14616
|
throw {
|
|
14630
|
-
code: ErrorCodes
|
|
14617
|
+
code: ErrorCodes.LOAD_ACCOUNT_ERROR,
|
|
14631
14618
|
message: 'ERROR.LOAD_ACCOUNT_ERROR'
|
|
14632
14619
|
};
|
|
14633
14620
|
}
|
|
@@ -14797,7 +14784,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14797
14784
|
if (!isNew) {
|
|
14798
14785
|
const existingAccount = yield this.load({ fetchPolicy: 'network-only' });
|
|
14799
14786
|
if (!existingAccount || !existingAccount.updateDate) {
|
|
14800
|
-
throw { code: ErrorCodes
|
|
14787
|
+
throw { code: ErrorCodes.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
|
|
14801
14788
|
}
|
|
14802
14789
|
this.copyIdAndUpdateDate(existingAccount, account);
|
|
14803
14790
|
}
|
|
@@ -14809,7 +14796,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14809
14796
|
mutation: isNew ? AccountMutations.create : AccountMutations.save,
|
|
14810
14797
|
variables: { data: json },
|
|
14811
14798
|
error: {
|
|
14812
|
-
code: ErrorCodes
|
|
14799
|
+
code: ErrorCodes.SAVE_ACCOUNT_ERROR,
|
|
14813
14800
|
message: 'ERROR.SAVE_ACCOUNT_ERROR'
|
|
14814
14801
|
}
|
|
14815
14802
|
});
|
|
@@ -14836,7 +14823,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14836
14823
|
mutation: AccountMutations.saveSettings,
|
|
14837
14824
|
variables: { data: json },
|
|
14838
14825
|
error: {
|
|
14839
|
-
code: ErrorCodes
|
|
14826
|
+
code: ErrorCodes.SAVE_SETTINGS_ERROR,
|
|
14840
14827
|
message: 'ERROR.SAVE_SETTINGS_ERROR'
|
|
14841
14828
|
}
|
|
14842
14829
|
});
|
|
@@ -14858,7 +14845,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14858
14845
|
if (counter > 4) {
|
|
14859
14846
|
if (this._debug)
|
|
14860
14847
|
console.debug(`[account] Failed to authentication on pod (after ${counter} attempts)`);
|
|
14861
|
-
throw { code: ErrorCodes
|
|
14848
|
+
throw { code: ErrorCodes.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
|
|
14862
14849
|
}
|
|
14863
14850
|
// Check if valid
|
|
14864
14851
|
if (token) {
|
|
@@ -14868,7 +14855,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14868
14855
|
token
|
|
14869
14856
|
},
|
|
14870
14857
|
error: {
|
|
14871
|
-
code: ErrorCodes
|
|
14858
|
+
code: ErrorCodes.UNAUTHORIZED,
|
|
14872
14859
|
message: 'ERROR.UNAUTHORIZED'
|
|
14873
14860
|
},
|
|
14874
14861
|
fetchPolicy: 'no-cache'
|
|
@@ -14884,7 +14871,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14884
14871
|
}
|
|
14885
14872
|
// Generate a new token
|
|
14886
14873
|
const challengeError = {
|
|
14887
|
-
code: ErrorCodes
|
|
14874
|
+
code: ErrorCodes.AUTH_CHALLENGE_ERROR,
|
|
14888
14875
|
message: 'ERROR.AUTH_CHALLENGE_ERROR'
|
|
14889
14876
|
};
|
|
14890
14877
|
const data = yield this.graphql.query({
|
|
@@ -14962,7 +14949,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14962
14949
|
query: AccountSubscriptions.listenChanges,
|
|
14963
14950
|
variables,
|
|
14964
14951
|
error: {
|
|
14965
|
-
code: ErrorCodes
|
|
14952
|
+
code: ErrorCodes.SUBSCRIBE_ACCOUNT_ERROR,
|
|
14966
14953
|
message: 'ERROR.ACCOUNT.SUBSCRIBE_ERROR'
|
|
14967
14954
|
}
|
|
14968
14955
|
}).pipe(map(({ data }) => data),
|
|
@@ -14991,7 +14978,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14991
14978
|
return Toasts.show(this.toastController, this.translate, opts);
|
|
14992
14979
|
}
|
|
14993
14980
|
}
|
|
14994
|
-
AccountService.ɵprov =
|
|
14981
|
+
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
14982
|
AccountService.decorators = [
|
|
14996
14983
|
{ type: Injectable, args: [{ providedIn: 'root', deps: [ENVIRONMENT] },] }
|
|
14997
14984
|
];
|
|
@@ -15259,7 +15246,7 @@ const CONFIGURATION_STORAGE_KEY = 'configuration';
|
|
|
15259
15246
|
/* ------------------------------------
|
|
15260
15247
|
* GraphQL queries
|
|
15261
15248
|
* ------------------------------------*/
|
|
15262
|
-
const Fragments = {
|
|
15249
|
+
const Fragments$1 = {
|
|
15263
15250
|
config: gql `
|
|
15264
15251
|
fragment ConfigFragment on ConfigurationVO {
|
|
15265
15252
|
id
|
|
@@ -15286,13 +15273,13 @@ const Fragments = {
|
|
|
15286
15273
|
}
|
|
15287
15274
|
`
|
|
15288
15275
|
};
|
|
15289
|
-
const LoadQuery = gql `
|
|
15276
|
+
const LoadQuery$1 = gql `
|
|
15290
15277
|
query Configuration{
|
|
15291
15278
|
data: configuration{
|
|
15292
15279
|
...ConfigFragment
|
|
15293
15280
|
}
|
|
15294
15281
|
}
|
|
15295
|
-
${Fragments.config}
|
|
15282
|
+
${Fragments$1.config}
|
|
15296
15283
|
`;
|
|
15297
15284
|
// Save (create or update) account mutation
|
|
15298
15285
|
const SaveMutation = gql `
|
|
@@ -15301,7 +15288,7 @@ const SaveMutation = gql `
|
|
|
15301
15288
|
...ConfigFragment
|
|
15302
15289
|
}
|
|
15303
15290
|
}
|
|
15304
|
-
${Fragments.config}
|
|
15291
|
+
${Fragments$1.config}
|
|
15305
15292
|
`;
|
|
15306
15293
|
const ClearCache = gql `
|
|
15307
15294
|
query ClearCache($name: String) {
|
|
@@ -15352,12 +15339,12 @@ class ConfigService extends BaseGraphqlService {
|
|
|
15352
15339
|
return __awaiter(this, void 0, void 0, function* () {
|
|
15353
15340
|
const now = Date.now();
|
|
15354
15341
|
console.debug('[config] Loading Pod configuration...');
|
|
15355
|
-
const query = opts && opts.query || LoadQuery;
|
|
15342
|
+
const query = opts && opts.query || LoadQuery$1;
|
|
15356
15343
|
const variables = opts && opts.variables || undefined;
|
|
15357
15344
|
const res = yield this.graphql.query({
|
|
15358
15345
|
query,
|
|
15359
15346
|
variables,
|
|
15360
|
-
error: { code: ErrorCodes
|
|
15347
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
15361
15348
|
fetchPolicy: opts && opts.fetchPolicy || undefined /*default*/
|
|
15362
15349
|
});
|
|
15363
15350
|
const data = res && res.data ? Configuration.fromObject(res.data) : undefined;
|
|
@@ -15390,7 +15377,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
15390
15377
|
data: json
|
|
15391
15378
|
},
|
|
15392
15379
|
error: {
|
|
15393
|
-
code: ErrorCodes
|
|
15380
|
+
code: ErrorCodes.SAVE_CONFIG_ERROR,
|
|
15394
15381
|
message: 'ERROR.SAVE_CONFIG_ERROR'
|
|
15395
15382
|
}
|
|
15396
15383
|
});
|
|
@@ -15416,7 +15403,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
15416
15403
|
const res = yield this.graphql.query({
|
|
15417
15404
|
query: CacheStatistics,
|
|
15418
15405
|
variables: null,
|
|
15419
|
-
error: { code: ErrorCodes
|
|
15406
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
15420
15407
|
fetchPolicy: 'network-only'
|
|
15421
15408
|
});
|
|
15422
15409
|
const data = res && res.cacheStatistics || undefined;
|
|
@@ -15432,7 +15419,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
15432
15419
|
const res = yield this.graphql.query({
|
|
15433
15420
|
query: ClearCache,
|
|
15434
15421
|
variables,
|
|
15435
|
-
error: { code: ErrorCodes
|
|
15422
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
15436
15423
|
fetchPolicy: 'no-cache'
|
|
15437
15424
|
});
|
|
15438
15425
|
const data = res && res.clearCache || undefined;
|
|
@@ -15591,7 +15578,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
15591
15578
|
});
|
|
15592
15579
|
}
|
|
15593
15580
|
}
|
|
15594
|
-
ConfigService.ɵprov =
|
|
15581
|
+
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
15582
|
ConfigService.decorators = [
|
|
15596
15583
|
{ type: Injectable, args: [{
|
|
15597
15584
|
providedIn: 'root',
|
|
@@ -15611,7 +15598,7 @@ ConfigService.ctorParameters = () => [
|
|
|
15611
15598
|
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_CONFIG_OPTIONS,] }] }
|
|
15612
15599
|
];
|
|
15613
15600
|
|
|
15614
|
-
const moment$
|
|
15601
|
+
const moment$4 = momentImported;
|
|
15615
15602
|
const AndroidOsEnvironment = Object.freeze({
|
|
15616
15603
|
DIRECTORY_DOWNLOADS: 'Download',
|
|
15617
15604
|
DIRECTORY_DOWNLOADS_OLD: 'Downloads',
|
|
@@ -15845,16 +15832,16 @@ class PlatformService extends StartableService {
|
|
|
15845
15832
|
}
|
|
15846
15833
|
// config moment lib
|
|
15847
15834
|
try {
|
|
15848
|
-
moment$
|
|
15835
|
+
moment$4.locale(event.lang);
|
|
15849
15836
|
console.debug('[platform] Use locale {' + event.lang + '}');
|
|
15850
15837
|
}
|
|
15851
15838
|
// If error, fallback to en
|
|
15852
15839
|
catch (err) {
|
|
15853
|
-
moment$
|
|
15840
|
+
moment$4.locale('en');
|
|
15854
15841
|
console.warn('[platform] Unknown local for moment lib. Using default [en]');
|
|
15855
15842
|
}
|
|
15856
15843
|
// Config date adapter
|
|
15857
|
-
this.dateAdapter.setLocale(moment$
|
|
15844
|
+
this.dateAdapter.setLocale(moment$4.locale());
|
|
15858
15845
|
}
|
|
15859
15846
|
});
|
|
15860
15847
|
this.settings.onChange.subscribe(data => {
|
|
@@ -16055,7 +16042,7 @@ class PlatformService extends StartableService {
|
|
|
16055
16042
|
});
|
|
16056
16043
|
}
|
|
16057
16044
|
}
|
|
16058
|
-
PlatformService.ɵprov =
|
|
16045
|
+
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
16046
|
PlatformService.decorators = [
|
|
16060
16047
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
16061
16048
|
];
|
|
@@ -16070,15 +16057,15 @@ PlatformService.ctorParameters = () => [
|
|
|
16070
16057
|
{ type: NetworkService },
|
|
16071
16058
|
{ type: AccountService },
|
|
16072
16059
|
{ type: ConfigService },
|
|
16073
|
-
{ type: CacheService },
|
|
16060
|
+
{ type: CacheService$1 },
|
|
16074
16061
|
{ type: Storage },
|
|
16075
16062
|
{ type: AudioProvider },
|
|
16076
16063
|
{ type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
|
|
16077
|
-
{ type: StatusBar, decorators: [{ type: Optional }] },
|
|
16064
|
+
{ type: StatusBar$1, decorators: [{ type: Optional }] },
|
|
16078
16065
|
{ type: Keyboard, decorators: [{ type: Optional }] },
|
|
16079
|
-
{ type: SplashScreen, decorators: [{ type: Optional }] },
|
|
16080
|
-
{ type: InAppBrowser, decorators: [{ type: Optional }] },
|
|
16081
|
-
{ type: Downloader, decorators: [{ type: Optional }] }
|
|
16066
|
+
{ type: SplashScreen$1, decorators: [{ type: Optional }] },
|
|
16067
|
+
{ type: InAppBrowser$1, decorators: [{ type: Optional }] },
|
|
16068
|
+
{ type: Downloader$1, decorators: [{ type: Optional }] }
|
|
16082
16069
|
];
|
|
16083
16070
|
|
|
16084
16071
|
class AppHelpModal {
|
|
@@ -16142,7 +16129,7 @@ class MatStepperI18n extends MatStepperIntl {
|
|
|
16142
16129
|
this.optionalLabel = this.translate.instant('COMMON.OPTIONAL');
|
|
16143
16130
|
}
|
|
16144
16131
|
}
|
|
16145
|
-
MatStepperI18n.ɵprov =
|
|
16132
|
+
MatStepperI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(ɵɵinject(TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
|
|
16146
16133
|
MatStepperI18n.decorators = [
|
|
16147
16134
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
16148
16135
|
];
|
|
@@ -17274,7 +17261,7 @@ class TextForm extends AppForm {
|
|
|
17274
17261
|
TextForm.decorators = [
|
|
17275
17262
|
{ type: Component, args: [{
|
|
17276
17263
|
selector: 'app-text-form',
|
|
17277
|
-
template: "<form class=\"form-container\" [formGroup]=\"form\" (ngSubmit)=\"doSubmit($event)\">\n <mat-form-field *ngIf=\"multiline; else monoline\">\n <textarea\n #textArea\n matInput\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [readonly]=\"control.disabled\"\n [class.fixed-height]=\"!autoHeight\"\n [cdkTextareaAutosize]=\"autoHeight\"\n (keyup)=\"textAreaChanged($event)\"\n (keydown.control.enter)=\"onSubmit.emit($event)\"\n [autofocus]=\"autofocus\"\n ></textarea>\n <mat-error *ngIf=\"control.hasError('maxlength')\">\n {{ 'ERROR.FIELD_MAX_LENGTH' | translate: control.errors['maxlength'] }}\n </mat-error>\n <mat-hint *ngIf=\"maxLength\" align=\"end\">\n {{ 'INFO.TEXT_PROGRESS' | translate: { current: textArea.value?.length || 0, max: maxLength } }}\n </mat-hint>\n </mat-form-field>\n <ng-template #monoline>\n <mat-form-field>\n <input\n #textInput\n matInput\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [readonly]=\"disabled\"\n [appAutofocus]=\"autofocus\"\n />\n <mat-error *ngIf=\"control.hasError('maxlength')\">\n {{ 'ERROR.FIELD_MAX_LENGTH' | translate: control.errors['maxlength'] }}\n </mat-error>\n <mat-hint *ngIf=\"maxLength\" align=\"end\">\n {{ 'INFO.TEXT_PROGRESS' | translate: { current: textInput.value?.length || 0, max: maxLength } }}\n </mat-hint>\n </mat-form-field>\n </ng-template>\n</form>\n",
|
|
17264
|
+
template: "<form class=\"form-container\" [formGroup]=\"form\" (ngSubmit)=\"doSubmit($event)\">\n <mat-form-field *ngIf=\"multiline; else monoline\">\n <textarea\n #textArea\n matInput\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [readonly]=\"control.disabled\"\n [class.fixed-height]=\"!autoHeight\"\n [cdkTextareaAutosize]=\"autoHeight\"\n (keyup)=\"textAreaChanged($event)\"\n (keydown.control.enter)=\"onSubmit.emit($event)\"\n [autofocus]=\"autofocus\"\n ></textarea>\n <mat-error *ngIf=\"control.hasError('maxlength')\">\n {{ 'ERROR.FIELD_MAX_LENGTH' | translate: control.errors['maxlength'] }}\n </mat-error>\n <mat-hint *ngIf=\"maxLength\" align=\"end\">\n {{ 'INFO.TEXT_PROGRESS' | translate: { current: textArea.value?.length || 0, max: maxLength } }}\n </mat-hint>\n </mat-form-field>\n <ng-template #monoline>\n <mat-form-field>\n <input\n #textInput\n matInput\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [readonly]=\"disabled\"\n [appAutofocus]=\"autofocus\"\n (keydown.control.enter)=\"onSubmit.emit($event)\"\n />\n <mat-error *ngIf=\"control.hasError('maxlength')\">\n {{ 'ERROR.FIELD_MAX_LENGTH' | translate: control.errors['maxlength'] }}\n </mat-error>\n <mat-hint *ngIf=\"maxLength\" align=\"end\">\n {{ 'INFO.TEXT_PROGRESS' | translate: { current: textInput.value?.length || 0, max: maxLength } }}\n </mat-hint>\n </mat-form-field>\n </ng-template>\n</form>\n",
|
|
17278
17265
|
styles: ["textarea.fixed-height{height:11.5em}"]
|
|
17279
17266
|
},] }
|
|
17280
17267
|
];
|
|
@@ -17363,7 +17350,7 @@ class TextPopover {
|
|
|
17363
17350
|
TextPopover.decorators = [
|
|
17364
17351
|
{ type: Component, args: [{
|
|
17365
17352
|
selector: 'app-text-popover',
|
|
17366
|
-
template: "\n<ion-content class=\"ion-padding\" cdkTrapFocus [cdkTrapFocusAutoCapture]=\"true\">\n <ion-item *ngIf=\"form.error\" visible-xs visible-sm visible-mobile lines=\"none\">\n <ion-icon color=\"danger\" slot=\"start\" name=\"alert-circle\"></ion-icon>\n <ion-label color=\"danger\" class=\"error\" [innerHTML]=\"form.error|translate\"></ion-label>\n </ion-item>\n\n <app-text-form #form [placeholder]=\"placeholder\"\n [multiline]=\"multiline\"\n [maxLength]=\"maxLength\"\n [autofocus]=\"editing && autofocus\"\n (onSubmit)=\"onValidate($event)\"\n ></app-text-form>\n</ion-content>\n\n<ion-footer>\n <ion-toolbar>\n <ion-row class=\"ion-no-padding\" nowrap>\n <ion-col>\n\n </ion-col>\n\n <ion-col size=\"auto\">\n <ion-button fill=\"clear\" color=\"dark\" (click)=\"cancel()\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n <ion-button\n [fill]=\"disabled ? 'clear' : 'solid'\"\n (click)=\"onValidate($event)\"\n (keyup.enter)=\"onValidate($event)\"\n color=\"tertiary\"\n [disabled]=\"disabled\"\n
|
|
17353
|
+
template: "\n<ion-content class=\"ion-padding\" cdkTrapFocus [cdkTrapFocusAutoCapture]=\"true\">\n <ion-item *ngIf=\"form.error\" visible-xs visible-sm visible-mobile lines=\"none\">\n <ion-icon color=\"danger\" slot=\"start\" name=\"alert-circle\"></ion-icon>\n <ion-label color=\"danger\" class=\"error\" [innerHTML]=\"form.error|translate\"></ion-label>\n </ion-item>\n\n <app-text-form #form [placeholder]=\"placeholder\"\n [multiline]=\"multiline\"\n [maxLength]=\"maxLength\"\n [autofocus]=\"editing && autofocus\"\n (onSubmit)=\"onValidate($event)\"\n ></app-text-form>\n</ion-content>\n\n<ion-footer>\n <ion-toolbar>\n <ion-row class=\"ion-no-padding\" nowrap>\n <ion-col>\n\n </ion-col>\n\n <ion-col size=\"auto\">\n <ion-button fill=\"clear\" color=\"dark\" (click)=\"cancel()\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n <ion-button\n [fill]=\"disabled ? 'clear' : 'solid'\"\n (click)=\"onValidate($event)\"\n (keyup.enter)=\"onValidate($event)\"\n color=\"tertiary\"\n [disabled]=\"disabled\"\n [title]=\"'COMMON.BTN_VALIDATE_WITH_SHORTCUT_HELP'|translate\">\n <ion-label translate>COMMON.BTN_VALIDATE</ion-label>\n </ion-button>\n </ion-col>\n </ion-row>\n </ion-toolbar>\n</ion-footer>\n"
|
|
17367
17354
|
},] }
|
|
17368
17355
|
];
|
|
17369
17356
|
TextPopover.ctorParameters = () => [
|
|
@@ -17692,47 +17679,52 @@ class JobUtils {
|
|
|
17692
17679
|
.then(() => {
|
|
17693
17680
|
if (opts === null || opts === void 0 ? void 0 : opts.maxProgression)
|
|
17694
17681
|
progression.next(opts.maxProgression);
|
|
17695
|
-
|
|
17696
|
-
opts.progression.complete();
|
|
17682
|
+
progression.complete();
|
|
17697
17683
|
})
|
|
17698
17684
|
.catch(err => progression.error(err));
|
|
17699
17685
|
return progression;
|
|
17700
17686
|
}
|
|
17701
17687
|
static fetchAllPages(loadPageFn, opts) {
|
|
17702
|
-
var _a;
|
|
17703
17688
|
return __awaiter(this, void 0, void 0, function* () {
|
|
17704
|
-
const maxProgression = opts
|
|
17689
|
+
const maxProgression = toNumber(opts === null || opts === void 0 ? void 0 : opts.maxProgression, 100);
|
|
17690
|
+
const progression = opts === null || opts === void 0 ? void 0 : opts.progression;
|
|
17705
17691
|
let total;
|
|
17706
17692
|
let pageCount;
|
|
17707
17693
|
let progressionStep;
|
|
17708
17694
|
let currentPageDataCount;
|
|
17709
|
-
const fetchSize = opts
|
|
17695
|
+
const fetchSize = toNumber(opts === null || opts === void 0 ? void 0 : opts.fetchSize, 1000);
|
|
17696
|
+
if (fetchSize <= 0)
|
|
17697
|
+
throw new Error('Unable to fetch pages: invalid fetchSize: ' + fetchSize);
|
|
17710
17698
|
let offset = 0;
|
|
17711
17699
|
let data = [];
|
|
17712
17700
|
do {
|
|
17713
17701
|
if (opts && opts.logPrefix)
|
|
17714
17702
|
console.debug(`${opts.logPrefix} Fetching page #${offset / fetchSize}...`);
|
|
17715
|
-
//
|
|
17703
|
+
// Fetch a page
|
|
17716
17704
|
const res = yield loadPageFn(offset, fetchSize);
|
|
17705
|
+
// Concat to previous result
|
|
17717
17706
|
data = data.concat(res.data);
|
|
17707
|
+
// Compute variables, for next loop
|
|
17718
17708
|
currentPageDataCount = res.data && res.data.length || 0;
|
|
17719
17709
|
offset += currentPageDataCount;
|
|
17720
|
-
// Set total count (only
|
|
17710
|
+
// Set total count (only once)
|
|
17721
17711
|
if (isNil(total) && isNotNil(res.total)) {
|
|
17722
17712
|
total = res.total;
|
|
17723
17713
|
// Compute the number of page
|
|
17724
17714
|
pageCount = Math.round(res.total / fetchSize + 0.5); // Round to HALF_UP integer
|
|
17725
17715
|
// Compute step, by dividing maxProgression by number of page
|
|
17726
|
-
|
|
17727
|
-
|
|
17728
|
-
|
|
17729
|
-
|
|
17716
|
+
if (progression) {
|
|
17717
|
+
progressionStep = maxProgression / pageCount;
|
|
17718
|
+
// DEBUG
|
|
17719
|
+
if (opts && opts.logPrefix)
|
|
17720
|
+
console.debug(`${opts.logPrefix} {pageCount: ${pageCount}, progression: ${progression.value}, pageProgressionStep: ${progressionStep}}`);
|
|
17721
|
+
}
|
|
17730
17722
|
}
|
|
17731
17723
|
// Increment progression on each iteration (if possible)
|
|
17732
|
-
if (
|
|
17733
|
-
|
|
17724
|
+
if (isNotNil(progressionStep)) {
|
|
17725
|
+
progression.next(progression.value + progressionStep);
|
|
17734
17726
|
}
|
|
17735
|
-
if (opts
|
|
17727
|
+
if (opts === null || opts === void 0 ? void 0 : opts.onPageLoaded)
|
|
17736
17728
|
opts.onPageLoaded(res);
|
|
17737
17729
|
} while (currentPageDataCount > 0 && ((isNil(total) && currentPageDataCount === fetchSize) || (isNotNil(total) && (offset < total))));
|
|
17738
17730
|
// Complete progression to reach progressionStep value (because of round)
|
|
@@ -17743,14 +17735,19 @@ class JobUtils {
|
|
|
17743
17735
|
total = data.length;
|
|
17744
17736
|
pageCount = Math.round(data.length / fetchSize + 0.5);
|
|
17745
17737
|
}
|
|
17746
|
-
|
|
17747
|
-
|
|
17748
|
-
|
|
17749
|
-
|
|
17738
|
+
// Compute final increment, using the real page count
|
|
17739
|
+
progressionStep = Math.max(0, maxProgression - (progressionStep * pageCount));
|
|
17740
|
+
}
|
|
17741
|
+
// Or increment once (e.g. when total is not known, in received LoadResult)
|
|
17742
|
+
else if (progression) {
|
|
17743
|
+
progressionStep = maxProgression;
|
|
17750
17744
|
}
|
|
17751
|
-
//
|
|
17752
|
-
|
|
17753
|
-
opts.progression.
|
|
17745
|
+
// DEBUG
|
|
17746
|
+
if (opts && opts.logPrefix)
|
|
17747
|
+
console.debug(`${opts.logPrefix} All pages fetched - {progression: ${progression.value}, lastProgressionStep: ${progressionStep}`);
|
|
17748
|
+
// Final increment
|
|
17749
|
+
if (progression && progressionStep > 0) {
|
|
17750
|
+
progression.next(progression.value + progressionStep);
|
|
17754
17751
|
}
|
|
17755
17752
|
return {
|
|
17756
17753
|
data,
|
|
@@ -17968,7 +17965,7 @@ function state2side(state) {
|
|
|
17968
17965
|
return 1;
|
|
17969
17966
|
}
|
|
17970
17967
|
}
|
|
17971
|
-
const ɵ0$
|
|
17968
|
+
const ɵ0$b = (defaultStateSize) => [
|
|
17972
17969
|
Math.round((rgbArrayMap.red[0] - 50) / defaultStateSize),
|
|
17973
17970
|
Math.round((255 - rgbArrayMap.red[1]) / defaultStateSize),
|
|
17974
17971
|
Math.round((255 - rgbArrayMap.red[2]) / defaultStateSize)
|
|
@@ -17976,7 +17973,7 @@ const ɵ0$1 = (defaultStateSize) => [
|
|
|
17976
17973
|
const SCALE_OPTIONS_DEFAULT = {
|
|
17977
17974
|
startColor: rgbArrayMap.red,
|
|
17978
17975
|
startStates: [0, 2, 3],
|
|
17979
|
-
startStepsFn: ɵ0$
|
|
17976
|
+
startStepsFn: ɵ0$b
|
|
17980
17977
|
};
|
|
17981
17978
|
/**
|
|
17982
17979
|
* Internal function, that create a colors scale, using iteration
|
|
@@ -18773,7 +18770,7 @@ class UserSettingsValidatorService extends AppValidatorService {
|
|
|
18773
18770
|
});
|
|
18774
18771
|
}
|
|
18775
18772
|
}
|
|
18776
|
-
UserSettingsValidatorService.ɵprov =
|
|
18773
|
+
UserSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(ɵɵinject(FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
|
|
18777
18774
|
UserSettingsValidatorService.decorators = [
|
|
18778
18775
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
18779
18776
|
];
|
|
@@ -18817,7 +18814,7 @@ class AccountValidatorService extends AppValidatorService {
|
|
|
18817
18814
|
return validatorFns.length ? Validators.compose(validatorFns) : validatorFns.length === 1 ? validatorFns[0] : undefined;
|
|
18818
18815
|
}
|
|
18819
18816
|
}
|
|
18820
|
-
AccountValidatorService.ɵprov =
|
|
18817
|
+
AccountValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
|
|
18821
18818
|
AccountValidatorService.decorators = [
|
|
18822
18819
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
18823
18820
|
];
|
|
@@ -19382,7 +19379,7 @@ class LocalSettingsValidatorService extends AppValidatorService {
|
|
|
19382
19379
|
});
|
|
19383
19380
|
}
|
|
19384
19381
|
}
|
|
19385
|
-
LocalSettingsValidatorService.ɵprov =
|
|
19382
|
+
LocalSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(ɵɵinject(FormBuilder), ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
|
|
19386
19383
|
LocalSettingsValidatorService.decorators = [
|
|
19387
19384
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
19388
19385
|
];
|
|
@@ -20001,7 +19998,7 @@ class IsOnFieldModePipe {
|
|
|
20001
19998
|
return value === 'FIELD';
|
|
20002
19999
|
}
|
|
20003
20000
|
}
|
|
20004
|
-
IsOnFieldModePipe.ɵprov =
|
|
20001
|
+
IsOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
|
|
20005
20002
|
IsOnFieldModePipe.decorators = [
|
|
20006
20003
|
{ type: Pipe, args: [{
|
|
20007
20004
|
name: 'isOnField'
|
|
@@ -20013,7 +20010,7 @@ class IsNotOnFieldModePipe {
|
|
|
20013
20010
|
return value !== 'FIELD';
|
|
20014
20011
|
}
|
|
20015
20012
|
}
|
|
20016
|
-
IsNotOnFieldModePipe.ɵprov =
|
|
20013
|
+
IsNotOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
|
|
20017
20014
|
IsNotOnFieldModePipe.decorators = [
|
|
20018
20015
|
{ type: Pipe, args: [{
|
|
20019
20016
|
name: 'isNotOnField'
|
|
@@ -20028,7 +20025,7 @@ class PersonToStringPipe {
|
|
|
20028
20025
|
return PersonUtils.personToString(value);
|
|
20029
20026
|
}
|
|
20030
20027
|
}
|
|
20031
|
-
PersonToStringPipe.ɵprov =
|
|
20028
|
+
PersonToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
|
|
20032
20029
|
PersonToStringPipe.decorators = [
|
|
20033
20030
|
{ type: Pipe, args: [{
|
|
20034
20031
|
name: 'personToString'
|
|
@@ -20413,7 +20410,7 @@ class IsLoginAccountPipe {
|
|
|
20413
20410
|
return value && value.pubkey && true;
|
|
20414
20411
|
}
|
|
20415
20412
|
}
|
|
20416
|
-
IsLoginAccountPipe.ɵprov =
|
|
20413
|
+
IsLoginAccountPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
|
|
20417
20414
|
IsLoginAccountPipe.decorators = [
|
|
20418
20415
|
{ type: Pipe, args: [{
|
|
20419
20416
|
name: 'isLogin'
|
|
@@ -20425,7 +20422,7 @@ class AccountToStringPipe {
|
|
|
20425
20422
|
return accountToString(value);
|
|
20426
20423
|
}
|
|
20427
20424
|
}
|
|
20428
|
-
AccountToStringPipe.ɵprov =
|
|
20425
|
+
AccountToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
|
|
20429
20426
|
AccountToStringPipe.decorators = [
|
|
20430
20427
|
{ type: Pipe, args: [{
|
|
20431
20428
|
name: 'accountToString'
|
|
@@ -20440,7 +20437,7 @@ class DepartmentToStringPipe {
|
|
|
20440
20437
|
return departmentToString(value);
|
|
20441
20438
|
}
|
|
20442
20439
|
}
|
|
20443
|
-
DepartmentToStringPipe.ɵprov =
|
|
20440
|
+
DepartmentToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
|
|
20444
20441
|
DepartmentToStringPipe.decorators = [
|
|
20445
20442
|
{ type: Pipe, args: [{
|
|
20446
20443
|
name: 'departmentToString'
|
|
@@ -20536,7 +20533,7 @@ class MenuService {
|
|
|
20536
20533
|
this._visibleSubject.next(value);
|
|
20537
20534
|
}
|
|
20538
20535
|
}
|
|
20539
|
-
MenuService.ɵprov =
|
|
20536
|
+
MenuService.ɵprov = ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
|
|
20540
20537
|
MenuService.decorators = [
|
|
20541
20538
|
{ type: Injectable, args: [{
|
|
20542
20539
|
providedIn: 'root'
|
|
@@ -20566,11 +20563,6 @@ class MenuComponent {
|
|
|
20566
20563
|
this.appVersion = this.environment.version;
|
|
20567
20564
|
this.side = 'left';
|
|
20568
20565
|
this._debug = !environment.production;
|
|
20569
|
-
this.onResize();
|
|
20570
|
-
}
|
|
20571
|
-
onResize(event) {
|
|
20572
|
-
this._screenWidth = window.innerWidth;
|
|
20573
|
-
console.debug('[menu] Screen size (px): ' + this._screenWidth);
|
|
20574
20566
|
}
|
|
20575
20567
|
ngOnInit() {
|
|
20576
20568
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -20801,8 +20793,7 @@ MenuComponent.propDecorators = {
|
|
|
20801
20793
|
appName: [{ type: Input }],
|
|
20802
20794
|
appVersion: [{ type: Input }],
|
|
20803
20795
|
side: [{ type: Input }],
|
|
20804
|
-
splitPane: [{ type: ViewChild, args: ['splitPane', { static: true },] }]
|
|
20805
|
-
onResize: [{ type: HostListener, args: ['window:resize', ['$event'],] }]
|
|
20796
|
+
splitPane: [{ type: ViewChild, args: ['splitPane', { static: true },] }]
|
|
20806
20797
|
};
|
|
20807
20798
|
|
|
20808
20799
|
class AppMenuModule {
|
|
@@ -20998,7 +20989,7 @@ class AuthGuardService {
|
|
|
20998
20989
|
}));
|
|
20999
20990
|
}
|
|
21000
20991
|
}
|
|
21001
|
-
AuthGuardService.ɵprov =
|
|
20992
|
+
AuthGuardService.ɵprov = ɵɵdefineInjectable({ factory: function AuthGuardService_Factory() { return new AuthGuardService(ɵɵinject(AccountService), ɵɵinject(ModalController), ɵɵinject(Router), ɵɵinject(ENVIRONMENT)); }, token: AuthGuardService, providedIn: "root" });
|
|
21002
20993
|
AuthGuardService.decorators = [
|
|
21003
20994
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
21004
20995
|
];
|
|
@@ -21040,7 +21031,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
21040
21031
|
query,
|
|
21041
21032
|
variables: { id },
|
|
21042
21033
|
fetchPolicy: opts && opts.fetchPolicy || undefined,
|
|
21043
|
-
error: { code: ErrorCodes
|
|
21034
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
|
|
21044
21035
|
})
|
|
21045
21036
|
.pipe(map(({ data }) => (!opts || opts.toEntity !== false)
|
|
21046
21037
|
? (data && this.fromObject(data))
|
|
@@ -21055,7 +21046,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
21055
21046
|
query,
|
|
21056
21047
|
variables: { id },
|
|
21057
21048
|
fetchPolicy: opts && opts.fetchPolicy || undefined,
|
|
21058
|
-
error: { code: ErrorCodes
|
|
21049
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
|
|
21059
21050
|
});
|
|
21060
21051
|
// Convert to entity
|
|
21061
21052
|
return (!opts || opts.toEntity !== false)
|
|
@@ -21086,7 +21077,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
21086
21077
|
totalFieldName: withTotal ? 'total' : undefined,
|
|
21087
21078
|
insertFilterFn: filter && filter.asFilterFn(),
|
|
21088
21079
|
variables,
|
|
21089
|
-
error: { code: ErrorCodes
|
|
21080
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
|
|
21090
21081
|
fetchPolicy: opts && opts.fetchPolicy || undefined
|
|
21091
21082
|
})
|
|
21092
21083
|
.pipe(map(({ data, total }) => {
|
|
@@ -21122,7 +21113,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
21122
21113
|
const { data, total } = yield this.graphql.query({
|
|
21123
21114
|
query,
|
|
21124
21115
|
variables,
|
|
21125
|
-
error: { code: ErrorCodes
|
|
21116
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
|
|
21126
21117
|
fetchPolicy: opts && opts.fetchPolicy || 'network-only'
|
|
21127
21118
|
});
|
|
21128
21119
|
const entities = (!opts || opts.toEntity !== false) ?
|
|
@@ -21161,7 +21152,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
21161
21152
|
variables: {
|
|
21162
21153
|
filter: filter && filter.asPodObject()
|
|
21163
21154
|
},
|
|
21164
|
-
error: { code: ErrorCodes
|
|
21155
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
|
|
21165
21156
|
fetchPolicy: opts && opts.fetchPolicy || 'network-only'
|
|
21166
21157
|
});
|
|
21167
21158
|
return res.total;
|
|
@@ -21197,7 +21188,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
21197
21188
|
variables: {
|
|
21198
21189
|
data: json
|
|
21199
21190
|
},
|
|
21200
|
-
error: { code: ErrorCodes
|
|
21191
|
+
error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
|
|
21201
21192
|
update: (proxy, { data }) => {
|
|
21202
21193
|
const savedEntities = data && data.data;
|
|
21203
21194
|
if (savedEntities) {
|
|
@@ -21253,7 +21244,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
21253
21244
|
variables: {
|
|
21254
21245
|
data: json
|
|
21255
21246
|
},
|
|
21256
|
-
error: { code: ErrorCodes
|
|
21247
|
+
error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
|
|
21257
21248
|
update: (cache, { data }) => {
|
|
21258
21249
|
// Update entity
|
|
21259
21250
|
const savedEntity = data && data.data;
|
|
@@ -21301,7 +21292,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
21301
21292
|
refetchQueries: this.getRefetchQueriesForMutation(opts),
|
|
21302
21293
|
awaitRefetchQueries: opts && opts.awaitRefetchQueries,
|
|
21303
21294
|
variables: { ids },
|
|
21304
|
-
error: { code: ErrorCodes
|
|
21295
|
+
error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
|
|
21305
21296
|
update: (cache, res) => {
|
|
21306
21297
|
// Remove from cache
|
|
21307
21298
|
if (this.watchQueriesUpdatePolicy === 'update-cache') {
|
|
@@ -21342,7 +21333,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
21342
21333
|
refetchQueries: this.getRefetchQueriesForMutation(opts),
|
|
21343
21334
|
awaitRefetchQueries: opts && opts.awaitRefetchQueries,
|
|
21344
21335
|
variables: { id },
|
|
21345
|
-
error: { code: ErrorCodes
|
|
21336
|
+
error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
|
|
21346
21337
|
update: (proxy, res) => {
|
|
21347
21338
|
// Remove from cache
|
|
21348
21339
|
if (this.watchQueriesUpdatePolicy === 'update-cache') {
|
|
@@ -21378,7 +21369,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
21378
21369
|
fetchPolicy: opts && opts.fetchPolicy || 'no-cache',
|
|
21379
21370
|
variables,
|
|
21380
21371
|
error: {
|
|
21381
|
-
code: ErrorCodes
|
|
21372
|
+
code: ErrorCodes.SUBSCRIBE_DATA_ERROR,
|
|
21382
21373
|
message: 'ERROR.SUBSCRIBE_DATA_ERROR'
|
|
21383
21374
|
}
|
|
21384
21375
|
})
|
|
@@ -21564,7 +21555,7 @@ class EntitiesTableDataSource extends TableDataSource {
|
|
|
21564
21555
|
if (this._debug)
|
|
21565
21556
|
invalidRows.forEach(row => AppTableUtils.logRowErrors(row, `[table-datasource] ${this._logTypeName} row #${row.id}`));
|
|
21566
21557
|
// Stop with an error
|
|
21567
|
-
throw { code: ErrorCodes
|
|
21558
|
+
throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
21568
21559
|
}
|
|
21569
21560
|
this._editingRowCount = 0;
|
|
21570
21561
|
let data;
|
|
@@ -22435,14 +22426,14 @@ class AppTable {
|
|
|
22435
22426
|
return __awaiter(this, void 0, void 0, function* () {
|
|
22436
22427
|
opts = Object.assign({ keepEditing: this.keepEditedRowOnSave }, opts);
|
|
22437
22428
|
if (this.readOnly) {
|
|
22438
|
-
throw { code: ErrorCodes
|
|
22429
|
+
throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
|
|
22439
22430
|
}
|
|
22440
22431
|
this.resetError();
|
|
22441
22432
|
// Keep edited row id (should be done BEFORE confirmEditCreate() )
|
|
22442
22433
|
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;
|
|
22443
22434
|
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;
|
|
22444
22435
|
if (!this.confirmEditCreate()) {
|
|
22445
|
-
throw { code: ErrorCodes
|
|
22436
|
+
throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
22446
22437
|
}
|
|
22447
22438
|
// Mark as saving
|
|
22448
22439
|
this.markAsSaving();
|
|
@@ -22561,7 +22552,7 @@ class AppTable {
|
|
|
22561
22552
|
var _a;
|
|
22562
22553
|
return __awaiter(this, void 0, void 0, function* () {
|
|
22563
22554
|
if (this.readOnly) {
|
|
22564
|
-
throw { code: ErrorCodes
|
|
22555
|
+
throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
|
|
22565
22556
|
}
|
|
22566
22557
|
if (event === null || event === void 0 ? void 0 : event.defaultPrevented)
|
|
22567
22558
|
return 0; // SKip
|
|
@@ -24141,7 +24132,7 @@ class AppEntityEditor extends AppTabEditor {
|
|
|
24141
24132
|
try {
|
|
24142
24133
|
const data = yield this.dataService.load(id, opts);
|
|
24143
24134
|
if (!data)
|
|
24144
|
-
throw { code: ErrorCodes
|
|
24135
|
+
throw { code: ErrorCodes.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
|
|
24145
24136
|
this._usageMode = this.computeUsageMode(data);
|
|
24146
24137
|
yield this.onEntityLoaded(data, opts);
|
|
24147
24138
|
yield this.updateView(data, opts);
|
|
@@ -25093,7 +25084,7 @@ class UserEventService extends BaseGraphqlService {
|
|
|
25093
25084
|
EntityUtils.copyIdAndUpdateDate(source, target);
|
|
25094
25085
|
}
|
|
25095
25086
|
}
|
|
25096
|
-
UserEventService.ɵprov =
|
|
25087
|
+
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" });
|
|
25097
25088
|
UserEventService.decorators = [
|
|
25098
25089
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
25099
25090
|
];
|
|
@@ -25474,7 +25465,7 @@ class PersonService extends BaseEntityService {
|
|
|
25474
25465
|
return target;
|
|
25475
25466
|
}
|
|
25476
25467
|
}
|
|
25477
|
-
PersonService.ɵprov =
|
|
25468
|
+
PersonService.ɵprov = ɵɵdefineInjectable({ factory: function PersonService_Factory() { return new PersonService(ɵɵinject(GraphqlService), ɵɵinject(PlatformService), ɵɵinject(NetworkService), ɵɵinject(EntitiesStorage)); }, token: PersonService, providedIn: "root" });
|
|
25478
25469
|
PersonService.decorators = [
|
|
25479
25470
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
25480
25471
|
];
|
|
@@ -25505,7 +25496,7 @@ class PersonValidatorService {
|
|
|
25505
25496
|
return this.formBuilder.group(formConfig);
|
|
25506
25497
|
}
|
|
25507
25498
|
}
|
|
25508
|
-
PersonValidatorService.ɵprov =
|
|
25499
|
+
PersonValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
|
|
25509
25500
|
PersonValidatorService.decorators = [
|
|
25510
25501
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
25511
25502
|
];
|
|
@@ -25699,16 +25690,16 @@ AdminModule.decorators = [
|
|
|
25699
25690
|
];
|
|
25700
25691
|
AdminModule.ctorParameters = () => [];
|
|
25701
25692
|
|
|
25702
|
-
const ɵ0 = {
|
|
25693
|
+
const ɵ0$c = {
|
|
25703
25694
|
profile: 'ADMIN'
|
|
25704
25695
|
};
|
|
25705
|
-
const routes
|
|
25696
|
+
const routes = [
|
|
25706
25697
|
{
|
|
25707
25698
|
path: 'users',
|
|
25708
25699
|
pathMatch: 'full',
|
|
25709
25700
|
component: UsersPage,
|
|
25710
25701
|
canActivate: [AuthGuardService],
|
|
25711
|
-
data: ɵ0
|
|
25702
|
+
data: ɵ0$c
|
|
25712
25703
|
}
|
|
25713
25704
|
];
|
|
25714
25705
|
class AdminRoutingModule {
|
|
@@ -25718,33 +25709,33 @@ AdminRoutingModule.decorators = [
|
|
|
25718
25709
|
imports: [
|
|
25719
25710
|
SharedRoutingModule,
|
|
25720
25711
|
AdminModule,
|
|
25721
|
-
RouterModule.forChild(routes
|
|
25712
|
+
RouterModule.forChild(routes)
|
|
25722
25713
|
],
|
|
25723
25714
|
exports: [RouterModule]
|
|
25724
25715
|
},] }
|
|
25725
25716
|
];
|
|
25726
25717
|
|
|
25727
|
-
const ErrorCodes = {
|
|
25718
|
+
const ErrorCodes$2 = {
|
|
25728
25719
|
LOAD_PERSONS_ERROR: 100,
|
|
25729
25720
|
SAVE_PERSONS_ERROR: 101,
|
|
25730
25721
|
DELETE_PERSONS_ERROR: 102,
|
|
25731
25722
|
};
|
|
25732
25723
|
|
|
25733
|
-
class EntityTestClass
|
|
25724
|
+
class EntityTestClass {
|
|
25734
25725
|
}
|
|
25735
|
-
const FAKE_ENTITIES
|
|
25726
|
+
const FAKE_ENTITIES = [
|
|
25736
25727
|
{ id: 1, label: 'AAA', name: 'Item A', description: 'Very long description A', comments: 'Very very long comments... again for A' },
|
|
25737
25728
|
{ id: 2, label: 'BBB', name: 'Item B', description: 'Very long description B', comments: 'Very very long comments... again for B' },
|
|
25738
25729
|
{ id: 3, label: 'CCC', name: 'Item C', description: 'Very long description C', comments: 'Very very long comments... again for C' }
|
|
25739
25730
|
];
|
|
25740
|
-
function deepCopy
|
|
25731
|
+
function deepCopy(values, size) {
|
|
25741
25732
|
if (isNil(size)) {
|
|
25742
|
-
return (values || FAKE_ENTITIES
|
|
25733
|
+
return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
|
|
25743
25734
|
}
|
|
25744
25735
|
let result = [];
|
|
25745
25736
|
let i = 1;
|
|
25746
25737
|
while (result.length < size) {
|
|
25747
|
-
result = result.concat((values || FAKE_ENTITIES
|
|
25738
|
+
result = result.concat((values || FAKE_ENTITIES).map(entity => {
|
|
25748
25739
|
const name = entity.name + ' #' + i;
|
|
25749
25740
|
return Object.assign(Object.assign({}, entity), { id: i++, name });
|
|
25750
25741
|
}));
|
|
@@ -25754,7 +25745,7 @@ function deepCopy$1(values, size) {
|
|
|
25754
25745
|
class AutocompleteTestPage {
|
|
25755
25746
|
constructor(formBuilder) {
|
|
25756
25747
|
this.formBuilder = formBuilder;
|
|
25757
|
-
this._items = deepCopy
|
|
25748
|
+
this._items = deepCopy(FAKE_ENTITIES, 100);
|
|
25758
25749
|
this._$items = new BehaviorSubject(undefined);
|
|
25759
25750
|
this.autocompleteFields = new MatAutocompleteConfigHolder();
|
|
25760
25751
|
this.memoryHide = false;
|
|
@@ -25798,7 +25789,7 @@ class AutocompleteTestPage {
|
|
|
25798
25789
|
});
|
|
25799
25790
|
// From items
|
|
25800
25791
|
this.autocompleteFields.add('entity-items-large', {
|
|
25801
|
-
items: FAKE_ENTITIES
|
|
25792
|
+
items: FAKE_ENTITIES.slice(),
|
|
25802
25793
|
attributes: ['label', 'name', 'description', 'comments'],
|
|
25803
25794
|
displayWith: this.entityToString
|
|
25804
25795
|
});
|
|
@@ -25808,12 +25799,12 @@ class AutocompleteTestPage {
|
|
|
25808
25799
|
loadData() {
|
|
25809
25800
|
return __awaiter(this, void 0, void 0, function* () {
|
|
25810
25801
|
const data = {
|
|
25811
|
-
entity: deepCopy
|
|
25802
|
+
entity: deepCopy(FAKE_ENTITIES)[0],
|
|
25812
25803
|
// This item is NOT in the items list => i should be displayed anyway
|
|
25813
25804
|
missingEntity: {
|
|
25814
25805
|
id: -1, label: '??', name: 'Missing item'
|
|
25815
25806
|
},
|
|
25816
|
-
disableEntity: deepCopy
|
|
25807
|
+
disableEntity: deepCopy(FAKE_ENTITIES)[2]
|
|
25817
25808
|
};
|
|
25818
25809
|
this.form.setValue(data);
|
|
25819
25810
|
// Load observables
|
|
@@ -25956,13 +25947,13 @@ LatLongTestPage.ctorParameters = () => [
|
|
|
25956
25947
|
{ type: FormBuilder }
|
|
25957
25948
|
];
|
|
25958
25949
|
|
|
25959
|
-
const moment$
|
|
25950
|
+
const moment$5 = momentImported;
|
|
25960
25951
|
class SwipeTestPage {
|
|
25961
25952
|
constructor(formBuilder, dateFormatPipe) {
|
|
25962
25953
|
this.formBuilder = formBuilder;
|
|
25963
25954
|
this.dateFormatPipe = dateFormatPipe;
|
|
25964
25955
|
this.$dates = new BehaviorSubject(undefined);
|
|
25965
|
-
this._today = moment$
|
|
25956
|
+
this._today = moment$5().startOf('day');
|
|
25966
25957
|
this.form = formBuilder.group({
|
|
25967
25958
|
empty: [null, Validators.required],
|
|
25968
25959
|
date: [null, Validators.compose([Validators.required, SharedValidators.validDate])],
|
|
@@ -25975,7 +25966,7 @@ class SwipeTestPage {
|
|
|
25975
25966
|
ngOnInit() {
|
|
25976
25967
|
const dates = [];
|
|
25977
25968
|
for (let d = 0; d < 7; d++) {
|
|
25978
|
-
dates[d] = moment$
|
|
25969
|
+
dates[d] = moment$5(this._today).add(d - 3, 'day');
|
|
25979
25970
|
}
|
|
25980
25971
|
this.$dates.next(dates);
|
|
25981
25972
|
this.loadData();
|
|
@@ -26016,7 +26007,7 @@ SwipeTestPage.ctorParameters = () => [
|
|
|
26016
26007
|
{ type: DateFormatPipe }
|
|
26017
26008
|
];
|
|
26018
26009
|
|
|
26019
|
-
const moment$
|
|
26010
|
+
const moment$6 = momentImported;
|
|
26020
26011
|
class DateTimeTestPage {
|
|
26021
26012
|
constructor(platform, formBuilder, cd) {
|
|
26022
26013
|
this.platform = platform;
|
|
@@ -26048,7 +26039,7 @@ class DateTimeTestPage {
|
|
|
26048
26039
|
// Load the form with data
|
|
26049
26040
|
loadData() {
|
|
26050
26041
|
return __awaiter(this, void 0, void 0, function* () {
|
|
26051
|
-
const now = moment$
|
|
26042
|
+
const now = moment$6();
|
|
26052
26043
|
const data = {
|
|
26053
26044
|
empty: toDateISOString(now.clone().add(2, 'hours')),
|
|
26054
26045
|
enable: toDateISOString(now),
|
|
@@ -26109,9 +26100,9 @@ DateTimeTestPage.ctorParameters = () => [
|
|
|
26109
26100
|
{ type: ChangeDetectorRef }
|
|
26110
26101
|
];
|
|
26111
26102
|
|
|
26112
|
-
class EntityTestClass {
|
|
26103
|
+
class EntityTestClass$1 {
|
|
26113
26104
|
}
|
|
26114
|
-
const FAKE_ENTITIES = [
|
|
26105
|
+
const FAKE_ENTITIES$1 = [
|
|
26115
26106
|
{ id: 1, label: 'AAA', name: 'Item A' },
|
|
26116
26107
|
{ id: 2, label: 'BBB', name: 'Item B' },
|
|
26117
26108
|
{ id: 3, label: 'CCC', name: 'Item C' },
|
|
@@ -26120,14 +26111,14 @@ const FAKE_ENTITIES = [
|
|
|
26120
26111
|
{ id: 6, label: 'FFF', name: 'Item F' },
|
|
26121
26112
|
{ id: 7, label: 'GGG', name: 'Item G' }
|
|
26122
26113
|
];
|
|
26123
|
-
function deepCopy(values, size) {
|
|
26114
|
+
function deepCopy$1(values, size) {
|
|
26124
26115
|
if (isNil(size)) {
|
|
26125
|
-
return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
|
|
26116
|
+
return (values || FAKE_ENTITIES$1).map(entity => Object.assign({}, entity));
|
|
26126
26117
|
}
|
|
26127
26118
|
let result = [];
|
|
26128
26119
|
let i = 1;
|
|
26129
26120
|
while (result.length < size) {
|
|
26130
|
-
result = result.concat((values || FAKE_ENTITIES).map(entity => {
|
|
26121
|
+
result = result.concat((values || FAKE_ENTITIES$1).map(entity => {
|
|
26131
26122
|
const name = entity.name + ' #' + i;
|
|
26132
26123
|
return Object.assign(Object.assign({}, entity), { id: i++, name });
|
|
26133
26124
|
}));
|
|
@@ -26137,7 +26128,7 @@ function deepCopy(values, size) {
|
|
|
26137
26128
|
class ChipsTestPage {
|
|
26138
26129
|
constructor(formBuilder) {
|
|
26139
26130
|
this.formBuilder = formBuilder;
|
|
26140
|
-
this._items = deepCopy(FAKE_ENTITIES, 100);
|
|
26131
|
+
this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
|
|
26141
26132
|
this._$items = new BehaviorSubject(undefined);
|
|
26142
26133
|
this.autocompleteFields = new MatAutocompleteConfigHolder();
|
|
26143
26134
|
this.form = formBuilder.group({
|
|
@@ -26176,7 +26167,7 @@ class ChipsTestPage {
|
|
|
26176
26167
|
// Load the form with data
|
|
26177
26168
|
loadData() {
|
|
26178
26169
|
return __awaiter(this, void 0, void 0, function* () {
|
|
26179
|
-
const items = deepCopy(FAKE_ENTITIES);
|
|
26170
|
+
const items = deepCopy$1(FAKE_ENTITIES$1);
|
|
26180
26171
|
const data = {
|
|
26181
26172
|
entity: items.slice(0, 1),
|
|
26182
26173
|
entityInitial: items.slice(1, 2),
|
|
@@ -26292,7 +26283,7 @@ NumpadTestPage.ctorParameters = () => [
|
|
|
26292
26283
|
{ type: FormBuilder }
|
|
26293
26284
|
];
|
|
26294
26285
|
|
|
26295
|
-
const moment = momentImported;
|
|
26286
|
+
const moment$7 = momentImported;
|
|
26296
26287
|
class DateTestPage {
|
|
26297
26288
|
constructor(platform, formBuilder, cd) {
|
|
26298
26289
|
this.platform = platform;
|
|
@@ -26326,7 +26317,7 @@ class DateTestPage {
|
|
|
26326
26317
|
// Load the form with data
|
|
26327
26318
|
loadData() {
|
|
26328
26319
|
return __awaiter(this, void 0, void 0, function* () {
|
|
26329
|
-
const now = moment();
|
|
26320
|
+
const now = moment$7();
|
|
26330
26321
|
const nowAtMahe = now.clone().tz(this.timezone).startOf('day');
|
|
26331
26322
|
const data = {
|
|
26332
26323
|
empty: toDateISOString(now.clone().add(2, 'hours')),
|
|
@@ -26404,7 +26395,7 @@ const SHARED_MATERIAL_TESTING_PAGES = [
|
|
|
26404
26395
|
{ label: 'Shared directives', divider: true },
|
|
26405
26396
|
{ label: 'Badge icon directive', page: '/testing/shared/badge-icon' }
|
|
26406
26397
|
];
|
|
26407
|
-
const routes$
|
|
26398
|
+
const routes$1 = [
|
|
26408
26399
|
{
|
|
26409
26400
|
path: '',
|
|
26410
26401
|
pathMatch: 'full',
|
|
@@ -26461,7 +26452,7 @@ MaterialTestingModule.decorators = [
|
|
|
26461
26452
|
ReactiveFormsModule,
|
|
26462
26453
|
SharedMaterialModule,
|
|
26463
26454
|
TranslateModule.forChild(),
|
|
26464
|
-
RouterModule.forChild(routes$
|
|
26455
|
+
RouterModule.forChild(routes$1)
|
|
26465
26456
|
],
|
|
26466
26457
|
declarations: [
|
|
26467
26458
|
DateTimeTestPage,
|
|
@@ -26522,7 +26513,7 @@ ToastTestingPage.ctorParameters = () => [
|
|
|
26522
26513
|
{ type: TranslateService }
|
|
26523
26514
|
];
|
|
26524
26515
|
|
|
26525
|
-
const routes$
|
|
26516
|
+
const routes$2 = [
|
|
26526
26517
|
{
|
|
26527
26518
|
path: 'toast',
|
|
26528
26519
|
pathMatch: 'full',
|
|
@@ -26537,7 +26528,7 @@ ToastTestingModule.decorators = [
|
|
|
26537
26528
|
CommonModule,
|
|
26538
26529
|
IonicModule,
|
|
26539
26530
|
TranslateModule.forChild(),
|
|
26540
|
-
RouterModule.forChild(routes$
|
|
26531
|
+
RouterModule.forChild(routes$2)
|
|
26541
26532
|
],
|
|
26542
26533
|
declarations: [
|
|
26543
26534
|
ToastTestingPage
|
|
@@ -26600,7 +26591,7 @@ UploadFileTestingPage.ctorParameters = () => [
|
|
|
26600
26591
|
{ type: PopoverController }
|
|
26601
26592
|
];
|
|
26602
26593
|
|
|
26603
|
-
const routes$
|
|
26594
|
+
const routes$3 = [
|
|
26604
26595
|
{
|
|
26605
26596
|
path: 'upload-file',
|
|
26606
26597
|
pathMatch: 'full',
|
|
@@ -26615,7 +26606,7 @@ UploadFileTestingModule.decorators = [
|
|
|
26615
26606
|
CommonModule,
|
|
26616
26607
|
IonicModule,
|
|
26617
26608
|
TranslateModule.forChild(),
|
|
26618
|
-
RouterModule.forChild(routes$
|
|
26609
|
+
RouterModule.forChild(routes$3)
|
|
26619
26610
|
],
|
|
26620
26611
|
declarations: [
|
|
26621
26612
|
UploadFileTestingPage
|
|
@@ -26996,7 +26987,7 @@ TextPopoverTestingPage.ctorParameters = () => [
|
|
|
26996
26987
|
{ type: PopoverController }
|
|
26997
26988
|
];
|
|
26998
26989
|
|
|
26999
|
-
const routes$
|
|
26990
|
+
const routes$4 = [
|
|
27000
26991
|
{
|
|
27001
26992
|
path: 'text-popover',
|
|
27002
26993
|
pathMatch: 'full',
|
|
@@ -27011,7 +27002,7 @@ TextPopoverTestingModule.decorators = [
|
|
|
27011
27002
|
CommonModule,
|
|
27012
27003
|
IonicModule,
|
|
27013
27004
|
TranslateModule.forChild(),
|
|
27014
|
-
RouterModule.forChild(routes$
|
|
27005
|
+
RouterModule.forChild(routes$4)
|
|
27015
27006
|
],
|
|
27016
27007
|
declarations: [
|
|
27017
27008
|
TextPopoverTestingPage
|
|
@@ -27028,7 +27019,7 @@ const CORE_TESTING_PAGES = [
|
|
|
27028
27019
|
{ label: 'Table', page: '/testing/core/table' },
|
|
27029
27020
|
{ label: 'Text popover', page: '/testing/core/text-popover' }
|
|
27030
27021
|
];
|
|
27031
|
-
const routes = [
|
|
27022
|
+
const routes$5 = [
|
|
27032
27023
|
{
|
|
27033
27024
|
path: '',
|
|
27034
27025
|
pathMatch: 'full',
|
|
@@ -27052,7 +27043,7 @@ CoreTestingModule.decorators = [
|
|
|
27052
27043
|
imports: [
|
|
27053
27044
|
CommonModule,
|
|
27054
27045
|
TranslateModule.forChild(),
|
|
27055
|
-
RouterModule.forChild(routes),
|
|
27046
|
+
RouterModule.forChild(routes$5),
|
|
27056
27047
|
// Sub modules
|
|
27057
27048
|
TableTestingModule,
|
|
27058
27049
|
TextPopoverTestingModule
|
|
@@ -27072,5 +27063,5 @@ CoreTestingModule.decorators = [
|
|
|
27072
27063
|
* Generated bundle index. Do not edit.
|
|
27073
27064
|
*/
|
|
27074
27065
|
|
|
27075
|
-
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$
|
|
27066
|
+
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 };
|
|
27076
27067
|
//# sourceMappingURL=sumaris-net.ngx-components.js.map
|