@sumaris-net/ngx-components 1.10.7 → 1.10.8-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 +294 -316
- package/bundles/sumaris-net.ngx-components.umd.js.map +1 -1
- package/bundles/sumaris-net.ngx-components.umd.min.js +2 -2
- package/bundles/sumaris-net.ngx-components.umd.min.js.map +1 -1
- package/esm2015/src/app/core/home/home.js +7 -5
- package/esm2015/src/environments/environment.class.js +1 -1
- package/fesm2015/sumaris-net.ngx-components.js +260 -273
- package/fesm2015/sumaris-net.ngx-components.js.map +1 -1
- package/package.json +1 -1
- package/src/app/core/home/home.d.ts +4 -2
- package/src/environments/environment.class.d.ts +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, ViewChildren, HostListener, ComponentFactoryResolver, ApplicationRef, Injector, Renderer2, ViewEncapsulation } from '@angular/core';
|
|
3
|
-
import * as i1$3 from '@angular/common';
|
|
1
|
+
import { InjectionToken, EventEmitter, Component, forwardRef, ChangeDetectionStrategy, ChangeDetectorRef, Optional, Input, Output, ViewChild, ɵɵdefineInjectable, ɵɵinject, Pipe, Injectable, Directive, Inject, NgModule, ElementRef, TemplateRef, ViewContainerRef, ViewChildren, HostListener, ComponentFactoryResolver, ApplicationRef, INJECTOR, Injector, Renderer2, ViewEncapsulation } from '@angular/core';
|
|
4
2
|
import { CommonModule, DOCUMENT, Location } from '@angular/common';
|
|
5
3
|
import { CdkTableModule } from '@angular/cdk/table';
|
|
6
4
|
import { A11yModule } from '@angular/cdk/a11y';
|
|
7
5
|
import { OverlayModule, OverlayContainer, FullscreenOverlayContainer, Overlay } from '@angular/cdk/overlay';
|
|
8
6
|
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
9
|
-
import * as i1$2 from '@angular/material/core';
|
|
10
7
|
import { DateAdapter, MatCommonModule, MatRippleModule } from '@angular/material/core';
|
|
11
8
|
import { MatTableModule, MatTable, MatColumnDef } from '@angular/material/table';
|
|
12
9
|
import { MatSortModule, MatSort } from '@angular/material/sort';
|
|
@@ -30,21 +27,16 @@ import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
|
30
27
|
import { MatRadioModule } from '@angular/material/radio';
|
|
31
28
|
import { MatBadgeModule } from '@angular/material/badge';
|
|
32
29
|
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
33
|
-
import * as i2$1 from '@angular/material/dialog';
|
|
34
30
|
import { MatDialogModule, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';
|
|
35
31
|
import { MatAutocomplete, MatAutocompleteTrigger, MatAutocompleteModule, MAT_AUTOCOMPLETE_SCROLL_STRATEGY, MAT_AUTOCOMPLETE_DEFAULT_OPTIONS } from '@angular/material/autocomplete';
|
|
36
32
|
import { __awaiter, __decorate } from 'tslib';
|
|
37
|
-
import * as i1$6 from '@angular/forms';
|
|
38
33
|
import { NG_VALUE_ACCESSOR, FormGroupDirective, AbstractControl, FormGroup, FormArray, FormControl, ReactiveFormsModule, Validators, FormBuilder } from '@angular/forms';
|
|
39
34
|
import { timer, merge, fromEvent, BehaviorSubject, Subscription, Subject, isObservable, noop as noop$9, Observable, defer, of, from, combineLatest, EMPTY } from 'rxjs';
|
|
40
35
|
import { filter, first, map, takeUntil, switchMap, startWith, debounceTime, takeWhile, tap, distinctUntilChanged, mergeMap, catchError, throttleTime, skip } from 'rxjs/operators';
|
|
41
|
-
import * as i1$1 from '@ngx-translate/core';
|
|
42
36
|
import { TranslateService, TranslateModule } from '@ngx-translate/core';
|
|
43
|
-
import * as i1$4 from '@ionic/angular';
|
|
44
37
|
import { IonicModule, Platform, IonRouterOutlet, ModalController, IonicSafeString, createAnimation, ToastController, AlertController, IonicRouteStrategy, NavParams, MenuController, IonContent } from '@ionic/angular';
|
|
45
38
|
import * as momentImported from 'moment';
|
|
46
39
|
import { isMoment } from 'moment';
|
|
47
|
-
import * as i1 from '@angular/material-moment-adapter';
|
|
48
40
|
import { MomentDateAdapter, MatMomentDateModule } from '@angular/material-moment-adapter';
|
|
49
41
|
import { Keyboard } from '@ionic-native/keyboard/ngx';
|
|
50
42
|
import { TextMaskModule } from 'angular2-text-mask';
|
|
@@ -54,38 +46,32 @@ import { trigger, state, style, transition, animate } from '@angular/animations'
|
|
|
54
46
|
import { MatDividerModule } from '@angular/material/divider';
|
|
55
47
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
56
48
|
import { MatChipsModule } from '@angular/material/chips';
|
|
57
|
-
import * as i3$3 from '@angular/router';
|
|
58
49
|
import { Router, RouterModule, RouteReuseStrategy, ActivatedRoute } from '@angular/router';
|
|
59
|
-
import * as i1$5 from '@angular/platform-browser';
|
|
60
50
|
import { HammerGestureConfig, EventManager } from '@angular/platform-browser';
|
|
61
|
-
import * as i2$2 from '@angular/common/http';
|
|
62
51
|
import { HttpResponse, HttpClient, HttpHeaders, HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
|
|
63
52
|
import { ColorPickerModule } from 'ngx-color-picker';
|
|
64
|
-
import { NativeAudio } from '@ionic-native/native-audio/ngx';
|
|
65
|
-
import { Vibration } from '@ionic-native/vibration/ngx';
|
|
53
|
+
import { NativeAudio as NativeAudio$1 } from '@ionic-native/native-audio/ngx';
|
|
54
|
+
import { Vibration as Vibration$1 } from '@ionic-native/vibration/ngx';
|
|
66
55
|
import { AudioManagement } from '@ionic-native/audio-management/ngx';
|
|
67
|
-
import
|
|
68
|
-
import
|
|
69
|
-
import
|
|
56
|
+
import { NativeAudio } from '@ionic-native/native-audio/ngx/index';
|
|
57
|
+
import { Vibration } from '@ionic-native/vibration/ngx/index';
|
|
58
|
+
import { AudioManagement as AudioManagement$1 } from '@ionic-native/audio-management/ngx/index';
|
|
70
59
|
import * as uuidv4Imported from 'uuid/v4';
|
|
71
60
|
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
72
61
|
import { MarkdownModule } from 'ngx-markdown';
|
|
73
62
|
import { sign, box, hash, verify } from 'tweetnacl';
|
|
74
|
-
import * as i3$1 from '@ionic/storage';
|
|
75
63
|
import { Storage, IonicStorageModule } from '@ionic/storage';
|
|
76
64
|
import 'zone.js/dist/zone-error';
|
|
77
|
-
import { SplashScreen } from '@ionic-native/splash-screen/ngx';
|
|
78
|
-
import { Connection, Network } from '@ionic-native/network/ngx';
|
|
79
|
-
import { CacheService, CacheModule } from 'ionic-cache';
|
|
80
|
-
import
|
|
81
|
-
import
|
|
82
|
-
import
|
|
83
|
-
import { StatusBar } from '@ionic-native/status-bar/ngx';
|
|
84
|
-
import * as i2$4 from '@angular/cdk/platform';
|
|
65
|
+
import { SplashScreen as SplashScreen$1 } from '@ionic-native/splash-screen/ngx';
|
|
66
|
+
import { Connection, Network as Network$1 } from '@ionic-native/network/ngx';
|
|
67
|
+
import { CacheService as CacheService$1, CacheModule } from 'ionic-cache';
|
|
68
|
+
import { CacheService } from 'ionic-cache/dist/cache.service';
|
|
69
|
+
import { Network } from '@ionic-native/network/ngx/index';
|
|
70
|
+
import { SplashScreen } from '@ionic-native/splash-screen/ngx/index';
|
|
71
|
+
import { StatusBar as StatusBar$1 } from '@ionic-native/status-bar/ngx';
|
|
85
72
|
import { Platform as Platform$1 } from '@angular/cdk/platform';
|
|
86
|
-
import { InAppBrowser } from '@ionic-native/in-app-browser/ngx';
|
|
73
|
+
import { InAppBrowser as InAppBrowser$1 } from '@ionic-native/in-app-browser/ngx';
|
|
87
74
|
import { ApolloLink, NetworkStatus, InMemoryCache, ApolloClient, gql } from '@apollo/client/core';
|
|
88
|
-
import * as i2$3 from 'apollo-angular';
|
|
89
75
|
import { Apollo } from 'apollo-angular';
|
|
90
76
|
import { WebSocketLink } from '@apollo/client/link/ws';
|
|
91
77
|
import { getMainDefinition } from '@apollo/client/utilities';
|
|
@@ -93,14 +79,13 @@ import { RetryLink } from '@apollo/client/link/retry';
|
|
|
93
79
|
import QueueLink from 'apollo-link-queue';
|
|
94
80
|
import SerializingLink from 'apollo-link-serialize';
|
|
95
81
|
import loggerLink from 'apollo-link-logger';
|
|
96
|
-
import * as i3$2 from 'apollo-angular/http';
|
|
97
82
|
import { HttpLink } from 'apollo-angular/http';
|
|
98
83
|
import { IonicStorageWrapper, persistCache } from 'apollo3-cache-persist';
|
|
99
|
-
import { NotificationVisibility, Downloader } from '@ionic-native/downloader/ngx';
|
|
100
|
-
import
|
|
101
|
-
import
|
|
102
|
-
import
|
|
103
|
-
import
|
|
84
|
+
import { NotificationVisibility, Downloader as Downloader$1 } from '@ionic-native/downloader/ngx';
|
|
85
|
+
import { StatusBar } from '@ionic-native/status-bar/ngx/index';
|
|
86
|
+
import { Keyboard as Keyboard$1 } from '@ionic-native/keyboard/ngx/index';
|
|
87
|
+
import { InAppBrowser } from '@ionic-native/in-app-browser/ngx/index';
|
|
88
|
+
import { Downloader } from '@ionic-native/downloader/ngx/index';
|
|
104
89
|
import { ValidatorService, TableDataSource } from '@e-is/ngx-material-table';
|
|
105
90
|
import { SelectionModel } from '@angular/cdk/collections';
|
|
106
91
|
import { NgxJdenticonModule } from 'ngx-jdenticon';
|
|
@@ -991,14 +976,14 @@ class MatAutocompleteConfigHolder {
|
|
|
991
976
|
return this.fields[fieldName] || this.add(fieldName);
|
|
992
977
|
}
|
|
993
978
|
}
|
|
994
|
-
const noop
|
|
995
|
-
const ɵ0
|
|
979
|
+
const noop = (_) => { };
|
|
980
|
+
const ɵ0 = noop;
|
|
996
981
|
class MatAutocompleteField {
|
|
997
982
|
constructor(cd, formGroupDir) {
|
|
998
983
|
this.cd = cd;
|
|
999
984
|
this.formGroupDir = formGroupDir;
|
|
1000
|
-
this._onChangeCallback = noop
|
|
1001
|
-
this._onTouchedCallback = noop
|
|
985
|
+
this._onChangeCallback = noop;
|
|
986
|
+
this._onTouchedCallback = noop;
|
|
1002
987
|
this.logPrefix = '[mat-autocomplete] ';
|
|
1003
988
|
this.formControlName = null;
|
|
1004
989
|
this.required = false;
|
|
@@ -1718,7 +1703,7 @@ class DateFormatPipe {
|
|
|
1718
1703
|
return this.dateAdapter.format(date, displayFormat);
|
|
1719
1704
|
}
|
|
1720
1705
|
}
|
|
1721
|
-
DateFormatPipe.ɵprov =
|
|
1706
|
+
DateFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateFormatPipe_Factory() { return new DateFormatPipe(ɵɵinject(MomentDateAdapter), ɵɵinject(TranslateService)); }, token: DateFormatPipe, providedIn: "root" });
|
|
1722
1707
|
DateFormatPipe.decorators = [
|
|
1723
1708
|
{ type: Pipe, args: [{
|
|
1724
1709
|
name: 'dateFormat'
|
|
@@ -1730,7 +1715,7 @@ DateFormatPipe.ctorParameters = () => [
|
|
|
1730
1715
|
{ type: TranslateService }
|
|
1731
1716
|
];
|
|
1732
1717
|
|
|
1733
|
-
const moment
|
|
1718
|
+
const moment = momentImported;
|
|
1734
1719
|
class DateDiffDurationPipe {
|
|
1735
1720
|
constructor(dateAdapter, translate) {
|
|
1736
1721
|
this.dateAdapter = dateAdapter;
|
|
@@ -1746,17 +1731,17 @@ class DateDiffDurationPipe {
|
|
|
1746
1731
|
return this.format(startDate, endDate);
|
|
1747
1732
|
}
|
|
1748
1733
|
format(startDate, endDate) {
|
|
1749
|
-
const duration = moment
|
|
1734
|
+
const duration = moment.duration(endDate.diff(startDate));
|
|
1750
1735
|
if (duration.asMinutes() < 0)
|
|
1751
1736
|
return '';
|
|
1752
|
-
const timeDuration = moment
|
|
1737
|
+
const timeDuration = moment(0)
|
|
1753
1738
|
.hour(duration.hours())
|
|
1754
1739
|
.minute(duration.minutes());
|
|
1755
1740
|
const days = Math.floor(duration.asDays());
|
|
1756
1741
|
return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + timeDuration.format('HH:mm');
|
|
1757
1742
|
}
|
|
1758
1743
|
}
|
|
1759
|
-
DateDiffDurationPipe.ɵprov =
|
|
1744
|
+
DateDiffDurationPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateDiffDurationPipe_Factory() { return new DateDiffDurationPipe(ɵɵinject(DateAdapter), ɵɵinject(TranslateService)); }, token: DateDiffDurationPipe, providedIn: "root" });
|
|
1760
1745
|
DateDiffDurationPipe.decorators = [
|
|
1761
1746
|
{ type: Pipe, args: [{
|
|
1762
1747
|
name: 'dateDiffDuration'
|
|
@@ -1777,7 +1762,7 @@ class DateFromNowPipe {
|
|
|
1777
1762
|
return date ? date.fromNow(args && args.withoutSuffix) : '';
|
|
1778
1763
|
}
|
|
1779
1764
|
}
|
|
1780
|
-
DateFromNowPipe.ɵprov =
|
|
1765
|
+
DateFromNowPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(ɵɵinject(MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
|
|
1781
1766
|
DateFromNowPipe.decorators = [
|
|
1782
1767
|
{ type: Pipe, args: [{
|
|
1783
1768
|
name: 'dateFromNow'
|
|
@@ -1846,7 +1831,7 @@ function formatToDD(value, opts) {
|
|
|
1846
1831
|
value *= -1;
|
|
1847
1832
|
}
|
|
1848
1833
|
}
|
|
1849
|
-
let degrees = roundFloat
|
|
1834
|
+
let degrees = roundFloat(value, opts.maxDecimals).toString();
|
|
1850
1835
|
// Add sign
|
|
1851
1836
|
let sign = negative ? '-' : '+';
|
|
1852
1837
|
if (opts.placeholderChar) {
|
|
@@ -1897,7 +1882,7 @@ function formatToDDMMSS(value, opts) {
|
|
|
1897
1882
|
}
|
|
1898
1883
|
let degrees = Math.trunc(value);
|
|
1899
1884
|
let minutes = Math.trunc((value - degrees) * 60);
|
|
1900
|
-
let seconds = roundFloat
|
|
1885
|
+
let seconds = roundFloat(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
|
|
1901
1886
|
while (seconds >= 60) {
|
|
1902
1887
|
seconds -= 60;
|
|
1903
1888
|
minutes += 1;
|
|
@@ -1965,7 +1950,7 @@ function formatToDDMM(value, opts) {
|
|
|
1965
1950
|
}
|
|
1966
1951
|
}
|
|
1967
1952
|
let degrees = Math.trunc(value);
|
|
1968
|
-
let minutes = roundFloat
|
|
1953
|
+
let minutes = roundFloat((value - degrees) * 60, opts.maxDecimals);
|
|
1969
1954
|
while (minutes >= 60) {
|
|
1970
1955
|
minutes -= 60;
|
|
1971
1956
|
degrees += 1;
|
|
@@ -2016,15 +2001,15 @@ function parseLatitudeOrLongitude(input, pattern, maxDecimals, placeholderChar)
|
|
|
2016
2001
|
return NaN;
|
|
2017
2002
|
}
|
|
2018
2003
|
if (pattern === 'DD')
|
|
2019
|
-
return roundFloat
|
|
2004
|
+
return roundFloat(degrees, maxDecimals);
|
|
2020
2005
|
const minutes = (pattern === 'DDMMSS' || pattern === 'DDMM') && parts[1] && parseFloat(parts[1].replace(/,/g, '.')) || 0;
|
|
2021
2006
|
const seconds = (pattern === 'DDMMSS') && parts[2] && parseFloat(parts[2].replace(/,/g, '.')) || 0;
|
|
2022
2007
|
const direction = ((pattern === 'DDMMSS') && parts[3]) || ((pattern === 'DDMM') && parts[2]) || undefined;
|
|
2023
2008
|
const sign = (direction && (direction === 's' || direction === 'S' || direction === 'w' || direction === 'W')) ? -1 : 1;
|
|
2024
2009
|
degrees = sign * (degrees + minutes / 60 + seconds / (60 * 60));
|
|
2025
|
-
return roundFloat
|
|
2010
|
+
return roundFloat(degrees, maxDecimals);
|
|
2026
2011
|
}
|
|
2027
|
-
function roundFloat
|
|
2012
|
+
function roundFloat(input, maxDecimals) {
|
|
2028
2013
|
if (maxDecimals > 0) {
|
|
2029
2014
|
const powDecimal = Math.pow(10, maxDecimals);
|
|
2030
2015
|
return Math.trunc(input * powDecimal + 0.5) / powDecimal;
|
|
@@ -2044,7 +2029,7 @@ class LatLongFormatPipe {
|
|
|
2044
2029
|
return ((!args.type || args.type !== 'latitude') ? formatLongitude : formatLatitude)(value, args);
|
|
2045
2030
|
}
|
|
2046
2031
|
}
|
|
2047
|
-
LatLongFormatPipe.ɵprov =
|
|
2032
|
+
LatLongFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
|
|
2048
2033
|
LatLongFormatPipe.decorators = [
|
|
2049
2034
|
{ type: Pipe, args: [{
|
|
2050
2035
|
name: 'latLongFormat'
|
|
@@ -2056,7 +2041,7 @@ class LatitudeFormatPipe {
|
|
|
2056
2041
|
this.transform = formatLatitude;
|
|
2057
2042
|
}
|
|
2058
2043
|
}
|
|
2059
|
-
LatitudeFormatPipe.ɵprov =
|
|
2044
|
+
LatitudeFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
|
|
2060
2045
|
LatitudeFormatPipe.decorators = [
|
|
2061
2046
|
{ type: Pipe, args: [{
|
|
2062
2047
|
name: 'latitudeFormat'
|
|
@@ -2068,7 +2053,7 @@ class LongitudeFormatPipe {
|
|
|
2068
2053
|
this.transform = formatLongitude;
|
|
2069
2054
|
}
|
|
2070
2055
|
}
|
|
2071
|
-
LongitudeFormatPipe.ɵprov =
|
|
2056
|
+
LongitudeFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
|
|
2072
2057
|
LongitudeFormatPipe.decorators = [
|
|
2073
2058
|
{ type: Pipe, args: [{
|
|
2074
2059
|
name: 'longitudeFormat'
|
|
@@ -2088,7 +2073,7 @@ class NumberFormatPipe {
|
|
|
2088
2073
|
}
|
|
2089
2074
|
}
|
|
2090
2075
|
}
|
|
2091
|
-
NumberFormatPipe.ɵprov =
|
|
2076
|
+
NumberFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
|
|
2092
2077
|
NumberFormatPipe.decorators = [
|
|
2093
2078
|
{ type: Pipe, args: [{
|
|
2094
2079
|
name: 'numberFormat'
|
|
@@ -2128,7 +2113,7 @@ class HighlightPipe {
|
|
|
2128
2113
|
}
|
|
2129
2114
|
}
|
|
2130
2115
|
}
|
|
2131
|
-
HighlightPipe.ɵprov =
|
|
2116
|
+
HighlightPipe.ɵprov = ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
|
|
2132
2117
|
HighlightPipe.decorators = [
|
|
2133
2118
|
{ type: Pipe, args: [{
|
|
2134
2119
|
name: 'highlight'
|
|
@@ -2193,7 +2178,7 @@ FileSizePipe.decorators = [
|
|
|
2193
2178
|
{ type: Pipe, args: [{ name: 'fileSize' },] }
|
|
2194
2179
|
];
|
|
2195
2180
|
|
|
2196
|
-
const moment$
|
|
2181
|
+
const moment$1 = momentImported;
|
|
2197
2182
|
const DATE_UNIX_TIMESTAMP = 'X';
|
|
2198
2183
|
const DATE_UNIX_MS_TIMESTAMP = 'x';
|
|
2199
2184
|
class DateUtils {
|
|
@@ -2235,32 +2220,32 @@ function fromDateISOString(value) {
|
|
|
2235
2220
|
if (!value || isMoment(value))
|
|
2236
2221
|
return value;
|
|
2237
2222
|
// Parse the input value, as a ISO date time
|
|
2238
|
-
const date = moment$
|
|
2223
|
+
const date = moment$1(value, DATE_ISO_PATTERN);
|
|
2239
2224
|
if (date.isValid())
|
|
2240
2225
|
return date;
|
|
2241
2226
|
// Not valid: trying to convert from unix timestamp
|
|
2242
2227
|
if (typeof value === 'string') {
|
|
2243
2228
|
console.warn('Wrong date format - Trying to convert from local time: ' + value);
|
|
2244
2229
|
if (value.length === 10) {
|
|
2245
|
-
return moment$
|
|
2230
|
+
return moment$1(value, DATE_UNIX_TIMESTAMP);
|
|
2246
2231
|
}
|
|
2247
2232
|
else if (value.length === 13) {
|
|
2248
|
-
return moment$
|
|
2233
|
+
return moment$1(value, DATE_UNIX_MS_TIMESTAMP);
|
|
2249
2234
|
}
|
|
2250
2235
|
}
|
|
2251
2236
|
console.warn('Unable to parse date: ' + value);
|
|
2252
2237
|
return undefined;
|
|
2253
2238
|
}
|
|
2254
2239
|
function fromUnixTimestamp(timeInSec) {
|
|
2255
|
-
return moment$
|
|
2240
|
+
return moment$1(timeInSec, DATE_UNIX_TIMESTAMP);
|
|
2256
2241
|
}
|
|
2257
2242
|
function fromUnixMsTimestamp(timeInMs) {
|
|
2258
|
-
return moment$
|
|
2243
|
+
return moment$1(timeInMs, DATE_UNIX_MS_TIMESTAMP);
|
|
2259
2244
|
}
|
|
2260
2245
|
function toDuration(value, unit) {
|
|
2261
2246
|
if (!value)
|
|
2262
2247
|
return undefined;
|
|
2263
|
-
const duration = moment$
|
|
2248
|
+
const duration = moment$1.duration(value, unit);
|
|
2264
2249
|
// fix 990+ ms
|
|
2265
2250
|
if (duration.milliseconds() >= 990) {
|
|
2266
2251
|
duration.add(1000 - duration.milliseconds(), 'ms');
|
|
@@ -2289,7 +2274,7 @@ class DurationPipe {
|
|
|
2289
2274
|
return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + hour + ':' + minute;
|
|
2290
2275
|
}
|
|
2291
2276
|
}
|
|
2292
|
-
DurationPipe.ɵprov =
|
|
2277
|
+
DurationPipe.ɵprov = ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(ɵɵinject(TranslateService)); }, token: DurationPipe, providedIn: "root" });
|
|
2293
2278
|
DurationPipe.decorators = [
|
|
2294
2279
|
{ type: Pipe, args: [{
|
|
2295
2280
|
name: 'duration'
|
|
@@ -2310,7 +2295,7 @@ class MathAbsPipe {
|
|
|
2310
2295
|
}
|
|
2311
2296
|
}
|
|
2312
2297
|
}
|
|
2313
|
-
MathAbsPipe.ɵprov =
|
|
2298
|
+
MathAbsPipe.ɵprov = ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
|
|
2314
2299
|
MathAbsPipe.decorators = [
|
|
2315
2300
|
{ type: Pipe, args: [{
|
|
2316
2301
|
name: 'mathAbs'
|
|
@@ -2322,7 +2307,7 @@ class EvenPipe {
|
|
|
2322
2307
|
return val % 2 === 0;
|
|
2323
2308
|
}
|
|
2324
2309
|
}
|
|
2325
|
-
EvenPipe.ɵprov =
|
|
2310
|
+
EvenPipe.ɵprov = ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
|
|
2326
2311
|
EvenPipe.decorators = [
|
|
2327
2312
|
{ type: Pipe, args: [{
|
|
2328
2313
|
name: 'even'
|
|
@@ -2334,7 +2319,7 @@ class OddPipe {
|
|
|
2334
2319
|
return val % 2 !== 0;
|
|
2335
2320
|
}
|
|
2336
2321
|
}
|
|
2337
|
-
OddPipe.ɵprov =
|
|
2322
|
+
OddPipe.ɵprov = ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
|
|
2338
2323
|
OddPipe.decorators = [
|
|
2339
2324
|
{ type: Pipe, args: [{
|
|
2340
2325
|
name: 'odd'
|
|
@@ -2442,7 +2427,7 @@ class MapGetPipe {
|
|
|
2442
2427
|
return val[key];
|
|
2443
2428
|
}
|
|
2444
2429
|
}
|
|
2445
|
-
MapGetPipe.ɵprov =
|
|
2430
|
+
MapGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
|
|
2446
2431
|
MapGetPipe.decorators = [
|
|
2447
2432
|
{ type: Pipe, args: [{
|
|
2448
2433
|
name: 'mapGet'
|
|
@@ -2456,7 +2441,7 @@ class MapKeysPipe {
|
|
|
2456
2441
|
return Object.keys(map);
|
|
2457
2442
|
}
|
|
2458
2443
|
}
|
|
2459
|
-
MapKeysPipe.ɵprov =
|
|
2444
|
+
MapKeysPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
|
|
2460
2445
|
MapKeysPipe.decorators = [
|
|
2461
2446
|
{ type: Pipe, args: [{
|
|
2462
2447
|
name: 'mapKeys'
|
|
@@ -2470,7 +2455,7 @@ class MapValuesPipe {
|
|
|
2470
2455
|
return Object.values(map);
|
|
2471
2456
|
}
|
|
2472
2457
|
}
|
|
2473
|
-
MapValuesPipe.ɵprov =
|
|
2458
|
+
MapValuesPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
|
|
2474
2459
|
MapValuesPipe.decorators = [
|
|
2475
2460
|
{ type: Pipe, args: [{
|
|
2476
2461
|
name: 'mapValues'
|
|
@@ -2483,7 +2468,7 @@ class IsNotNilOrBlankPipe {
|
|
|
2483
2468
|
return isNotNilOrBlank(value);
|
|
2484
2469
|
}
|
|
2485
2470
|
}
|
|
2486
|
-
IsNotNilOrBlankPipe.ɵprov =
|
|
2471
|
+
IsNotNilOrBlankPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
|
|
2487
2472
|
IsNotNilOrBlankPipe.decorators = [
|
|
2488
2473
|
{ type: Pipe, args: [{
|
|
2489
2474
|
name: 'isNotNilOrBlank'
|
|
@@ -2495,7 +2480,7 @@ class IsNilOrBlankPipe {
|
|
|
2495
2480
|
return isNilOrBlank(value);
|
|
2496
2481
|
}
|
|
2497
2482
|
}
|
|
2498
|
-
IsNilOrBlankPipe.ɵprov =
|
|
2483
|
+
IsNilOrBlankPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
|
|
2499
2484
|
IsNilOrBlankPipe.decorators = [
|
|
2500
2485
|
{ type: Pipe, args: [{
|
|
2501
2486
|
name: 'isNilOrBlank'
|
|
@@ -2507,7 +2492,7 @@ class ToStringPipe {
|
|
|
2507
2492
|
return (value !== null && value !== undefined) ? value.toString() : '';
|
|
2508
2493
|
}
|
|
2509
2494
|
}
|
|
2510
|
-
ToStringPipe.ɵprov =
|
|
2495
|
+
ToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
|
|
2511
2496
|
ToStringPipe.decorators = [
|
|
2512
2497
|
{ type: Pipe, args: [{
|
|
2513
2498
|
name: 'toString'
|
|
@@ -2519,7 +2504,7 @@ class StrLengthPipe {
|
|
|
2519
2504
|
return value && value.length || 0;
|
|
2520
2505
|
}
|
|
2521
2506
|
}
|
|
2522
|
-
StrLengthPipe.ɵprov =
|
|
2507
|
+
StrLengthPipe.ɵprov = ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
|
|
2523
2508
|
StrLengthPipe.decorators = [
|
|
2524
2509
|
{ type: Pipe, args: [{
|
|
2525
2510
|
name: 'strLength'
|
|
@@ -2596,7 +2581,7 @@ class TranslateContextService {
|
|
|
2596
2581
|
return translations[keys[keys.length - 1]]; // Return the last keys translation
|
|
2597
2582
|
}
|
|
2598
2583
|
}
|
|
2599
|
-
TranslateContextService.ɵprov =
|
|
2584
|
+
TranslateContextService.ɵprov = ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(ɵɵinject(TranslateService)); }, token: TranslateContextService, providedIn: "root" });
|
|
2600
2585
|
TranslateContextService.decorators = [
|
|
2601
2586
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
2602
2587
|
];
|
|
@@ -2646,7 +2631,7 @@ class PropertyGetPipe {
|
|
|
2646
2631
|
args && args.defaultValue);
|
|
2647
2632
|
}
|
|
2648
2633
|
}
|
|
2649
|
-
PropertyGetPipe.ɵprov =
|
|
2634
|
+
PropertyGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
|
|
2650
2635
|
PropertyGetPipe.decorators = [
|
|
2651
2636
|
{ type: Pipe, args: [{
|
|
2652
2637
|
name: 'propertyGet'
|
|
@@ -2671,7 +2656,7 @@ NgInitDirective.propDecorators = {
|
|
|
2671
2656
|
ngInit: [{ type: Output }]
|
|
2672
2657
|
};
|
|
2673
2658
|
|
|
2674
|
-
const moment$
|
|
2659
|
+
const moment$2 = momentImported;
|
|
2675
2660
|
// @dynamic
|
|
2676
2661
|
class SharedValidators {
|
|
2677
2662
|
static getDoubleRegexp(maxDecimals) {
|
|
@@ -2688,7 +2673,7 @@ class SharedValidators {
|
|
|
2688
2673
|
}
|
|
2689
2674
|
static validDate(control) {
|
|
2690
2675
|
const value = control.value;
|
|
2691
|
-
const date = !value || moment$
|
|
2676
|
+
const date = !value || moment$2.isMoment(value) ? value : moment$2(control.value, DATE_ISO_PATTERN);
|
|
2692
2677
|
if (date && (!date.isValid() || date.year() < 1970)) {
|
|
2693
2678
|
return { validDate: true };
|
|
2694
2679
|
}
|
|
@@ -3762,7 +3747,7 @@ class FormErrorTranslator {
|
|
|
3762
3747
|
return errorKey;
|
|
3763
3748
|
}
|
|
3764
3749
|
}
|
|
3765
|
-
FormErrorTranslator.ɵprov =
|
|
3750
|
+
FormErrorTranslator.ɵprov = ɵɵdefineInjectable({ factory: function FormErrorTranslator_Factory() { return new FormErrorTranslator(ɵɵinject(TranslateService), ɵɵinject(APP_FORM_ERROR_I18N_KEYS, 8)); }, token: FormErrorTranslator, providedIn: "root" });
|
|
3766
3751
|
FormErrorTranslator.decorators = [
|
|
3767
3752
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
3768
3753
|
];
|
|
@@ -3948,7 +3933,7 @@ const isIpad = (win) => {
|
|
|
3948
3933
|
}
|
|
3949
3934
|
return false;
|
|
3950
3935
|
};
|
|
3951
|
-
const ɵ0$
|
|
3936
|
+
const ɵ0$1 = isIpad;
|
|
3952
3937
|
const isIOS = (win) => testUserAgent(win, /iPhone|iPod/i) || isIpad(win);
|
|
3953
3938
|
const isAndroid = (win) => testUserAgent(win, /android|sink/i);
|
|
3954
3939
|
const isCordova = (win) => !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);
|
|
@@ -4140,9 +4125,9 @@ function parseDuration(input, maxDecimals, placeholderChar) {
|
|
|
4140
4125
|
const hour = parseInt(durationParts[0] || '0');
|
|
4141
4126
|
const minute = parseInt(durationParts[1] || '0');
|
|
4142
4127
|
const value = hour + (minute + 0.5) / 60;
|
|
4143
|
-
return roundFloat(value, maxDecimals);
|
|
4128
|
+
return roundFloat$1(value, maxDecimals);
|
|
4144
4129
|
}
|
|
4145
|
-
function roundFloat(input, maxDecimals) {
|
|
4130
|
+
function roundFloat$1(input, maxDecimals) {
|
|
4146
4131
|
if (maxDecimals > 0) {
|
|
4147
4132
|
const powDecimal = Math.pow(10, maxDecimals);
|
|
4148
4133
|
return Math.trunc(input * powDecimal + 0.5) / powDecimal;
|
|
@@ -4166,9 +4151,9 @@ const MASKS = {
|
|
|
4166
4151
|
DD: [/[+-]/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '°']
|
|
4167
4152
|
}
|
|
4168
4153
|
};
|
|
4169
|
-
const noop$
|
|
4154
|
+
const noop$1 = () => {
|
|
4170
4155
|
};
|
|
4171
|
-
const ɵ0$
|
|
4156
|
+
const ɵ0$2 = noop$1;
|
|
4172
4157
|
class MatLatLongField {
|
|
4173
4158
|
constructor(platform, translate, formBuilder, cd, formGroupDir) {
|
|
4174
4159
|
this.platform = platform;
|
|
@@ -4176,8 +4161,8 @@ class MatLatLongField {
|
|
|
4176
4161
|
this.formBuilder = formBuilder;
|
|
4177
4162
|
this.cd = cd;
|
|
4178
4163
|
this.formGroupDir = formGroupDir;
|
|
4179
|
-
this._onChangeCallback = noop$
|
|
4180
|
-
this._onTouchedCallback = noop$
|
|
4164
|
+
this._onChangeCallback = noop$1;
|
|
4165
|
+
this._onTouchedCallback = noop$1;
|
|
4181
4166
|
this._subscription = new Subscription();
|
|
4182
4167
|
this.disabling = false;
|
|
4183
4168
|
this.writing = false;
|
|
@@ -4514,14 +4499,14 @@ SharedMatLatLongModule.decorators = [
|
|
|
4514
4499
|
},] }
|
|
4515
4500
|
];
|
|
4516
4501
|
|
|
4517
|
-
const DEFAULT_VALUE_ACCESSOR
|
|
4502
|
+
const DEFAULT_VALUE_ACCESSOR = {
|
|
4518
4503
|
provide: NG_VALUE_ACCESSOR,
|
|
4519
4504
|
useExisting: forwardRef(() => MatDate),
|
|
4520
4505
|
multi: true
|
|
4521
4506
|
};
|
|
4522
|
-
const DAY_MASK
|
|
4523
|
-
const noop$
|
|
4524
|
-
const ɵ0$
|
|
4507
|
+
const DAY_MASK = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
|
|
4508
|
+
const noop$2 = () => { };
|
|
4509
|
+
const ɵ0$3 = noop$2;
|
|
4525
4510
|
class MatDate {
|
|
4526
4511
|
constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
4527
4512
|
this.dateAdapter = dateAdapter;
|
|
@@ -4530,12 +4515,12 @@ class MatDate {
|
|
|
4530
4515
|
this.cd = cd;
|
|
4531
4516
|
this.keyboard = keyboard;
|
|
4532
4517
|
this.formGroupDir = formGroupDir;
|
|
4533
|
-
this._onChangeCallback = noop$
|
|
4534
|
-
this._onTouchedCallback = noop$
|
|
4518
|
+
this._onChangeCallback = noop$2;
|
|
4519
|
+
this._onTouchedCallback = noop$2;
|
|
4535
4520
|
this._subscription = new Subscription();
|
|
4536
4521
|
this.writing = true;
|
|
4537
4522
|
this.disabling = false;
|
|
4538
|
-
this.dayMask = DAY_MASK
|
|
4523
|
+
this.dayMask = DAY_MASK;
|
|
4539
4524
|
this.disabled = false;
|
|
4540
4525
|
this.floatLabel = 'auto';
|
|
4541
4526
|
this.readonly = false;
|
|
@@ -4772,7 +4757,7 @@ MatDate.decorators = [
|
|
|
4772
4757
|
selector: 'mat-date-field',
|
|
4773
4758
|
template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly else writable\">\n <input matInput hidden type=\"text\" readonly=\"true\" [formControl]=\"formControl\">\n <ion-text>{{formControl.value|dateFormat: {pattern: displayPattern} }}</ion-text>\n</mat-form-field>\n\n<ng-template #writable>\n <mat-form-field [floatLabel]=\"floatLabel\">\n\n <mat-label>{{placeholder}}</mat-label>\n\n <div matPrefix><ng-content select=\"[matPrefix]\"></ng-content></div>\n\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"dayControl\"\n [textMask]=\"{mask: dayMask, keepCharPositions: true, placeholderChar: placeholderChar}\"\n [placeholder]=\"'COMMON.DATE_PLACEHOLDER'|translate\"\n (blur)=\"checkIfTouched()\"\n (keyup.arrowdown)=\"openDatePicker($event, datePicker)\"\n (keyup.escape)=\"preventEvent($event)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [appAutofocus]=\"autofocus\">\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"dayControl\"\n (click)=\"openDatePickerIfMobile($event, datePicker)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n readonly>\n\n <!-- Hide the final control -->\n <input matInput type=\"text\"\n [formControl]=\"formControl\"\n hidden\n [matDatepicker]=\"datePicker\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n (click)=\"openDatePicker($event, datePicker)\"\n [disabled]=\"formControl.disabled\">\n <div *ngIf=\"mobile; then iconDate; else iconDesktop\"></div>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"writeValue(null)\"\n [hidden]=\"formControl.disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('validDate')\" translate>ERROR.FIELD_NOT_VALID_DATE</mat-error>\n <mat-error *ngIf=\"formControl.hasError('dateIsAfter')\">{{'ERROR.FIELD_NOT_VALID_DATE_AFTER' | translate: formControl.errors.dateIsAfter }}</mat-error>\n <mat-error *ngIf=\"formControl.hasError('dateRange')\" translate>ERROR.FIELD_NOT_VALID_DATE_RANGE</mat-error>\n <mat-error *ngIf=\"!formControl.hasError('dateRange') && formControl.hasError('dateMaxDuration')\" translate>ERROR.FIELD_NOT_VALID_DATE_MAX_DURATION</mat-error>\n <mat-error *ngIf=\"!formControl.hasError('dateRange') && formControl.hasError('dateMinDuration')\" translate>ERROR.FIELD_NOT_VALID_DATE_MIN_DURATION</mat-error>\n <mat-error *ngIf=\"formControl.hasError('msg')\">{{formControl.errors.msg}}</mat-error>\n </mat-form-field>\n\n <mat-datepicker #datePicker\n [touchUi]=\"mobile\"\n [disabled]=\"formControl.disabled\"\n [startAt]=\"startDate\"></mat-datepicker>\n\n <ng-template #iconDesktop>\n <mat-icon>keyboard_arrow_down</mat-icon>\n </ng-template>\n\n <ng-template #iconDate>\n <mat-icon>date_range</mat-icon>\n </ng-template>\n\n</ng-template>\n\n",
|
|
4774
4759
|
providers: [
|
|
4775
|
-
DEFAULT_VALUE_ACCESSOR
|
|
4760
|
+
DEFAULT_VALUE_ACCESSOR,
|
|
4776
4761
|
],
|
|
4777
4762
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4778
4763
|
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%}"]
|
|
@@ -4805,17 +4790,17 @@ MatDate.propDecorators = {
|
|
|
4805
4790
|
matInputs: [{ type: ViewChildren, args: ['matInput',] }]
|
|
4806
4791
|
};
|
|
4807
4792
|
|
|
4808
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
4793
|
+
const DEFAULT_VALUE_ACCESSOR$1 = {
|
|
4809
4794
|
provide: NG_VALUE_ACCESSOR,
|
|
4810
4795
|
useExisting: forwardRef(() => MatDateTime),
|
|
4811
4796
|
multi: true
|
|
4812
4797
|
};
|
|
4813
4798
|
const DAY_MASK$1 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
|
|
4814
4799
|
const HOUR_REGEXP = /^[012][0-9][:][012345][0-9]$/;
|
|
4815
|
-
const HOUR_MASK
|
|
4816
|
-
const noop$
|
|
4800
|
+
const HOUR_MASK = [/[012]/, /\d/, ':', /[012345]/, /\d/];
|
|
4801
|
+
const noop$3 = () => {
|
|
4817
4802
|
};
|
|
4818
|
-
const ɵ0$
|
|
4803
|
+
const ɵ0$4 = noop$3;
|
|
4819
4804
|
class MatDateTime {
|
|
4820
4805
|
constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
4821
4806
|
this.platform = platform;
|
|
@@ -4825,14 +4810,14 @@ class MatDateTime {
|
|
|
4825
4810
|
this.cd = cd;
|
|
4826
4811
|
this.keyboard = keyboard;
|
|
4827
4812
|
this.formGroupDir = formGroupDir;
|
|
4828
|
-
this._onChangeCallback = noop$
|
|
4829
|
-
this._onTouchedCallback = noop$
|
|
4813
|
+
this._onChangeCallback = noop$3;
|
|
4814
|
+
this._onTouchedCallback = noop$3;
|
|
4830
4815
|
this._subscription = new Subscription();
|
|
4831
4816
|
this.writing = true;
|
|
4832
4817
|
this.disabling = false;
|
|
4833
4818
|
this._readonly = false;
|
|
4834
4819
|
this.dayMask = DAY_MASK$1;
|
|
4835
|
-
this.hourMask = HOUR_MASK
|
|
4820
|
+
this.hourMask = HOUR_MASK;
|
|
4836
4821
|
this.floatLabel = 'auto';
|
|
4837
4822
|
this.compact = false;
|
|
4838
4823
|
this.placeholderChar = DEFAULT_PLACEHOLDER_CHAR;
|
|
@@ -5144,7 +5129,7 @@ MatDateTime.decorators = [
|
|
|
5144
5129
|
selector: 'mat-date-time-field',
|
|
5145
5130
|
template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled\">\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <input matInput hidden type=\"text\"\n readonly\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <ion-text>{{formControl.value|dateFormat: {pattern: displayPattern} }}</ion-text>\n</mat-form-field>\n\n<!-- writable + time -->\n<ng-template #writable >\n <ion-grid class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding no-wrap\" nowrap>\n\n <!-- day -->\n <ion-col class=\"day ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-invalid]=\"formControl.touched && formControl.invalid\">\n\n <mat-label>{{placeholder}}</mat-label>\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"dateFormControl\"\n [textMask]=\"{mask: dayMask, keepCharPositions: true, placeholderChar: placeholderChar}\"\n [placeholder]=\"'COMMON.DATE_PLACEHOLDER'|translate\"\n (blur)=\"checkIfTouched()\"\n (keyup.arrowdown)=\"openDatePicker($event, datePicker)\"\n (keyup.escape)=\"preventEvent($event)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [appAutofocus]=\"autofocus\">\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"dateFormControl\"\n (click)=\"openDatePickerIfMobile($event, datePicker)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n readonly>\n <input matInput type=\"text\" [formControl]=\"formControl\"\n hidden\n [matDatepicker]=\"datePicker\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n <button type=\"button\" mat-icon-button tabindex=\"-1\" matSuffix #datePickerButton2 (click)=\"openDatePicker($event, datePicker)\" [disabled]=\"formControl.disabled\">\n <div *ngIf=\"mobile; then iconDate; else iconDesktop\"></div>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clear()\"\n [hidden]=\"formControl.disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-datepicker #datePicker\n [touchUi]=\"mobile\"\n [disabled]=\"formControl.disabled\"\n [startAt]=\"startDate\"></mat-datepicker>\n <div class=\"mat-form-field-subscript mat-form-field-subscript-wrapper\" >\n <!-- errors -->\n <ng-container [ngSwitch]=\"formControl.touched && formControl.errors|mapKeys|arrayFirst\">\n <mat-error *ngSwitchCase=\"'required'\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngSwitchCase=\"'validDate'\" translate>ERROR.FIELD_NOT_VALID_DATE_TIME</mat-error>\n <mat-error *ngSwitchCase=\"'dateIsAfter'\">{{'ERROR.FIELD_NOT_VALID_DATE_AFTER' | translate: formControl.errors.dateIsAfter }}</mat-error>\n <mat-error *ngSwitchCase=\"'dateRange'\" translate>ERROR.FIELD_NOT_VALID_DATE_RANGE</mat-error>\n <mat-error *ngSwitchCase=\"'dateMaxDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MAX_DURATION</mat-error>\n <mat-error *ngSwitchCase=\"'dateMinDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MIN_DURATION</mat-error>\n <mat-error *ngSwitchCase=\"'msg'\">{{(formControl.errors.msg?.key || formControl.errors.msg) | translate: formControl.errors.msg?.params}}</mat-error>\n </ng-container>\n <ng-content select=\"mat-error\"></ng-content>\n\n <!-- mat hint -->\n <div class=\"mat-form-field-hint-wrapper\" [class.cdk-visually-hidden]=\"formControl.invalid\">\n <div class=\"mat-form-field-hint-spacer\"></div>\n <ng-content select=\"mat-hint\"></ng-content>\n </div>\n </div>\n\n </ion-col>\n\n <!-- hour -->\n <ion-col class=\"hour ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-invalid]=\"formControl.touched && (timeFormControl.invalid || formControl.invalid)\">\n <mat-label *ngIf=\"placeholder && floatLabel != 'never'\" translate>COMMON.TIME</mat-label>\n <input matInput #matInput type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"timeFormControl\"\n autocomplete=\"off\"\n min=\"0\" max=\"23\"\n [textMask]=\"{mask: hourMask, keepCharPositions: true, placeholderChar: placeholderChar, guide: true}\"\n [placeholder]=\"'COMMON.TIME_PLACEHOLDER'|translate\"\n [required]=\"required\"\n (keyup.arrowdown)=\"openTimePicker($event)\"\n (keyup.escape)=\"preventEvent($event)\"\n (blur)=\"checkIfTouched()\"\n [tabindex]=\"tabindex !== undefined ? tabindex+1 : undefined\">\n\n <input matInput #matInput type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"timeFormControl\"\n (click)=\"openTimePickerIfMobile($event)\"\n readonly>\n\n <input matInput type=\"text\"\n [formControl]=\"timeFormControl\"\n hidden\n [ngxTimepicker]=\"timePicker\"\n [format]=\"24\">\n\n <button matSuffix type=\"button\" mat-icon-button\n tabindex=\"-1\"\n *ngIf=\"!compact && !mobile\"\n [disabled]=\"formControl.disabled\"\n (click)=\"openTimePicker($event)\" >\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n <button matSuffix type=\"button\" mat-icon-button\n tabindex=\"-1\"\n *ngIf=\"!compact && mobile\"\n [disabled]=\"formControl.disabled\"\n (click)=\"openTimePickerIfMobile($event)\">\n <mat-icon>access_time</mat-icon>\n </button>\n\n <ngx-material-timepicker #timePicker [@.disabled]=\"true\"\n (timeSet)=\"onTimePickerChange($event)\"\n [ESC]=\"!mobile\"\n [defaultTime]=\"'00:00'\"\n [cancelBtnTmpl]=\"timePickerCancelButton\"\n [confirmBtnTmpl]=\"timePickerOkButton\"\n [preventOverlayClick]=\"mobile\"\n [enableKeyboardInput]=\"false\"\n [disableAnimation]=\"true\">\n <!-- cancel button -->\n <ng-template #timePickerCancelButton>\n <ion-button fill=\"clear\" color=\"dark\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n </ng-template>\n\n <!-- confirm button -->\n <ng-template #timePickerOkButton>\n <ion-button fill=\"solid\" color=\"tertiary\">\n <ion-label translate>COMMON.BTN_VALIDATE</ion-label>\n </ion-button>\n </ng-template>\n\n </ngx-material-timepicker>\n </mat-form-field>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n\n</ng-template>\n\n<ng-template #iconDesktop>\n <mat-icon>keyboard_arrow_down</mat-icon>\n</ng-template>\n\n<ng-template #iconDate>\n <mat-icon>date_range</mat-icon>\n</ng-template>\n\n<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n",
|
|
5146
5131
|
providers: [
|
|
5147
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
5132
|
+
DEFAULT_VALUE_ACCESSOR$1,
|
|
5148
5133
|
],
|
|
5149
5134
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
5150
5135
|
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%}"]
|
|
@@ -5178,15 +5163,15 @@ MatDateTime.propDecorators = {
|
|
|
5178
5163
|
matInputs: [{ type: ViewChildren, args: ['matInput',] }]
|
|
5179
5164
|
};
|
|
5180
5165
|
|
|
5181
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
5166
|
+
const DEFAULT_VALUE_ACCESSOR$2 = {
|
|
5182
5167
|
provide: NG_VALUE_ACCESSOR,
|
|
5183
5168
|
useExisting: forwardRef(() => MatDateShort),
|
|
5184
5169
|
multi: true
|
|
5185
5170
|
};
|
|
5186
|
-
const DAY_MASK = [/\d/, /\d/, /\d/, /\d/];
|
|
5171
|
+
const DAY_MASK$2 = [/\d/, /\d/, /\d/, /\d/];
|
|
5187
5172
|
const noop$4 = () => {
|
|
5188
5173
|
};
|
|
5189
|
-
const ɵ0$
|
|
5174
|
+
const ɵ0$5 = noop$4;
|
|
5190
5175
|
class MatDateShort {
|
|
5191
5176
|
constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
5192
5177
|
this.dateAdapter = dateAdapter;
|
|
@@ -5199,7 +5184,7 @@ class MatDateShort {
|
|
|
5199
5184
|
this._onTouchedCallback = noop$4;
|
|
5200
5185
|
this.writing = true;
|
|
5201
5186
|
this.disabling = false;
|
|
5202
|
-
this.dayMask = DAY_MASK;
|
|
5187
|
+
this.dayMask = DAY_MASK$2;
|
|
5203
5188
|
this.disabled = false;
|
|
5204
5189
|
this.floatLabel = 'auto';
|
|
5205
5190
|
this.readonly = false;
|
|
@@ -5444,7 +5429,7 @@ MatDateShort.decorators = [
|
|
|
5444
5429
|
selector: 'mat-date-short-field',
|
|
5445
5430
|
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",
|
|
5446
5431
|
providers: [
|
|
5447
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
5432
|
+
DEFAULT_VALUE_ACCESSOR$2,
|
|
5448
5433
|
],
|
|
5449
5434
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
5450
5435
|
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%}"]
|
|
@@ -5512,16 +5497,16 @@ SharedMatDateTimeModule.decorators = [
|
|
|
5512
5497
|
},] }
|
|
5513
5498
|
];
|
|
5514
5499
|
|
|
5515
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
5500
|
+
const DEFAULT_VALUE_ACCESSOR$3 = {
|
|
5516
5501
|
provide: NG_VALUE_ACCESSOR,
|
|
5517
5502
|
useExisting: forwardRef(() => MatDuration),
|
|
5518
5503
|
multi: true
|
|
5519
5504
|
};
|
|
5520
5505
|
const HOUR_TIME_PATTERN = /[0-9]\d\d:[0-5]\d/;
|
|
5521
|
-
const HOUR_MASK = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
|
|
5522
|
-
const noop$
|
|
5506
|
+
const HOUR_MASK$1 = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
|
|
5507
|
+
const noop$5 = () => {
|
|
5523
5508
|
};
|
|
5524
|
-
const ɵ0$6 = noop$
|
|
5509
|
+
const ɵ0$6 = noop$5;
|
|
5525
5510
|
class MatDuration {
|
|
5526
5511
|
constructor(platform, dateAdapter, translate, formBuilder, cd, formGroupDir) {
|
|
5527
5512
|
this.dateAdapter = dateAdapter;
|
|
@@ -5530,11 +5515,11 @@ class MatDuration {
|
|
|
5530
5515
|
this.cd = cd;
|
|
5531
5516
|
this.formGroupDir = formGroupDir;
|
|
5532
5517
|
this._subscription = new Subscription();
|
|
5533
|
-
this._onChangeCallback = noop$
|
|
5534
|
-
this._onTouchedCallback = noop$
|
|
5518
|
+
this._onChangeCallback = noop$5;
|
|
5519
|
+
this._onTouchedCallback = noop$5;
|
|
5535
5520
|
this.writing = true;
|
|
5536
5521
|
this.disabling = false;
|
|
5537
|
-
this.hourMask = HOUR_MASK;
|
|
5522
|
+
this.hourMask = HOUR_MASK$1;
|
|
5538
5523
|
this.disabled = false;
|
|
5539
5524
|
this.floatLabel = 'auto';
|
|
5540
5525
|
this.readonly = false;
|
|
@@ -5714,7 +5699,7 @@ MatDuration.decorators = [
|
|
|
5714
5699
|
selector: 'mat-duration-field',
|
|
5715
5700
|
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",
|
|
5716
5701
|
providers: [
|
|
5717
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
5702
|
+
DEFAULT_VALUE_ACCESSOR$3,
|
|
5718
5703
|
],
|
|
5719
5704
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
5720
5705
|
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%}"]
|
|
@@ -5771,22 +5756,22 @@ SharedMatDurationModule.decorators = [
|
|
|
5771
5756
|
},] }
|
|
5772
5757
|
];
|
|
5773
5758
|
|
|
5774
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
5759
|
+
const DEFAULT_VALUE_ACCESSOR$4 = {
|
|
5775
5760
|
provide: NG_VALUE_ACCESSOR,
|
|
5776
5761
|
useExisting: forwardRef(() => MatBooleanField),
|
|
5777
5762
|
multi: true
|
|
5778
5763
|
};
|
|
5779
|
-
const noop$
|
|
5764
|
+
const noop$6 = () => {
|
|
5780
5765
|
};
|
|
5781
|
-
const ɵ0$
|
|
5766
|
+
const ɵ0$7 = noop$6;
|
|
5782
5767
|
class MatBooleanField {
|
|
5783
5768
|
constructor(translate, formBuilder, cd, formGroupDir) {
|
|
5784
5769
|
this.translate = translate;
|
|
5785
5770
|
this.formBuilder = formBuilder;
|
|
5786
5771
|
this.cd = cd;
|
|
5787
5772
|
this.formGroupDir = formGroupDir;
|
|
5788
|
-
this._onChangeCallback = noop$
|
|
5789
|
-
this._onTouchedCallback = noop$
|
|
5773
|
+
this._onChangeCallback = noop$6;
|
|
5774
|
+
this._onTouchedCallback = noop$6;
|
|
5790
5775
|
this._writing = false;
|
|
5791
5776
|
this.showRadio = false;
|
|
5792
5777
|
this.disabled = false;
|
|
@@ -5949,7 +5934,7 @@ MatBooleanField.decorators = [
|
|
|
5949
5934
|
selector: 'mat-boolean-field',
|
|
5950
5935
|
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",
|
|
5951
5936
|
providers: [
|
|
5952
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
5937
|
+
DEFAULT_VALUE_ACCESSOR$4
|
|
5953
5938
|
],
|
|
5954
5939
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
5955
5940
|
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}"]
|
|
@@ -6195,7 +6180,7 @@ class MatNumpadDomService {
|
|
|
6195
6180
|
this.appRef.detachView(this.componentRef.hostView);
|
|
6196
6181
|
}
|
|
6197
6182
|
}
|
|
6198
|
-
MatNumpadDomService.ɵprov =
|
|
6183
|
+
MatNumpadDomService.ɵprov = ɵɵdefineInjectable({ factory: function MatNumpadDomService_Factory() { return new MatNumpadDomService(ɵɵinject(ComponentFactoryResolver), ɵɵinject(ApplicationRef), ɵɵinject(INJECTOR), ɵɵinject(DOCUMENT, 8)); }, token: MatNumpadDomService, providedIn: "root" });
|
|
6199
6184
|
MatNumpadDomService.decorators = [
|
|
6200
6185
|
{ type: Injectable, args: [{
|
|
6201
6186
|
providedIn: 'root'
|
|
@@ -6559,7 +6544,7 @@ SharedMatNumpadModule.decorators = [
|
|
|
6559
6544
|
},] }
|
|
6560
6545
|
];
|
|
6561
6546
|
|
|
6562
|
-
const DEFAULT_VALUE_ACCESSOR = {
|
|
6547
|
+
const DEFAULT_VALUE_ACCESSOR$5 = {
|
|
6563
6548
|
provide: NG_VALUE_ACCESSOR,
|
|
6564
6549
|
useExisting: forwardRef(() => MatSwipeField),
|
|
6565
6550
|
multi: true
|
|
@@ -6822,7 +6807,7 @@ MatSwipeField.decorators = [
|
|
|
6822
6807
|
{ type: Component, args: [{
|
|
6823
6808
|
selector: 'mat-swipe-field',
|
|
6824
6809
|
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",
|
|
6825
|
-
providers: [DEFAULT_VALUE_ACCESSOR],
|
|
6810
|
+
providers: [DEFAULT_VALUE_ACCESSOR$5],
|
|
6826
6811
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
6827
6812
|
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}"]
|
|
6828
6813
|
},] }
|
|
@@ -6880,14 +6865,14 @@ SharedMatSwipeModule.decorators = [
|
|
|
6880
6865
|
},] }
|
|
6881
6866
|
];
|
|
6882
6867
|
|
|
6883
|
-
const noop$
|
|
6884
|
-
const ɵ0$
|
|
6868
|
+
const noop$7 = () => { };
|
|
6869
|
+
const ɵ0$8 = noop$7;
|
|
6885
6870
|
class MatChipsField {
|
|
6886
6871
|
constructor(cd, formGroupDir) {
|
|
6887
6872
|
this.cd = cd;
|
|
6888
6873
|
this.formGroupDir = formGroupDir;
|
|
6889
|
-
this._onChangeCallback = noop$
|
|
6890
|
-
this._onTouchedCallback = noop$
|
|
6874
|
+
this._onChangeCallback = noop$7;
|
|
6875
|
+
this._onTouchedCallback = noop$7;
|
|
6891
6876
|
this.logPrefix = '[mat-chips] ';
|
|
6892
6877
|
this.formControlName = null;
|
|
6893
6878
|
this.required = false;
|
|
@@ -7756,7 +7741,7 @@ class ProgressBarService {
|
|
|
7756
7741
|
}
|
|
7757
7742
|
}
|
|
7758
7743
|
}
|
|
7759
|
-
ProgressBarService.ɵprov =
|
|
7744
|
+
ProgressBarService.ɵprov = ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
|
|
7760
7745
|
ProgressBarService.decorators = [
|
|
7761
7746
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
7762
7747
|
];
|
|
@@ -7800,7 +7785,7 @@ class AppGestureConfig extends HammerGestureConfig {
|
|
|
7800
7785
|
return mc;
|
|
7801
7786
|
}
|
|
7802
7787
|
}
|
|
7803
|
-
AppGestureConfig.ɵprov =
|
|
7788
|
+
AppGestureConfig.ɵprov = ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
|
|
7804
7789
|
AppGestureConfig.decorators = [
|
|
7805
7790
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
7806
7791
|
];
|
|
@@ -8025,7 +8010,7 @@ class MatPaginatorI18n extends MatPaginatorIntl {
|
|
|
8025
8010
|
this.previousPageLabel = this.translate.instant('COMMON.PAGINATOR.PREVIOUS_PAGE');
|
|
8026
8011
|
}
|
|
8027
8012
|
}
|
|
8028
|
-
MatPaginatorI18n.ɵprov =
|
|
8013
|
+
MatPaginatorI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(ɵɵinject(TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
|
|
8029
8014
|
MatPaginatorI18n.decorators = [
|
|
8030
8015
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
8031
8016
|
];
|
|
@@ -8115,17 +8100,17 @@ function getColorContrast(color, bw) {
|
|
|
8115
8100
|
return rgbArrayToHex(rgb.map(v => 255 - v));
|
|
8116
8101
|
}
|
|
8117
8102
|
|
|
8118
|
-
const noop = () => {
|
|
8103
|
+
const noop$8 = () => {
|
|
8119
8104
|
};
|
|
8120
|
-
const ɵ0$
|
|
8105
|
+
const ɵ0$9 = noop$8;
|
|
8121
8106
|
class AppFormField {
|
|
8122
8107
|
constructor(translate, cd, injector, formGroupDir) {
|
|
8123
8108
|
this.translate = translate;
|
|
8124
8109
|
this.cd = cd;
|
|
8125
8110
|
this.injector = injector;
|
|
8126
8111
|
this.formGroupDir = formGroupDir;
|
|
8127
|
-
this._onChangeCallback = noop;
|
|
8128
|
-
this._onTouchedCallback = noop;
|
|
8112
|
+
this._onChangeCallback = noop$8;
|
|
8113
|
+
this._onTouchedCallback = noop$8;
|
|
8129
8114
|
this.readonly = false;
|
|
8130
8115
|
this.compact = false;
|
|
8131
8116
|
this.floatLabel = 'auto';
|
|
@@ -8561,14 +8546,14 @@ class AudioProvider extends StartableService {
|
|
|
8561
8546
|
});
|
|
8562
8547
|
}
|
|
8563
8548
|
}
|
|
8564
|
-
AudioProvider.ɵprov =
|
|
8549
|
+
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" });
|
|
8565
8550
|
AudioProvider.decorators = [
|
|
8566
8551
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
8567
8552
|
];
|
|
8568
8553
|
AudioProvider.ctorParameters = () => [
|
|
8569
8554
|
{ type: Platform },
|
|
8570
|
-
{ type: NativeAudio, decorators: [{ type: Optional }] },
|
|
8571
|
-
{ type: Vibration, decorators: [{ type: Optional }] },
|
|
8555
|
+
{ type: NativeAudio$1, decorators: [{ type: Optional }] },
|
|
8556
|
+
{ type: Vibration$1, decorators: [{ type: Optional }] },
|
|
8572
8557
|
{ type: AudioManagement, decorators: [{ type: Optional }] }
|
|
8573
8558
|
];
|
|
8574
8559
|
|
|
@@ -8650,7 +8635,7 @@ class Hotkeys {
|
|
|
8650
8635
|
});
|
|
8651
8636
|
}
|
|
8652
8637
|
}
|
|
8653
|
-
Hotkeys.ɵprov =
|
|
8638
|
+
Hotkeys.ɵprov = ɵɵdefineInjectable({ factory: function Hotkeys_Factory() { return new Hotkeys(ɵɵinject(EventManager), ɵɵinject(MatDialog), ɵɵinject(DOCUMENT), ɵɵinject(ModalController)); }, token: Hotkeys, providedIn: "root" });
|
|
8654
8639
|
Hotkeys.decorators = [
|
|
8655
8640
|
{ type: Injectable, args: [{
|
|
8656
8641
|
providedIn: 'root'
|
|
@@ -8824,7 +8809,7 @@ class Base64ImageReader {
|
|
|
8824
8809
|
}
|
|
8825
8810
|
}
|
|
8826
8811
|
|
|
8827
|
-
const uuidv4
|
|
8812
|
+
const uuidv4 = uuidv4Imported;
|
|
8828
8813
|
class FileService {
|
|
8829
8814
|
constructor(platform,
|
|
8830
8815
|
//private transfer: FileTransfer,
|
|
@@ -8861,7 +8846,7 @@ class FileService {
|
|
|
8861
8846
|
const lastSlashIndex = source.lastIndexOf('/');
|
|
8862
8847
|
if (lastSlashIndex === -1)
|
|
8863
8848
|
throw new Error('Invalid URL: ' + source);
|
|
8864
|
-
const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4
|
|
8849
|
+
const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4();
|
|
8865
8850
|
// Download into the file system
|
|
8866
8851
|
if (responseType === 'file' && this.canUseFileSystem) {
|
|
8867
8852
|
console.warn(`WARN: [file] Fetching image {${source}} in local file...`);
|
|
@@ -8917,7 +8902,7 @@ class FileService {
|
|
|
8917
8902
|
this._started = true;
|
|
8918
8903
|
}
|
|
8919
8904
|
}
|
|
8920
|
-
FileService.ɵprov =
|
|
8905
|
+
FileService.ɵprov = ɵɵdefineInjectable({ factory: function FileService_Factory() { return new FileService(ɵɵinject(Platform), ɵɵinject(HttpClient), ɵɵinject(ENVIRONMENT)); }, token: FileService, providedIn: "root" });
|
|
8921
8906
|
FileService.decorators = [
|
|
8922
8907
|
{ type: Injectable, args: [{
|
|
8923
8908
|
providedIn: 'root',
|
|
@@ -9083,7 +9068,7 @@ class Base58 {
|
|
|
9083
9068
|
Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
|
|
9084
9069
|
|
|
9085
9070
|
const scrypt = require('scrypt-async');
|
|
9086
|
-
const sha256
|
|
9071
|
+
const sha256 = require('hash.js/lib/hash/sha/256');
|
|
9087
9072
|
const sha512 = require('hash.js/lib/hash/sha/512');
|
|
9088
9073
|
const nacl = {
|
|
9089
9074
|
sign,
|
|
@@ -9187,7 +9172,7 @@ class CryptoService {
|
|
|
9187
9172
|
* Hash (using SHA256) a message
|
|
9188
9173
|
*/
|
|
9189
9174
|
sha256(message) {
|
|
9190
|
-
return sha256
|
|
9175
|
+
return sha256().update(message).digest('hex');
|
|
9191
9176
|
}
|
|
9192
9177
|
/**
|
|
9193
9178
|
* Hash (using SHA512) a message
|
|
@@ -9200,7 +9185,7 @@ class CryptoService {
|
|
|
9200
9185
|
return nacl.util.encodeBase64(m);
|
|
9201
9186
|
}
|
|
9202
9187
|
}
|
|
9203
|
-
CryptoService.ɵprov =
|
|
9188
|
+
CryptoService.ɵprov = ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
|
|
9204
9189
|
CryptoService.decorators = [
|
|
9205
9190
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
9206
9191
|
];
|
|
@@ -10441,7 +10426,7 @@ class LocalSettingsService extends StartableService {
|
|
|
10441
10426
|
return page;
|
|
10442
10427
|
}
|
|
10443
10428
|
}
|
|
10444
|
-
LocalSettingsService.ɵprov =
|
|
10429
|
+
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" });
|
|
10445
10430
|
LocalSettingsService.decorators = [
|
|
10446
10431
|
{ type: Injectable, args: [{
|
|
10447
10432
|
providedIn: 'root',
|
|
@@ -11099,7 +11084,7 @@ class NetworkService extends StartableService {
|
|
|
11099
11084
|
});
|
|
11100
11085
|
}
|
|
11101
11086
|
}
|
|
11102
|
-
NetworkService.ɵprov =
|
|
11087
|
+
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" });
|
|
11103
11088
|
NetworkService.decorators = [
|
|
11104
11089
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
11105
11090
|
];
|
|
@@ -11110,16 +11095,16 @@ NetworkService.ctorParameters = () => [
|
|
|
11110
11095
|
{ type: CryptoService },
|
|
11111
11096
|
{ type: Storage },
|
|
11112
11097
|
{ type: LocalSettingsService },
|
|
11113
|
-
{ type: CacheService },
|
|
11098
|
+
{ type: CacheService$1 },
|
|
11114
11099
|
{ type: HttpClient },
|
|
11115
11100
|
{ type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
|
|
11116
|
-
{ type: Network, decorators: [{ type: Optional }] },
|
|
11117
|
-
{ type: SplashScreen, decorators: [{ type: Optional }] },
|
|
11101
|
+
{ type: Network$1, decorators: [{ type: Optional }] },
|
|
11102
|
+
{ type: SplashScreen$1, decorators: [{ type: Optional }] },
|
|
11118
11103
|
{ type: TranslateService, decorators: [{ type: Optional }] },
|
|
11119
11104
|
{ type: ToastController, decorators: [{ type: Optional }] }
|
|
11120
11105
|
];
|
|
11121
11106
|
|
|
11122
|
-
const ErrorCodes
|
|
11107
|
+
const ErrorCodes = {
|
|
11123
11108
|
UNKNOWN_ERROR: 0,
|
|
11124
11109
|
LOAD_ACCOUNT_ERROR: 1,
|
|
11125
11110
|
BAD_PASSWORD: 2,
|
|
@@ -11471,7 +11456,7 @@ class EntityStore {
|
|
|
11471
11456
|
}
|
|
11472
11457
|
catch (err) {
|
|
11473
11458
|
console.error(err);
|
|
11474
|
-
throw { code: ErrorCodes
|
|
11459
|
+
throw { code: ErrorCodes.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err };
|
|
11475
11460
|
}
|
|
11476
11461
|
}
|
|
11477
11462
|
// Emit update event
|
|
@@ -12045,7 +12030,7 @@ class EntitiesStorage extends StartableService {
|
|
|
12045
12030
|
}
|
|
12046
12031
|
EntitiesStorage.TRASH_PREFIX = 'Trash#';
|
|
12047
12032
|
EntitiesStorage.REMOTE_PREFIX = 'Remote#';
|
|
12048
|
-
EntitiesStorage.ɵprov =
|
|
12033
|
+
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" });
|
|
12049
12034
|
EntitiesStorage.decorators = [
|
|
12050
12035
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
12051
12036
|
];
|
|
@@ -12182,10 +12167,10 @@ function referentialToString(obj, properties) {
|
|
|
12182
12167
|
function referentialsToString(values, properties, separator) {
|
|
12183
12168
|
return (values || []).map(v => referentialToString(v, properties)).join(separator || ', ');
|
|
12184
12169
|
}
|
|
12185
|
-
const ɵ0$
|
|
12170
|
+
const ɵ0$a = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
|
|
12186
12171
|
const StatusList = Object.freeze([
|
|
12187
12172
|
{
|
|
12188
|
-
id: ɵ0$
|
|
12173
|
+
id: ɵ0$a,
|
|
12189
12174
|
icon: 'checkmark',
|
|
12190
12175
|
label: 'REFERENTIAL.STATUS_ENUM.ENABLE'
|
|
12191
12176
|
},
|
|
@@ -12460,7 +12445,7 @@ function accountToString(data) {
|
|
|
12460
12445
|
(data.lastName || '')) || '';
|
|
12461
12446
|
}
|
|
12462
12447
|
|
|
12463
|
-
const uuidv4 = uuidv4Imported;
|
|
12448
|
+
const uuidv4$1 = uuidv4Imported;
|
|
12464
12449
|
const _global = typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : {});
|
|
12465
12450
|
const NativeWebSocket = _global.WebSocket || _global.MozWebSocket;
|
|
12466
12451
|
/**
|
|
@@ -12504,7 +12489,7 @@ function createTrackerLink(opts) {
|
|
|
12504
12489
|
// Skip if not tracked
|
|
12505
12490
|
if (!context || !context.tracked)
|
|
12506
12491
|
return forward(operation);
|
|
12507
|
-
const id = context.serializationKey || uuidv4();
|
|
12492
|
+
const id = context.serializationKey || uuidv4$1();
|
|
12508
12493
|
console.debug(`[apollo-tracker-link] Watching tracked query {${operation.operationName}#${id}}`);
|
|
12509
12494
|
// Clean context, before calling JSON.stringify (remove unused attributes)
|
|
12510
12495
|
const cleanContext = Object.assign(Object.assign({}, context), { optimisticResponse: null, cache: null });
|
|
@@ -13167,7 +13152,7 @@ class GraphqlService extends StartableService {
|
|
|
13167
13152
|
(err.networkError && ((err.networkError.error && this.toAppError(err.networkError.error))
|
|
13168
13153
|
|| this.toAppError(err.networkError)
|
|
13169
13154
|
|| (err.networkError.error && this.createAppErrorByCode(err.networkError.error.status))
|
|
13170
|
-
|| this.createAppErrorByCode(ErrorCodes
|
|
13155
|
+
|| this.createAppErrorByCode(ErrorCodes.UNKNOWN_NETWORK_ERROR)))
|
|
13171
13156
|
// If graphQL: try to convert the first error found
|
|
13172
13157
|
|| (err.graphQLErrors && err.graphQLErrors.length && this.toAppError(err.graphQLErrors[0]))
|
|
13173
13158
|
|| this.toAppError(err)
|
|
@@ -13175,7 +13160,7 @@ class GraphqlService extends StartableService {
|
|
|
13175
13160
|
|| (err.graphQLErrors && err.graphQLErrors[0])
|
|
13176
13161
|
|| err;
|
|
13177
13162
|
console.error('[graphql] ' + (error && error.message || error), error.stack || '');
|
|
13178
|
-
if (error && error.code === ErrorCodes
|
|
13163
|
+
if (error && error.code === ErrorCodes.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
|
|
13179
13164
|
console.error('[graphql] original error: ' + err.networkError.message);
|
|
13180
13165
|
this.onNetworkError.next(error);
|
|
13181
13166
|
}
|
|
@@ -13211,7 +13196,7 @@ class GraphqlService extends StartableService {
|
|
|
13211
13196
|
return 'ERROR.UNAUTHORIZED';
|
|
13212
13197
|
case ServerErrorCodes.FORBIDDEN:
|
|
13213
13198
|
return 'ERROR.FORBIDDEN';
|
|
13214
|
-
case ErrorCodes
|
|
13199
|
+
case ErrorCodes.UNKNOWN_NETWORK_ERROR:
|
|
13215
13200
|
return 'ERROR.UNKNOWN_NETWORK_ERROR';
|
|
13216
13201
|
case ServerErrorCodes.BAD_UPDATE_DATE:
|
|
13217
13202
|
return 'ERROR.BAD_UPDATE_DATE';
|
|
@@ -13242,7 +13227,7 @@ class GraphqlService extends StartableService {
|
|
|
13242
13227
|
return undefined;
|
|
13243
13228
|
}
|
|
13244
13229
|
}
|
|
13245
|
-
GraphqlService.ɵprov =
|
|
13230
|
+
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" });
|
|
13246
13231
|
GraphqlService.decorators = [
|
|
13247
13232
|
{ type: Injectable, args: [{
|
|
13248
13233
|
providedIn: 'root'
|
|
@@ -13259,7 +13244,7 @@ GraphqlService.ctorParameters = () => [
|
|
|
13259
13244
|
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_GRAPHQL_TYPE_POLICIES,] }] }
|
|
13260
13245
|
];
|
|
13261
13246
|
|
|
13262
|
-
const sha256 = require('hash.js/lib/hash/sha/256');
|
|
13247
|
+
const sha256$1 = require('hash.js/lib/hash/sha/256');
|
|
13263
13248
|
class BaseGraphqlServiceOptions {
|
|
13264
13249
|
}
|
|
13265
13250
|
// eslint-disable-next-line @angular-eslint/directive-class-suffix
|
|
@@ -13410,8 +13395,8 @@ class BaseGraphqlService extends StartableService {
|
|
|
13410
13395
|
}
|
|
13411
13396
|
/* -- protected methods -- */
|
|
13412
13397
|
computeMutableWatchQueryId(opts) {
|
|
13413
|
-
const queryName = opts.queryName || sha256().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
|
|
13414
|
-
const variablesKey = opts.variables && sha256().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
|
|
13398
|
+
const queryName = opts.queryName || sha256$1().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
|
|
13399
|
+
const variablesKey = opts.variables && sha256$1().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
|
|
13415
13400
|
return [queryName, opts.arrayFieldName, variablesKey].join('|');
|
|
13416
13401
|
}
|
|
13417
13402
|
findMutableWatchQueries(opts) {
|
|
@@ -13477,7 +13462,7 @@ const DEFAULT_AVATAR_IMAGE = 'assets/img/person.png';
|
|
|
13477
13462
|
/* ------------------------------------
|
|
13478
13463
|
* GraphQL queries
|
|
13479
13464
|
* ------------------------------------*/
|
|
13480
|
-
const Fragments
|
|
13465
|
+
const Fragments = {
|
|
13481
13466
|
account: gql `
|
|
13482
13467
|
fragment AccountFragment on AccountVO {
|
|
13483
13468
|
id
|
|
@@ -13512,14 +13497,14 @@ const Fragments$1 = {
|
|
|
13512
13497
|
}`
|
|
13513
13498
|
};
|
|
13514
13499
|
// Load account query
|
|
13515
|
-
const LoadQuery
|
|
13500
|
+
const LoadQuery = gql `
|
|
13516
13501
|
query Account {
|
|
13517
13502
|
data: account {
|
|
13518
13503
|
...AccountFragment
|
|
13519
13504
|
}
|
|
13520
13505
|
}
|
|
13521
|
-
${Fragments
|
|
13522
|
-
${Fragments
|
|
13506
|
+
${Fragments.account}
|
|
13507
|
+
${Fragments.settings}
|
|
13523
13508
|
`;
|
|
13524
13509
|
// Check email query
|
|
13525
13510
|
const IsEmailExistsQuery = gql `
|
|
@@ -13534,21 +13519,21 @@ const AccountMutations = {
|
|
|
13534
13519
|
...AccountFragment
|
|
13535
13520
|
}
|
|
13536
13521
|
}
|
|
13537
|
-
${Fragments
|
|
13538
|
-
${Fragments
|
|
13522
|
+
${Fragments.account}
|
|
13523
|
+
${Fragments.settings}`,
|
|
13539
13524
|
create: gql `mutation CreateAccount($data:AccountVOInput){
|
|
13540
13525
|
data: createAccount(account: $data){
|
|
13541
13526
|
...AccountFragment
|
|
13542
13527
|
}
|
|
13543
13528
|
}
|
|
13544
|
-
${Fragments
|
|
13545
|
-
${Fragments
|
|
13529
|
+
${Fragments.account}
|
|
13530
|
+
${Fragments.settings}`,
|
|
13546
13531
|
saveSettings: gql `mutation SaveSettings($data:UserSettingsVOInput){
|
|
13547
13532
|
data: saveSettings(settings: $data){
|
|
13548
13533
|
...UserSettingsFragment
|
|
13549
13534
|
}
|
|
13550
13535
|
}
|
|
13551
|
-
${Fragments
|
|
13536
|
+
${Fragments.settings}`
|
|
13552
13537
|
};
|
|
13553
13538
|
// Sent confirmation email
|
|
13554
13539
|
const SendConfirmEmailMutation = gql `
|
|
@@ -13865,7 +13850,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
13865
13850
|
catch (error) {
|
|
13866
13851
|
console.error(error);
|
|
13867
13852
|
this.resetData();
|
|
13868
|
-
throw { code: ErrorCodes
|
|
13853
|
+
throw { code: ErrorCodes.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
|
|
13869
13854
|
}
|
|
13870
13855
|
// Store pubkey+keypair
|
|
13871
13856
|
this._cache.pubkey = Base58.encode(keypair.publicKey);
|
|
@@ -13899,7 +13884,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
13899
13884
|
}
|
|
13900
13885
|
catch (err) {
|
|
13901
13886
|
// If account not found, check if email is valid
|
|
13902
|
-
if (err && +(err.code) === ErrorCodes
|
|
13887
|
+
if (err && +(err.code) === ErrorCodes.LOAD_ACCOUNT_ERROR) {
|
|
13903
13888
|
// Check email exists
|
|
13904
13889
|
if (data.username.indexOf('@') !== -1) {
|
|
13905
13890
|
let isEmailExists;
|
|
@@ -13911,11 +13896,11 @@ class AccountService extends BaseGraphqlService {
|
|
|
13911
13896
|
}
|
|
13912
13897
|
// Email not exists (no account)
|
|
13913
13898
|
if (!isEmailExists) {
|
|
13914
|
-
throw { code: ErrorCodes
|
|
13899
|
+
throw { code: ErrorCodes.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
|
|
13915
13900
|
}
|
|
13916
13901
|
}
|
|
13917
13902
|
// Email exists, so error = 'bad password'
|
|
13918
|
-
throw { code: ErrorCodes
|
|
13903
|
+
throw { code: ErrorCodes.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
|
|
13919
13904
|
}
|
|
13920
13905
|
throw err; // resend the first error
|
|
13921
13906
|
}
|
|
@@ -14061,8 +14046,8 @@ class AccountService extends BaseGraphqlService {
|
|
|
14061
14046
|
// Load remotely
|
|
14062
14047
|
else {
|
|
14063
14048
|
const { data } = yield this.graphql.query({
|
|
14064
|
-
query: LoadQuery
|
|
14065
|
-
error: { code: ErrorCodes
|
|
14049
|
+
query: LoadQuery,
|
|
14050
|
+
error: { code: ErrorCodes.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
|
|
14066
14051
|
fetchPolicy: opts && opts.fetchPolicy || 'no-cache' || undefined
|
|
14067
14052
|
});
|
|
14068
14053
|
json = data;
|
|
@@ -14089,7 +14074,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14089
14074
|
return __awaiter(this, void 0, void 0, function* () {
|
|
14090
14075
|
const isEmailExists = yield this.isEmailExists(email);
|
|
14091
14076
|
if (isEmailExists) {
|
|
14092
|
-
throw { code: ErrorCodes
|
|
14077
|
+
throw { code: ErrorCodes.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
|
|
14093
14078
|
}
|
|
14094
14079
|
});
|
|
14095
14080
|
}
|
|
@@ -14125,7 +14110,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14125
14110
|
locale
|
|
14126
14111
|
},
|
|
14127
14112
|
error: {
|
|
14128
|
-
code: ErrorCodes
|
|
14113
|
+
code: ErrorCodes.SENT_CONFIRMATION_EMAIL_FAILED,
|
|
14129
14114
|
message: 'ERROR.SENT_ACCOUNT_CONFIRMATION_EMAIL_FAILED'
|
|
14130
14115
|
}
|
|
14131
14116
|
});
|
|
@@ -14141,7 +14126,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14141
14126
|
code
|
|
14142
14127
|
},
|
|
14143
14128
|
error: {
|
|
14144
|
-
code: ErrorCodes
|
|
14129
|
+
code: ErrorCodes.CONFIRM_EMAIL_FAILED,
|
|
14145
14130
|
message: 'ERROR.CONFIRM_ACCOUNT_EMAIL_FAILED'
|
|
14146
14131
|
}
|
|
14147
14132
|
});
|
|
@@ -14220,7 +14205,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14220
14205
|
throw error;
|
|
14221
14206
|
console.error(error);
|
|
14222
14207
|
throw {
|
|
14223
|
-
code: ErrorCodes
|
|
14208
|
+
code: ErrorCodes.LOAD_ACCOUNT_ERROR,
|
|
14224
14209
|
message: 'ERROR.LOAD_ACCOUNT_ERROR'
|
|
14225
14210
|
};
|
|
14226
14211
|
}
|
|
@@ -14390,7 +14375,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14390
14375
|
if (!isNew) {
|
|
14391
14376
|
const existingAccount = yield this.load({ fetchPolicy: 'network-only' });
|
|
14392
14377
|
if (!existingAccount || !existingAccount.updateDate) {
|
|
14393
|
-
throw { code: ErrorCodes
|
|
14378
|
+
throw { code: ErrorCodes.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
|
|
14394
14379
|
}
|
|
14395
14380
|
this.copyIdAndUpdateDate(existingAccount, account);
|
|
14396
14381
|
}
|
|
@@ -14402,7 +14387,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14402
14387
|
mutation: isNew ? AccountMutations.create : AccountMutations.save,
|
|
14403
14388
|
variables: { data: json },
|
|
14404
14389
|
error: {
|
|
14405
|
-
code: ErrorCodes
|
|
14390
|
+
code: ErrorCodes.SAVE_ACCOUNT_ERROR,
|
|
14406
14391
|
message: 'ERROR.SAVE_ACCOUNT_ERROR'
|
|
14407
14392
|
}
|
|
14408
14393
|
});
|
|
@@ -14429,7 +14414,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14429
14414
|
mutation: AccountMutations.saveSettings,
|
|
14430
14415
|
variables: { data: json },
|
|
14431
14416
|
error: {
|
|
14432
|
-
code: ErrorCodes
|
|
14417
|
+
code: ErrorCodes.SAVE_SETTINGS_ERROR,
|
|
14433
14418
|
message: 'ERROR.SAVE_SETTINGS_ERROR'
|
|
14434
14419
|
}
|
|
14435
14420
|
});
|
|
@@ -14451,7 +14436,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14451
14436
|
if (counter > 4) {
|
|
14452
14437
|
if (this._debug)
|
|
14453
14438
|
console.debug(`[account] Failed to authentication on pod (after ${counter} attempts)`);
|
|
14454
|
-
throw { code: ErrorCodes
|
|
14439
|
+
throw { code: ErrorCodes.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
|
|
14455
14440
|
}
|
|
14456
14441
|
// Check if valid
|
|
14457
14442
|
if (token) {
|
|
@@ -14461,7 +14446,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14461
14446
|
token
|
|
14462
14447
|
},
|
|
14463
14448
|
error: {
|
|
14464
|
-
code: ErrorCodes
|
|
14449
|
+
code: ErrorCodes.UNAUTHORIZED,
|
|
14465
14450
|
message: 'ERROR.UNAUTHORIZED'
|
|
14466
14451
|
},
|
|
14467
14452
|
fetchPolicy: 'no-cache'
|
|
@@ -14477,7 +14462,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14477
14462
|
}
|
|
14478
14463
|
// Generate a new token
|
|
14479
14464
|
const challengeError = {
|
|
14480
|
-
code: ErrorCodes
|
|
14465
|
+
code: ErrorCodes.AUTH_CHALLENGE_ERROR,
|
|
14481
14466
|
message: 'ERROR.AUTH_CHALLENGE_ERROR'
|
|
14482
14467
|
};
|
|
14483
14468
|
const data = yield this.graphql.query({
|
|
@@ -14555,7 +14540,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14555
14540
|
query: AccountSubscriptions.listenChanges,
|
|
14556
14541
|
variables,
|
|
14557
14542
|
error: {
|
|
14558
|
-
code: ErrorCodes
|
|
14543
|
+
code: ErrorCodes.SUBSCRIBE_ACCOUNT_ERROR,
|
|
14559
14544
|
message: 'ERROR.ACCOUNT.SUBSCRIBE_ERROR'
|
|
14560
14545
|
}
|
|
14561
14546
|
}).pipe(map(({ data }) => data),
|
|
@@ -14584,7 +14569,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14584
14569
|
return Toasts.show(this.toastController, this.translate, opts);
|
|
14585
14570
|
}
|
|
14586
14571
|
}
|
|
14587
|
-
AccountService.ɵprov =
|
|
14572
|
+
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" });
|
|
14588
14573
|
AccountService.decorators = [
|
|
14589
14574
|
{ type: Injectable, args: [{ providedIn: 'root', deps: [ENVIRONMENT] },] }
|
|
14590
14575
|
];
|
|
@@ -14846,7 +14831,7 @@ const CONFIGURATION_STORAGE_KEY = 'configuration';
|
|
|
14846
14831
|
/* ------------------------------------
|
|
14847
14832
|
* GraphQL queries
|
|
14848
14833
|
* ------------------------------------*/
|
|
14849
|
-
const Fragments = {
|
|
14834
|
+
const Fragments$1 = {
|
|
14850
14835
|
config: gql `
|
|
14851
14836
|
fragment ConfigFragment on ConfigurationVO {
|
|
14852
14837
|
id
|
|
@@ -14873,13 +14858,13 @@ const Fragments = {
|
|
|
14873
14858
|
}
|
|
14874
14859
|
`
|
|
14875
14860
|
};
|
|
14876
|
-
const LoadQuery = gql `
|
|
14861
|
+
const LoadQuery$1 = gql `
|
|
14877
14862
|
query Configuration{
|
|
14878
14863
|
data: configuration{
|
|
14879
14864
|
...ConfigFragment
|
|
14880
14865
|
}
|
|
14881
14866
|
}
|
|
14882
|
-
${Fragments.config}
|
|
14867
|
+
${Fragments$1.config}
|
|
14883
14868
|
`;
|
|
14884
14869
|
// Save (create or update) account mutation
|
|
14885
14870
|
const SaveMutation = gql `
|
|
@@ -14888,7 +14873,7 @@ const SaveMutation = gql `
|
|
|
14888
14873
|
...ConfigFragment
|
|
14889
14874
|
}
|
|
14890
14875
|
}
|
|
14891
|
-
${Fragments.config}
|
|
14876
|
+
${Fragments$1.config}
|
|
14892
14877
|
`;
|
|
14893
14878
|
const ClearCache = gql `
|
|
14894
14879
|
query ClearCache($name: String) {
|
|
@@ -14939,12 +14924,12 @@ class ConfigService extends BaseGraphqlService {
|
|
|
14939
14924
|
return __awaiter(this, void 0, void 0, function* () {
|
|
14940
14925
|
const now = Date.now();
|
|
14941
14926
|
console.debug('[config] Loading Pod configuration...');
|
|
14942
|
-
const query = opts && opts.query || LoadQuery;
|
|
14927
|
+
const query = opts && opts.query || LoadQuery$1;
|
|
14943
14928
|
const variables = opts && opts.variables || undefined;
|
|
14944
14929
|
const res = yield this.graphql.query({
|
|
14945
14930
|
query,
|
|
14946
14931
|
variables,
|
|
14947
|
-
error: { code: ErrorCodes
|
|
14932
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
14948
14933
|
fetchPolicy: opts && opts.fetchPolicy || undefined /*default*/
|
|
14949
14934
|
});
|
|
14950
14935
|
const data = res && res.data ? Configuration.fromObject(res.data) : undefined;
|
|
@@ -14977,7 +14962,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
14977
14962
|
data: json
|
|
14978
14963
|
},
|
|
14979
14964
|
error: {
|
|
14980
|
-
code: ErrorCodes
|
|
14965
|
+
code: ErrorCodes.SAVE_CONFIG_ERROR,
|
|
14981
14966
|
message: 'ERROR.SAVE_CONFIG_ERROR'
|
|
14982
14967
|
}
|
|
14983
14968
|
});
|
|
@@ -15003,7 +14988,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
15003
14988
|
const res = yield this.graphql.query({
|
|
15004
14989
|
query: CacheStatistics,
|
|
15005
14990
|
variables: null,
|
|
15006
|
-
error: { code: ErrorCodes
|
|
14991
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
15007
14992
|
fetchPolicy: 'network-only'
|
|
15008
14993
|
});
|
|
15009
14994
|
const data = res && res.cacheStatistics || undefined;
|
|
@@ -15019,7 +15004,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
15019
15004
|
const res = yield this.graphql.query({
|
|
15020
15005
|
query: ClearCache,
|
|
15021
15006
|
variables,
|
|
15022
|
-
error: { code: ErrorCodes
|
|
15007
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
15023
15008
|
fetchPolicy: 'network-only'
|
|
15024
15009
|
});
|
|
15025
15010
|
const data = res && res.clearCache || undefined;
|
|
@@ -15178,7 +15163,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
15178
15163
|
});
|
|
15179
15164
|
}
|
|
15180
15165
|
}
|
|
15181
|
-
ConfigService.ɵprov =
|
|
15166
|
+
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" });
|
|
15182
15167
|
ConfigService.decorators = [
|
|
15183
15168
|
{ type: Injectable, args: [{
|
|
15184
15169
|
providedIn: 'root',
|
|
@@ -15198,7 +15183,7 @@ ConfigService.ctorParameters = () => [
|
|
|
15198
15183
|
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_CONFIG_OPTIONS,] }] }
|
|
15199
15184
|
];
|
|
15200
15185
|
|
|
15201
|
-
const moment$
|
|
15186
|
+
const moment$4 = momentImported;
|
|
15202
15187
|
class PlatformService extends StartableService {
|
|
15203
15188
|
constructor(platform, cdkPlatform, toastController, translate, dateAdapter, entitiesStorage, settings, networkService, accountService, configService, cache, storage, audioProvider, environment, statusBar, keyboard, splashScreen, browser, downloader) {
|
|
15204
15189
|
super(platform);
|
|
@@ -15405,16 +15390,16 @@ class PlatformService extends StartableService {
|
|
|
15405
15390
|
}
|
|
15406
15391
|
// config moment lib
|
|
15407
15392
|
try {
|
|
15408
|
-
moment$
|
|
15393
|
+
moment$4.locale(event.lang);
|
|
15409
15394
|
console.debug('[platform] Use locale {' + event.lang + '}');
|
|
15410
15395
|
}
|
|
15411
15396
|
// If error, fallback to en
|
|
15412
15397
|
catch (err) {
|
|
15413
|
-
moment$
|
|
15398
|
+
moment$4.locale('en');
|
|
15414
15399
|
console.warn('[platform] Unknown local for moment lib. Using default [en]');
|
|
15415
15400
|
}
|
|
15416
15401
|
// Config date adapter
|
|
15417
|
-
this.dateAdapter.setLocale(moment$
|
|
15402
|
+
this.dateAdapter.setLocale(moment$4.locale());
|
|
15418
15403
|
}
|
|
15419
15404
|
});
|
|
15420
15405
|
this.settings.onChange.subscribe(data => {
|
|
@@ -15547,7 +15532,7 @@ class PlatformService extends StartableService {
|
|
|
15547
15532
|
});
|
|
15548
15533
|
}
|
|
15549
15534
|
}
|
|
15550
|
-
PlatformService.ɵprov =
|
|
15535
|
+
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" });
|
|
15551
15536
|
PlatformService.decorators = [
|
|
15552
15537
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
15553
15538
|
];
|
|
@@ -15562,15 +15547,15 @@ PlatformService.ctorParameters = () => [
|
|
|
15562
15547
|
{ type: NetworkService },
|
|
15563
15548
|
{ type: AccountService },
|
|
15564
15549
|
{ type: ConfigService },
|
|
15565
|
-
{ type: CacheService },
|
|
15550
|
+
{ type: CacheService$1 },
|
|
15566
15551
|
{ type: Storage },
|
|
15567
15552
|
{ type: AudioProvider },
|
|
15568
15553
|
{ type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
|
|
15569
|
-
{ type: StatusBar, decorators: [{ type: Optional }] },
|
|
15554
|
+
{ type: StatusBar$1, decorators: [{ type: Optional }] },
|
|
15570
15555
|
{ type: Keyboard, decorators: [{ type: Optional }] },
|
|
15571
|
-
{ type: SplashScreen, decorators: [{ type: Optional }] },
|
|
15572
|
-
{ type: InAppBrowser, decorators: [{ type: Optional }] },
|
|
15573
|
-
{ type: Downloader, decorators: [{ type: Optional }] }
|
|
15556
|
+
{ type: SplashScreen$1, decorators: [{ type: Optional }] },
|
|
15557
|
+
{ type: InAppBrowser$1, decorators: [{ type: Optional }] },
|
|
15558
|
+
{ type: Downloader$1, decorators: [{ type: Optional }] }
|
|
15574
15559
|
];
|
|
15575
15560
|
|
|
15576
15561
|
class AppHelpModal {
|
|
@@ -15634,7 +15619,7 @@ class MatStepperI18n extends MatStepperIntl {
|
|
|
15634
15619
|
this.optionalLabel = this.translate.instant('COMMON.OPTIONAL');
|
|
15635
15620
|
}
|
|
15636
15621
|
}
|
|
15637
|
-
MatStepperI18n.ɵprov =
|
|
15622
|
+
MatStepperI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(ɵɵinject(TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
|
|
15638
15623
|
MatStepperI18n.decorators = [
|
|
15639
15624
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
15640
15625
|
];
|
|
@@ -16636,7 +16621,7 @@ function state2side(state) {
|
|
|
16636
16621
|
return 1;
|
|
16637
16622
|
}
|
|
16638
16623
|
}
|
|
16639
|
-
const ɵ0$
|
|
16624
|
+
const ɵ0$b = (defaultStateSize) => [
|
|
16640
16625
|
Math.round((rgbArrayMap.red[0] - 50) / defaultStateSize),
|
|
16641
16626
|
Math.round((255 - rgbArrayMap.red[1]) / defaultStateSize),
|
|
16642
16627
|
Math.round((255 - rgbArrayMap.red[2]) / defaultStateSize)
|
|
@@ -16644,7 +16629,7 @@ const ɵ0$1 = (defaultStateSize) => [
|
|
|
16644
16629
|
const SCALE_OPTIONS_DEFAULT = {
|
|
16645
16630
|
startColor: rgbArrayMap.red,
|
|
16646
16631
|
startStates: [0, 2, 3],
|
|
16647
|
-
startStepsFn: ɵ0$
|
|
16632
|
+
startStepsFn: ɵ0$b
|
|
16648
16633
|
};
|
|
16649
16634
|
/**
|
|
16650
16635
|
* Internal function, that create a colors scale, using iteration
|
|
@@ -16736,21 +16721,21 @@ function linearColorGradient(count, options) {
|
|
|
16736
16721
|
return result;
|
|
16737
16722
|
}
|
|
16738
16723
|
|
|
16739
|
-
class EntityTestClass
|
|
16724
|
+
class EntityTestClass {
|
|
16740
16725
|
}
|
|
16741
|
-
const FAKE_ENTITIES
|
|
16726
|
+
const FAKE_ENTITIES = [
|
|
16742
16727
|
{ id: 1, label: 'AAA', name: 'Item A', description: 'Very long description A', comments: 'Very very long comments... again for A' },
|
|
16743
16728
|
{ id: 2, label: 'BBB', name: 'Item B', description: 'Very long description B', comments: 'Very very long comments... again for B' },
|
|
16744
16729
|
{ id: 3, label: 'CCC', name: 'Item C', description: 'Very long description C', comments: 'Very very long comments... again for C' }
|
|
16745
16730
|
];
|
|
16746
|
-
function deepCopy
|
|
16731
|
+
function deepCopy(values, size) {
|
|
16747
16732
|
if (isNil(size)) {
|
|
16748
|
-
return (values || FAKE_ENTITIES
|
|
16733
|
+
return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
|
|
16749
16734
|
}
|
|
16750
16735
|
let result = [];
|
|
16751
16736
|
let i = 1;
|
|
16752
16737
|
while (result.length < size) {
|
|
16753
|
-
result = result.concat((values || FAKE_ENTITIES
|
|
16738
|
+
result = result.concat((values || FAKE_ENTITIES).map(entity => {
|
|
16754
16739
|
const name = entity.name + ' #' + i;
|
|
16755
16740
|
return Object.assign(Object.assign({}, entity), { id: i++, name });
|
|
16756
16741
|
}));
|
|
@@ -16760,7 +16745,7 @@ function deepCopy$1(values, size) {
|
|
|
16760
16745
|
class AutocompleteTestPage {
|
|
16761
16746
|
constructor(formBuilder) {
|
|
16762
16747
|
this.formBuilder = formBuilder;
|
|
16763
|
-
this._items = deepCopy
|
|
16748
|
+
this._items = deepCopy(FAKE_ENTITIES, 100);
|
|
16764
16749
|
this._$items = new BehaviorSubject(undefined);
|
|
16765
16750
|
this.autocompleteFields = new MatAutocompleteConfigHolder();
|
|
16766
16751
|
this.memoryHide = false;
|
|
@@ -16804,7 +16789,7 @@ class AutocompleteTestPage {
|
|
|
16804
16789
|
});
|
|
16805
16790
|
// From items
|
|
16806
16791
|
this.autocompleteFields.add('entity-items-large', {
|
|
16807
|
-
items: FAKE_ENTITIES
|
|
16792
|
+
items: FAKE_ENTITIES.slice(),
|
|
16808
16793
|
attributes: ['label', 'name', 'description', 'comments'],
|
|
16809
16794
|
displayWith: this.entityToString
|
|
16810
16795
|
});
|
|
@@ -16814,12 +16799,12 @@ class AutocompleteTestPage {
|
|
|
16814
16799
|
loadData() {
|
|
16815
16800
|
return __awaiter(this, void 0, void 0, function* () {
|
|
16816
16801
|
const data = {
|
|
16817
|
-
entity: deepCopy
|
|
16802
|
+
entity: deepCopy(FAKE_ENTITIES)[0],
|
|
16818
16803
|
// This item is NOT in the items list => i should be displayed anyway
|
|
16819
16804
|
missingEntity: {
|
|
16820
16805
|
id: -1, label: '??', name: 'Missing item'
|
|
16821
16806
|
},
|
|
16822
|
-
disableEntity: deepCopy
|
|
16807
|
+
disableEntity: deepCopy(FAKE_ENTITIES)[2]
|
|
16823
16808
|
};
|
|
16824
16809
|
this.form.setValue(data);
|
|
16825
16810
|
// Load observables
|
|
@@ -16992,13 +16977,13 @@ MaterialTestingPage.ctorParameters = () => [
|
|
|
16992
16977
|
{ type: Array, decorators: [{ type: Optional }, { type: Inject, args: [APP_TESTING_PAGES,] }] }
|
|
16993
16978
|
];
|
|
16994
16979
|
|
|
16995
|
-
const moment$
|
|
16980
|
+
const moment$5 = momentImported;
|
|
16996
16981
|
class SwipeTestPage {
|
|
16997
16982
|
constructor(formBuilder, dateFormatPipe) {
|
|
16998
16983
|
this.formBuilder = formBuilder;
|
|
16999
16984
|
this.dateFormatPipe = dateFormatPipe;
|
|
17000
16985
|
this.$dates = new BehaviorSubject(undefined);
|
|
17001
|
-
this._today = moment$
|
|
16986
|
+
this._today = moment$5().startOf('day');
|
|
17002
16987
|
this.form = formBuilder.group({
|
|
17003
16988
|
empty: [null, Validators.required],
|
|
17004
16989
|
date: [null, Validators.compose([Validators.required, SharedValidators.validDate])],
|
|
@@ -17011,7 +16996,7 @@ class SwipeTestPage {
|
|
|
17011
16996
|
ngOnInit() {
|
|
17012
16997
|
const dates = [];
|
|
17013
16998
|
for (let d = 0; d < 7; d++) {
|
|
17014
|
-
dates[d] = moment$
|
|
16999
|
+
dates[d] = moment$5(this._today).add(d - 3, 'day');
|
|
17015
17000
|
}
|
|
17016
17001
|
this.$dates.next(dates);
|
|
17017
17002
|
this.loadData();
|
|
@@ -17052,7 +17037,7 @@ SwipeTestPage.ctorParameters = () => [
|
|
|
17052
17037
|
{ type: DateFormatPipe }
|
|
17053
17038
|
];
|
|
17054
17039
|
|
|
17055
|
-
const moment = momentImported;
|
|
17040
|
+
const moment$6 = momentImported;
|
|
17056
17041
|
class DateTimeTestPage {
|
|
17057
17042
|
constructor(platform, formBuilder, cd) {
|
|
17058
17043
|
this.platform = platform;
|
|
@@ -17084,7 +17069,7 @@ class DateTimeTestPage {
|
|
|
17084
17069
|
// Load the form with data
|
|
17085
17070
|
loadData() {
|
|
17086
17071
|
return __awaiter(this, void 0, void 0, function* () {
|
|
17087
|
-
const now = moment();
|
|
17072
|
+
const now = moment$6();
|
|
17088
17073
|
const data = {
|
|
17089
17074
|
empty: toDateISOString(now.clone().add(2, 'hours')),
|
|
17090
17075
|
enable: toDateISOString(now),
|
|
@@ -17145,9 +17130,9 @@ DateTimeTestPage.ctorParameters = () => [
|
|
|
17145
17130
|
{ type: ChangeDetectorRef }
|
|
17146
17131
|
];
|
|
17147
17132
|
|
|
17148
|
-
class EntityTestClass {
|
|
17133
|
+
class EntityTestClass$1 {
|
|
17149
17134
|
}
|
|
17150
|
-
const FAKE_ENTITIES = [
|
|
17135
|
+
const FAKE_ENTITIES$1 = [
|
|
17151
17136
|
{ id: 1, label: 'AAA', name: 'Item A' },
|
|
17152
17137
|
{ id: 2, label: 'BBB', name: 'Item B' },
|
|
17153
17138
|
{ id: 3, label: 'CCC', name: 'Item C' },
|
|
@@ -17156,14 +17141,14 @@ const FAKE_ENTITIES = [
|
|
|
17156
17141
|
{ id: 6, label: 'FFF', name: 'Item F' },
|
|
17157
17142
|
{ id: 7, label: 'GGG', name: 'Item G' }
|
|
17158
17143
|
];
|
|
17159
|
-
function deepCopy(values, size) {
|
|
17144
|
+
function deepCopy$1(values, size) {
|
|
17160
17145
|
if (isNil(size)) {
|
|
17161
|
-
return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
|
|
17146
|
+
return (values || FAKE_ENTITIES$1).map(entity => Object.assign({}, entity));
|
|
17162
17147
|
}
|
|
17163
17148
|
let result = [];
|
|
17164
17149
|
let i = 1;
|
|
17165
17150
|
while (result.length < size) {
|
|
17166
|
-
result = result.concat((values || FAKE_ENTITIES).map(entity => {
|
|
17151
|
+
result = result.concat((values || FAKE_ENTITIES$1).map(entity => {
|
|
17167
17152
|
const name = entity.name + ' #' + i;
|
|
17168
17153
|
return Object.assign(Object.assign({}, entity), { id: i++, name });
|
|
17169
17154
|
}));
|
|
@@ -17173,7 +17158,7 @@ function deepCopy(values, size) {
|
|
|
17173
17158
|
class ChipsTestPage {
|
|
17174
17159
|
constructor(formBuilder) {
|
|
17175
17160
|
this.formBuilder = formBuilder;
|
|
17176
|
-
this._items = deepCopy(FAKE_ENTITIES, 100);
|
|
17161
|
+
this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
|
|
17177
17162
|
this._$items = new BehaviorSubject(undefined);
|
|
17178
17163
|
this.autocompleteFields = new MatAutocompleteConfigHolder();
|
|
17179
17164
|
this.form = formBuilder.group({
|
|
@@ -17212,7 +17197,7 @@ class ChipsTestPage {
|
|
|
17212
17197
|
// Load the form with data
|
|
17213
17198
|
loadData() {
|
|
17214
17199
|
return __awaiter(this, void 0, void 0, function* () {
|
|
17215
|
-
const items = deepCopy(FAKE_ENTITIES);
|
|
17200
|
+
const items = deepCopy$1(FAKE_ENTITIES$1);
|
|
17216
17201
|
const data = {
|
|
17217
17202
|
entity: items.slice(0, 1),
|
|
17218
17203
|
entityInitial: items.slice(1, 2),
|
|
@@ -17288,7 +17273,7 @@ MatBadgeIconTestPage.decorators = [
|
|
|
17288
17273
|
},] }
|
|
17289
17274
|
];
|
|
17290
17275
|
|
|
17291
|
-
const routes
|
|
17276
|
+
const routes = [
|
|
17292
17277
|
{
|
|
17293
17278
|
path: '',
|
|
17294
17279
|
pathMatch: 'full',
|
|
@@ -17340,7 +17325,7 @@ MaterialTestingModule.decorators = [
|
|
|
17340
17325
|
ReactiveFormsModule,
|
|
17341
17326
|
SharedMaterialModule,
|
|
17342
17327
|
TranslateModule.forChild(),
|
|
17343
|
-
RouterModule.forChild(routes
|
|
17328
|
+
RouterModule.forChild(routes)
|
|
17344
17329
|
],
|
|
17345
17330
|
declarations: [
|
|
17346
17331
|
MaterialTestingPage,
|
|
@@ -18049,6 +18034,7 @@ function getRandomImage(files) {
|
|
|
18049
18034
|
const APP_HOME_BUTTONS = new InjectionToken('homeButton');
|
|
18050
18035
|
class HomePage {
|
|
18051
18036
|
constructor(accountService, modalCtrl, translate, toastController, configService, platform, cd, network, settings, environment, locales, buttons) {
|
|
18037
|
+
var _a;
|
|
18052
18038
|
this.accountService = accountService;
|
|
18053
18039
|
this.modalCtrl = modalCtrl;
|
|
18054
18040
|
this.translate = translate;
|
|
@@ -18074,6 +18060,7 @@ class HomePage {
|
|
|
18074
18060
|
this._debug = !environment.production;
|
|
18075
18061
|
this.showSpinner = !this.platform.started;
|
|
18076
18062
|
this.platform.ready().then(() => this.start());
|
|
18063
|
+
this.showAccountButton = toBoolean((_a = environment.account) === null || _a === void 0 ? void 0 : _a.showAccountButton, true);
|
|
18077
18064
|
}
|
|
18078
18065
|
get currentLocaleCode() {
|
|
18079
18066
|
return this.loading ? '' :
|
|
@@ -18263,7 +18250,7 @@ HomePage.decorators = [
|
|
|
18263
18250
|
{ type: Component, args: [{
|
|
18264
18251
|
moduleId: module.id.toString(),
|
|
18265
18252
|
selector: 'app-page-home',
|
|
18266
|
-
template: "<app-toolbar [canGoBack]=\"false\"\n visible-xs visible-sm visible-mobile>\n\n <!-- change locale button -->\n <ion-button slot=\"end\" *ngIf=\"currentLocaleCode; let code\"\n [matMenuTriggerFor]=\"localeMenu\">\n <ion-label class=\"ion-text-uppercase\"> {{ code }}</ion-label>\n <mat-icon slot=\"end\">arrow_drop_down</mat-icon>\n </ion-button>\n</app-toolbar>\n\n<!-- change locale menu -->\n<mat-menu #localeMenu=\"matMenu\">\n <button *ngFor=\"let item of locales\"\n mat-menu-item\n (click)=\"changeLanguage(item.key)\">\n <ion-label>{{item.value}}</ion-label>\n </button>\n</mat-menu>\n\n<ion-content [ngStyle]=\"contentStyle\" no-padding-xs>\n\n <!-- loading spinner -->\n <div class=\"loading-page\" [class.cdk-visually-hidden]=\"!loading\">\n <div class=\"spinner\" *ngIf=\"loading && showSpinner\">\n <p>Loading...</p>\n <div class=\"sk-cube1 sk-cube\"></div>\n <div class=\"sk-cube2 sk-cube\"></div>\n <div class=\"sk-cube4 sk-cube\"></div>\n <div class=\"sk-cube3 sk-cube\"></div>\n </div>\n </div>\n\n <!-- Desktop: translucent top toolbar -->\n <div hidden-xs hidden-sm hidden-mobile>\n <ion-toolbar translucent>\n <ion-buttons slot=\"start\">\n <ion-menu-toggle>\n <ion-button color=\"light\" fill=\"clear\">\n <ion-icon slot=\"icon-only\" name=\"menu\"></ion-icon>\n </ion-button>\n </ion-menu-toggle>\n </ion-buttons>\n\n <ion-buttons slot=\"end\">\n <!-- change locale button -->\n <ion-button color=\"secondary\" fill=\"solid\"\n *ngIf=\"currentLocaleCode; let code\"\n [matMenuTriggerFor]=\"localeMenu\">\n <ion-label class=\"ion-text-uppercase\"> {{ code }}</ion-label>\n <mat-icon slot=\"end\">arrow_drop_down</mat-icon>\n </ion-button>\n </ion-buttons>\n </ion-toolbar>\n </div>\n\n <!-- Install (and upgrade) card -->\n <app-install-upgrade-card [isLogin]=\"isLogin\"\n showInstallButton=\"true\">\n </app-install-upgrade-card>\n\n <!-- Welcome card -->\n <ion-card *ngIf=\"!loading\"\n class=\"main welcome ion-padding ion-text-center ion-align-self-center\"\n @fadeInAnimation>\n <ion-card-header>\n <ion-card-title class=\"ion-text-center\">\n <span *ngIf=\"isWeb\" [innerHTML]=\"'HOME.WELCOME_WEB'|translate: {appName: appName}\"></span>\n <span *ngIf=\"!isWeb\" [innerHTML]=\"'HOME.WELCOME_APP'|translate: {appName: appName}\"></span>\n </ion-card-title>\n <ion-card-subtitle [innerHTML]=\"description\">\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content class=\"ion-no-padding\">\n <ion-text color=\"primary\">\n <img class=\"logo\" *ngIf=\"logo\" src=\"{{ logo }}\">\n </ion-text>\n <!-- register help text -->\n <ion-text *ngIf=\"!isLogin && canRegister\">\n <br/>\n <span translate>HOME.REGISTER_HELP</span>\n </ion-text>\n </ion-card-content>\n\n <ion-footer class=\"ion-padding-top\">\n\n <!-- If NOT login -->\n <ng-container *ngIf=\"!isLogin; else loginButtons;\">\n\n <ion-button *ngIf=\"canRegister\" expand=\"block\" color=\"tertiary\" (click)=\"register()\">\n <span translate>HOME.BTN_REGISTER</span>\n </ion-button>\n <ion-button expand=\"block\" color=\"light\" [routerLink]=\"['/']\" (click)=\"login()\">\n <span translate>AUTH.BTN_LOGIN</span>\n </ion-button>\n\n </ng-container>\n\n <!-- If user login -->\n <ng-template #loginButtons>\n\n <!-- Feature buttons -->\n <ng-container *ngIf=\"$filteredButtons | async as buttons\">\n <ng-container *ngFor=\"let item of buttons\">\n <ion-button *ngIf=\"item.path\"\n expand=\"block\" color=\"tertiary\"\n [class]=\"item.cssClass\"\n [routerLink]=\"item.path\"\n routerDirection=\"root\">\n <ion-icon slot=\"start\" class=\"ion-float-start\" *ngIf=\"item.icon\" [name]=\"item.icon\"></ion-icon>\n <mat-icon slot=\"start\" class=\"ion-float-start\" *ngIf=\"item.matIcon\">{{item.matIcon}}</mat-icon>\n <ion-text>{{'HOME.BTN_DATA_ENTRY'|translate: {name: (item.title | translate) } }}</ion-text>\n </ion-button>\n\n <!-- divider -->\n <div *ngIf=\"!item.path && !item.action\" [class]=\"item.cssClass\">\n <ion-label translate>{{item.title}} </ion-label>\n </div>\n </ng-container>\n\n <!--<p *ngIf=\"buttons.length\" class=\"visible-mobile\"> </p>-->\n </ng-container>\n\n <ion-button expand=\"block\" color=\"secondary\" [routerLink]=\"['/account']\">\n <ion-icon slot=\"start\" class=\"ion-float-start\" name=\"person-circle\"></ion-icon>\n <ion-text translate>HOME.BTN_MY_ACCOUNT</ion-text>\n </ion-button>\n\n <p hidden-xs hidden-sm hidden-mobile>\n <ion-text [innerHTML]=\"'HOME.NOT_THIS_ACCOUNT_QUESTION' | translate: {displayName: accountName }\"></ion-text>\n <br/>\n <ion-text>\n <a href=\"#\" (click)=\"logout($event)\">\n <span translate>HOME.BTN_DISCONNECT</span>\n </a>\n </ion-text>\n </p>\n\n\n </ng-template>\n\n </ion-footer>\n </ion-card>\n\n <!-- Page history -->\n <ion-grid *ngIf=\"!loading && isLogin && pageHistory.length; else bottomBanner\"\n class=\"history-container ion-align-self-center\">\n <ion-row>\n <ion-col size=\"12\" size-xl=\"\" *ngFor=\"let page of pageHistory; trackBy: getPagePath\"\n class=\"ion-text-center\">\n <ion-card class=\"ion-align-self-start ion-text-start\" @fadeInAnimation>\n <ion-card-header class=\"ion-no-padding\">\n <!-- top bar -->\n <ion-card-subtitle>\n <button type=\"button\" tabindex=\"-1\"\n (click)=\"settings.removePageHistory(page.path)\"\n mat-icon-button class=\"ion-float-start ion-no-margin\">\n <mat-icon>close</mat-icon>\n </button>\n <ion-label [innerHTML]=\"page.subtitle|translate\"></ion-label>\n <ion-text class=\"ion-float-end\" [title]=\"page.time|dateFormat:{time: true}\">\n <small><ion-icon name=\"time-outline\"></ion-icon> {{ page.time|dateFromNow }}</small> \n </ion-text>\n </ion-card-subtitle>\n\n <!-- main page -->\n <ion-card-title class=\"ion-no-margin ion-no-padding\">\n <ion-item detail=\"true\"\n tappable class=\"text-1x\"\n [routerLink]=\"page.path\"\n routerDirection=\"root\" lines=\"none\">\n <!-- page icon-->\n <ion-icon *ngIf=\"page.icon\" slot=\"start\" [name]=\"page.icon\"></ion-icon>\n <mat-icon *ngIf=\"page.matIcon\" slot=\"start\">{{page.matIcon}}</mat-icon>\n\n <ion-label color=\"primary\" [innerHTML]=\"page.title\"></ion-label>\n </ion-item>\n </ion-card-title>\n </ion-card-header>\n\n <!-- children pages -->\n <ion-card-content class=\"ion-no-padding ion-padding-start\" *ngIf=\"page.children?.length\">\n <ion-list class=\"ion-no-padding\">\n <ion-item detail=\"true\"\n *ngFor=\"let childPage of page.children\"\n tappable class=\"text-1x\"\n [routerLink]=\"childPage.path\"\n routerDirection=\"root\">\n <!-- page icon-->\n <ion-icon *ngIf=\"childPage.icon\" slot=\"start\" color=\"dark\" [name]=\"childPage.icon\"></ion-icon>\n <mat-icon *ngIf=\"childPage.matIcon\" slot=\"start\" color=\"dark\">{{childPage.matIcon}}</mat-icon>\n\n <ion-label color=\"dark\" [innerHTML]=\"childPage.title\"></ion-label>\n </ion-item>\n </ion-list>\n </ion-card-content>\n </ion-card>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n <!-- Display configured Departments logos -->\n <ng-template #bottomBanner>\n <div class=\"bottom-banner ion-text-center ion-padding\" *ngIf=\"!loadingBanner\" @fadeInAnimation>\n <a href=\"{{ item.siteUrl }}\" *ngFor=\"let item of $partners | async \">\n <img class=\"logo\" src=\"{{ item.logo }}\" alt=\"{{item.label}}\" [title]=\"item.label\" />\n </a>\n </div>\n </ng-template>\n\n\n</ion-content>\n",
|
|
18253
|
+
template: "<app-toolbar [canGoBack]=\"false\"\n visible-xs visible-sm visible-mobile>\n\n <!-- change locale button -->\n <ion-button slot=\"end\" *ngIf=\"currentLocaleCode; let code\"\n [matMenuTriggerFor]=\"localeMenu\">\n <ion-label class=\"ion-text-uppercase\"> {{ code }}</ion-label>\n <mat-icon slot=\"end\">arrow_drop_down</mat-icon>\n </ion-button>\n</app-toolbar>\n\n<!-- change locale menu -->\n<mat-menu #localeMenu=\"matMenu\">\n <button *ngFor=\"let item of locales\"\n mat-menu-item\n (click)=\"changeLanguage(item.key)\">\n <ion-label>{{item.value}}</ion-label>\n </button>\n</mat-menu>\n\n<ion-content [ngStyle]=\"contentStyle\" no-padding-xs>\n\n <!-- loading spinner -->\n <div class=\"loading-page\" [class.cdk-visually-hidden]=\"!loading\">\n <div class=\"spinner\" *ngIf=\"loading && showSpinner\">\n <p>Loading...</p>\n <div class=\"sk-cube1 sk-cube\"></div>\n <div class=\"sk-cube2 sk-cube\"></div>\n <div class=\"sk-cube4 sk-cube\"></div>\n <div class=\"sk-cube3 sk-cube\"></div>\n </div>\n </div>\n\n <!-- Desktop: translucent top toolbar -->\n <div hidden-xs hidden-sm hidden-mobile>\n <ion-toolbar translucent>\n <ion-buttons slot=\"start\">\n <ion-menu-toggle>\n <ion-button color=\"light\" fill=\"clear\">\n <ion-icon slot=\"icon-only\" name=\"menu\"></ion-icon>\n </ion-button>\n </ion-menu-toggle>\n </ion-buttons>\n\n <ion-buttons slot=\"end\">\n <!-- change locale button -->\n <ion-button color=\"secondary\" fill=\"solid\"\n *ngIf=\"currentLocaleCode; let code\"\n [matMenuTriggerFor]=\"localeMenu\">\n <ion-label class=\"ion-text-uppercase\"> {{ code }}</ion-label>\n <mat-icon slot=\"end\">arrow_drop_down</mat-icon>\n </ion-button>\n </ion-buttons>\n </ion-toolbar>\n </div>\n\n <!-- Install (and upgrade) card -->\n <app-install-upgrade-card [isLogin]=\"isLogin\"\n showInstallButton=\"true\">\n </app-install-upgrade-card>\n\n <!-- Welcome card -->\n <ion-card *ngIf=\"!loading\"\n class=\"main welcome ion-padding ion-text-center ion-align-self-center\"\n @fadeInAnimation>\n <ion-card-header>\n <ion-card-title class=\"ion-text-center\">\n <span *ngIf=\"isWeb\" [innerHTML]=\"'HOME.WELCOME_WEB'|translate: {appName: appName}\"></span>\n <span *ngIf=\"!isWeb\" [innerHTML]=\"'HOME.WELCOME_APP'|translate: {appName: appName}\"></span>\n </ion-card-title>\n <ion-card-subtitle [innerHTML]=\"description\">\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content class=\"ion-no-padding\">\n <ion-text color=\"primary\">\n <img class=\"logo\" *ngIf=\"logo\" src=\"{{ logo }}\">\n </ion-text>\n <!-- register help text -->\n <ion-text *ngIf=\"!isLogin && canRegister\">\n <br/>\n <span translate>HOME.REGISTER_HELP</span>\n </ion-text>\n </ion-card-content>\n\n <ion-footer class=\"ion-padding-top\">\n\n <!-- If NOT login -->\n <ng-container *ngIf=\"!isLogin; else loginButtons;\">\n\n <ion-button *ngIf=\"canRegister\" expand=\"block\" color=\"tertiary\" (click)=\"register()\">\n <span translate>HOME.BTN_REGISTER</span>\n </ion-button>\n <ion-button expand=\"block\" color=\"light\" [routerLink]=\"['/']\" (click)=\"login()\">\n <span translate>AUTH.BTN_LOGIN</span>\n </ion-button>\n\n </ng-container>\n\n <!-- If user login -->\n <ng-template #loginButtons>\n\n <!-- Feature buttons -->\n <ng-container *ngIf=\"$filteredButtons | async as buttons\">\n <ng-container *ngFor=\"let item of buttons\">\n <ion-button *ngIf=\"item.path\"\n expand=\"block\" color=\"tertiary\"\n [class]=\"item.cssClass\"\n [routerLink]=\"item.path\"\n routerDirection=\"root\">\n <ion-icon slot=\"start\" class=\"ion-float-start\" *ngIf=\"item.icon\" [name]=\"item.icon\"></ion-icon>\n <mat-icon slot=\"start\" class=\"ion-float-start\" *ngIf=\"item.matIcon\">{{item.matIcon}}</mat-icon>\n <ion-text>{{'HOME.BTN_DATA_ENTRY'|translate: {name: (item.title | translate) } }}</ion-text>\n </ion-button>\n\n <!-- divider -->\n <div *ngIf=\"!item.path && !item.action\" [class]=\"item.cssClass\">\n <ion-label translate>{{item.title}} </ion-label>\n </div>\n </ng-container>\n\n <!--<p *ngIf=\"buttons.length\" class=\"visible-mobile\"> </p>-->\n </ng-container>\n\n <ion-button *ngIf=\"showAccountButton\" expand=\"block\" color=\"secondary\" [routerLink]=\"['/account']\">\n <ion-icon slot=\"start\" class=\"ion-float-start\" name=\"person-circle\"></ion-icon>\n <ion-text translate>HOME.BTN_MY_ACCOUNT</ion-text>\n </ion-button>\n\n <p hidden-xs hidden-sm hidden-mobile>\n <ion-text [innerHTML]=\"'HOME.NOT_THIS_ACCOUNT_QUESTION' | translate: {displayName: accountName }\"></ion-text>\n <br/>\n <ion-text>\n <a href=\"#\" (click)=\"logout($event)\">\n <span translate>HOME.BTN_DISCONNECT</span>\n </a>\n </ion-text>\n </p>\n\n\n </ng-template>\n\n </ion-footer>\n </ion-card>\n\n <!-- Page history -->\n <ion-grid *ngIf=\"!loading && isLogin && pageHistory.length; else bottomBanner\"\n class=\"history-container ion-align-self-center\">\n <ion-row>\n <ion-col size=\"12\" size-xl=\"\" *ngFor=\"let page of pageHistory; trackBy: getPagePath\"\n class=\"ion-text-center\">\n <ion-card class=\"ion-align-self-start ion-text-start\" @fadeInAnimation>\n <ion-card-header class=\"ion-no-padding\">\n <!-- top bar -->\n <ion-card-subtitle>\n <button type=\"button\" tabindex=\"-1\"\n (click)=\"settings.removePageHistory(page.path)\"\n mat-icon-button class=\"ion-float-start ion-no-margin\">\n <mat-icon>close</mat-icon>\n </button>\n <ion-label [innerHTML]=\"page.subtitle|translate\"></ion-label>\n <ion-text class=\"ion-float-end\" [title]=\"page.time|dateFormat:{time: true}\">\n <small><ion-icon name=\"time-outline\"></ion-icon> {{ page.time|dateFromNow }}</small> \n </ion-text>\n </ion-card-subtitle>\n\n <!-- main page -->\n <ion-card-title class=\"ion-no-margin ion-no-padding\">\n <ion-item detail=\"true\"\n tappable class=\"text-1x\"\n [routerLink]=\"page.path\"\n routerDirection=\"root\" lines=\"none\">\n <!-- page icon-->\n <ion-icon *ngIf=\"page.icon\" slot=\"start\" [name]=\"page.icon\"></ion-icon>\n <mat-icon *ngIf=\"page.matIcon\" slot=\"start\">{{page.matIcon}}</mat-icon>\n\n <ion-label color=\"primary\" [innerHTML]=\"page.title\"></ion-label>\n </ion-item>\n </ion-card-title>\n </ion-card-header>\n\n <!-- children pages -->\n <ion-card-content class=\"ion-no-padding ion-padding-start\" *ngIf=\"page.children?.length\">\n <ion-list class=\"ion-no-padding\">\n <ion-item detail=\"true\"\n *ngFor=\"let childPage of page.children\"\n tappable class=\"text-1x\"\n [routerLink]=\"childPage.path\"\n routerDirection=\"root\">\n <!-- page icon-->\n <ion-icon *ngIf=\"childPage.icon\" slot=\"start\" color=\"dark\" [name]=\"childPage.icon\"></ion-icon>\n <mat-icon *ngIf=\"childPage.matIcon\" slot=\"start\" color=\"dark\">{{childPage.matIcon}}</mat-icon>\n\n <ion-label color=\"dark\" [innerHTML]=\"childPage.title\"></ion-label>\n </ion-item>\n </ion-list>\n </ion-card-content>\n </ion-card>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n <!-- Display configured Departments logos -->\n <ng-template #bottomBanner>\n <div class=\"bottom-banner ion-text-center ion-padding\" *ngIf=\"!loadingBanner\" @fadeInAnimation>\n <a href=\"{{ item.siteUrl }}\" *ngFor=\"let item of $partners | async \">\n <img class=\"logo\" src=\"{{ item.logo }}\" alt=\"{{item.label}}\" [title]=\"item.label\" />\n </a>\n </div>\n </ng-template>\n\n\n</ion-content>\n",
|
|
18267
18254
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
18268
18255
|
animations: [fadeInAnimation, slideUpDownAnimation],
|
|
18269
18256
|
styles: ["h1,h2,h3,h4,h5{white-space:normal}.center,ion-content ion-card.welcome img{text-align:center;display:inline-block}ion-content{--background:transparent;background-size:cover;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;display:inline-block;padding:15px}ion-content,ion-content .loading-page{background-color:var(--ion-color-primary)}ion-content .loading-page{display:block;height:100%;width:100%;position:absolute;z-index:5;transition:background .5s linear;-webkit-transition:background 1.5s linear}ion-content .loading-page.hidden{background-color:rgba(var(--ion-color-primary),0)}ion-content ion-card{z-index:9}ion-content ion-card ion-card-header{display:block}ion-content ion-card ion-card-header ion-card-subtitle,ion-content ion-card ion-card-header ion-card-title{display:block;width:100%}ion-content ion-card.main{min-width:240px;max-width:400px;margin-left:auto;margin-right:auto}ion-content ion-card.welcome{background-color:hsla(0,0%,100%,.7)}ion-content ion-card.welcome button{margin-top:16px}ion-content ion-card.welcome img{max-width:250px}ion-content .history-container{margin-left:auto;margin-right:auto}ion-content .history-container ion-card{display:inline-block;box-sizing:border-box;z-index:8;min-width:240px;max-width:400px;width:100%;margin-left:auto;margin-right:auto;background-color:hsla(0,0%,100%,.7)}ion-content .history-container ion-card ion-card-header ion-card-subtitle{height:40px}ion-content .history-container ion-card ion-card-header ion-card-subtitle button[float-start]{z-index:99;margin:0}ion-content .history-container ion-card ion-card-header ion-card-subtitle ion-label{line-height:40px}ion-content .history-container ion-card ion-card-header ion-card-subtitle ion-label[float-end]{padding-right:16px;font-weight:400}ion-content .history-container ion-card ion-card-header ion-card-title ion-item{--ion-item-background:$transparent;--ion-item-icon-color:var(--ion-color-primary);--ion-item-text-color:var(--ion-color-primary)}ion-content .history-container ion-card ion-card-header ion-card-title ion-item ion-icon[slot=start],ion-content .history-container ion-card ion-card-header ion-card-title ion-item mat-icon[slot=start]{margin-right:unset;-webkit-margin-end:16px!important;margin-inline-end:16px!important;color:var(--ion-item-icon-color)!important;fill:currentColor;stroke:currentColor}ion-content .history-container ion-card ion-card-header ion-card-title ion-item ion-label,ion-content .history-container ion-card ion-card-header ion-card-title ion-item ion-text{color:var(--ion-item-text-color)!important;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}ion-content .history-container ion-card ion-card-content ion-list{--ion-item-background:var(--ion-color-transparent)}ion-content .history-container ion-card ion-card-content ion-list ion-item{--ion-item-icon-color:var(--ion-color-dark);--ion-item-text-color:var(--ion-color-dark)}ion-content .history-container ion-card ion-card-content ion-list ion-item ion-icon[slot=start],ion-content .history-container ion-card ion-card-content ion-list ion-item mat-icon[slot=start]{color:var(--ion-item-icon-color)!important;fill:currentColor;stroke:currentColor;margin-right:unset;-webkit-margin-end:16px!important;margin-inline-end:16px!important}ion-content .history-container ion-card ion-card-content ion-list ion-item ion-label,ion-content .history-container ion-card ion-card-content ion-list ion-item ion-text{color:var(--ion-item-text-color)!important}ion-content .bottom-banner{background-color:hsla(0,0%,100%,.7);min-width:240px;z-index:0;position:absolute;left:16px;right:16px;bottom:16px}ion-content .bottom-banner img.logo{max-height:50px;margin-left:8px}ion-content ion-text{text-align:center}@media screen and (max-width:575px){ion-content ion-card{min-width:160px;width:calc(100% - 20px);max-width:100%;margin-left:10px;margin-right:10px}ion-content ion-card h1{margin-top:0;font-size:20px}ion-content ion-card ion-card-content ion-button{margin-top:8px}ion-content .bottom-banner{display:block;position:unset}ion-content .bottom-banner img.logo{max-height:30px}}@media screen and (max-width:767px) and (min-width:576px){ion-content{min-height:555px}ion-content .bottom-banner img.logo{max-height:40px}}@media screen and (min-width:768px){ion-content{min-height:calc(100% - 100px)}}"]
|
|
@@ -18279,7 +18266,7 @@ HomePage.ctorParameters = () => [
|
|
|
18279
18266
|
{ type: ChangeDetectorRef },
|
|
18280
18267
|
{ type: NetworkService },
|
|
18281
18268
|
{ type: LocalSettingsService },
|
|
18282
|
-
{ type:
|
|
18269
|
+
{ type: Environment, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
|
|
18283
18270
|
{ type: Array, decorators: [{ type: Inject, args: [APP_LOCALES,] }] },
|
|
18284
18271
|
{ type: Array, decorators: [{ type: Optional }, { type: Inject, args: [APP_HOME_BUTTONS,] }] }
|
|
18285
18272
|
];
|
|
@@ -18422,7 +18409,7 @@ class UserSettingsValidatorService extends AppValidatorService {
|
|
|
18422
18409
|
});
|
|
18423
18410
|
}
|
|
18424
18411
|
}
|
|
18425
|
-
UserSettingsValidatorService.ɵprov =
|
|
18412
|
+
UserSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(ɵɵinject(FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
|
|
18426
18413
|
UserSettingsValidatorService.decorators = [
|
|
18427
18414
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
18428
18415
|
];
|
|
@@ -18466,7 +18453,7 @@ class AccountValidatorService extends AppValidatorService {
|
|
|
18466
18453
|
return validatorFns.length ? Validators.compose(validatorFns) : validatorFns.length === 1 ? validatorFns[0] : undefined;
|
|
18467
18454
|
}
|
|
18468
18455
|
}
|
|
18469
|
-
AccountValidatorService.ɵprov =
|
|
18456
|
+
AccountValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
|
|
18470
18457
|
AccountValidatorService.decorators = [
|
|
18471
18458
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
18472
18459
|
];
|
|
@@ -19031,7 +19018,7 @@ class LocalSettingsValidatorService extends AppValidatorService {
|
|
|
19031
19018
|
});
|
|
19032
19019
|
}
|
|
19033
19020
|
}
|
|
19034
|
-
LocalSettingsValidatorService.ɵprov =
|
|
19021
|
+
LocalSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(ɵɵinject(FormBuilder), ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
|
|
19035
19022
|
LocalSettingsValidatorService.decorators = [
|
|
19036
19023
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
19037
19024
|
];
|
|
@@ -19650,7 +19637,7 @@ class IsOnFieldModePipe {
|
|
|
19650
19637
|
return value === 'FIELD';
|
|
19651
19638
|
}
|
|
19652
19639
|
}
|
|
19653
|
-
IsOnFieldModePipe.ɵprov =
|
|
19640
|
+
IsOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
|
|
19654
19641
|
IsOnFieldModePipe.decorators = [
|
|
19655
19642
|
{ type: Pipe, args: [{
|
|
19656
19643
|
name: 'isOnField'
|
|
@@ -19662,7 +19649,7 @@ class IsNotOnFieldModePipe {
|
|
|
19662
19649
|
return value !== 'FIELD';
|
|
19663
19650
|
}
|
|
19664
19651
|
}
|
|
19665
|
-
IsNotOnFieldModePipe.ɵprov =
|
|
19652
|
+
IsNotOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
|
|
19666
19653
|
IsNotOnFieldModePipe.decorators = [
|
|
19667
19654
|
{ type: Pipe, args: [{
|
|
19668
19655
|
name: 'isNotOnField'
|
|
@@ -19677,7 +19664,7 @@ class PersonToStringPipe {
|
|
|
19677
19664
|
return PersonUtils.personToString(value);
|
|
19678
19665
|
}
|
|
19679
19666
|
}
|
|
19680
|
-
PersonToStringPipe.ɵprov =
|
|
19667
|
+
PersonToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
|
|
19681
19668
|
PersonToStringPipe.decorators = [
|
|
19682
19669
|
{ type: Pipe, args: [{
|
|
19683
19670
|
name: 'personToString'
|
|
@@ -20062,7 +20049,7 @@ class IsLoginAccountPipe {
|
|
|
20062
20049
|
return value && value.pubkey && true;
|
|
20063
20050
|
}
|
|
20064
20051
|
}
|
|
20065
|
-
IsLoginAccountPipe.ɵprov =
|
|
20052
|
+
IsLoginAccountPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
|
|
20066
20053
|
IsLoginAccountPipe.decorators = [
|
|
20067
20054
|
{ type: Pipe, args: [{
|
|
20068
20055
|
name: 'isLogin'
|
|
@@ -20074,7 +20061,7 @@ class AccountToStringPipe {
|
|
|
20074
20061
|
return accountToString(value);
|
|
20075
20062
|
}
|
|
20076
20063
|
}
|
|
20077
|
-
AccountToStringPipe.ɵprov =
|
|
20064
|
+
AccountToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
|
|
20078
20065
|
AccountToStringPipe.decorators = [
|
|
20079
20066
|
{ type: Pipe, args: [{
|
|
20080
20067
|
name: 'accountToString'
|
|
@@ -20089,7 +20076,7 @@ class DepartmentToStringPipe {
|
|
|
20089
20076
|
return departmentToString(value);
|
|
20090
20077
|
}
|
|
20091
20078
|
}
|
|
20092
|
-
DepartmentToStringPipe.ɵprov =
|
|
20079
|
+
DepartmentToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
|
|
20093
20080
|
DepartmentToStringPipe.decorators = [
|
|
20094
20081
|
{ type: Pipe, args: [{
|
|
20095
20082
|
name: 'departmentToString'
|
|
@@ -20115,7 +20102,7 @@ class MenuService {
|
|
|
20115
20102
|
this._visibleSubject.next(value);
|
|
20116
20103
|
}
|
|
20117
20104
|
}
|
|
20118
|
-
MenuService.ɵprov =
|
|
20105
|
+
MenuService.ɵprov = ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
|
|
20119
20106
|
MenuService.decorators = [
|
|
20120
20107
|
{ type: Injectable, args: [{
|
|
20121
20108
|
providedIn: 'root'
|
|
@@ -20641,7 +20628,7 @@ class AuthGuardService {
|
|
|
20641
20628
|
}));
|
|
20642
20629
|
}
|
|
20643
20630
|
}
|
|
20644
|
-
AuthGuardService.ɵprov =
|
|
20631
|
+
AuthGuardService.ɵprov = ɵɵdefineInjectable({ factory: function AuthGuardService_Factory() { return new AuthGuardService(ɵɵinject(AccountService), ɵɵinject(ModalController), ɵɵinject(Router), ɵɵinject(ENVIRONMENT)); }, token: AuthGuardService, providedIn: "root" });
|
|
20645
20632
|
AuthGuardService.decorators = [
|
|
20646
20633
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
20647
20634
|
];
|
|
@@ -20683,7 +20670,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20683
20670
|
query,
|
|
20684
20671
|
variables: { id },
|
|
20685
20672
|
fetchPolicy: opts && opts.fetchPolicy || undefined,
|
|
20686
|
-
error: { code: ErrorCodes
|
|
20673
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
|
|
20687
20674
|
})
|
|
20688
20675
|
.pipe(map(({ data }) => (!opts || opts.toEntity !== false)
|
|
20689
20676
|
? (data && this.fromObject(data))
|
|
@@ -20698,7 +20685,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20698
20685
|
query,
|
|
20699
20686
|
variables: { id },
|
|
20700
20687
|
fetchPolicy: opts && opts.fetchPolicy || undefined,
|
|
20701
|
-
error: { code: ErrorCodes
|
|
20688
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
|
|
20702
20689
|
});
|
|
20703
20690
|
// Convert to entity
|
|
20704
20691
|
return (!opts || opts.toEntity !== false)
|
|
@@ -20729,7 +20716,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20729
20716
|
totalFieldName: withTotal ? 'total' : undefined,
|
|
20730
20717
|
insertFilterFn: filter && filter.asFilterFn(),
|
|
20731
20718
|
variables,
|
|
20732
|
-
error: { code: ErrorCodes
|
|
20719
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
|
|
20733
20720
|
fetchPolicy: opts && opts.fetchPolicy || undefined
|
|
20734
20721
|
})
|
|
20735
20722
|
.pipe(map(({ data, total }) => {
|
|
@@ -20765,7 +20752,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20765
20752
|
const { data, total } = yield this.graphql.query({
|
|
20766
20753
|
query,
|
|
20767
20754
|
variables,
|
|
20768
|
-
error: { code: ErrorCodes
|
|
20755
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
|
|
20769
20756
|
fetchPolicy: opts && opts.fetchPolicy || 'network-only'
|
|
20770
20757
|
});
|
|
20771
20758
|
const entities = (!opts || opts.toEntity !== false) ?
|
|
@@ -20804,7 +20791,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20804
20791
|
variables: {
|
|
20805
20792
|
filter: filter && filter.asPodObject()
|
|
20806
20793
|
},
|
|
20807
|
-
error: { code: ErrorCodes
|
|
20794
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
|
|
20808
20795
|
fetchPolicy: opts && opts.fetchPolicy || 'network-only'
|
|
20809
20796
|
});
|
|
20810
20797
|
return res.total;
|
|
@@ -20840,7 +20827,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20840
20827
|
variables: {
|
|
20841
20828
|
data: json
|
|
20842
20829
|
},
|
|
20843
|
-
error: { code: ErrorCodes
|
|
20830
|
+
error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
|
|
20844
20831
|
update: (proxy, { data }) => {
|
|
20845
20832
|
const savedEntities = data && data.data;
|
|
20846
20833
|
if (savedEntities) {
|
|
@@ -20896,7 +20883,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20896
20883
|
variables: {
|
|
20897
20884
|
data: json
|
|
20898
20885
|
},
|
|
20899
|
-
error: { code: ErrorCodes
|
|
20886
|
+
error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
|
|
20900
20887
|
update: (cache, { data }) => {
|
|
20901
20888
|
// Update entity
|
|
20902
20889
|
const savedEntity = data && data.data;
|
|
@@ -20944,7 +20931,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20944
20931
|
refetchQueries: this.getRefetchQueriesForMutation(opts),
|
|
20945
20932
|
awaitRefetchQueries: opts && opts.awaitRefetchQueries,
|
|
20946
20933
|
variables: { ids },
|
|
20947
|
-
error: { code: ErrorCodes
|
|
20934
|
+
error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
|
|
20948
20935
|
update: (cache, res) => {
|
|
20949
20936
|
// Remove from cache
|
|
20950
20937
|
if (this.watchQueriesUpdatePolicy === 'update-cache') {
|
|
@@ -20985,7 +20972,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
20985
20972
|
refetchQueries: this.getRefetchQueriesForMutation(opts),
|
|
20986
20973
|
awaitRefetchQueries: opts && opts.awaitRefetchQueries,
|
|
20987
20974
|
variables: { id },
|
|
20988
|
-
error: { code: ErrorCodes
|
|
20975
|
+
error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
|
|
20989
20976
|
update: (proxy, res) => {
|
|
20990
20977
|
// Remove from cache
|
|
20991
20978
|
if (this.watchQueriesUpdatePolicy === 'update-cache') {
|
|
@@ -21018,7 +21005,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
21018
21005
|
query: opts && opts.query || this.subscriptions.listenChanges,
|
|
21019
21006
|
variables,
|
|
21020
21007
|
error: {
|
|
21021
|
-
code: ErrorCodes
|
|
21008
|
+
code: ErrorCodes.SUBSCRIBE_DATA_ERROR,
|
|
21022
21009
|
message: 'ERROR.SUBSCRIBE_DATA_ERROR'
|
|
21023
21010
|
}
|
|
21024
21011
|
})
|
|
@@ -21204,7 +21191,7 @@ class EntitiesTableDataSource extends TableDataSource {
|
|
|
21204
21191
|
if (this._debug)
|
|
21205
21192
|
invalidRows.forEach(row => AppTableUtils.logRowErrors(row, `[table-datasource] ${this._logTypeName} row #${row.id}`));
|
|
21206
21193
|
// Stop with an error
|
|
21207
|
-
throw { code: ErrorCodes
|
|
21194
|
+
throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
21208
21195
|
}
|
|
21209
21196
|
this._editingRowCount = 0;
|
|
21210
21197
|
let data;
|
|
@@ -22068,14 +22055,14 @@ class AppTable {
|
|
|
22068
22055
|
return __awaiter(this, void 0, void 0, function* () {
|
|
22069
22056
|
opts = Object.assign({ keepEditing: this.keepEditedRowOnSave }, opts);
|
|
22070
22057
|
if (this.readOnly) {
|
|
22071
|
-
throw { code: ErrorCodes
|
|
22058
|
+
throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
|
|
22072
22059
|
}
|
|
22073
22060
|
this.resetError();
|
|
22074
22061
|
// Keep edited row id (should be done BEFORE confirmEditCreate() )
|
|
22075
22062
|
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));
|
|
22076
22063
|
const previouslyEditedData = 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);
|
|
22077
22064
|
if (!this.confirmEditCreate()) {
|
|
22078
|
-
throw { code: ErrorCodes
|
|
22065
|
+
throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
22079
22066
|
}
|
|
22080
22067
|
// Mark as saving
|
|
22081
22068
|
this.markAsSaving();
|
|
@@ -22192,7 +22179,7 @@ class AppTable {
|
|
|
22192
22179
|
var _a;
|
|
22193
22180
|
return __awaiter(this, void 0, void 0, function* () {
|
|
22194
22181
|
if (this.readOnly) {
|
|
22195
|
-
throw { code: ErrorCodes
|
|
22182
|
+
throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
|
|
22196
22183
|
}
|
|
22197
22184
|
if (event === null || event === void 0 ? void 0 : event.defaultPrevented)
|
|
22198
22185
|
return 0; // SKip
|
|
@@ -23726,7 +23713,7 @@ class AppEntityEditor extends AppTabEditor {
|
|
|
23726
23713
|
try {
|
|
23727
23714
|
const data = yield this.dataService.load(id, opts);
|
|
23728
23715
|
if (!data)
|
|
23729
|
-
throw { code: ErrorCodes
|
|
23716
|
+
throw { code: ErrorCodes.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
|
|
23730
23717
|
this._usageMode = this.computeUsageMode(data);
|
|
23731
23718
|
yield this.onEntityLoaded(data, opts);
|
|
23732
23719
|
yield this.updateView(data, opts);
|
|
@@ -24661,7 +24648,7 @@ class UserEventService extends BaseGraphqlService {
|
|
|
24661
24648
|
EntityUtils.copyIdAndUpdateDate(source, target);
|
|
24662
24649
|
}
|
|
24663
24650
|
}
|
|
24664
|
-
UserEventService.ɵprov =
|
|
24651
|
+
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" });
|
|
24665
24652
|
UserEventService.decorators = [
|
|
24666
24653
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
24667
24654
|
];
|
|
@@ -25045,7 +25032,7 @@ class PersonService extends BaseEntityService {
|
|
|
25045
25032
|
return target;
|
|
25046
25033
|
}
|
|
25047
25034
|
}
|
|
25048
|
-
PersonService.ɵprov =
|
|
25035
|
+
PersonService.ɵprov = ɵɵdefineInjectable({ factory: function PersonService_Factory() { return new PersonService(ɵɵinject(GraphqlService), ɵɵinject(PlatformService), ɵɵinject(NetworkService), ɵɵinject(EntitiesStorage)); }, token: PersonService, providedIn: "root" });
|
|
25049
25036
|
PersonService.decorators = [
|
|
25050
25037
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
25051
25038
|
];
|
|
@@ -25076,7 +25063,7 @@ class PersonValidatorService {
|
|
|
25076
25063
|
return this.formBuilder.group(formConfig);
|
|
25077
25064
|
}
|
|
25078
25065
|
}
|
|
25079
|
-
PersonValidatorService.ɵprov =
|
|
25066
|
+
PersonValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
|
|
25080
25067
|
PersonValidatorService.decorators = [
|
|
25081
25068
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
25082
25069
|
];
|
|
@@ -25270,16 +25257,16 @@ AdminModule.decorators = [
|
|
|
25270
25257
|
];
|
|
25271
25258
|
AdminModule.ctorParameters = () => [];
|
|
25272
25259
|
|
|
25273
|
-
const ɵ0 = {
|
|
25260
|
+
const ɵ0$c = {
|
|
25274
25261
|
profile: 'ADMIN'
|
|
25275
25262
|
};
|
|
25276
|
-
const routes = [
|
|
25263
|
+
const routes$2 = [
|
|
25277
25264
|
{
|
|
25278
25265
|
path: 'users',
|
|
25279
25266
|
pathMatch: 'full',
|
|
25280
25267
|
component: UsersPage,
|
|
25281
25268
|
canActivate: [AuthGuardService],
|
|
25282
|
-
data: ɵ0
|
|
25269
|
+
data: ɵ0$c
|
|
25283
25270
|
}
|
|
25284
25271
|
];
|
|
25285
25272
|
class AdminRoutingModule {
|
|
@@ -25289,13 +25276,13 @@ AdminRoutingModule.decorators = [
|
|
|
25289
25276
|
imports: [
|
|
25290
25277
|
SharedRoutingModule,
|
|
25291
25278
|
AdminModule,
|
|
25292
|
-
RouterModule.forChild(routes)
|
|
25279
|
+
RouterModule.forChild(routes$2)
|
|
25293
25280
|
],
|
|
25294
25281
|
exports: [RouterModule]
|
|
25295
25282
|
},] }
|
|
25296
25283
|
];
|
|
25297
25284
|
|
|
25298
|
-
const ErrorCodes = {
|
|
25285
|
+
const ErrorCodes$2 = {
|
|
25299
25286
|
LOAD_PERSONS_ERROR: 100,
|
|
25300
25287
|
SAVE_PERSONS_ERROR: 101,
|
|
25301
25288
|
DELETE_PERSONS_ERROR: 102,
|
|
@@ -25307,5 +25294,5 @@ const ErrorCodes = {
|
|
|
25307
25294
|
* Generated bundle index. Do not edit.
|
|
25308
25295
|
*/
|
|
25309
25296
|
|
|
25310
|
-
export { APP_ABOUT_DEVELOPERS, APP_ABOUT_PARTNERS, APP_CONFIG_OPTIONS, APP_FORM_ERROR_I18N_KEYS, APP_GRAPHQL_TYPE_POLICIES, APP_HOME_BUTTONS, APP_LOCALES, APP_LOCAL_SETTINGS, APP_LOCAL_SETTINGS_OPTIONS, APP_LOCAL_STORAGE_TYPE_POLICIES, APP_MENU_ITEMS, APP_TESTING_PAGES, AboutModal, Account, AccountPage, AccountService, AccountToStringPipe, ActionsColumnComponent, AdminModule, AdminRoutingModule, Alerts, AnimationState, AppEditor, AppEditorOptions, AppEntityEditor, AppForm, AppFormField, AppFormProvider, AppFormUtils, AppGestureConfig, AppGraphQLModule, AppHelpModal, AppInMemoryTable, AppInstallUpgradeCard, AppListForm, AppLoadingSpinner, AppMenuModule, AppNullForm, AppPropertiesForm, AppTabEditor, AppTabEditorOptions, AppTable, AppTableDataSourceOptions, AppTableUtils, AppValidatorService, AppendToInputDirective, ArrayFilterPipe, ArrayFirstPipe, ArrayIncludesPipe, ArrayLengthPipe, ArrayPluckPipe, AudioProvider, AuthForm, AuthGuardService, AuthModal, AutocompleteTestPage, AutofocusDirective, Base58, BaseEntityService, BaseGraphqlService, BaseGraphqlServiceOptions, BaseReferential, Beans, CORE_CONFIG_OPTIONS, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigService, Configuration, CoreModule, CryptoService, DATE_ISO_PATTERN, DATE_UNIX_MS_TIMESTAMP, DATE_UNIX_TIMESTAMP, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLACEHOLDER_CHAR, DEFAULT_REQUIRED_COLUMNS, DateDiffDurationPipe, DateFormatPipe, DateFromNowPipe, DateTimeTestPage, DateUtils, Department, DepartmentToStringPipe, DurationPipe, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesService, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, ErrorCodes, EvenPipe, FileService, FileSizePipe, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, FormErrorTranslatePipe, FormErrorTranslator, FormFieldValuesHolder, Fragments, GraphqlService, HAMMER_PRESS_TIME, HAMMER_TAP_TIME, HighlightPipe, HomePage, Hotkeys, HotkeysDialogComponent, InMemoryEntitiesService, IsLoginAccountPipe, IsNilOrBlankPipe, IsNotNilOrBlankPipe, IsNotOnFieldModePipe, IsOnFieldModePipe, JobUtils, KEYBOARD_HIDE_DELAY_MS, LAT_LONG_DEFAULT_MAX_DECIMALS, LAT_LONG_PATTERNS, LatLongFormatPipe, LatLongTestPage, LatitudeFormatPipe, LocalSettingsService, LongitudeFormatPipe, MINIFY_ENTITY_FOR_LOCAL_STORAGE, MINIFY_ENTITY_FOR_POD, MapGetPipe, MapKeysPipe, MapValuesPipe, MatAutocompleteConfigHolder, MatAutocompleteField, MatBooleanField, MatChipsField, MatDate, MatDateShort, MatDateTime, MatDuration, MatLatLongField, MatNumpadComponent, MatNumpadContainerComponent, MatNumpadContent, MatPaginatorI18n, MatStepperI18n, MatSwipeField, MaterialChipsModule, MaterialTestingModule, MaterialTestingPage, MathAbsPipe, MenuComponent, MenuItems, MenuService, ModalToolbarComponent, NetworkService, NgInitDirective, NgVarDirective, NotEmptyArrayPipe, NumberFormatPipe, NumpadDirective, OddPipe, PRIORITIZED_AUTHORITIES, PUBKEY_REGEXP, Peer, Person, PersonFilter, PersonFragments, PersonService, PersonToStringPipe, PersonUtils, PersonValidatorService, PlatformService, ProgressBarService, ProgressInterceptor, PropertyGetPipe, RESERVED_END_COLUMNS, RESERVED_START_COLUMNS, Referential, ReferentialRef, ReferentialUtils, RegisterConfirmPage, SETTINGS_DISPLAY_COLUMNS, SETTINGS_FILTER, SETTINGS_PAGE_SIZE, SETTINGS_SORTED_COLUMN, SETTINGS_STORAGE_KEY, SETTINGS_TRANSIENT_PROPERTIES, SHARED_TESTING_PAGES, SPACE_PLACEHOLDER_CHAR, SelectPeerModal, SettingsPage, SharedDirectivesModule, SharedFormArrayValidators, SharedFormGroupValidators, SharedHotkeysModule, SharedMatAutocompleteModule, SharedMatBooleanModule, SharedMatDateTimeModule, SharedMatDurationModule, SharedMatLatLongModule, SharedMatNumpadModule, SharedMatSwipeModule, SharedMaterialModule, SharedModule, SharedPipesModule, SharedRoutingModule, SharedTestingModule, SharedValidators, SocialModule, Software, StartableService, StatusById, StatusIds, StatusList, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, UserEvent, UserEventFilter, UserEventService, UserEventTypes, UserEventsTable, UserSettings, UsersPage, accountToString, adaptValueToControl, addValueInArray, arrayDistinct, arrayGroupBy, arraySize, asInputElement, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, copyEntity2Form, createPromiseEvent, createPromiseEventEmitter, departmentToString, departmentsToString, disableControls, emitPromiseEvent, entityToString, equals, equalsOrNil, fadeInAnimation, fadeInOutAnimation, filterFalse, filterNotNil, filterNumberInput, filterTrue, firstArrayValue, firstFalse, firstFalsePromise, firstNotNil, firstNotNilPromise, firstTrue, firstTruePromise, focusInput, focusNextInput, focusPreviousInput, formatLatitude, formatLongitude, fromDateISOString, fromScrollEndEvent, fromUnixMsTimestamp, fromUnixTimestamp, getCaretPosition, getColorContrast, getColorShade, getColorTint, getConnectionType, getControlFromPath, getFocusableInputElements, getFormErrors, getFormValueFromEntity, getProperty, getPropertyByPath, getPropertyByPathAsString, getRandomImage, hexToRgb, hexToRgbArray, isAndroid, isControlHasInput, isCordova, isDesktop, isEmptyArray, isIOS, isInputElement, isInstanceOf, isInt, isMobile, isNil, isNilOrBlank, isNilOrNaN, isNotEmptyArray, isNotNil, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, isTouchUi, isWindow, 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$
|
|
25297
|
+
export { APP_ABOUT_DEVELOPERS, APP_ABOUT_PARTNERS, APP_CONFIG_OPTIONS, APP_FORM_ERROR_I18N_KEYS, APP_GRAPHQL_TYPE_POLICIES, APP_HOME_BUTTONS, APP_LOCALES, APP_LOCAL_SETTINGS, APP_LOCAL_SETTINGS_OPTIONS, APP_LOCAL_STORAGE_TYPE_POLICIES, APP_MENU_ITEMS, APP_TESTING_PAGES, AboutModal, Account, AccountPage, AccountService, AccountToStringPipe, ActionsColumnComponent, AdminModule, AdminRoutingModule, Alerts, AnimationState, AppEditor, AppEditorOptions, AppEntityEditor, AppForm, AppFormField, AppFormProvider, AppFormUtils, AppGestureConfig, AppGraphQLModule, AppHelpModal, AppInMemoryTable, AppInstallUpgradeCard, AppListForm, AppLoadingSpinner, AppMenuModule, AppNullForm, AppPropertiesForm, AppTabEditor, AppTabEditorOptions, AppTable, AppTableDataSourceOptions, AppTableUtils, AppValidatorService, AppendToInputDirective, ArrayFilterPipe, ArrayFirstPipe, ArrayIncludesPipe, ArrayLengthPipe, ArrayPluckPipe, AudioProvider, AuthForm, AuthGuardService, AuthModal, AutocompleteTestPage, AutofocusDirective, Base58, BaseEntityService, BaseGraphqlService, BaseGraphqlServiceOptions, BaseReferential, Beans, CORE_CONFIG_OPTIONS, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigService, Configuration, CoreModule, CryptoService, DATE_ISO_PATTERN, DATE_UNIX_MS_TIMESTAMP, DATE_UNIX_TIMESTAMP, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLACEHOLDER_CHAR, DEFAULT_REQUIRED_COLUMNS, DateDiffDurationPipe, DateFormatPipe, DateFromNowPipe, DateTimeTestPage, DateUtils, Department, DepartmentToStringPipe, DurationPipe, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesService, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, ErrorCodes$2 as ErrorCodes, EvenPipe, FileService, FileSizePipe, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, FormErrorTranslatePipe, FormErrorTranslator, FormFieldValuesHolder, Fragments$1 as Fragments, GraphqlService, HAMMER_PRESS_TIME, HAMMER_TAP_TIME, HighlightPipe, HomePage, Hotkeys, HotkeysDialogComponent, InMemoryEntitiesService, IsLoginAccountPipe, IsNilOrBlankPipe, IsNotNilOrBlankPipe, IsNotOnFieldModePipe, IsOnFieldModePipe, JobUtils, KEYBOARD_HIDE_DELAY_MS, LAT_LONG_DEFAULT_MAX_DECIMALS, LAT_LONG_PATTERNS, LatLongFormatPipe, LatLongTestPage, LatitudeFormatPipe, LocalSettingsService, LongitudeFormatPipe, MINIFY_ENTITY_FOR_LOCAL_STORAGE, MINIFY_ENTITY_FOR_POD, MapGetPipe, MapKeysPipe, MapValuesPipe, MatAutocompleteConfigHolder, MatAutocompleteField, MatBooleanField, MatChipsField, MatDate, MatDateShort, MatDateTime, MatDuration, MatLatLongField, MatNumpadComponent, MatNumpadContainerComponent, MatNumpadContent, MatPaginatorI18n, MatStepperI18n, MatSwipeField, MaterialChipsModule, MaterialTestingModule, MaterialTestingPage, MathAbsPipe, MenuComponent, MenuItems, MenuService, ModalToolbarComponent, NetworkService, NgInitDirective, NgVarDirective, NotEmptyArrayPipe, NumberFormatPipe, NumpadDirective, OddPipe, PRIORITIZED_AUTHORITIES, PUBKEY_REGEXP, Peer, Person, PersonFilter, PersonFragments, PersonService, PersonToStringPipe, PersonUtils, PersonValidatorService, PlatformService, ProgressBarService, ProgressInterceptor, PropertyGetPipe, RESERVED_END_COLUMNS, RESERVED_START_COLUMNS, Referential, ReferentialRef, ReferentialUtils, RegisterConfirmPage, SETTINGS_DISPLAY_COLUMNS, SETTINGS_FILTER, SETTINGS_PAGE_SIZE, SETTINGS_SORTED_COLUMN, SETTINGS_STORAGE_KEY, SETTINGS_TRANSIENT_PROPERTIES, SHARED_TESTING_PAGES, SPACE_PLACEHOLDER_CHAR, SelectPeerModal, SettingsPage, SharedDirectivesModule, SharedFormArrayValidators, SharedFormGroupValidators, SharedHotkeysModule, SharedMatAutocompleteModule, SharedMatBooleanModule, SharedMatDateTimeModule, SharedMatDurationModule, SharedMatLatLongModule, SharedMatNumpadModule, SharedMatSwipeModule, SharedMaterialModule, SharedModule, SharedPipesModule, SharedRoutingModule, SharedTestingModule, SharedValidators, SocialModule, Software, StartableService, StatusById, StatusIds, StatusList, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, UserEvent, UserEventFilter, UserEventService, UserEventTypes, UserEventsTable, UserSettings, UsersPage, accountToString, adaptValueToControl, addValueInArray, arrayDistinct, arrayGroupBy, arraySize, asInputElement, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, copyEntity2Form, createPromiseEvent, createPromiseEventEmitter, departmentToString, departmentsToString, disableControls, emitPromiseEvent, entityToString, equals, equalsOrNil, fadeInAnimation, fadeInOutAnimation, filterFalse, filterNotNil, filterNumberInput, filterTrue, firstArrayValue, firstFalse, firstFalsePromise, firstNotNil, firstNotNilPromise, firstTrue, firstTruePromise, focusInput, focusNextInput, focusPreviousInput, formatLatitude, formatLongitude, fromDateISOString, fromScrollEndEvent, fromUnixMsTimestamp, fromUnixTimestamp, getCaretPosition, getColorContrast, getColorShade, getColorTint, getConnectionType, getControlFromPath, getFocusableInputElements, getFormErrors, getFormValueFromEntity, getProperty, getPropertyByPath, getPropertyByPathAsString, getRandomImage, hexToRgb, hexToRgbArray, isAndroid, isControlHasInput, isCordova, isDesktop, isEmptyArray, isIOS, isInputElement, isInstanceOf, isInt, isMobile, isNil, isNilOrBlank, isNilOrNaN, isNotEmptyArray, isNotNil, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, isTouchUi, isWindow, 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, SharedMatBadgeIconModule as ɵc, MatBadgeIconDirective as ɵd, isFocusableElement as ɵe, MatBadgeIconTestPage as ɵf, ToastTestingModule as ɵg, ToastTestingPage as ɵh, RegisterForm as ɵi, AccountValidatorService as ɵj, RegisterModal as ɵk, UserSettingsValidatorService as ɵl, LocalSettingsValidatorService as ɵm, AppIconComponent as ɵn };
|
|
25311
25298
|
//# sourceMappingURL=sumaris-net.ngx-components.js.map
|