@sumaris-net/ngx-components 1.16.3 → 1.17.1-rc2
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 +307 -326
- package/bundles/sumaris-net.ngx-components.umd.js.map +1 -1
- package/bundles/sumaris-net.ngx-components.umd.min.js +2 -2
- package/bundles/sumaris-net.ngx-components.umd.min.js.map +1 -1
- package/doc/changelog.md +3 -0
- package/esm2015/src/app/core/graphql/graphql.service.js +2 -2
- package/esm2015/src/app/core/menu/menu.component.js +3 -9
- package/esm2015/src/app/core/text-popover/text-form.component.js +2 -2
- package/esm2015/src/app/core/text-popover/text-popover.component.js +2 -2
- package/esm2015/src/app/shared/hotkeys/hotkeys.service.js +11 -7
- package/esm2015/src/app/shared/services/job.utils.js +1 -1
- package/fesm2015/sumaris-net.ngx-components.js +288 -305
- package/fesm2015/sumaris-net.ngx-components.js.map +1 -1
- package/package.json +1 -1
- package/src/app/core/menu/menu.component.d.ts +0 -2
- package/src/app/shared/hotkeys/hotkeys.service.d.ts +3 -2
- package/src/app/shared/services/job.utils.d.ts +1 -1
- package/src/assets/i18n/en-US.json +1 -0
- package/src/assets/i18n/en.json +1 -0
- package/src/assets/i18n/fr.json +1 -0
- package/sumaris-net.ngx-components.metadata.json +1 -1
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { InjectionToken, EventEmitter, Component, forwardRef, ChangeDetectionStrategy, ChangeDetectorRef, Optional, Input, Output, ViewChild, Pipe, Injectable, Directive, Inject, NgModule, ElementRef, TemplateRef, ViewContainerRef, HostBinding, HostListener, ViewChildren, ComponentFactoryResolver, ApplicationRef, Injector, Renderer2, ViewEncapsulation } from '@angular/core';
|
|
3
|
-
import * as i1$3 from '@angular/common';
|
|
1
|
+
import { InjectionToken, EventEmitter, Component, forwardRef, ChangeDetectionStrategy, ChangeDetectorRef, Optional, Input, Output, ViewChild, ɵɵdefineInjectable, ɵɵinject, Pipe, Injectable, Directive, Inject, NgModule, ElementRef, TemplateRef, ViewContainerRef, HostBinding, HostListener, ViewChildren, ComponentFactoryResolver, ApplicationRef, INJECTOR, Injector, Renderer2, ViewEncapsulation } from '@angular/core';
|
|
4
2
|
import { CommonModule, DOCUMENT, Location } from '@angular/common';
|
|
5
3
|
import { CdkTableModule } from '@angular/cdk/table';
|
|
6
4
|
import { A11yModule } from '@angular/cdk/a11y';
|
|
7
5
|
import { OverlayModule, OverlayContainer, FullscreenOverlayContainer, Overlay } from '@angular/cdk/overlay';
|
|
8
6
|
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
9
|
-
import * as i1$2 from '@angular/material/core';
|
|
10
7
|
import { DateAdapter, MatCommonModule, MatRippleModule } from '@angular/material/core';
|
|
11
8
|
import { MatTableModule, MatTable, MatColumnDef } from '@angular/material/table';
|
|
12
9
|
import { MatSortModule, MatSort } from '@angular/material/sort';
|
|
@@ -30,21 +27,16 @@ import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
|
30
27
|
import { MatRadioModule } from '@angular/material/radio';
|
|
31
28
|
import { MatBadgeModule } from '@angular/material/badge';
|
|
32
29
|
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
33
|
-
import * as i2$1 from '@angular/material/dialog';
|
|
34
30
|
import { MatDialogModule, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';
|
|
35
31
|
import { MatAutocomplete, MatAutocompleteTrigger, MatAutocompleteModule, MAT_AUTOCOMPLETE_SCROLL_STRATEGY, MAT_AUTOCOMPLETE_DEFAULT_OPTIONS } from '@angular/material/autocomplete';
|
|
36
32
|
import { __awaiter, __decorate } from 'tslib';
|
|
37
|
-
import * as i1$6 from '@angular/forms';
|
|
38
33
|
import { NG_VALUE_ACCESSOR, FormGroupDirective, AbstractControl, FormGroup, FormArray, FormControl, ReactiveFormsModule, Validators, FormBuilder } from '@angular/forms';
|
|
39
34
|
import { timer, merge, fromEvent, BehaviorSubject, Subscription, Subject, isObservable, from, of, noop as noop$9, Observable, defer, forkJoin, combineLatest, EMPTY } from 'rxjs';
|
|
40
35
|
import { filter, first, map, takeUntil, switchMap, startWith, debounceTime, takeWhile, tap, distinctUntilChanged, mergeMap, catchError, throttleTime, skip } from 'rxjs/operators';
|
|
41
|
-
import * as i1$1 from '@ngx-translate/core';
|
|
42
36
|
import { TranslateService, TranslateModule } from '@ngx-translate/core';
|
|
43
|
-
import
|
|
44
|
-
import { IonicModule, Platform, IonRouterOutlet, ModalController, IonicSafeString, createAnimation, ToastController, PopoverController, AlertController, IonicRouteStrategy, NavParams, MenuController, IonContent, IonInfiniteScroll } from '@ionic/angular';
|
|
37
|
+
import { IonicModule, Platform, IonRouterOutlet, ModalController, PopoverController, IonicSafeString, createAnimation, ToastController, AlertController, IonicRouteStrategy, NavParams, MenuController, IonContent, IonInfiniteScroll } from '@ionic/angular';
|
|
45
38
|
import * as momentImported from 'moment';
|
|
46
39
|
import { isMoment } from 'moment';
|
|
47
|
-
import * as i1 from '@angular/material-moment-adapter';
|
|
48
40
|
import { MomentDateAdapter, MatMomentDateModule } from '@angular/material-moment-adapter';
|
|
49
41
|
import * as momentTZImported from 'moment-timezone';
|
|
50
42
|
import { Keyboard } from '@ionic-native/keyboard/ngx';
|
|
@@ -55,38 +47,32 @@ import { trigger, state, style, transition, animate } from '@angular/animations'
|
|
|
55
47
|
import { MatDividerModule } from '@angular/material/divider';
|
|
56
48
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
57
49
|
import { MatChipsModule } from '@angular/material/chips';
|
|
58
|
-
import * as i3$3 from '@angular/router';
|
|
59
50
|
import { Router, ActivatedRoute, RouterModule, RouteReuseStrategy } from '@angular/router';
|
|
60
|
-
import * as i1$5 from '@angular/platform-browser';
|
|
61
51
|
import { HammerGestureConfig, EventManager } from '@angular/platform-browser';
|
|
62
|
-
import * as i2$2 from '@angular/common/http';
|
|
63
52
|
import { HttpResponse, HttpClient, HttpHeaders, HttpEventType, HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
|
|
64
53
|
import { ColorPickerModule } from 'ngx-color-picker';
|
|
65
|
-
import { NativeAudio } from '@ionic-native/native-audio/ngx';
|
|
66
|
-
import { Vibration } from '@ionic-native/vibration/ngx';
|
|
54
|
+
import { NativeAudio as NativeAudio$1 } from '@ionic-native/native-audio/ngx';
|
|
55
|
+
import { Vibration as Vibration$1 } from '@ionic-native/vibration/ngx';
|
|
67
56
|
import { AudioManagement } from '@ionic-native/audio-management/ngx';
|
|
68
|
-
import
|
|
69
|
-
import
|
|
70
|
-
import
|
|
57
|
+
import { NativeAudio } from '@ionic-native/native-audio/ngx/index';
|
|
58
|
+
import { Vibration } from '@ionic-native/vibration/ngx/index';
|
|
59
|
+
import { AudioManagement as AudioManagement$1 } from '@ionic-native/audio-management/ngx/index';
|
|
71
60
|
import * as uuidv4Imported from 'uuid/v4';
|
|
72
61
|
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
73
62
|
import { MarkdownModule } from 'ngx-markdown';
|
|
74
63
|
import { sign, box, hash, verify } from 'tweetnacl';
|
|
75
|
-
import * as i3$1 from '@ionic/storage';
|
|
76
64
|
import { Storage, IonicStorageModule } from '@ionic/storage';
|
|
77
65
|
import 'zone.js/dist/zone-error';
|
|
78
|
-
import { SplashScreen } from '@ionic-native/splash-screen/ngx';
|
|
79
|
-
import { Connection, Network } from '@ionic-native/network/ngx';
|
|
80
|
-
import { CacheService, CacheModule } from 'ionic-cache';
|
|
81
|
-
import
|
|
82
|
-
import
|
|
83
|
-
import
|
|
84
|
-
import { StatusBar } from '@ionic-native/status-bar/ngx';
|
|
85
|
-
import * as i2$4 from '@angular/cdk/platform';
|
|
66
|
+
import { SplashScreen as SplashScreen$1 } from '@ionic-native/splash-screen/ngx';
|
|
67
|
+
import { Connection, Network as Network$1 } from '@ionic-native/network/ngx';
|
|
68
|
+
import { CacheService as CacheService$1, CacheModule } from 'ionic-cache';
|
|
69
|
+
import { CacheService } from 'ionic-cache/dist/cache.service';
|
|
70
|
+
import { Network } from '@ionic-native/network/ngx/index';
|
|
71
|
+
import { SplashScreen } from '@ionic-native/splash-screen/ngx/index';
|
|
72
|
+
import { StatusBar as StatusBar$1 } from '@ionic-native/status-bar/ngx';
|
|
86
73
|
import { Platform as Platform$1 } from '@angular/cdk/platform';
|
|
87
|
-
import { InAppBrowser } from '@ionic-native/in-app-browser/ngx';
|
|
74
|
+
import { InAppBrowser as InAppBrowser$1 } from '@ionic-native/in-app-browser/ngx';
|
|
88
75
|
import { ApolloLink, NetworkStatus, InMemoryCache, ApolloClient, gql } from '@apollo/client/core';
|
|
89
|
-
import * as i2$3 from 'apollo-angular';
|
|
90
76
|
import { Apollo } from 'apollo-angular';
|
|
91
77
|
import { WebSocketLink } from '@apollo/client/link/ws';
|
|
92
78
|
import { getMainDefinition } from '@apollo/client/utilities';
|
|
@@ -94,14 +80,13 @@ import { RetryLink } from '@apollo/client/link/retry';
|
|
|
94
80
|
import QueueLink from 'apollo-link-queue';
|
|
95
81
|
import SerializingLink from 'apollo-link-serialize';
|
|
96
82
|
import loggerLink from 'apollo-link-logger';
|
|
97
|
-
import * as i3$2 from 'apollo-angular/http';
|
|
98
83
|
import { HttpLink } from 'apollo-angular/http';
|
|
99
84
|
import { IonicStorageWrapper, persistCache } from 'apollo3-cache-persist';
|
|
100
|
-
import { NotificationVisibility, Downloader } from '@ionic-native/downloader/ngx';
|
|
101
|
-
import
|
|
102
|
-
import
|
|
103
|
-
import
|
|
104
|
-
import
|
|
85
|
+
import { NotificationVisibility, Downloader as Downloader$1 } from '@ionic-native/downloader/ngx';
|
|
86
|
+
import { StatusBar } from '@ionic-native/status-bar/ngx/index';
|
|
87
|
+
import { Keyboard as Keyboard$1 } from '@ionic-native/keyboard/ngx/index';
|
|
88
|
+
import { InAppBrowser } from '@ionic-native/in-app-browser/ngx/index';
|
|
89
|
+
import { Downloader } from '@ionic-native/downloader/ngx/index';
|
|
105
90
|
import { CdkTextareaAutosize } from '@angular/cdk/text-field';
|
|
106
91
|
import { ValidatorService, TableDataSource } from '@e-is/ngx-material-table';
|
|
107
92
|
import { SelectionModel } from '@angular/cdk/collections';
|
|
@@ -994,14 +979,14 @@ class MatAutocompleteConfigHolder {
|
|
|
994
979
|
return this.fields[fieldName] || this.add(fieldName);
|
|
995
980
|
}
|
|
996
981
|
}
|
|
997
|
-
const noop
|
|
998
|
-
const ɵ0
|
|
982
|
+
const noop = (_) => { };
|
|
983
|
+
const ɵ0 = noop;
|
|
999
984
|
class MatAutocompleteField {
|
|
1000
985
|
constructor(cd, formGroupDir) {
|
|
1001
986
|
this.cd = cd;
|
|
1002
987
|
this.formGroupDir = formGroupDir;
|
|
1003
|
-
this._onChangeCallback = noop
|
|
1004
|
-
this._onTouchedCallback = noop
|
|
988
|
+
this._onChangeCallback = noop;
|
|
989
|
+
this._onTouchedCallback = noop;
|
|
1005
990
|
this.logPrefix = '[mat-autocomplete] ';
|
|
1006
991
|
this.formControlName = null;
|
|
1007
992
|
this.required = false;
|
|
@@ -1721,7 +1706,7 @@ class DateFormatPipe {
|
|
|
1721
1706
|
return this.dateAdapter.format(date, displayFormat);
|
|
1722
1707
|
}
|
|
1723
1708
|
}
|
|
1724
|
-
DateFormatPipe.ɵprov =
|
|
1709
|
+
DateFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateFormatPipe_Factory() { return new DateFormatPipe(ɵɵinject(MomentDateAdapter), ɵɵinject(TranslateService)); }, token: DateFormatPipe, providedIn: "root" });
|
|
1725
1710
|
DateFormatPipe.decorators = [
|
|
1726
1711
|
{ type: Pipe, args: [{
|
|
1727
1712
|
name: 'dateFormat'
|
|
@@ -1733,7 +1718,7 @@ DateFormatPipe.ctorParameters = () => [
|
|
|
1733
1718
|
{ type: TranslateService }
|
|
1734
1719
|
];
|
|
1735
1720
|
|
|
1736
|
-
const moment
|
|
1721
|
+
const moment = momentImported;
|
|
1737
1722
|
class DateDiffDurationPipe {
|
|
1738
1723
|
constructor(dateAdapter, translate) {
|
|
1739
1724
|
this.dateAdapter = dateAdapter;
|
|
@@ -1749,17 +1734,17 @@ class DateDiffDurationPipe {
|
|
|
1749
1734
|
return this.format(startDate, endDate);
|
|
1750
1735
|
}
|
|
1751
1736
|
format(startDate, endDate) {
|
|
1752
|
-
const duration = moment
|
|
1737
|
+
const duration = moment.duration(endDate.diff(startDate));
|
|
1753
1738
|
if (duration.asMinutes() < 0)
|
|
1754
1739
|
return '';
|
|
1755
|
-
const timeDuration = moment
|
|
1740
|
+
const timeDuration = moment(0)
|
|
1756
1741
|
.hour(duration.hours())
|
|
1757
1742
|
.minute(duration.minutes());
|
|
1758
1743
|
const days = Math.floor(duration.asDays());
|
|
1759
1744
|
return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + timeDuration.format('HH:mm');
|
|
1760
1745
|
}
|
|
1761
1746
|
}
|
|
1762
|
-
DateDiffDurationPipe.ɵprov =
|
|
1747
|
+
DateDiffDurationPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateDiffDurationPipe_Factory() { return new DateDiffDurationPipe(ɵɵinject(DateAdapter), ɵɵinject(TranslateService)); }, token: DateDiffDurationPipe, providedIn: "root" });
|
|
1763
1748
|
DateDiffDurationPipe.decorators = [
|
|
1764
1749
|
{ type: Pipe, args: [{
|
|
1765
1750
|
name: 'dateDiffDuration'
|
|
@@ -1780,7 +1765,7 @@ class DateFromNowPipe {
|
|
|
1780
1765
|
return date ? date.fromNow(args && args.withoutSuffix) : '';
|
|
1781
1766
|
}
|
|
1782
1767
|
}
|
|
1783
|
-
DateFromNowPipe.ɵprov =
|
|
1768
|
+
DateFromNowPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(ɵɵinject(MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
|
|
1784
1769
|
DateFromNowPipe.decorators = [
|
|
1785
1770
|
{ type: Pipe, args: [{
|
|
1786
1771
|
name: 'dateFromNow'
|
|
@@ -1849,7 +1834,7 @@ function formatToDD(value, opts) {
|
|
|
1849
1834
|
value *= -1;
|
|
1850
1835
|
}
|
|
1851
1836
|
}
|
|
1852
|
-
let degrees = roundFloat
|
|
1837
|
+
let degrees = roundFloat(value, opts.maxDecimals).toString();
|
|
1853
1838
|
// Add sign
|
|
1854
1839
|
let sign = negative ? '-' : '+';
|
|
1855
1840
|
if (opts.placeholderChar) {
|
|
@@ -1900,7 +1885,7 @@ function formatToDDMMSS(value, opts) {
|
|
|
1900
1885
|
}
|
|
1901
1886
|
let degrees = Math.trunc(value);
|
|
1902
1887
|
let minutes = Math.trunc((value - degrees) * 60);
|
|
1903
|
-
let seconds = roundFloat
|
|
1888
|
+
let seconds = roundFloat(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
|
|
1904
1889
|
while (seconds >= 60) {
|
|
1905
1890
|
seconds -= 60;
|
|
1906
1891
|
minutes += 1;
|
|
@@ -1968,7 +1953,7 @@ function formatToDDMM(value, opts) {
|
|
|
1968
1953
|
}
|
|
1969
1954
|
}
|
|
1970
1955
|
let degrees = Math.trunc(value);
|
|
1971
|
-
let minutes = roundFloat
|
|
1956
|
+
let minutes = roundFloat((value - degrees) * 60, opts.maxDecimals);
|
|
1972
1957
|
while (minutes >= 60) {
|
|
1973
1958
|
minutes -= 60;
|
|
1974
1959
|
degrees += 1;
|
|
@@ -2019,15 +2004,15 @@ function parseLatitudeOrLongitude(input, pattern, maxDecimals, placeholderChar)
|
|
|
2019
2004
|
return NaN;
|
|
2020
2005
|
}
|
|
2021
2006
|
if (pattern === 'DD')
|
|
2022
|
-
return roundFloat
|
|
2007
|
+
return roundFloat(degrees, maxDecimals);
|
|
2023
2008
|
const minutes = (pattern === 'DDMMSS' || pattern === 'DDMM') && parts[1] && parseFloat(parts[1].replace(/,/g, '.')) || 0;
|
|
2024
2009
|
const seconds = (pattern === 'DDMMSS') && parts[2] && parseFloat(parts[2].replace(/,/g, '.')) || 0;
|
|
2025
2010
|
const direction = ((pattern === 'DDMMSS') && parts[3]) || ((pattern === 'DDMM') && parts[2]) || undefined;
|
|
2026
2011
|
const sign = (direction && (direction === 's' || direction === 'S' || direction === 'w' || direction === 'W')) ? -1 : 1;
|
|
2027
2012
|
degrees = sign * (degrees + minutes / 60 + seconds / (60 * 60));
|
|
2028
|
-
return roundFloat
|
|
2013
|
+
return roundFloat(degrees, maxDecimals);
|
|
2029
2014
|
}
|
|
2030
|
-
function roundFloat
|
|
2015
|
+
function roundFloat(input, maxDecimals) {
|
|
2031
2016
|
if (maxDecimals > 0) {
|
|
2032
2017
|
const powDecimal = Math.pow(10, maxDecimals);
|
|
2033
2018
|
return Math.trunc(input * powDecimal + 0.5) / powDecimal;
|
|
@@ -2047,7 +2032,7 @@ class LatLongFormatPipe {
|
|
|
2047
2032
|
return ((!args.type || args.type !== 'latitude') ? formatLongitude : formatLatitude)(value, args);
|
|
2048
2033
|
}
|
|
2049
2034
|
}
|
|
2050
|
-
LatLongFormatPipe.ɵprov =
|
|
2035
|
+
LatLongFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
|
|
2051
2036
|
LatLongFormatPipe.decorators = [
|
|
2052
2037
|
{ type: Pipe, args: [{
|
|
2053
2038
|
name: 'latLongFormat'
|
|
@@ -2059,7 +2044,7 @@ class LatitudeFormatPipe {
|
|
|
2059
2044
|
this.transform = formatLatitude;
|
|
2060
2045
|
}
|
|
2061
2046
|
}
|
|
2062
|
-
LatitudeFormatPipe.ɵprov =
|
|
2047
|
+
LatitudeFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
|
|
2063
2048
|
LatitudeFormatPipe.decorators = [
|
|
2064
2049
|
{ type: Pipe, args: [{
|
|
2065
2050
|
name: 'latitudeFormat'
|
|
@@ -2071,7 +2056,7 @@ class LongitudeFormatPipe {
|
|
|
2071
2056
|
this.transform = formatLongitude;
|
|
2072
2057
|
}
|
|
2073
2058
|
}
|
|
2074
|
-
LongitudeFormatPipe.ɵprov =
|
|
2059
|
+
LongitudeFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
|
|
2075
2060
|
LongitudeFormatPipe.decorators = [
|
|
2076
2061
|
{ type: Pipe, args: [{
|
|
2077
2062
|
name: 'longitudeFormat'
|
|
@@ -2091,7 +2076,7 @@ class NumberFormatPipe {
|
|
|
2091
2076
|
}
|
|
2092
2077
|
}
|
|
2093
2078
|
}
|
|
2094
|
-
NumberFormatPipe.ɵprov =
|
|
2079
|
+
NumberFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
|
|
2095
2080
|
NumberFormatPipe.decorators = [
|
|
2096
2081
|
{ type: Pipe, args: [{
|
|
2097
2082
|
name: 'numberFormat'
|
|
@@ -2131,7 +2116,7 @@ class HighlightPipe {
|
|
|
2131
2116
|
}
|
|
2132
2117
|
}
|
|
2133
2118
|
}
|
|
2134
|
-
HighlightPipe.ɵprov =
|
|
2119
|
+
HighlightPipe.ɵprov = ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
|
|
2135
2120
|
HighlightPipe.decorators = [
|
|
2136
2121
|
{ type: Pipe, args: [{
|
|
2137
2122
|
name: 'highlight'
|
|
@@ -2196,7 +2181,7 @@ FileSizePipe.decorators = [
|
|
|
2196
2181
|
{ type: Pipe, args: [{ name: 'fileSize' },] }
|
|
2197
2182
|
];
|
|
2198
2183
|
|
|
2199
|
-
const moment$
|
|
2184
|
+
const moment$1 = momentImported;
|
|
2200
2185
|
const tz = momentTZImported;
|
|
2201
2186
|
const DATE_UNIX_TIMESTAMP = 'X';
|
|
2202
2187
|
const DATE_UNIX_MS_TIMESTAMP = 'x';
|
|
@@ -2273,32 +2258,32 @@ function fromDateISOString(value) {
|
|
|
2273
2258
|
if (!value || isMoment(value))
|
|
2274
2259
|
return value;
|
|
2275
2260
|
// Parse the input value, as a ISO date time
|
|
2276
|
-
const date = moment$
|
|
2261
|
+
const date = moment$1(value, DATE_ISO_PATTERN);
|
|
2277
2262
|
if (date.isValid())
|
|
2278
2263
|
return date;
|
|
2279
2264
|
// Not valid: trying to convert from unix timestamp
|
|
2280
2265
|
if (typeof value === 'string') {
|
|
2281
2266
|
console.warn('Wrong date format - Trying to convert from local time: ' + value);
|
|
2282
2267
|
if (value.length === 10) {
|
|
2283
|
-
return moment$
|
|
2268
|
+
return moment$1(value, DATE_UNIX_TIMESTAMP);
|
|
2284
2269
|
}
|
|
2285
2270
|
else if (value.length === 13) {
|
|
2286
|
-
return moment$
|
|
2271
|
+
return moment$1(value, DATE_UNIX_MS_TIMESTAMP);
|
|
2287
2272
|
}
|
|
2288
2273
|
}
|
|
2289
2274
|
console.warn('Unable to parse date: ' + value);
|
|
2290
2275
|
return undefined;
|
|
2291
2276
|
}
|
|
2292
2277
|
function fromUnixTimestamp(timeInSec) {
|
|
2293
|
-
return moment$
|
|
2278
|
+
return moment$1(timeInSec, DATE_UNIX_TIMESTAMP);
|
|
2294
2279
|
}
|
|
2295
2280
|
function fromUnixMsTimestamp(timeInMs) {
|
|
2296
|
-
return moment$
|
|
2281
|
+
return moment$1(timeInMs, DATE_UNIX_MS_TIMESTAMP);
|
|
2297
2282
|
}
|
|
2298
2283
|
function toDuration(value, unit) {
|
|
2299
2284
|
if (!value)
|
|
2300
2285
|
return undefined;
|
|
2301
|
-
const duration = moment$
|
|
2286
|
+
const duration = moment$1.duration(value, unit);
|
|
2302
2287
|
// fix 990+ ms
|
|
2303
2288
|
if (duration.milliseconds() >= 990) {
|
|
2304
2289
|
duration.add(1000 - duration.milliseconds(), 'ms');
|
|
@@ -2327,7 +2312,7 @@ class DurationPipe {
|
|
|
2327
2312
|
return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + hour + ':' + minute;
|
|
2328
2313
|
}
|
|
2329
2314
|
}
|
|
2330
|
-
DurationPipe.ɵprov =
|
|
2315
|
+
DurationPipe.ɵprov = ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(ɵɵinject(TranslateService)); }, token: DurationPipe, providedIn: "root" });
|
|
2331
2316
|
DurationPipe.decorators = [
|
|
2332
2317
|
{ type: Pipe, args: [{
|
|
2333
2318
|
name: 'duration'
|
|
@@ -2348,7 +2333,7 @@ class MathAbsPipe {
|
|
|
2348
2333
|
}
|
|
2349
2334
|
}
|
|
2350
2335
|
}
|
|
2351
|
-
MathAbsPipe.ɵprov =
|
|
2336
|
+
MathAbsPipe.ɵprov = ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
|
|
2352
2337
|
MathAbsPipe.decorators = [
|
|
2353
2338
|
{ type: Pipe, args: [{
|
|
2354
2339
|
name: 'mathAbs'
|
|
@@ -2360,7 +2345,7 @@ class EvenPipe {
|
|
|
2360
2345
|
return val % 2 === 0;
|
|
2361
2346
|
}
|
|
2362
2347
|
}
|
|
2363
|
-
EvenPipe.ɵprov =
|
|
2348
|
+
EvenPipe.ɵprov = ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
|
|
2364
2349
|
EvenPipe.decorators = [
|
|
2365
2350
|
{ type: Pipe, args: [{
|
|
2366
2351
|
name: 'even'
|
|
@@ -2372,7 +2357,7 @@ class OddPipe {
|
|
|
2372
2357
|
return val % 2 !== 0;
|
|
2373
2358
|
}
|
|
2374
2359
|
}
|
|
2375
|
-
OddPipe.ɵprov =
|
|
2360
|
+
OddPipe.ɵprov = ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
|
|
2376
2361
|
OddPipe.decorators = [
|
|
2377
2362
|
{ type: Pipe, args: [{
|
|
2378
2363
|
name: 'odd'
|
|
@@ -2480,7 +2465,7 @@ class MapGetPipe {
|
|
|
2480
2465
|
return val[key];
|
|
2481
2466
|
}
|
|
2482
2467
|
}
|
|
2483
|
-
MapGetPipe.ɵprov =
|
|
2468
|
+
MapGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
|
|
2484
2469
|
MapGetPipe.decorators = [
|
|
2485
2470
|
{ type: Pipe, args: [{
|
|
2486
2471
|
name: 'mapGet'
|
|
@@ -2494,7 +2479,7 @@ class MapKeysPipe {
|
|
|
2494
2479
|
return Object.keys(map);
|
|
2495
2480
|
}
|
|
2496
2481
|
}
|
|
2497
|
-
MapKeysPipe.ɵprov =
|
|
2482
|
+
MapKeysPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
|
|
2498
2483
|
MapKeysPipe.decorators = [
|
|
2499
2484
|
{ type: Pipe, args: [{
|
|
2500
2485
|
name: 'mapKeys'
|
|
@@ -2508,7 +2493,7 @@ class MapValuesPipe {
|
|
|
2508
2493
|
return Object.values(map);
|
|
2509
2494
|
}
|
|
2510
2495
|
}
|
|
2511
|
-
MapValuesPipe.ɵprov =
|
|
2496
|
+
MapValuesPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
|
|
2512
2497
|
MapValuesPipe.decorators = [
|
|
2513
2498
|
{ type: Pipe, args: [{
|
|
2514
2499
|
name: 'mapValues'
|
|
@@ -2521,7 +2506,7 @@ class IsNotNilOrBlankPipe {
|
|
|
2521
2506
|
return isNotNilOrBlank(value);
|
|
2522
2507
|
}
|
|
2523
2508
|
}
|
|
2524
|
-
IsNotNilOrBlankPipe.ɵprov =
|
|
2509
|
+
IsNotNilOrBlankPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
|
|
2525
2510
|
IsNotNilOrBlankPipe.decorators = [
|
|
2526
2511
|
{ type: Pipe, args: [{
|
|
2527
2512
|
name: 'isNotNilOrBlank'
|
|
@@ -2533,7 +2518,7 @@ class IsNilOrBlankPipe {
|
|
|
2533
2518
|
return isNilOrBlank(value);
|
|
2534
2519
|
}
|
|
2535
2520
|
}
|
|
2536
|
-
IsNilOrBlankPipe.ɵprov =
|
|
2521
|
+
IsNilOrBlankPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
|
|
2537
2522
|
IsNilOrBlankPipe.decorators = [
|
|
2538
2523
|
{ type: Pipe, args: [{
|
|
2539
2524
|
name: 'isNilOrBlank'
|
|
@@ -2545,7 +2530,7 @@ class ToStringPipe {
|
|
|
2545
2530
|
return (value !== null && value !== undefined) ? value.toString() : '';
|
|
2546
2531
|
}
|
|
2547
2532
|
}
|
|
2548
|
-
ToStringPipe.ɵprov =
|
|
2533
|
+
ToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
|
|
2549
2534
|
ToStringPipe.decorators = [
|
|
2550
2535
|
{ type: Pipe, args: [{
|
|
2551
2536
|
name: 'toString'
|
|
@@ -2557,7 +2542,7 @@ class StrLengthPipe {
|
|
|
2557
2542
|
return value && value.length || 0;
|
|
2558
2543
|
}
|
|
2559
2544
|
}
|
|
2560
|
-
StrLengthPipe.ɵprov =
|
|
2545
|
+
StrLengthPipe.ɵprov = ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
|
|
2561
2546
|
StrLengthPipe.decorators = [
|
|
2562
2547
|
{ type: Pipe, args: [{
|
|
2563
2548
|
name: 'strLength'
|
|
@@ -2569,7 +2554,7 @@ class StrIncludesPipe {
|
|
|
2569
2554
|
return (value === null || value === void 0 ? void 0 : value.includes(searchString, position)) || false;
|
|
2570
2555
|
}
|
|
2571
2556
|
}
|
|
2572
|
-
StrIncludesPipe.ɵprov =
|
|
2557
|
+
StrIncludesPipe.ɵprov = ɵɵdefineInjectable({ factory: function StrIncludesPipe_Factory() { return new StrIncludesPipe(); }, token: StrIncludesPipe, providedIn: "root" });
|
|
2573
2558
|
StrIncludesPipe.decorators = [
|
|
2574
2559
|
{ type: Pipe, args: [{
|
|
2575
2560
|
name: 'strIncludes'
|
|
@@ -2646,7 +2631,7 @@ class TranslateContextService {
|
|
|
2646
2631
|
return translations[keys[keys.length - 1]]; // Return the last keys translation
|
|
2647
2632
|
}
|
|
2648
2633
|
}
|
|
2649
|
-
TranslateContextService.ɵprov =
|
|
2634
|
+
TranslateContextService.ɵprov = ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(ɵɵinject(TranslateService)); }, token: TranslateContextService, providedIn: "root" });
|
|
2650
2635
|
TranslateContextService.decorators = [
|
|
2651
2636
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
2652
2637
|
];
|
|
@@ -2696,7 +2681,7 @@ class PropertyGetPipe {
|
|
|
2696
2681
|
args && args.defaultValue);
|
|
2697
2682
|
}
|
|
2698
2683
|
}
|
|
2699
|
-
PropertyGetPipe.ɵprov =
|
|
2684
|
+
PropertyGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
|
|
2700
2685
|
PropertyGetPipe.decorators = [
|
|
2701
2686
|
{ type: Pipe, args: [{
|
|
2702
2687
|
name: 'propertyGet'
|
|
@@ -2721,7 +2706,7 @@ NgInitDirective.propDecorators = {
|
|
|
2721
2706
|
ngInit: [{ type: Output }]
|
|
2722
2707
|
};
|
|
2723
2708
|
|
|
2724
|
-
const moment$
|
|
2709
|
+
const moment$2 = momentImported;
|
|
2725
2710
|
// @dynamic
|
|
2726
2711
|
class SharedValidators {
|
|
2727
2712
|
static getDoubleRegexp(maxDecimals) {
|
|
@@ -2802,7 +2787,7 @@ class SharedValidators {
|
|
|
2802
2787
|
}
|
|
2803
2788
|
static validDate(control) {
|
|
2804
2789
|
const value = control.value;
|
|
2805
|
-
const date = !value || moment$
|
|
2790
|
+
const date = !value || moment$2.isMoment(value) ? value : moment$2(control.value, DATE_ISO_PATTERN);
|
|
2806
2791
|
if (date && (!date.isValid() || date.year() < 1970)) {
|
|
2807
2792
|
return { validDate: true };
|
|
2808
2793
|
}
|
|
@@ -3914,7 +3899,7 @@ class FormErrorTranslator {
|
|
|
3914
3899
|
return errorKey;
|
|
3915
3900
|
}
|
|
3916
3901
|
}
|
|
3917
|
-
FormErrorTranslator.ɵprov =
|
|
3902
|
+
FormErrorTranslator.ɵprov = ɵɵdefineInjectable({ factory: function FormErrorTranslator_Factory() { return new FormErrorTranslator(ɵɵinject(TranslateService), ɵɵinject(APP_FORM_ERROR_I18N_KEYS, 8)); }, token: FormErrorTranslator, providedIn: "root" });
|
|
3918
3903
|
FormErrorTranslator.decorators = [
|
|
3919
3904
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
3920
3905
|
];
|
|
@@ -3994,7 +3979,7 @@ class FormGetPipe {
|
|
|
3994
3979
|
return form.get(path);
|
|
3995
3980
|
}
|
|
3996
3981
|
}
|
|
3997
|
-
FormGetPipe.ɵprov =
|
|
3982
|
+
FormGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function FormGetPipe_Factory() { return new FormGetPipe(); }, token: FormGetPipe, providedIn: "root" });
|
|
3998
3983
|
FormGetPipe.decorators = [
|
|
3999
3984
|
{ type: Pipe, args: [{
|
|
4000
3985
|
name: 'formGet'
|
|
@@ -4006,7 +3991,7 @@ class FormGetControlPipe {
|
|
|
4006
3991
|
return form.get(path);
|
|
4007
3992
|
}
|
|
4008
3993
|
}
|
|
4009
|
-
FormGetControlPipe.ɵprov =
|
|
3994
|
+
FormGetControlPipe.ɵprov = ɵɵdefineInjectable({ factory: function FormGetControlPipe_Factory() { return new FormGetControlPipe(); }, token: FormGetControlPipe, providedIn: "root" });
|
|
4010
3995
|
FormGetControlPipe.decorators = [
|
|
4011
3996
|
{ type: Pipe, args: [{
|
|
4012
3997
|
name: 'formGetControl'
|
|
@@ -4018,7 +4003,7 @@ class FormGetArrayPipe {
|
|
|
4018
4003
|
return form.get(path);
|
|
4019
4004
|
}
|
|
4020
4005
|
}
|
|
4021
|
-
FormGetArrayPipe.ɵprov =
|
|
4006
|
+
FormGetArrayPipe.ɵprov = ɵɵdefineInjectable({ factory: function FormGetArrayPipe_Factory() { return new FormGetArrayPipe(); }, token: FormGetArrayPipe, providedIn: "root" });
|
|
4022
4007
|
FormGetArrayPipe.decorators = [
|
|
4023
4008
|
{ type: Pipe, args: [{
|
|
4024
4009
|
name: 'formGetArray'
|
|
@@ -4030,7 +4015,7 @@ class FormGetGroupPipe {
|
|
|
4030
4015
|
return form.get(path);
|
|
4031
4016
|
}
|
|
4032
4017
|
}
|
|
4033
|
-
FormGetGroupPipe.ɵprov =
|
|
4018
|
+
FormGetGroupPipe.ɵprov = ɵɵdefineInjectable({ factory: function FormGetGroupPipe_Factory() { return new FormGetGroupPipe(); }, token: FormGetGroupPipe, providedIn: "root" });
|
|
4034
4019
|
FormGetGroupPipe.decorators = [
|
|
4035
4020
|
{ type: Pipe, args: [{
|
|
4036
4021
|
name: 'formGetGroup'
|
|
@@ -4150,7 +4135,7 @@ const isIpad = (win) => {
|
|
|
4150
4135
|
}
|
|
4151
4136
|
return false;
|
|
4152
4137
|
};
|
|
4153
|
-
const ɵ0$
|
|
4138
|
+
const ɵ0$1 = isIpad;
|
|
4154
4139
|
const isIOS = (win) => testUserAgent(win, /iPhone|iPod/i) || isIpad(win);
|
|
4155
4140
|
const isAndroid = (win) => testUserAgent(win, /android|sink/i);
|
|
4156
4141
|
const isCordova = (win) => !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);
|
|
@@ -4385,9 +4370,9 @@ function parseDuration(input, maxDecimals, placeholderChar) {
|
|
|
4385
4370
|
const hour = parseInt(durationParts[0] || '0');
|
|
4386
4371
|
const minute = parseInt(durationParts[1] || '0');
|
|
4387
4372
|
const value = hour + (minute + 0.5) / 60;
|
|
4388
|
-
return roundFloat(value, maxDecimals);
|
|
4373
|
+
return roundFloat$1(value, maxDecimals);
|
|
4389
4374
|
}
|
|
4390
|
-
function roundFloat(input, maxDecimals) {
|
|
4375
|
+
function roundFloat$1(input, maxDecimals) {
|
|
4391
4376
|
if (maxDecimals > 0) {
|
|
4392
4377
|
const powDecimal = Math.pow(10, maxDecimals);
|
|
4393
4378
|
return Math.trunc(input * powDecimal + 0.5) / powDecimal;
|
|
@@ -4411,9 +4396,9 @@ const MASKS = {
|
|
|
4411
4396
|
DD: [/[+-]/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '°']
|
|
4412
4397
|
}
|
|
4413
4398
|
};
|
|
4414
|
-
const noop$
|
|
4399
|
+
const noop$1 = () => {
|
|
4415
4400
|
};
|
|
4416
|
-
const ɵ0$
|
|
4401
|
+
const ɵ0$2 = noop$1;
|
|
4417
4402
|
class MatLatLongField {
|
|
4418
4403
|
constructor(platform, translate, formBuilder, cd, formGroupDir) {
|
|
4419
4404
|
this.platform = platform;
|
|
@@ -4421,8 +4406,8 @@ class MatLatLongField {
|
|
|
4421
4406
|
this.formBuilder = formBuilder;
|
|
4422
4407
|
this.cd = cd;
|
|
4423
4408
|
this.formGroupDir = formGroupDir;
|
|
4424
|
-
this._onChangeCallback = noop$
|
|
4425
|
-
this._onTouchedCallback = noop$
|
|
4409
|
+
this._onChangeCallback = noop$1;
|
|
4410
|
+
this._onTouchedCallback = noop$1;
|
|
4426
4411
|
this._subscription = new Subscription();
|
|
4427
4412
|
this.disabling = false;
|
|
4428
4413
|
this.writing = false;
|
|
@@ -4759,14 +4744,14 @@ SharedMatLatLongModule.decorators = [
|
|
|
4759
4744
|
},] }
|
|
4760
4745
|
];
|
|
4761
4746
|
|
|
4762
|
-
const DEFAULT_VALUE_ACCESSOR
|
|
4747
|
+
const DEFAULT_VALUE_ACCESSOR = {
|
|
4763
4748
|
provide: NG_VALUE_ACCESSOR,
|
|
4764
4749
|
useExisting: forwardRef(() => MatDate),
|
|
4765
4750
|
multi: true
|
|
4766
4751
|
};
|
|
4767
|
-
const DAY_MASK
|
|
4768
|
-
const noop$
|
|
4769
|
-
const ɵ0$
|
|
4752
|
+
const DAY_MASK = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
|
|
4753
|
+
const noop$2 = () => { };
|
|
4754
|
+
const ɵ0$3 = noop$2;
|
|
4770
4755
|
class MatDate {
|
|
4771
4756
|
constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
4772
4757
|
this.platform = platform;
|
|
@@ -4776,13 +4761,13 @@ class MatDate {
|
|
|
4776
4761
|
this.cd = cd;
|
|
4777
4762
|
this.keyboard = keyboard;
|
|
4778
4763
|
this.formGroupDir = formGroupDir;
|
|
4779
|
-
this._onChangeCallback = noop$
|
|
4780
|
-
this._onTouchedCallback = noop$
|
|
4764
|
+
this._onChangeCallback = noop$2;
|
|
4765
|
+
this._onTouchedCallback = noop$2;
|
|
4781
4766
|
this._subscription = new Subscription();
|
|
4782
4767
|
this._writing = true;
|
|
4783
4768
|
this._disabling = false;
|
|
4784
4769
|
this._readonly = false;
|
|
4785
|
-
this.dayMask = DAY_MASK
|
|
4770
|
+
this.dayMask = DAY_MASK;
|
|
4786
4771
|
this.floatLabel = 'auto';
|
|
4787
4772
|
this.compact = false;
|
|
4788
4773
|
this.placeholderChar = DEFAULT_PLACEHOLDER_CHAR;
|
|
@@ -5069,7 +5054,7 @@ MatDate.decorators = [
|
|
|
5069
5054
|
selector: 'mat-date-field',
|
|
5070
5055
|
template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled\">\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <input matInput hidden type=\"text\"\n readonly\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <ion-text>{{formControl.value|dateFormat: {pattern: displayPattern} }}</ion-text>\n</mat-form-field>\n\n<!-- writable -->\n<ng-template #writable>\n <mat-form-field [floatLabel]=\"floatLabel\">\n\n <mat-label>{{placeholder}}</mat-label>\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"dayControl\"\n [textMask]=\"{mask: dayMask, keepCharPositions: true, placeholderChar: placeholderChar}\"\n [placeholder]=\"'COMMON.DATE_PLACEHOLDER'|translate\"\n (blur)=\"checkIfTouched()\"\n (keyup.arrowdown)=\"openDatePicker($event, datePicker)\"\n (keyup.escape)=\"preventEvent($event)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [appAutofocus]=\"autofocus\">\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"dayControl\"\n (click)=\"openDatePickerIfMobile($event, datePicker)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n readonly>\n\n <!-- Hide the final input -->\n <input matInput type=\"text\" [formControl]=\"formControl\"\n hidden\n [matDatepicker]=\"datePicker\"\n [matDatepickerFilter]=\"datePickerFilter\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n <button type=\"button\" mat-icon-button tabindex=\"-1\" matSuffix\n (click)=\"openDatePicker($event, datePicker)\"\n [disabled]=\"formControl.disabled\">\n <div *ngIf=\"mobile; then iconDate; else iconDesktop\"></div>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clear()\"\n [hidden]=\"formControl.disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <!-- errors -->\n <mat-error *ngIf=\"formControl.touched && formControl.errors|mapKeys|arrayFirst; let errorKey\">\n <ng-container [ngSwitch]=\"errorKey\">\n <span *ngSwitchCase=\"'required'\" translate>ERROR.FIELD_REQUIRED</span>\n <span *ngSwitchCase=\"'validDate'\" translate>ERROR.FIELD_NOT_VALID_DATE_TIME</span>\n <span *ngSwitchCase=\"'dateIsAfter'\">{{'ERROR.FIELD_NOT_VALID_DATE_AFTER' | translate: formControl.errors.dateIsAfter }}</span>\n <span *ngSwitchCase=\"'dateIsBefore'\">{{'ERROR.FIELD_NOT_VALID_DATE_BEFORE' | translate: formControl.errors.dateIsBefore }}</span>\n <span *ngSwitchCase=\"'dateRange'\" translate>ERROR.FIELD_NOT_VALID_DATE_RANGE</span>\n <span *ngSwitchCase=\"'dateMaxDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MAX_DURATION</span>\n <span *ngSwitchCase=\"'dateMinDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MIN_DURATION</span>\n <span *ngSwitchCase=\"'msg'\">{{(formControl.errors.msg?.key || formControl.errors.msg) | translate: formControl.errors.msg?.params}}</span>\n </ng-container>\n </mat-error>\n <ng-content select=\"mat-error\"></ng-content>\n\n <!-- mat hint -->\n <div class=\"mat-form-field-hint-wrapper\" [class.cdk-visually-hidden]=\"formControl.invalid\">\n <div class=\"mat-form-field-hint-spacer\"></div>\n <ng-content select=\"mat-hint\"></ng-content>\n </div>\n </mat-form-field>\n\n <mat-datepicker #datePicker\n [touchUi]=\"mobile\"\n [disabled]=\"formControl.disabled\"\n [startAt]=\"startDate\"\n ></mat-datepicker>\n\n\n\n</ng-template>\n\n<ng-template #iconDesktop>\n <mat-icon>keyboard_arrow_down</mat-icon>\n</ng-template>\n\n<ng-template #iconDate>\n <mat-icon>date_range</mat-icon>\n</ng-template>\n\n<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n",
|
|
5071
5056
|
providers: [
|
|
5072
|
-
DEFAULT_VALUE_ACCESSOR
|
|
5057
|
+
DEFAULT_VALUE_ACCESSOR,
|
|
5073
5058
|
],
|
|
5074
5059
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
5075
5060
|
styles: [":host{display:inline-block;width:100%;position:relative}:host [no-padding]{--ion-grid-column-padding:0}:host [nowrap]{flex-wrap:nowrap}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}mat-form-field .datetime-md,mat-form-field ion-datetime{padding:0!important}ion-col.day{min-width:100px}ion-col.day .mat-form-field-subscript-wrapper{overflow:visible;right:-64px;width:calc(100% + 64px)}ion-col.day .mat-form-field-subscript-wrapper .mat-form-field-hint-wrapper{display:flex}ion-col.day .mat-form-field-subscript-wrapper .mat-form-field-hint-wrapper .mat-form-field-hint-spacer{flex:1 0 1em}ion-col.hour{min-width:55px;max-width:65px}ion-col.hour mat-form-field{width:100%}ion-col.hour mat-form-field input[type=text],ion-col.hour mat-form-field mat-label{text-align:left;min-width:50px}mat-form-field.mat-form-field-disabled ion-col.day{min-width:100px}.hour .mat-form-field-label{max-width:40px}.hour mat-form-field.mat-form-field-should-float .mat-form-field-placeholder{max-width:inherit}mat-error{text-align:right;width:100%}"]
|
|
@@ -5104,16 +5089,16 @@ MatDate.propDecorators = {
|
|
|
5104
5089
|
matInputs: [{ type: ViewChildren, args: ['matInput',] }]
|
|
5105
5090
|
};
|
|
5106
5091
|
|
|
5107
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
5092
|
+
const DEFAULT_VALUE_ACCESSOR$1 = {
|
|
5108
5093
|
provide: NG_VALUE_ACCESSOR,
|
|
5109
5094
|
useExisting: forwardRef(() => MatDateTime),
|
|
5110
5095
|
multi: true
|
|
5111
5096
|
};
|
|
5112
5097
|
const DAY_MASK$1 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
|
|
5113
5098
|
const HOUR_REGEXP = /^[012][0-9][:][012345][0-9]$/;
|
|
5114
|
-
const HOUR_MASK
|
|
5115
|
-
const noop$
|
|
5116
|
-
const ɵ0$
|
|
5099
|
+
const HOUR_MASK = [/[012]/, /\d/, ':', /[012345]/, /\d/];
|
|
5100
|
+
const noop$3 = () => { };
|
|
5101
|
+
const ɵ0$4 = noop$3;
|
|
5117
5102
|
class MatDateTime {
|
|
5118
5103
|
constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
5119
5104
|
this.platform = platform;
|
|
@@ -5123,14 +5108,14 @@ class MatDateTime {
|
|
|
5123
5108
|
this.cd = cd;
|
|
5124
5109
|
this.keyboard = keyboard;
|
|
5125
5110
|
this.formGroupDir = formGroupDir;
|
|
5126
|
-
this._onChangeCallback = noop$
|
|
5127
|
-
this._onTouchedCallback = noop$
|
|
5111
|
+
this._onChangeCallback = noop$3;
|
|
5112
|
+
this._onTouchedCallback = noop$3;
|
|
5128
5113
|
this._subscription = new Subscription();
|
|
5129
5114
|
this._writing = true;
|
|
5130
5115
|
this._disabling = false;
|
|
5131
5116
|
this._readonly = false;
|
|
5132
5117
|
this.dayMask = DAY_MASK$1;
|
|
5133
|
-
this.hourMask = HOUR_MASK
|
|
5118
|
+
this.hourMask = HOUR_MASK;
|
|
5134
5119
|
this.floatLabel = 'auto';
|
|
5135
5120
|
this.compact = false;
|
|
5136
5121
|
this.placeholderChar = DEFAULT_PLACEHOLDER_CHAR;
|
|
@@ -5443,7 +5428,7 @@ MatDateTime.decorators = [
|
|
|
5443
5428
|
selector: 'mat-date-time-field',
|
|
5444
5429
|
template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled\">\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <input matInput hidden type=\"text\"\n readonly\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <ion-text>{{formControl.value|dateFormat: {pattern: displayPattern} }}</ion-text>\n</mat-form-field>\n\n<!-- writable + time -->\n<ng-template #writable >\n <ion-grid class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding no-wrap\" nowrap>\n\n <!-- day -->\n <ion-col class=\"day ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-invalid]=\"formControl.touched && formControl.invalid\">\n\n <mat-label>{{placeholder}}</mat-label>\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"dayControl\"\n [textMask]=\"{mask: dayMask, keepCharPositions: true, placeholderChar: placeholderChar}\"\n [placeholder]=\"'COMMON.DATE_PLACEHOLDER'|translate\"\n (blur)=\"checkIfTouched()\"\n (keyup.arrowdown)=\"openDatePicker($event, datePicker)\"\n (keyup.escape)=\"preventEvent($event)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [appAutofocus]=\"autofocus\">\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"dayControl\"\n (click)=\"openDatePickerIfMobile($event, datePicker)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n readonly>\n\n <!-- Hide the final input -->\n <input matInput type=\"text\" [formControl]=\"formControl\"\n hidden\n [matDatepicker]=\"datePicker\"\n [matDatepickerFilter]=\"datePickerFilter\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n <button type=\"button\" mat-icon-button tabindex=\"-1\" matSuffix\n (click)=\"openDatePicker($event, datePicker)\"\n [disabled]=\"formControl.disabled\">\n <div *ngIf=\"mobile; then iconDate; else iconDesktop\"></div>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clear()\"\n [hidden]=\"formControl.disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-datepicker #datePicker\n [touchUi]=\"mobile\"\n [disabled]=\"formControl.disabled\"\n [startAt]=\"startDate\"></mat-datepicker>\n <div class=\"mat-form-field-subscript mat-form-field-subscript-wrapper\" >\n <!-- errors -->\n <ng-container [ngSwitch]=\"formControl.touched && formControl.errors|mapKeys|arrayFirst\">\n <mat-error *ngSwitchCase=\"'required'\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngSwitchCase=\"'validDate'\" translate>ERROR.FIELD_NOT_VALID_DATE_TIME</mat-error>\n <mat-error *ngSwitchCase=\"'dateIsAfter'\">{{'ERROR.FIELD_NOT_VALID_DATE_AFTER' | translate: formControl.errors.dateIsAfter }}</mat-error>\n <mat-error *ngSwitchCase=\"'dateIsBefore'\">{{'ERROR.FIELD_NOT_VALID_DATE_BEFORE' | translate: formControl.errors.dateIsBefore }}</mat-error>\n <mat-error *ngSwitchCase=\"'dateRange'\" translate>ERROR.FIELD_NOT_VALID_DATE_RANGE</mat-error>\n <mat-error *ngSwitchCase=\"'dateMaxDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MAX_DURATION</mat-error>\n <mat-error *ngSwitchCase=\"'dateMinDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MIN_DURATION</mat-error>\n <mat-error *ngSwitchCase=\"'msg'\">{{(formControl.errors.msg?.key || formControl.errors.msg) | translate: formControl.errors.msg?.params}}</mat-error>\n </ng-container>\n <ng-content select=\"mat-error\"></ng-content>\n\n <!-- mat hint -->\n <div class=\"mat-form-field-hint-wrapper\" [class.cdk-visually-hidden]=\"formControl.invalid\">\n <div class=\"mat-form-field-hint-spacer\"></div>\n <ng-content select=\"mat-hint\"></ng-content>\n </div>\n </div>\n\n </ion-col>\n\n <!-- hour -->\n <ion-col class=\"hour ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-invalid]=\"formControl.touched && (hourControl.invalid || formControl.invalid)\">\n <mat-label *ngIf=\"placeholder && floatLabel != 'never'\" translate>COMMON.TIME</mat-label>\n <input matInput #matInput type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"hourControl\"\n autocomplete=\"off\"\n min=\"0\" max=\"23\"\n [textMask]=\"{mask: hourMask, keepCharPositions: true, placeholderChar: placeholderChar, guide: true}\"\n [placeholder]=\"'COMMON.TIME_PLACEHOLDER'|translate\"\n [required]=\"required\"\n (keyup.arrowdown)=\"openTimePicker($event)\"\n (keyup.escape)=\"preventEvent($event)\"\n (blur)=\"checkIfTouched()\"\n [tabindex]=\"tabindex !== undefined ? tabindex+1 : undefined\">\n\n <input matInput #matInput type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"hourControl\"\n (click)=\"openTimePickerIfMobile($event)\"\n readonly>\n\n <input matInput type=\"text\"\n [formControl]=\"hourControl\"\n hidden\n [ngxTimepicker]=\"timePicker\"\n [format]=\"24\">\n\n <button matSuffix type=\"button\" mat-icon-button\n tabindex=\"-1\"\n *ngIf=\"!compact && !mobile\"\n [disabled]=\"formControl.disabled\"\n (click)=\"openTimePicker($event)\" >\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n <button matSuffix type=\"button\" mat-icon-button\n tabindex=\"-1\"\n *ngIf=\"!compact && mobile\"\n [disabled]=\"formControl.disabled\"\n (click)=\"openTimePickerIfMobile($event)\">\n <mat-icon>access_time</mat-icon>\n </button>\n\n <ngx-material-timepicker #timePicker [@.disabled]=\"true\"\n (timeSet)=\"onTimePickerChange($event)\"\n [ESC]=\"!mobile\"\n [defaultTime]=\"'00:00'\"\n [cancelBtnTmpl]=\"timePickerCancelButton\"\n [confirmBtnTmpl]=\"timePickerOkButton\"\n [preventOverlayClick]=\"mobile\"\n [enableKeyboardInput]=\"false\"\n [disableAnimation]=\"true\">\n <!-- cancel button -->\n <ng-template #timePickerCancelButton>\n <ion-button fill=\"clear\" color=\"dark\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n </ng-template>\n\n <!-- confirm button -->\n <ng-template #timePickerOkButton>\n <ion-button fill=\"solid\" color=\"tertiary\">\n <ion-label translate>COMMON.BTN_VALIDATE</ion-label>\n </ion-button>\n </ng-template>\n\n </ngx-material-timepicker>\n </mat-form-field>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n\n</ng-template>\n\n<ng-template #iconDesktop>\n <mat-icon>keyboard_arrow_down</mat-icon>\n</ng-template>\n\n<ng-template #iconDate>\n <mat-icon>date_range</mat-icon>\n</ng-template>\n\n<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n",
|
|
5445
5430
|
providers: [
|
|
5446
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
5431
|
+
DEFAULT_VALUE_ACCESSOR$1,
|
|
5447
5432
|
],
|
|
5448
5433
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
5449
5434
|
styles: [":host{display:inline-block;width:100%;position:relative;--ion-grid-column-padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}mat-form-field .datetime-md{padding:0!important}ion-row.no-wrap{flex-wrap:nowrap}ion-col.day{min-width:100px}ion-col.day .mat-form-field-subscript-wrapper{overflow:visible;right:-64px;width:calc(100% + 64px)}ion-col.day .mat-form-field-subscript-wrapper .mat-form-field-hint-wrapper{display:flex}ion-col.day .mat-form-field-subscript-wrapper .mat-form-field-hint-wrapper .mat-form-field-hint-spacer{flex:1 0 1em}ion-col.hour{min-width:55px;max-width:65px}ion-col.hour mat-form-field{width:100%}ion-col.hour mat-form-field input[type=text],ion-col.hour mat-form-field mat-label{text-align:left;min-width:50px}mat-form-field.mat-form-field-disabled ion-col.day{min-width:100px}.hour .mat-form-field-label{max-width:40px}.hour mat-form-field.mat-form-field-should-float .mat-form-field-placeholder{max-width:inherit}mat-error{text-align:right;width:100%}"]
|
|
@@ -5478,15 +5463,15 @@ MatDateTime.propDecorators = {
|
|
|
5478
5463
|
matInputs: [{ type: ViewChildren, args: ['matInput',] }]
|
|
5479
5464
|
};
|
|
5480
5465
|
|
|
5481
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
5466
|
+
const DEFAULT_VALUE_ACCESSOR$2 = {
|
|
5482
5467
|
provide: NG_VALUE_ACCESSOR,
|
|
5483
5468
|
useExisting: forwardRef(() => MatDateShort),
|
|
5484
5469
|
multi: true
|
|
5485
5470
|
};
|
|
5486
|
-
const DAY_MASK = [/\d/, /\d/, /\d/, /\d/];
|
|
5471
|
+
const DAY_MASK$2 = [/\d/, /\d/, /\d/, /\d/];
|
|
5487
5472
|
const noop$4 = () => {
|
|
5488
5473
|
};
|
|
5489
|
-
const ɵ0$
|
|
5474
|
+
const ɵ0$5 = noop$4;
|
|
5490
5475
|
class MatDateShort {
|
|
5491
5476
|
constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
5492
5477
|
this.dateAdapter = dateAdapter;
|
|
@@ -5499,7 +5484,7 @@ class MatDateShort {
|
|
|
5499
5484
|
this._onTouchedCallback = noop$4;
|
|
5500
5485
|
this.writing = true;
|
|
5501
5486
|
this.disabling = false;
|
|
5502
|
-
this.dayMask = DAY_MASK;
|
|
5487
|
+
this.dayMask = DAY_MASK$2;
|
|
5503
5488
|
this.disabled = false;
|
|
5504
5489
|
this.floatLabel = 'auto';
|
|
5505
5490
|
this.readonly = false;
|
|
@@ -5744,7 +5729,7 @@ MatDateShort.decorators = [
|
|
|
5744
5729
|
selector: 'mat-date-short-field',
|
|
5745
5730
|
template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly else writable\">\n <input matInput hidden type=\"text\" readonly=\"true\" [formControl]=\"formControl\">\n <ion-text>{{formControl.value|dateFormat: {pattern: displayPattern} }}</ion-text>\n</mat-form-field>\n\n<ng-template #writable>\n <mat-form-field [floatLabel]=\"floatLabel\">\n\n <mat-label>{{placeholder}}</mat-label>\n\n <div matPrefix><ng-content select=\"[matPrefix]\"></ng-content></div>\n\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"dayControl\"\n [textMask]=\"{mask: dayMask, keepCharPositions: true, placeholderChar: placeholderChar}\"\n [placeholder]=\"'COMMON.DATE_YEAR_PLACEHOLDER'|translate\"\n (blur)=\"checkIfTouched()\"\n (keyup.arrowdown)=\"openDatePicker($event, datePicker1)\"\n (keyup.escape)=\"preventEvent($event)\"\n (click)=\"matInput.select()\"\n [required]=\"required\"\n [tabindex]=\"tabindex\">\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"dayControl\"\n (click)=\"openDatePickerIfMobile($event, datePicker1)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n readonly>\n\n <!-- Hide the final control -->\n <input matInput type=\"text\"\n [formControl]=\"formControl\"\n hidden\n [matDatepicker]=\"datePicker1\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n (click)=\"openDatePicker($event, datePicker1)\"\n [disabled]=\"formControl.disabled\">\n <div *ngIf=\"mobile; then iconDate; else iconDesktop\"></div>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"writeValue(null)\"\n [hidden]=\"formControl.disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('validDate')\" translate>ERROR.FIELD_NOT_VALID_DATE</mat-error>\n <mat-error *ngIf=\"formControl.hasError('dateIsAfter')\">{{'ERROR.FIELD_NOT_VALID_DATE_AFTER' | translate: formControl.errors.dateIsAfter }}</mat-error>\n <mat-error *ngIf=\"formControl.hasError('dateRange')\" translate>ERROR.FIELD_NOT_VALID_DATE_RANGE</mat-error>\n <mat-error *ngIf=\"!formControl.hasError('dateRange') && formControl.hasError('dateMaxDuration')\" translate>ERROR.FIELD_NOT_VALID_DATE_MAX_DURATION</mat-error>\n <mat-error *ngIf=\"!formControl.hasError('dateRange') && formControl.hasError('dateMinDuration')\" translate>ERROR.FIELD_NOT_VALID_DATE_MIN_DURATION</mat-error>\n <mat-error *ngIf=\"formControl.hasError('msg')\">{{formControl.errors.msg}}</mat-error>\n <ng-content select=\"mat-error\"></ng-content>\n </mat-form-field>\n\n <mat-datepicker #datePicker1\n startView=\"multi-year\"\n [touchUi]=\"mobile\"\n [disabled]=\"formControl.disabled\"\n (yearSelected)=\"closeDatePicker($event, datePicker1)\"\n [startAt]=\"startDate\"></mat-datepicker>\n\n <ng-template #iconDesktop>\n <mat-icon>keyboard_arrow_down</mat-icon>\n </ng-template>\n\n <ng-template #iconDate>\n <mat-icon>date_range</mat-icon>\n </ng-template>\n\n</ng-template>\n",
|
|
5746
5731
|
providers: [
|
|
5747
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
5732
|
+
DEFAULT_VALUE_ACCESSOR$2,
|
|
5748
5733
|
],
|
|
5749
5734
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
5750
5735
|
styles: [":host{display:inline-block;width:100%;position:relative}:host [no-padding]{--ion-grid-column-padding:0}:host [nowrap]{flex-wrap:nowrap}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}mat-form-field .datetime-md,mat-form-field ion-datetime{padding:0!important}ion-col.day{min-width:100px}ion-col.day .mat-form-field-subscript-wrapper{overflow:visible;right:-64px;width:calc(100% + 64px)}ion-col.day .mat-form-field-subscript-wrapper .mat-form-field-hint-wrapper{display:flex}ion-col.day .mat-form-field-subscript-wrapper .mat-form-field-hint-wrapper .mat-form-field-hint-spacer{flex:1 0 1em}ion-col.hour{min-width:55px;max-width:65px}ion-col.hour mat-form-field{width:100%}ion-col.hour mat-form-field input[type=text],ion-col.hour mat-form-field mat-label{text-align:left;min-width:50px}mat-form-field.mat-form-field-disabled ion-col.day{min-width:100px}.hour .mat-form-field-label{max-width:40px}.hour mat-form-field.mat-form-field-should-float .mat-form-field-placeholder{max-width:inherit}mat-error{text-align:right;width:100%}"]
|
|
@@ -5812,16 +5797,16 @@ SharedMatDateTimeModule.decorators = [
|
|
|
5812
5797
|
},] }
|
|
5813
5798
|
];
|
|
5814
5799
|
|
|
5815
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
5800
|
+
const DEFAULT_VALUE_ACCESSOR$3 = {
|
|
5816
5801
|
provide: NG_VALUE_ACCESSOR,
|
|
5817
5802
|
useExisting: forwardRef(() => MatDuration),
|
|
5818
5803
|
multi: true
|
|
5819
5804
|
};
|
|
5820
5805
|
const HOUR_TIME_PATTERN = /[0-9]\d\d:[0-5]\d/;
|
|
5821
|
-
const HOUR_MASK = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
|
|
5822
|
-
const noop$
|
|
5806
|
+
const HOUR_MASK$1 = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
|
|
5807
|
+
const noop$5 = () => {
|
|
5823
5808
|
};
|
|
5824
|
-
const ɵ0$6 = noop$
|
|
5809
|
+
const ɵ0$6 = noop$5;
|
|
5825
5810
|
class MatDuration {
|
|
5826
5811
|
constructor(platform, dateAdapter, translate, formBuilder, cd, formGroupDir) {
|
|
5827
5812
|
this.dateAdapter = dateAdapter;
|
|
@@ -5830,11 +5815,11 @@ class MatDuration {
|
|
|
5830
5815
|
this.cd = cd;
|
|
5831
5816
|
this.formGroupDir = formGroupDir;
|
|
5832
5817
|
this._subscription = new Subscription();
|
|
5833
|
-
this._onChangeCallback = noop$
|
|
5834
|
-
this._onTouchedCallback = noop$
|
|
5818
|
+
this._onChangeCallback = noop$5;
|
|
5819
|
+
this._onTouchedCallback = noop$5;
|
|
5835
5820
|
this.writing = true;
|
|
5836
5821
|
this.disabling = false;
|
|
5837
|
-
this.hourMask = HOUR_MASK;
|
|
5822
|
+
this.hourMask = HOUR_MASK$1;
|
|
5838
5823
|
this.disabled = false;
|
|
5839
5824
|
this.floatLabel = 'auto';
|
|
5840
5825
|
this.readonly = false;
|
|
@@ -6014,7 +5999,7 @@ MatDuration.decorators = [
|
|
|
6014
5999
|
selector: 'mat-duration-field',
|
|
6015
6000
|
template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly else writable\">\n <input matInput hidden type=\"text\" readonly=\"true\" [formControl]=\"formControl\">\n <ion-text>{{ formControl.value|duration }}</ion-text>\n</mat-form-field>\n\n<!-- writable -->\n<ng-template #writable>\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-disabled]=\"formControl.disabled\"\n [class.mat-form-field-invalid]=\"formControl.touched && formControl.invalid\">\n <mat-label *ngIf=\"placeholder && floatLabel != 'never'\" translate>COMMON.TIME</mat-label>\n\n <div matPrefix><ng-content select=\"[matPrefix]\"></ng-content></div>\n\n <input matInput #matInput type=\"text\"\n autocomplete=\"off\"\n [formControl]=\"textControl\"\n [textMask]=\"{mask: hourMask, keepCharPositions: true, placeholderChar: placeholderChar, guide: true}\"\n [placeholder]=\"'COMMON.DURATION_PLACEHOLDER'|translate\"\n [required]=\"required\"\n (keydown.tab)=\"moveCaretToSeparator($event, true)\"\n (keydown.shift.tab)=\"moveCaretToSeparator($event, false)\"\n (keyup.escape)=\"preventEvent($event)\"\n (blur)=\"checkIfTouched()\"\n [tabindex]=\"tabindex !== undefined ? tabindex+1 : undefined\">\n\n\n <!-- errors -->\n <mat-error *ngIf=\"!formControl.hasError('required') && textControl.hasError('pattern')\" translate>ERROR.FIELD_NOT_VALID_PATTERN</mat-error>\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('min')\">\n {{(compact ? 'ERROR.FIELD_MIN_COMPACT' : 'ERROR.FIELD_MIN') | translate:formControl.errors.min }}</mat-error>\n <mat-error *ngIf=\"formControl.hasError('max')\">\n {{(compact ? 'ERROR.FIELD_MAX_COMPACT' : 'ERROR.FIELD_MAX') | translate:formControl.errors.max }}</mat-error>\n\n <ng-content select=\"mat-error\"></ng-content>\n </mat-form-field>\n</ng-template>\n\n",
|
|
6016
6001
|
providers: [
|
|
6017
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
6002
|
+
DEFAULT_VALUE_ACCESSOR$3,
|
|
6018
6003
|
],
|
|
6019
6004
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
6020
6005
|
styles: [":host{display:inline-block;min-width:140px;position:relative;--ion-grid-column-padding:0}:host,mat-form-field{width:100%}mat-form-field .mat-form-field-subscript-wrapper{overflow:visible;top:100%}mat-form-field .mat-form-field-subscript-wrapper .mat-form-field-hint-wrapper{display:flex}mat-form-field .mat-form-field-subscript-wrapper .mat-form-field-hint-wrapper .mat-form-field-hint-spacer{flex:1 0 1em}mat-error{text-align:right;width:100%}"]
|
|
@@ -6071,22 +6056,22 @@ SharedMatDurationModule.decorators = [
|
|
|
6071
6056
|
},] }
|
|
6072
6057
|
];
|
|
6073
6058
|
|
|
6074
|
-
const DEFAULT_VALUE_ACCESSOR$
|
|
6059
|
+
const DEFAULT_VALUE_ACCESSOR$4 = {
|
|
6075
6060
|
provide: NG_VALUE_ACCESSOR,
|
|
6076
6061
|
useExisting: forwardRef(() => MatBooleanField),
|
|
6077
6062
|
multi: true
|
|
6078
6063
|
};
|
|
6079
|
-
const noop$
|
|
6064
|
+
const noop$6 = () => {
|
|
6080
6065
|
};
|
|
6081
|
-
const ɵ0$
|
|
6066
|
+
const ɵ0$7 = noop$6;
|
|
6082
6067
|
class MatBooleanField {
|
|
6083
6068
|
constructor(translate, formBuilder, cd, formGroupDir) {
|
|
6084
6069
|
this.translate = translate;
|
|
6085
6070
|
this.formBuilder = formBuilder;
|
|
6086
6071
|
this.cd = cd;
|
|
6087
6072
|
this.formGroupDir = formGroupDir;
|
|
6088
|
-
this._onChangeCallback = noop$
|
|
6089
|
-
this._onTouchedCallback = noop$
|
|
6073
|
+
this._onChangeCallback = noop$6;
|
|
6074
|
+
this._onTouchedCallback = noop$6;
|
|
6090
6075
|
this._writing = false;
|
|
6091
6076
|
this.showRadio = false;
|
|
6092
6077
|
this.disabled = false;
|
|
@@ -6249,7 +6234,7 @@ MatBooleanField.decorators = [
|
|
|
6249
6234
|
selector: 'mat-boolean-field',
|
|
6250
6235
|
template: "<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled {{classList}}\">\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n <input matInput hidden type=\"text\" readonly\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <ion-text>{{(formControl.value == null && 'COMMON.EMPTY_OPTION' || (formControl.value === true && yesLabel) || noLabel) | translate }}</ion-text>\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n</mat-form-field>\n\n<ng-template #writable>\n <ng-container [ngSwitch]=\"style\">\n\n <!-- Radio -->\n <mat-form-field *ngSwitchCase=\"'radio'\"\n [floatLabel]=\"showRadio && (!floatLabel || floatLabel === 'auto') ? 'always': floatLabel\"\n class=\"mat-boolean-field mat-boolean-field-radio {{classList}}\">\n <mat-label *ngIf=\"placeholder && floatLabel!=='never'\">\n {{placeholder}}\n <span [hidden]=\"showRadio\">({{yesLabel|translate}}/{{'COMMON.NO'|translate}})</span>\n </mat-label>\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n <input matInput #fakeInput type=\"text\" readonly=\"true\"\n [formControl]=\"formControl\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showRadio\"\n [tabindex]=\"tabindex\">\n\n <!-- radio button -->\n <mat-radio-group [hidden]=\"!showRadio\"\n [formControl]=\"formControl\"\n (change)=\"onRadioValueChanged($event)\">\n <mat-radio-button #yesButton [value]=\"true\">\n <span>{{yesLabel|translate}}</span>\n </mat-radio-button> \n <mat-radio-button #noButton [value]=\"false\">\n <span>{{noLabel|translate}}</span>\n </mat-radio-button>\n </mat-radio-group>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n </mat-form-field>\n\n <!-- Checkbox -->\n <mat-form-field *ngSwitchCase=\"'checkbox'\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-boolean-field mat-boolean-field-checkbox {{classList}}\">\n <mat-label *ngIf=\"placeholder && !showRadio\">\n {{placeholder}}\n </mat-label>\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n <input matInput #matInput\n [formControl]=\"formControl\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showRadio\"\n [tabindex]=\"tabindex\">\n\n <ion-label> </ion-label>\n\n <!-- checkbox, when compact -->\n <mat-checkbox #checkboxButton\n [formControl]=\"formControl\"\n (change)=\"onCheckboxValueChanged($event)\"\n [indeterminate]=\"value===undefined\"\n [hidden]=\"!showRadio\"\n [tabindex]=\"tabindex\">\n </mat-checkbox>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n </mat-form-field>\n\n <!-- Buttons -->\n <mat-form-field *ngSwitchCase=\"'button'\"\n [floatLabel]=\"floatLabel === 'never' ? 'never' : 'always'\"\n class=\"mat-boolean-field mat-boolean-field-button {{classList}}\">\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n <input matInput type=\"text\" hidden\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [required]=\"required\">\n <div class=\"mat-form-field-buttons\"\n [style.--buttons-col-count]=\"buttonsColCount\"\n *ngIf=\"!formControl.disabled; else disabledLabel\">\n <!-- yes -->\n <ion-button class=\"mat-form-field-button\"\n [tabindex]=\"_tabindex\"\n (click)=\"writeValue(true, $event)\"\n (keyup.enter)=\"writeValue(true, $event)\"\n [color]=\"_value == null ? 'tertiary' : (_value === true) ? 'accent' : 'light'\">\n <ion-icon *ngIf=\"showButtonIcons && yesIcon; let icon\" slot=\"start\" [name]=\"icon\"></ion-icon>\n {{yesLabel|translate}}\n </ion-button>\n\n <!-- No button -->\n <ion-button class=\"mat-form-field-button\"\n [tabindex]=\"_tabindex !== undefined ? (_tabindex + 1) : undefined\"\n (click)=\"writeValue(false, $event)\"\n (keyup.enter)=\"writeValue(false, $event)\"\n [color]=\"_value == null ? 'tertiary' : (_value === false) ? 'accent' : 'light'\">\n <ion-icon *ngIf=\"showButtonIcons && noIcon; let icon\" slot=\"start\" [name]=\"icon\"></ion-icon>\n {{noLabel|translate}}\n </ion-button>\n </div>\n <ng-template #disabledLabel>\n <ion-label><i translate>COMMON.EMPTY_OPTION</i></ion-label>\n </ng-template>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n\n </mat-form-field>\n </ng-container>\n\n</ng-template>\n\n\n<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n<ng-template #matSuffixTemplate>\n <ng-content select=\"[matSuffix]\"></ng-content>\n</ng-template>\n",
|
|
6251
6236
|
providers: [
|
|
6252
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
6237
|
+
DEFAULT_VALUE_ACCESSOR$4
|
|
6253
6238
|
],
|
|
6254
6239
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
6255
6240
|
styles: [":host{width:100%}.mat-form-field.mat-boolean-field-radio{margin-top:-2px}.mat-form-field.mat-boolean-field-button{margin-top:-4px}.mat-form-field .mat-form-field-buttons{width:100%;display:flex;flex-flow:row wrap;justify-content:flex-start;align-items:center}.mat-form-field .mat-form-field-buttons .mat-form-field-button{--flex-basis:calc(100% / var(--buttons-col-count, 2));flex:0 1 var(--flex-basis);max-width:min(var(--flex-basis),150px);white-space:normal;padding:0 2px;height:40px}"]
|
|
@@ -6495,7 +6480,7 @@ class MatNumpadDomService {
|
|
|
6495
6480
|
this.appRef.detachView(this.componentRef.hostView);
|
|
6496
6481
|
}
|
|
6497
6482
|
}
|
|
6498
|
-
MatNumpadDomService.ɵprov =
|
|
6483
|
+
MatNumpadDomService.ɵprov = ɵɵdefineInjectable({ factory: function MatNumpadDomService_Factory() { return new MatNumpadDomService(ɵɵinject(ComponentFactoryResolver), ɵɵinject(ApplicationRef), ɵɵinject(INJECTOR), ɵɵinject(DOCUMENT, 8)); }, token: MatNumpadDomService, providedIn: "root" });
|
|
6499
6484
|
MatNumpadDomService.decorators = [
|
|
6500
6485
|
{ type: Injectable, args: [{
|
|
6501
6486
|
providedIn: 'root'
|
|
@@ -6859,7 +6844,7 @@ SharedMatNumpadModule.decorators = [
|
|
|
6859
6844
|
},] }
|
|
6860
6845
|
];
|
|
6861
6846
|
|
|
6862
|
-
const DEFAULT_VALUE_ACCESSOR = {
|
|
6847
|
+
const DEFAULT_VALUE_ACCESSOR$5 = {
|
|
6863
6848
|
provide: NG_VALUE_ACCESSOR,
|
|
6864
6849
|
useExisting: forwardRef(() => MatSwipeField),
|
|
6865
6850
|
multi: true
|
|
@@ -7122,7 +7107,7 @@ MatSwipeField.decorators = [
|
|
|
7122
7107
|
{ type: Component, args: [{
|
|
7123
7108
|
selector: 'mat-swipe-field',
|
|
7124
7109
|
template: "<mat-form-field [floatLabel]=\"showSlides && (!floatLabel || floatLabel === 'auto') ? 'always': floatLabel\"\n [class]=\"classList\"\n [class.mat-form-field-disabled]=\"disabled\">\n <mat-label *ngIf=\"placeholder && floatLabel!=='never'\">\n {{placeholder}}\n </mat-label>\n <input matInput #fakeInput type=\"text\"\n [formControl]=\"formControl\"\n [readonly]=\"true\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showSlides\"\n [tabindex]=\"tabindex\">\n\n <div class=\"slides-container\" [class.hidden]=\"!showSlides\">\n <ion-slides #slides\n [options]=\"slidesOptions\"\n (ionSlidesDidLoad)=\"slidesLoaded()\"\n (ionSlideReachStart)=\"reachStart(true)\"\n (ionSlideReachEnd)=\"reachEnd(true)\"\n (ionSlideNextEnd)=\"reachStart(false)\"\n (ionSlidePrevEnd)=\"reachEnd(false)\"\n (ionSlideDidChange)=\"slideChanged()\"\n >\n <ion-slide *ngFor=\"let item of $items | async\">\n <ion-label>{{ displayWith(item) }}</ion-label>\n </ion-slide>\n\n </ion-slides>\n </div>\n\n <button #prevButton\n mat-icon-button\n type=\"button\"\n class=\"button-prev\"\n [hidden]=\"!showSlides\"\n [disabled]=\"previousDisabled\"\n (click)=\"previous()\">\n <mat-icon>chevron_left</mat-icon>\n </button>\n <button #nextButton\n mat-icon-button\n type=\"button\"\n class=\"button-next\"\n [hidden]=\"!showSlides\"\n [disabled]=\"nextDisabled\"\n (click)=\"next()\">\n <mat-icon>chevron_right</mat-icon>\n </button>\n\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clearValue($event)\"\n [hidden]=\"disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('entity')\" translate>ERROR.FIELD_INVALID</mat-error>\n\n</mat-form-field>\n",
|
|
7125
|
-
providers: [DEFAULT_VALUE_ACCESSOR],
|
|
7110
|
+
providers: [DEFAULT_VALUE_ACCESSOR$5],
|
|
7126
7111
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
7127
7112
|
styles: [":host{display:inline-block;width:100%;position:relative}input.hidden{display:none}.slides-container .swiper-slide{font-size:16px!important}.slides-container.hidden{visibility:hidden;height:0!important}.button-next,.button-prev{position:absolute;top:calc(50% - 20px);z-index:10}.button-prev{left:0;right:auto}.button-next{left:auto;right:0}"]
|
|
7128
7113
|
},] }
|
|
@@ -7180,14 +7165,14 @@ SharedMatSwipeModule.decorators = [
|
|
|
7180
7165
|
},] }
|
|
7181
7166
|
];
|
|
7182
7167
|
|
|
7183
|
-
const noop$
|
|
7184
|
-
const ɵ0$
|
|
7168
|
+
const noop$7 = () => { };
|
|
7169
|
+
const ɵ0$8 = noop$7;
|
|
7185
7170
|
class MatChipsField {
|
|
7186
7171
|
constructor(cd, formGroupDir) {
|
|
7187
7172
|
this.cd = cd;
|
|
7188
7173
|
this.formGroupDir = formGroupDir;
|
|
7189
|
-
this._onChangeCallback = noop$
|
|
7190
|
-
this._onTouchedCallback = noop$
|
|
7174
|
+
this._onChangeCallback = noop$7;
|
|
7175
|
+
this._onTouchedCallback = noop$7;
|
|
7191
7176
|
this.logPrefix = '[mat-chips] ';
|
|
7192
7177
|
this.formControlName = null;
|
|
7193
7178
|
this.required = false;
|
|
@@ -8056,7 +8041,7 @@ class ProgressBarService {
|
|
|
8056
8041
|
}
|
|
8057
8042
|
}
|
|
8058
8043
|
}
|
|
8059
|
-
ProgressBarService.ɵprov =
|
|
8044
|
+
ProgressBarService.ɵprov = ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
|
|
8060
8045
|
ProgressBarService.decorators = [
|
|
8061
8046
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
8062
8047
|
];
|
|
@@ -8100,7 +8085,7 @@ class AppGestureConfig extends HammerGestureConfig {
|
|
|
8100
8085
|
return mc;
|
|
8101
8086
|
}
|
|
8102
8087
|
}
|
|
8103
|
-
AppGestureConfig.ɵprov =
|
|
8088
|
+
AppGestureConfig.ɵprov = ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
|
|
8104
8089
|
AppGestureConfig.decorators = [
|
|
8105
8090
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
8106
8091
|
];
|
|
@@ -8325,7 +8310,7 @@ class MatPaginatorI18n extends MatPaginatorIntl {
|
|
|
8325
8310
|
this.previousPageLabel = this.translate.instant('COMMON.PAGINATOR.PREVIOUS_PAGE');
|
|
8326
8311
|
}
|
|
8327
8312
|
}
|
|
8328
|
-
MatPaginatorI18n.ɵprov =
|
|
8313
|
+
MatPaginatorI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(ɵɵinject(TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
|
|
8329
8314
|
MatPaginatorI18n.decorators = [
|
|
8330
8315
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
8331
8316
|
];
|
|
@@ -8415,17 +8400,17 @@ function getColorContrast(color, bw) {
|
|
|
8415
8400
|
return rgbArrayToHex(rgb.map(v => 255 - v));
|
|
8416
8401
|
}
|
|
8417
8402
|
|
|
8418
|
-
const noop = () => {
|
|
8403
|
+
const noop$8 = () => {
|
|
8419
8404
|
};
|
|
8420
|
-
const ɵ0$
|
|
8405
|
+
const ɵ0$9 = noop$8;
|
|
8421
8406
|
class AppFormField {
|
|
8422
8407
|
constructor(translate, cd, injector, formGroupDir) {
|
|
8423
8408
|
this.translate = translate;
|
|
8424
8409
|
this.cd = cd;
|
|
8425
8410
|
this.injector = injector;
|
|
8426
8411
|
this.formGroupDir = formGroupDir;
|
|
8427
|
-
this._onChangeCallback = noop;
|
|
8428
|
-
this._onTouchedCallback = noop;
|
|
8412
|
+
this._onChangeCallback = noop$8;
|
|
8413
|
+
this._onTouchedCallback = noop$8;
|
|
8429
8414
|
this.readonly = false;
|
|
8430
8415
|
this.compact = false;
|
|
8431
8416
|
this.floatLabel = 'auto';
|
|
@@ -8861,14 +8846,14 @@ class AudioProvider extends StartableService {
|
|
|
8861
8846
|
});
|
|
8862
8847
|
}
|
|
8863
8848
|
}
|
|
8864
|
-
AudioProvider.ɵprov =
|
|
8849
|
+
AudioProvider.ɵprov = ɵɵdefineInjectable({ factory: function AudioProvider_Factory() { return new AudioProvider(ɵɵinject(Platform), ɵɵinject(NativeAudio, 8), ɵɵinject(Vibration, 8), ɵɵinject(AudioManagement$1, 8)); }, token: AudioProvider, providedIn: "root" });
|
|
8865
8850
|
AudioProvider.decorators = [
|
|
8866
8851
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
8867
8852
|
];
|
|
8868
8853
|
AudioProvider.ctorParameters = () => [
|
|
8869
8854
|
{ type: Platform },
|
|
8870
|
-
{ type: NativeAudio, decorators: [{ type: Optional }] },
|
|
8871
|
-
{ type: Vibration, decorators: [{ type: Optional }] },
|
|
8855
|
+
{ type: NativeAudio$1, decorators: [{ type: Optional }] },
|
|
8856
|
+
{ type: Vibration$1, decorators: [{ type: Optional }] },
|
|
8872
8857
|
{ type: AudioManagement, decorators: [{ type: Optional }] }
|
|
8873
8858
|
];
|
|
8874
8859
|
|
|
@@ -8891,11 +8876,12 @@ HotkeysDialogComponent.ctorParameters = () => [
|
|
|
8891
8876
|
];
|
|
8892
8877
|
|
|
8893
8878
|
class Hotkeys {
|
|
8894
|
-
constructor(eventManager, dialog, document, modalController) {
|
|
8879
|
+
constructor(eventManager, dialog, document, modalController, popoverController) {
|
|
8895
8880
|
this.eventManager = eventManager;
|
|
8896
8881
|
this.dialog = dialog;
|
|
8897
8882
|
this.document = document;
|
|
8898
8883
|
this.modalController = modalController;
|
|
8884
|
+
this.popoverController = popoverController;
|
|
8899
8885
|
this._debug = false;
|
|
8900
8886
|
this._hotkeys = new Map();
|
|
8901
8887
|
this._defaults = {
|
|
@@ -8924,10 +8910,12 @@ class Hotkeys {
|
|
|
8924
8910
|
return new Observable(observer => {
|
|
8925
8911
|
const handler = (e) => __awaiter(this, void 0, void 0, function* () {
|
|
8926
8912
|
// Get top component from ModalController
|
|
8927
|
-
const top = yield this.modalController.getTop();
|
|
8913
|
+
const top = (yield this.modalController.getTop()) || (yield this.popoverController.getTop());
|
|
8928
8914
|
// If modal present, check its component name against hotkey element name (fix #181)
|
|
8929
|
-
if (top && top.component['name'] !== merged.elementName)
|
|
8915
|
+
if (top && top.component['name'] !== merged.elementName) {
|
|
8916
|
+
e.preventDefault();
|
|
8930
8917
|
return;
|
|
8918
|
+
}
|
|
8931
8919
|
if (e instanceof KeyboardEvent && e.repeat)
|
|
8932
8920
|
return; // skip when repeated
|
|
8933
8921
|
if (merged.preventDefault)
|
|
@@ -8950,7 +8938,7 @@ class Hotkeys {
|
|
|
8950
8938
|
});
|
|
8951
8939
|
}
|
|
8952
8940
|
}
|
|
8953
|
-
Hotkeys.ɵprov =
|
|
8941
|
+
Hotkeys.ɵprov = ɵɵdefineInjectable({ factory: function Hotkeys_Factory() { return new Hotkeys(ɵɵinject(EventManager), ɵɵinject(MatDialog), ɵɵinject(DOCUMENT), ɵɵinject(ModalController), ɵɵinject(PopoverController)); }, token: Hotkeys, providedIn: "root" });
|
|
8954
8942
|
Hotkeys.decorators = [
|
|
8955
8943
|
{ type: Injectable, args: [{
|
|
8956
8944
|
providedIn: 'root'
|
|
@@ -8960,7 +8948,8 @@ Hotkeys.ctorParameters = () => [
|
|
|
8960
8948
|
{ type: EventManager },
|
|
8961
8949
|
{ type: MatDialog },
|
|
8962
8950
|
{ type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
|
|
8963
|
-
{ type: ModalController }
|
|
8951
|
+
{ type: ModalController },
|
|
8952
|
+
{ type: PopoverController }
|
|
8964
8953
|
];
|
|
8965
8954
|
|
|
8966
8955
|
class SharedHotkeysModule {
|
|
@@ -9124,7 +9113,7 @@ class Base64ImageReader {
|
|
|
9124
9113
|
}
|
|
9125
9114
|
}
|
|
9126
9115
|
|
|
9127
|
-
const uuidv4
|
|
9116
|
+
const uuidv4 = uuidv4Imported;
|
|
9128
9117
|
class FileService {
|
|
9129
9118
|
constructor(platform,
|
|
9130
9119
|
//private transfer: FileTransfer,
|
|
@@ -9161,7 +9150,7 @@ class FileService {
|
|
|
9161
9150
|
const lastSlashIndex = source.lastIndexOf('/');
|
|
9162
9151
|
if (lastSlashIndex === -1)
|
|
9163
9152
|
throw new Error('Invalid URL: ' + source);
|
|
9164
|
-
const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4
|
|
9153
|
+
const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4();
|
|
9165
9154
|
// Download into the file system
|
|
9166
9155
|
if (responseType === 'file' && this.canUseFileSystem) {
|
|
9167
9156
|
console.warn(`WARN: [file] Fetching image {${source}} in local file...`);
|
|
@@ -9217,7 +9206,7 @@ class FileService {
|
|
|
9217
9206
|
this._started = true;
|
|
9218
9207
|
}
|
|
9219
9208
|
}
|
|
9220
|
-
FileService.ɵprov =
|
|
9209
|
+
FileService.ɵprov = ɵɵdefineInjectable({ factory: function FileService_Factory() { return new FileService(ɵɵinject(Platform), ɵɵinject(HttpClient), ɵɵinject(ENVIRONMENT)); }, token: FileService, providedIn: "root" });
|
|
9221
9210
|
FileService.decorators = [
|
|
9222
9211
|
{ type: Injectable, args: [{
|
|
9223
9212
|
providedIn: 'root',
|
|
@@ -9383,7 +9372,7 @@ class Base58 {
|
|
|
9383
9372
|
Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
|
|
9384
9373
|
|
|
9385
9374
|
const scrypt = require('scrypt-async');
|
|
9386
|
-
const sha256
|
|
9375
|
+
const sha256 = require('hash.js/lib/hash/sha/256');
|
|
9387
9376
|
const sha512 = require('hash.js/lib/hash/sha/512');
|
|
9388
9377
|
const nacl = {
|
|
9389
9378
|
sign,
|
|
@@ -9487,7 +9476,7 @@ class CryptoService {
|
|
|
9487
9476
|
* Hash (using SHA256) a message
|
|
9488
9477
|
*/
|
|
9489
9478
|
sha256(message) {
|
|
9490
|
-
return sha256
|
|
9479
|
+
return sha256().update(message).digest('hex');
|
|
9491
9480
|
}
|
|
9492
9481
|
/**
|
|
9493
9482
|
* Hash (using SHA512) a message
|
|
@@ -9500,7 +9489,7 @@ class CryptoService {
|
|
|
9500
9489
|
return nacl.util.encodeBase64(m);
|
|
9501
9490
|
}
|
|
9502
9491
|
}
|
|
9503
|
-
CryptoService.ɵprov =
|
|
9492
|
+
CryptoService.ɵprov = ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
|
|
9504
9493
|
CryptoService.decorators = [
|
|
9505
9494
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
9506
9495
|
];
|
|
@@ -10363,7 +10352,7 @@ SelectPeerModal.propDecorators = {
|
|
|
10363
10352
|
onRefresh: [{ type: Input }]
|
|
10364
10353
|
};
|
|
10365
10354
|
|
|
10366
|
-
const moment$
|
|
10355
|
+
const moment$3 = momentImported;
|
|
10367
10356
|
const SETTINGS_STORAGE_KEY = 'settings';
|
|
10368
10357
|
const SETTINGS_TRANSIENT_PROPERTIES = ['mobile', 'touchUi' /*deprecated*/];
|
|
10369
10358
|
// fixme: this constant points to static environment
|
|
@@ -10606,11 +10595,11 @@ class LocalSettingsService extends StartableService {
|
|
|
10606
10595
|
if (!feature) {
|
|
10607
10596
|
feature = {
|
|
10608
10597
|
name: featureName.toLowerCase(),
|
|
10609
|
-
lastSyncDate: moment$
|
|
10598
|
+
lastSyncDate: moment$3().toISOString()
|
|
10610
10599
|
};
|
|
10611
10600
|
}
|
|
10612
10601
|
else {
|
|
10613
|
-
feature.lastSyncDate = moment$
|
|
10602
|
+
feature.lastSyncDate = moment$3().toISOString();
|
|
10614
10603
|
}
|
|
10615
10604
|
this.saveOfflineFeature(feature);
|
|
10616
10605
|
}
|
|
@@ -10771,7 +10760,7 @@ class LocalSettingsService extends StartableService {
|
|
|
10771
10760
|
if (!page || !page.title || !page.path)
|
|
10772
10761
|
throw Error('Missing required argument \'page\', \'page.path\' or \'page.title\'');
|
|
10773
10762
|
// Set time
|
|
10774
|
-
page.time = page.time || moment$
|
|
10763
|
+
page.time = page.time || moment$3();
|
|
10775
10764
|
// Clean the title (remove <small> tags)
|
|
10776
10765
|
if (!opts || opts.removeTitleSmallTag !== false) {
|
|
10777
10766
|
const tagIndex = page.title.indexOf('</small>');
|
|
@@ -10787,7 +10776,7 @@ class LocalSettingsService extends StartableService {
|
|
|
10787
10776
|
return page;
|
|
10788
10777
|
}
|
|
10789
10778
|
}
|
|
10790
|
-
LocalSettingsService.ɵprov =
|
|
10779
|
+
LocalSettingsService.ɵprov = ɵɵdefineInjectable({ factory: function LocalSettingsService_Factory() { return new LocalSettingsService(ɵɵinject(TranslateService), ɵɵinject(Platform), ɵɵinject(Storage), ɵɵinject(ENVIRONMENT), ɵɵinject(APP_LOCAL_SETTINGS, 8), ɵɵinject(APP_LOCAL_SETTINGS_OPTIONS, 8)); }, token: LocalSettingsService, providedIn: "root" });
|
|
10791
10780
|
LocalSettingsService.decorators = [
|
|
10792
10781
|
{ type: Injectable, args: [{
|
|
10793
10782
|
providedIn: 'root',
|
|
@@ -11504,7 +11493,7 @@ class NetworkService extends StartableService {
|
|
|
11504
11493
|
});
|
|
11505
11494
|
}
|
|
11506
11495
|
}
|
|
11507
|
-
NetworkService.ɵprov =
|
|
11496
|
+
NetworkService.ɵprov = ɵɵdefineInjectable({ factory: function NetworkService_Factory() { return new NetworkService(ɵɵinject(DOCUMENT), ɵɵinject(Platform), ɵɵinject(ModalController), ɵɵinject(CryptoService), ɵɵinject(Storage), ɵɵinject(LocalSettingsService), ɵɵinject(CacheService), ɵɵinject(HttpClient), ɵɵinject(ENVIRONMENT), ɵɵinject(Network, 8), ɵɵinject(SplashScreen, 8), ɵɵinject(TranslateService, 8), ɵɵinject(ToastController, 8)); }, token: NetworkService, providedIn: "root" });
|
|
11508
11497
|
NetworkService.decorators = [
|
|
11509
11498
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
11510
11499
|
];
|
|
@@ -11515,16 +11504,16 @@ NetworkService.ctorParameters = () => [
|
|
|
11515
11504
|
{ type: CryptoService },
|
|
11516
11505
|
{ type: Storage },
|
|
11517
11506
|
{ type: LocalSettingsService },
|
|
11518
|
-
{ type: CacheService },
|
|
11507
|
+
{ type: CacheService$1 },
|
|
11519
11508
|
{ type: HttpClient },
|
|
11520
11509
|
{ type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
|
|
11521
|
-
{ type: Network, decorators: [{ type: Optional }] },
|
|
11522
|
-
{ type: SplashScreen, decorators: [{ type: Optional }] },
|
|
11510
|
+
{ type: Network$1, decorators: [{ type: Optional }] },
|
|
11511
|
+
{ type: SplashScreen$1, decorators: [{ type: Optional }] },
|
|
11523
11512
|
{ type: TranslateService, decorators: [{ type: Optional }] },
|
|
11524
11513
|
{ type: ToastController, decorators: [{ type: Optional }] }
|
|
11525
11514
|
];
|
|
11526
11515
|
|
|
11527
|
-
const ErrorCodes
|
|
11516
|
+
const ErrorCodes = {
|
|
11528
11517
|
UNKNOWN_ERROR: 0,
|
|
11529
11518
|
LOAD_ACCOUNT_ERROR: 1,
|
|
11530
11519
|
BAD_PASSWORD: 2,
|
|
@@ -11876,7 +11865,7 @@ class EntityStore {
|
|
|
11876
11865
|
}
|
|
11877
11866
|
catch (err) {
|
|
11878
11867
|
console.error(err);
|
|
11879
|
-
throw { code: ErrorCodes
|
|
11868
|
+
throw { code: ErrorCodes.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err };
|
|
11880
11869
|
}
|
|
11881
11870
|
}
|
|
11882
11871
|
// Emit update event
|
|
@@ -12450,7 +12439,7 @@ class EntitiesStorage extends StartableService {
|
|
|
12450
12439
|
}
|
|
12451
12440
|
EntitiesStorage.TRASH_PREFIX = 'Trash#';
|
|
12452
12441
|
EntitiesStorage.REMOTE_PREFIX = 'Remote#';
|
|
12453
|
-
EntitiesStorage.ɵprov =
|
|
12442
|
+
EntitiesStorage.ɵprov = ɵɵdefineInjectable({ factory: function EntitiesStorage_Factory() { return new EntitiesStorage(ɵɵinject(Platform), ɵɵinject(ProgressBarService), ɵɵinject(Storage), ɵɵinject(ENVIRONMENT), ɵɵinject(APP_LOCAL_STORAGE_TYPE_POLICIES, 8)); }, token: EntitiesStorage, providedIn: "root" });
|
|
12454
12443
|
EntitiesStorage.decorators = [
|
|
12455
12444
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
12456
12445
|
];
|
|
@@ -12587,10 +12576,10 @@ function referentialToString(obj, properties) {
|
|
|
12587
12576
|
function referentialsToString(values, properties, separator) {
|
|
12588
12577
|
return (values || []).map(v => referentialToString(v, properties)).join(separator || ', ');
|
|
12589
12578
|
}
|
|
12590
|
-
const ɵ0$
|
|
12579
|
+
const ɵ0$a = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
|
|
12591
12580
|
const StatusList = Object.freeze([
|
|
12592
12581
|
{
|
|
12593
|
-
id: ɵ0$
|
|
12582
|
+
id: ɵ0$a,
|
|
12594
12583
|
icon: 'checkmark',
|
|
12595
12584
|
label: 'REFERENTIAL.STATUS_ENUM.ENABLE'
|
|
12596
12585
|
},
|
|
@@ -12865,7 +12854,7 @@ function accountToString(data) {
|
|
|
12865
12854
|
(data.lastName || '')) || '';
|
|
12866
12855
|
}
|
|
12867
12856
|
|
|
12868
|
-
const uuidv4 = uuidv4Imported;
|
|
12857
|
+
const uuidv4$1 = uuidv4Imported;
|
|
12869
12858
|
const _global = typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : {});
|
|
12870
12859
|
const NativeWebSocket = _global.WebSocket || _global.MozWebSocket;
|
|
12871
12860
|
/**
|
|
@@ -12909,7 +12898,7 @@ function createTrackerLink(opts) {
|
|
|
12909
12898
|
// Skip if not tracked
|
|
12910
12899
|
if (!context || !context.tracked)
|
|
12911
12900
|
return forward(operation);
|
|
12912
|
-
const id = context.serializationKey || uuidv4();
|
|
12901
|
+
const id = context.serializationKey || uuidv4$1();
|
|
12913
12902
|
console.debug(`[apollo-tracker-link] Watching tracked query {${operation.operationName}#${id}}`);
|
|
12914
12903
|
// Clean context, before calling JSON.stringify (remove unused attributes)
|
|
12915
12904
|
const cleanContext = Object.assign(Object.assign({}, context), { optimisticResponse: null, cache: null });
|
|
@@ -13572,7 +13561,7 @@ class GraphqlService extends StartableService {
|
|
|
13572
13561
|
(err.networkError && ((err.networkError.error && this.toAppError(err.networkError.error))
|
|
13573
13562
|
|| this.toAppError(err.networkError)
|
|
13574
13563
|
|| (err.networkError.error && this.createAppErrorByCode(err.networkError.error.status))
|
|
13575
|
-
|| this.createAppErrorByCode(ErrorCodes
|
|
13564
|
+
|| this.createAppErrorByCode(ErrorCodes.UNKNOWN_NETWORK_ERROR)))
|
|
13576
13565
|
// If graphQL: try to convert the first error found
|
|
13577
13566
|
|| (err.graphQLErrors && err.graphQLErrors.length && this.toAppError(err.graphQLErrors[0]))
|
|
13578
13567
|
|| this.toAppError(err)
|
|
@@ -13580,7 +13569,7 @@ class GraphqlService extends StartableService {
|
|
|
13580
13569
|
|| (err.graphQLErrors && err.graphQLErrors[0])
|
|
13581
13570
|
|| err;
|
|
13582
13571
|
console.error('[graphql] ' + (error && error.message || error), error.stack || '');
|
|
13583
|
-
if (error && error.code === ErrorCodes
|
|
13572
|
+
if (error && error.code === ErrorCodes.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
|
|
13584
13573
|
console.error('[graphql] original error: ' + err.networkError.message);
|
|
13585
13574
|
this.onNetworkError.next(error);
|
|
13586
13575
|
}
|
|
@@ -13591,7 +13580,7 @@ class GraphqlService extends StartableService {
|
|
|
13591
13580
|
data: null,
|
|
13592
13581
|
errors: [error],
|
|
13593
13582
|
loading: false,
|
|
13594
|
-
networkStatus:
|
|
13583
|
+
networkStatus: NetworkStatus.error
|
|
13595
13584
|
};
|
|
13596
13585
|
}
|
|
13597
13586
|
createAppErrorByCode(errorCode) {
|
|
@@ -13616,7 +13605,7 @@ class GraphqlService extends StartableService {
|
|
|
13616
13605
|
return 'ERROR.UNAUTHORIZED';
|
|
13617
13606
|
case ServerErrorCodes.FORBIDDEN:
|
|
13618
13607
|
return 'ERROR.FORBIDDEN';
|
|
13619
|
-
case ErrorCodes
|
|
13608
|
+
case ErrorCodes.UNKNOWN_NETWORK_ERROR:
|
|
13620
13609
|
return 'ERROR.UNKNOWN_NETWORK_ERROR';
|
|
13621
13610
|
case ServerErrorCodes.BAD_UPDATE_DATE:
|
|
13622
13611
|
return 'ERROR.BAD_UPDATE_DATE';
|
|
@@ -13647,7 +13636,7 @@ class GraphqlService extends StartableService {
|
|
|
13647
13636
|
return undefined;
|
|
13648
13637
|
}
|
|
13649
13638
|
}
|
|
13650
|
-
GraphqlService.ɵprov =
|
|
13639
|
+
GraphqlService.ɵprov = ɵɵdefineInjectable({ factory: function GraphqlService_Factory() { return new GraphqlService(ɵɵinject(Platform), ɵɵinject(Apollo), ɵɵinject(HttpLink), ɵɵinject(NetworkService), ɵɵinject(Storage), ɵɵinject(CryptoService), ɵɵinject(ENVIRONMENT), ɵɵinject(APP_GRAPHQL_TYPE_POLICIES, 8)); }, token: GraphqlService, providedIn: "root" });
|
|
13651
13640
|
GraphqlService.decorators = [
|
|
13652
13641
|
{ type: Injectable, args: [{
|
|
13653
13642
|
providedIn: 'root'
|
|
@@ -13664,7 +13653,7 @@ GraphqlService.ctorParameters = () => [
|
|
|
13664
13653
|
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_GRAPHQL_TYPE_POLICIES,] }] }
|
|
13665
13654
|
];
|
|
13666
13655
|
|
|
13667
|
-
const sha256 = require('hash.js/lib/hash/sha/256');
|
|
13656
|
+
const sha256$1 = require('hash.js/lib/hash/sha/256');
|
|
13668
13657
|
class BaseGraphqlServiceOptions {
|
|
13669
13658
|
}
|
|
13670
13659
|
// eslint-disable-next-line @angular-eslint/directive-class-suffix
|
|
@@ -13815,8 +13804,8 @@ class BaseGraphqlService extends StartableService {
|
|
|
13815
13804
|
}
|
|
13816
13805
|
/* -- protected methods -- */
|
|
13817
13806
|
computeMutableWatchQueryId(opts) {
|
|
13818
|
-
const queryName = opts.queryName || sha256().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
|
|
13819
|
-
const variablesKey = opts.variables && sha256().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
|
|
13807
|
+
const queryName = opts.queryName || sha256$1().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
|
|
13808
|
+
const variablesKey = opts.variables && sha256$1().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
|
|
13820
13809
|
return [queryName, opts.arrayFieldName, variablesKey].join('|');
|
|
13821
13810
|
}
|
|
13822
13811
|
findMutableWatchQueries(opts) {
|
|
@@ -13886,7 +13875,7 @@ const DEFAULT_AVATAR_IMAGE = 'assets/img/person.png';
|
|
|
13886
13875
|
/* ------------------------------------
|
|
13887
13876
|
* GraphQL queries
|
|
13888
13877
|
* ------------------------------------*/
|
|
13889
|
-
const Fragments
|
|
13878
|
+
const Fragments = {
|
|
13890
13879
|
account: gql `
|
|
13891
13880
|
fragment AccountFragment on AccountVO {
|
|
13892
13881
|
id
|
|
@@ -13921,14 +13910,14 @@ const Fragments$1 = {
|
|
|
13921
13910
|
}`
|
|
13922
13911
|
};
|
|
13923
13912
|
// Load account query
|
|
13924
|
-
const LoadQuery
|
|
13913
|
+
const LoadQuery = gql `
|
|
13925
13914
|
query Account {
|
|
13926
13915
|
data: account {
|
|
13927
13916
|
...AccountFragment
|
|
13928
13917
|
}
|
|
13929
13918
|
}
|
|
13930
|
-
${Fragments
|
|
13931
|
-
${Fragments
|
|
13919
|
+
${Fragments.account}
|
|
13920
|
+
${Fragments.settings}
|
|
13932
13921
|
`;
|
|
13933
13922
|
// Check email query
|
|
13934
13923
|
const IsEmailExistsQuery = gql `
|
|
@@ -13943,21 +13932,21 @@ const AccountMutations = {
|
|
|
13943
13932
|
...AccountFragment
|
|
13944
13933
|
}
|
|
13945
13934
|
}
|
|
13946
|
-
${Fragments
|
|
13947
|
-
${Fragments
|
|
13935
|
+
${Fragments.account}
|
|
13936
|
+
${Fragments.settings}`,
|
|
13948
13937
|
create: gql `mutation CreateAccount($data:AccountVOInput){
|
|
13949
13938
|
data: createAccount(account: $data){
|
|
13950
13939
|
...AccountFragment
|
|
13951
13940
|
}
|
|
13952
13941
|
}
|
|
13953
|
-
${Fragments
|
|
13954
|
-
${Fragments
|
|
13942
|
+
${Fragments.account}
|
|
13943
|
+
${Fragments.settings}`,
|
|
13955
13944
|
saveSettings: gql `mutation SaveSettings($data:UserSettingsVOInput){
|
|
13956
13945
|
data: saveSettings(settings: $data){
|
|
13957
13946
|
...UserSettingsFragment
|
|
13958
13947
|
}
|
|
13959
13948
|
}
|
|
13960
|
-
${Fragments
|
|
13949
|
+
${Fragments.settings}`
|
|
13961
13950
|
};
|
|
13962
13951
|
// Sent confirmation email
|
|
13963
13952
|
const SendConfirmEmailMutation = gql `
|
|
@@ -14272,7 +14261,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14272
14261
|
catch (error) {
|
|
14273
14262
|
console.error(error);
|
|
14274
14263
|
this.resetData();
|
|
14275
|
-
throw { code: ErrorCodes
|
|
14264
|
+
throw { code: ErrorCodes.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
|
|
14276
14265
|
}
|
|
14277
14266
|
// Store pubkey+keypair
|
|
14278
14267
|
this._cache.pubkey = Base58.encode(keypair.publicKey);
|
|
@@ -14306,7 +14295,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14306
14295
|
}
|
|
14307
14296
|
catch (err) {
|
|
14308
14297
|
// If account not found, check if email is valid
|
|
14309
|
-
if (err && +(err.code) === ErrorCodes
|
|
14298
|
+
if (err && +(err.code) === ErrorCodes.LOAD_ACCOUNT_ERROR) {
|
|
14310
14299
|
// Check email exists
|
|
14311
14300
|
if (data.username.indexOf('@') !== -1) {
|
|
14312
14301
|
let isEmailExists;
|
|
@@ -14318,11 +14307,11 @@ class AccountService extends BaseGraphqlService {
|
|
|
14318
14307
|
}
|
|
14319
14308
|
// Email not exists (no account)
|
|
14320
14309
|
if (!isEmailExists) {
|
|
14321
|
-
throw { code: ErrorCodes
|
|
14310
|
+
throw { code: ErrorCodes.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
|
|
14322
14311
|
}
|
|
14323
14312
|
}
|
|
14324
14313
|
// Email exists, so error = 'bad password'
|
|
14325
|
-
throw { code: ErrorCodes
|
|
14314
|
+
throw { code: ErrorCodes.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
|
|
14326
14315
|
}
|
|
14327
14316
|
throw err; // resend the first error
|
|
14328
14317
|
}
|
|
@@ -14468,8 +14457,8 @@ class AccountService extends BaseGraphqlService {
|
|
|
14468
14457
|
// Load remotely
|
|
14469
14458
|
else {
|
|
14470
14459
|
const { data } = yield this.graphql.query({
|
|
14471
|
-
query: LoadQuery
|
|
14472
|
-
error: { code: ErrorCodes
|
|
14460
|
+
query: LoadQuery,
|
|
14461
|
+
error: { code: ErrorCodes.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
|
|
14473
14462
|
fetchPolicy: opts && opts.fetchPolicy || 'no-cache' || undefined
|
|
14474
14463
|
});
|
|
14475
14464
|
json = data;
|
|
@@ -14496,7 +14485,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14496
14485
|
return __awaiter(this, void 0, void 0, function* () {
|
|
14497
14486
|
const isEmailExists = yield this.isEmailExists(email);
|
|
14498
14487
|
if (isEmailExists) {
|
|
14499
|
-
throw { code: ErrorCodes
|
|
14488
|
+
throw { code: ErrorCodes.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
|
|
14500
14489
|
}
|
|
14501
14490
|
});
|
|
14502
14491
|
}
|
|
@@ -14532,7 +14521,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14532
14521
|
locale
|
|
14533
14522
|
},
|
|
14534
14523
|
error: {
|
|
14535
|
-
code: ErrorCodes
|
|
14524
|
+
code: ErrorCodes.SENT_CONFIRMATION_EMAIL_FAILED,
|
|
14536
14525
|
message: 'ERROR.SENT_ACCOUNT_CONFIRMATION_EMAIL_FAILED'
|
|
14537
14526
|
}
|
|
14538
14527
|
});
|
|
@@ -14548,7 +14537,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14548
14537
|
code
|
|
14549
14538
|
},
|
|
14550
14539
|
error: {
|
|
14551
|
-
code: ErrorCodes
|
|
14540
|
+
code: ErrorCodes.CONFIRM_EMAIL_FAILED,
|
|
14552
14541
|
message: 'ERROR.CONFIRM_ACCOUNT_EMAIL_FAILED'
|
|
14553
14542
|
}
|
|
14554
14543
|
});
|
|
@@ -14627,7 +14616,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14627
14616
|
throw error;
|
|
14628
14617
|
console.error(error);
|
|
14629
14618
|
throw {
|
|
14630
|
-
code: ErrorCodes
|
|
14619
|
+
code: ErrorCodes.LOAD_ACCOUNT_ERROR,
|
|
14631
14620
|
message: 'ERROR.LOAD_ACCOUNT_ERROR'
|
|
14632
14621
|
};
|
|
14633
14622
|
}
|
|
@@ -14797,7 +14786,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14797
14786
|
if (!isNew) {
|
|
14798
14787
|
const existingAccount = yield this.load({ fetchPolicy: 'network-only' });
|
|
14799
14788
|
if (!existingAccount || !existingAccount.updateDate) {
|
|
14800
|
-
throw { code: ErrorCodes
|
|
14789
|
+
throw { code: ErrorCodes.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
|
|
14801
14790
|
}
|
|
14802
14791
|
this.copyIdAndUpdateDate(existingAccount, account);
|
|
14803
14792
|
}
|
|
@@ -14809,7 +14798,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14809
14798
|
mutation: isNew ? AccountMutations.create : AccountMutations.save,
|
|
14810
14799
|
variables: { data: json },
|
|
14811
14800
|
error: {
|
|
14812
|
-
code: ErrorCodes
|
|
14801
|
+
code: ErrorCodes.SAVE_ACCOUNT_ERROR,
|
|
14813
14802
|
message: 'ERROR.SAVE_ACCOUNT_ERROR'
|
|
14814
14803
|
}
|
|
14815
14804
|
});
|
|
@@ -14836,7 +14825,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14836
14825
|
mutation: AccountMutations.saveSettings,
|
|
14837
14826
|
variables: { data: json },
|
|
14838
14827
|
error: {
|
|
14839
|
-
code: ErrorCodes
|
|
14828
|
+
code: ErrorCodes.SAVE_SETTINGS_ERROR,
|
|
14840
14829
|
message: 'ERROR.SAVE_SETTINGS_ERROR'
|
|
14841
14830
|
}
|
|
14842
14831
|
});
|
|
@@ -14858,7 +14847,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14858
14847
|
if (counter > 4) {
|
|
14859
14848
|
if (this._debug)
|
|
14860
14849
|
console.debug(`[account] Failed to authentication on pod (after ${counter} attempts)`);
|
|
14861
|
-
throw { code: ErrorCodes
|
|
14850
|
+
throw { code: ErrorCodes.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
|
|
14862
14851
|
}
|
|
14863
14852
|
// Check if valid
|
|
14864
14853
|
if (token) {
|
|
@@ -14868,7 +14857,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14868
14857
|
token
|
|
14869
14858
|
},
|
|
14870
14859
|
error: {
|
|
14871
|
-
code: ErrorCodes
|
|
14860
|
+
code: ErrorCodes.UNAUTHORIZED,
|
|
14872
14861
|
message: 'ERROR.UNAUTHORIZED'
|
|
14873
14862
|
},
|
|
14874
14863
|
fetchPolicy: 'no-cache'
|
|
@@ -14884,7 +14873,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14884
14873
|
}
|
|
14885
14874
|
// Generate a new token
|
|
14886
14875
|
const challengeError = {
|
|
14887
|
-
code: ErrorCodes
|
|
14876
|
+
code: ErrorCodes.AUTH_CHALLENGE_ERROR,
|
|
14888
14877
|
message: 'ERROR.AUTH_CHALLENGE_ERROR'
|
|
14889
14878
|
};
|
|
14890
14879
|
const data = yield this.graphql.query({
|
|
@@ -14962,7 +14951,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14962
14951
|
query: AccountSubscriptions.listenChanges,
|
|
14963
14952
|
variables,
|
|
14964
14953
|
error: {
|
|
14965
|
-
code: ErrorCodes
|
|
14954
|
+
code: ErrorCodes.SUBSCRIBE_ACCOUNT_ERROR,
|
|
14966
14955
|
message: 'ERROR.ACCOUNT.SUBSCRIBE_ERROR'
|
|
14967
14956
|
}
|
|
14968
14957
|
}).pipe(map(({ data }) => data),
|
|
@@ -14991,7 +14980,7 @@ class AccountService extends BaseGraphqlService {
|
|
|
14991
14980
|
return Toasts.show(this.toastController, this.translate, opts);
|
|
14992
14981
|
}
|
|
14993
14982
|
}
|
|
14994
|
-
AccountService.ɵprov =
|
|
14983
|
+
AccountService.ɵprov = ɵɵdefineInjectable({ factory: function AccountService_Factory() { return new AccountService(ɵɵinject(CryptoService), ɵɵinject(NetworkService), ɵɵinject(GraphqlService), ɵɵinject(LocalSettingsService), ɵɵinject(Storage), ɵɵinject(FileService), ɵɵinject(TranslateService, 8), ɵɵinject(ToastController, 8), ɵɵinject(ENVIRONMENT)); }, token: AccountService, providedIn: "root" });
|
|
14995
14984
|
AccountService.decorators = [
|
|
14996
14985
|
{ type: Injectable, args: [{ providedIn: 'root', deps: [ENVIRONMENT] },] }
|
|
14997
14986
|
];
|
|
@@ -15259,7 +15248,7 @@ const CONFIGURATION_STORAGE_KEY = 'configuration';
|
|
|
15259
15248
|
/* ------------------------------------
|
|
15260
15249
|
* GraphQL queries
|
|
15261
15250
|
* ------------------------------------*/
|
|
15262
|
-
const Fragments = {
|
|
15251
|
+
const Fragments$1 = {
|
|
15263
15252
|
config: gql `
|
|
15264
15253
|
fragment ConfigFragment on ConfigurationVO {
|
|
15265
15254
|
id
|
|
@@ -15286,13 +15275,13 @@ const Fragments = {
|
|
|
15286
15275
|
}
|
|
15287
15276
|
`
|
|
15288
15277
|
};
|
|
15289
|
-
const LoadQuery = gql `
|
|
15278
|
+
const LoadQuery$1 = gql `
|
|
15290
15279
|
query Configuration{
|
|
15291
15280
|
data: configuration{
|
|
15292
15281
|
...ConfigFragment
|
|
15293
15282
|
}
|
|
15294
15283
|
}
|
|
15295
|
-
${Fragments.config}
|
|
15284
|
+
${Fragments$1.config}
|
|
15296
15285
|
`;
|
|
15297
15286
|
// Save (create or update) account mutation
|
|
15298
15287
|
const SaveMutation = gql `
|
|
@@ -15301,7 +15290,7 @@ const SaveMutation = gql `
|
|
|
15301
15290
|
...ConfigFragment
|
|
15302
15291
|
}
|
|
15303
15292
|
}
|
|
15304
|
-
${Fragments.config}
|
|
15293
|
+
${Fragments$1.config}
|
|
15305
15294
|
`;
|
|
15306
15295
|
const ClearCache = gql `
|
|
15307
15296
|
query ClearCache($name: String) {
|
|
@@ -15352,12 +15341,12 @@ class ConfigService extends BaseGraphqlService {
|
|
|
15352
15341
|
return __awaiter(this, void 0, void 0, function* () {
|
|
15353
15342
|
const now = Date.now();
|
|
15354
15343
|
console.debug('[config] Loading Pod configuration...');
|
|
15355
|
-
const query = opts && opts.query || LoadQuery;
|
|
15344
|
+
const query = opts && opts.query || LoadQuery$1;
|
|
15356
15345
|
const variables = opts && opts.variables || undefined;
|
|
15357
15346
|
const res = yield this.graphql.query({
|
|
15358
15347
|
query,
|
|
15359
15348
|
variables,
|
|
15360
|
-
error: { code: ErrorCodes
|
|
15349
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
15361
15350
|
fetchPolicy: opts && opts.fetchPolicy || undefined /*default*/
|
|
15362
15351
|
});
|
|
15363
15352
|
const data = res && res.data ? Configuration.fromObject(res.data) : undefined;
|
|
@@ -15390,7 +15379,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
15390
15379
|
data: json
|
|
15391
15380
|
},
|
|
15392
15381
|
error: {
|
|
15393
|
-
code: ErrorCodes
|
|
15382
|
+
code: ErrorCodes.SAVE_CONFIG_ERROR,
|
|
15394
15383
|
message: 'ERROR.SAVE_CONFIG_ERROR'
|
|
15395
15384
|
}
|
|
15396
15385
|
});
|
|
@@ -15416,7 +15405,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
15416
15405
|
const res = yield this.graphql.query({
|
|
15417
15406
|
query: CacheStatistics,
|
|
15418
15407
|
variables: null,
|
|
15419
|
-
error: { code: ErrorCodes
|
|
15408
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
15420
15409
|
fetchPolicy: 'network-only'
|
|
15421
15410
|
});
|
|
15422
15411
|
const data = res && res.cacheStatistics || undefined;
|
|
@@ -15432,7 +15421,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
15432
15421
|
const res = yield this.graphql.query({
|
|
15433
15422
|
query: ClearCache,
|
|
15434
15423
|
variables,
|
|
15435
|
-
error: { code: ErrorCodes
|
|
15424
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
15436
15425
|
fetchPolicy: 'no-cache'
|
|
15437
15426
|
});
|
|
15438
15427
|
const data = res && res.clearCache || undefined;
|
|
@@ -15591,7 +15580,7 @@ class ConfigService extends BaseGraphqlService {
|
|
|
15591
15580
|
});
|
|
15592
15581
|
}
|
|
15593
15582
|
}
|
|
15594
|
-
ConfigService.ɵprov =
|
|
15583
|
+
ConfigService.ɵprov = ɵɵdefineInjectable({ factory: function ConfigService_Factory() { return new ConfigService(ɵɵinject(Platform), ɵɵinject(GraphqlService), ɵɵinject(Storage), ɵɵinject(NetworkService), ɵɵinject(FileService), ɵɵinject(ToastController), ɵɵinject(TranslateService), ɵɵinject(AccountService), ɵɵinject(ENVIRONMENT), ɵɵinject(APP_CONFIG_OPTIONS, 8)); }, token: ConfigService, providedIn: "root" });
|
|
15595
15584
|
ConfigService.decorators = [
|
|
15596
15585
|
{ type: Injectable, args: [{
|
|
15597
15586
|
providedIn: 'root',
|
|
@@ -15611,7 +15600,7 @@ ConfigService.ctorParameters = () => [
|
|
|
15611
15600
|
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_CONFIG_OPTIONS,] }] }
|
|
15612
15601
|
];
|
|
15613
15602
|
|
|
15614
|
-
const moment$
|
|
15603
|
+
const moment$4 = momentImported;
|
|
15615
15604
|
const AndroidOsEnvironment = Object.freeze({
|
|
15616
15605
|
DIRECTORY_DOWNLOADS: 'Download',
|
|
15617
15606
|
DIRECTORY_DOWNLOADS_OLD: 'Downloads',
|
|
@@ -15845,16 +15834,16 @@ class PlatformService extends StartableService {
|
|
|
15845
15834
|
}
|
|
15846
15835
|
// config moment lib
|
|
15847
15836
|
try {
|
|
15848
|
-
moment$
|
|
15837
|
+
moment$4.locale(event.lang);
|
|
15849
15838
|
console.debug('[platform] Use locale {' + event.lang + '}');
|
|
15850
15839
|
}
|
|
15851
15840
|
// If error, fallback to en
|
|
15852
15841
|
catch (err) {
|
|
15853
|
-
moment$
|
|
15842
|
+
moment$4.locale('en');
|
|
15854
15843
|
console.warn('[platform] Unknown local for moment lib. Using default [en]');
|
|
15855
15844
|
}
|
|
15856
15845
|
// Config date adapter
|
|
15857
|
-
this.dateAdapter.setLocale(moment$
|
|
15846
|
+
this.dateAdapter.setLocale(moment$4.locale());
|
|
15858
15847
|
}
|
|
15859
15848
|
});
|
|
15860
15849
|
this.settings.onChange.subscribe(data => {
|
|
@@ -16055,7 +16044,7 @@ class PlatformService extends StartableService {
|
|
|
16055
16044
|
});
|
|
16056
16045
|
}
|
|
16057
16046
|
}
|
|
16058
|
-
PlatformService.ɵprov =
|
|
16047
|
+
PlatformService.ɵprov = ɵɵdefineInjectable({ factory: function PlatformService_Factory() { return new PlatformService(ɵɵinject(Platform), ɵɵinject(Platform$1), ɵɵinject(ToastController), ɵɵinject(TranslateService), ɵɵinject(MomentDateAdapter), ɵɵinject(EntitiesStorage), ɵɵinject(LocalSettingsService), ɵɵinject(NetworkService), ɵɵinject(AccountService), ɵɵinject(ConfigService), ɵɵinject(CacheService), ɵɵinject(Storage), ɵɵinject(AudioProvider), ɵɵinject(ENVIRONMENT), ɵɵinject(StatusBar, 8), ɵɵinject(Keyboard$1, 8), ɵɵinject(SplashScreen, 8), ɵɵinject(InAppBrowser, 8), ɵɵinject(Downloader, 8)); }, token: PlatformService, providedIn: "root" });
|
|
16059
16048
|
PlatformService.decorators = [
|
|
16060
16049
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
16061
16050
|
];
|
|
@@ -16070,15 +16059,15 @@ PlatformService.ctorParameters = () => [
|
|
|
16070
16059
|
{ type: NetworkService },
|
|
16071
16060
|
{ type: AccountService },
|
|
16072
16061
|
{ type: ConfigService },
|
|
16073
|
-
{ type: CacheService },
|
|
16062
|
+
{ type: CacheService$1 },
|
|
16074
16063
|
{ type: Storage },
|
|
16075
16064
|
{ type: AudioProvider },
|
|
16076
16065
|
{ type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
|
|
16077
|
-
{ type: StatusBar, decorators: [{ type: Optional }] },
|
|
16066
|
+
{ type: StatusBar$1, decorators: [{ type: Optional }] },
|
|
16078
16067
|
{ type: Keyboard, decorators: [{ type: Optional }] },
|
|
16079
|
-
{ type: SplashScreen, decorators: [{ type: Optional }] },
|
|
16080
|
-
{ type: InAppBrowser, decorators: [{ type: Optional }] },
|
|
16081
|
-
{ type: Downloader, decorators: [{ type: Optional }] }
|
|
16068
|
+
{ type: SplashScreen$1, decorators: [{ type: Optional }] },
|
|
16069
|
+
{ type: InAppBrowser$1, decorators: [{ type: Optional }] },
|
|
16070
|
+
{ type: Downloader$1, decorators: [{ type: Optional }] }
|
|
16082
16071
|
];
|
|
16083
16072
|
|
|
16084
16073
|
class AppHelpModal {
|
|
@@ -16142,7 +16131,7 @@ class MatStepperI18n extends MatStepperIntl {
|
|
|
16142
16131
|
this.optionalLabel = this.translate.instant('COMMON.OPTIONAL');
|
|
16143
16132
|
}
|
|
16144
16133
|
}
|
|
16145
|
-
MatStepperI18n.ɵprov =
|
|
16134
|
+
MatStepperI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(ɵɵinject(TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
|
|
16146
16135
|
MatStepperI18n.decorators = [
|
|
16147
16136
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
16148
16137
|
];
|
|
@@ -17274,7 +17263,7 @@ class TextForm extends AppForm {
|
|
|
17274
17263
|
TextForm.decorators = [
|
|
17275
17264
|
{ type: Component, args: [{
|
|
17276
17265
|
selector: 'app-text-form',
|
|
17277
|
-
template: "<form class=\"form-container\" [formGroup]=\"form\" (ngSubmit)=\"doSubmit($event)\">\n <mat-form-field *ngIf=\"multiline; else monoline\">\n <textarea\n #textArea\n matInput\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [readonly]=\"control.disabled\"\n [class.fixed-height]=\"!autoHeight\"\n [cdkTextareaAutosize]=\"autoHeight\"\n (keyup)=\"textAreaChanged($event)\"\n (keydown.control.enter)=\"onSubmit.emit($event)\"\n [autofocus]=\"autofocus\"\n ></textarea>\n <mat-error *ngIf=\"control.hasError('maxlength')\">\n {{ 'ERROR.FIELD_MAX_LENGTH' | translate: control.errors['maxlength'] }}\n </mat-error>\n <mat-hint *ngIf=\"maxLength\" align=\"end\">\n {{ 'INFO.TEXT_PROGRESS' | translate: { current: textArea.value?.length || 0, max: maxLength } }}\n </mat-hint>\n </mat-form-field>\n <ng-template #monoline>\n <mat-form-field>\n <input\n #textInput\n matInput\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [readonly]=\"disabled\"\n [appAutofocus]=\"autofocus\"\n />\n <mat-error *ngIf=\"control.hasError('maxlength')\">\n {{ 'ERROR.FIELD_MAX_LENGTH' | translate: control.errors['maxlength'] }}\n </mat-error>\n <mat-hint *ngIf=\"maxLength\" align=\"end\">\n {{ 'INFO.TEXT_PROGRESS' | translate: { current: textInput.value?.length || 0, max: maxLength } }}\n </mat-hint>\n </mat-form-field>\n </ng-template>\n</form>\n",
|
|
17266
|
+
template: "<form class=\"form-container\" [formGroup]=\"form\" (ngSubmit)=\"doSubmit($event)\">\n <mat-form-field *ngIf=\"multiline; else monoline\">\n <textarea\n #textArea\n matInput\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [readonly]=\"control.disabled\"\n [class.fixed-height]=\"!autoHeight\"\n [cdkTextareaAutosize]=\"autoHeight\"\n (keyup)=\"textAreaChanged($event)\"\n (keydown.control.enter)=\"onSubmit.emit($event)\"\n [autofocus]=\"autofocus\"\n ></textarea>\n <mat-error *ngIf=\"control.hasError('maxlength')\">\n {{ 'ERROR.FIELD_MAX_LENGTH' | translate: control.errors['maxlength'] }}\n </mat-error>\n <mat-hint *ngIf=\"maxLength\" align=\"end\">\n {{ 'INFO.TEXT_PROGRESS' | translate: { current: textArea.value?.length || 0, max: maxLength } }}\n </mat-hint>\n </mat-form-field>\n <ng-template #monoline>\n <mat-form-field>\n <input\n #textInput\n matInput\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [readonly]=\"disabled\"\n [appAutofocus]=\"autofocus\"\n (keydown.control.enter)=\"onSubmit.emit($event)\"\n />\n <mat-error *ngIf=\"control.hasError('maxlength')\">\n {{ 'ERROR.FIELD_MAX_LENGTH' | translate: control.errors['maxlength'] }}\n </mat-error>\n <mat-hint *ngIf=\"maxLength\" align=\"end\">\n {{ 'INFO.TEXT_PROGRESS' | translate: { current: textInput.value?.length || 0, max: maxLength } }}\n </mat-hint>\n </mat-form-field>\n </ng-template>\n</form>\n",
|
|
17278
17267
|
styles: ["textarea.fixed-height{height:11.5em}"]
|
|
17279
17268
|
},] }
|
|
17280
17269
|
];
|
|
@@ -17363,7 +17352,7 @@ class TextPopover {
|
|
|
17363
17352
|
TextPopover.decorators = [
|
|
17364
17353
|
{ type: Component, args: [{
|
|
17365
17354
|
selector: 'app-text-popover',
|
|
17366
|
-
template: "\n<ion-content class=\"ion-padding\" cdkTrapFocus [cdkTrapFocusAutoCapture]=\"true\">\n <ion-item *ngIf=\"form.error\" visible-xs visible-sm visible-mobile lines=\"none\">\n <ion-icon color=\"danger\" slot=\"start\" name=\"alert-circle\"></ion-icon>\n <ion-label color=\"danger\" class=\"error\" [innerHTML]=\"form.error|translate\"></ion-label>\n </ion-item>\n\n <app-text-form #form [placeholder]=\"placeholder\"\n [multiline]=\"multiline\"\n [maxLength]=\"maxLength\"\n [autofocus]=\"editing && autofocus\"\n (onSubmit)=\"onValidate($event)\"\n ></app-text-form>\n</ion-content>\n\n<ion-footer>\n <ion-toolbar>\n <ion-row class=\"ion-no-padding\" nowrap>\n <ion-col>\n\n </ion-col>\n\n <ion-col size=\"auto\">\n <ion-button fill=\"clear\" color=\"dark\" (click)=\"cancel()\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n <ion-button\n [fill]=\"disabled ? 'clear' : 'solid'\"\n (click)=\"onValidate($event)\"\n (keyup.enter)=\"onValidate($event)\"\n color=\"tertiary\"\n [disabled]=\"disabled\"\n
|
|
17355
|
+
template: "\n<ion-content class=\"ion-padding\" cdkTrapFocus [cdkTrapFocusAutoCapture]=\"true\">\n <ion-item *ngIf=\"form.error\" visible-xs visible-sm visible-mobile lines=\"none\">\n <ion-icon color=\"danger\" slot=\"start\" name=\"alert-circle\"></ion-icon>\n <ion-label color=\"danger\" class=\"error\" [innerHTML]=\"form.error|translate\"></ion-label>\n </ion-item>\n\n <app-text-form #form [placeholder]=\"placeholder\"\n [multiline]=\"multiline\"\n [maxLength]=\"maxLength\"\n [autofocus]=\"editing && autofocus\"\n (onSubmit)=\"onValidate($event)\"\n ></app-text-form>\n</ion-content>\n\n<ion-footer>\n <ion-toolbar>\n <ion-row class=\"ion-no-padding\" nowrap>\n <ion-col>\n\n </ion-col>\n\n <ion-col size=\"auto\">\n <ion-button fill=\"clear\" color=\"dark\" (click)=\"cancel()\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n <ion-button\n [fill]=\"disabled ? 'clear' : 'solid'\"\n (click)=\"onValidate($event)\"\n (keyup.enter)=\"onValidate($event)\"\n color=\"tertiary\"\n [disabled]=\"disabled\"\n [title]=\"'COMMON.BTN_VALIDATE_WITH_SHORTCUT_HELP'|translate\">\n <ion-label translate>COMMON.BTN_VALIDATE</ion-label>\n </ion-button>\n </ion-col>\n </ion-row>\n </ion-toolbar>\n</ion-footer>\n"
|
|
17367
17356
|
},] }
|
|
17368
17357
|
];
|
|
17369
17358
|
TextPopover.ctorParameters = () => [
|
|
@@ -17978,7 +17967,7 @@ function state2side(state) {
|
|
|
17978
17967
|
return 1;
|
|
17979
17968
|
}
|
|
17980
17969
|
}
|
|
17981
|
-
const ɵ0$
|
|
17970
|
+
const ɵ0$b = (defaultStateSize) => [
|
|
17982
17971
|
Math.round((rgbArrayMap.red[0] - 50) / defaultStateSize),
|
|
17983
17972
|
Math.round((255 - rgbArrayMap.red[1]) / defaultStateSize),
|
|
17984
17973
|
Math.round((255 - rgbArrayMap.red[2]) / defaultStateSize)
|
|
@@ -17986,7 +17975,7 @@ const ɵ0$1 = (defaultStateSize) => [
|
|
|
17986
17975
|
const SCALE_OPTIONS_DEFAULT = {
|
|
17987
17976
|
startColor: rgbArrayMap.red,
|
|
17988
17977
|
startStates: [0, 2, 3],
|
|
17989
|
-
startStepsFn: ɵ0$
|
|
17978
|
+
startStepsFn: ɵ0$b
|
|
17990
17979
|
};
|
|
17991
17980
|
/**
|
|
17992
17981
|
* Internal function, that create a colors scale, using iteration
|
|
@@ -18783,7 +18772,7 @@ class UserSettingsValidatorService extends AppValidatorService {
|
|
|
18783
18772
|
});
|
|
18784
18773
|
}
|
|
18785
18774
|
}
|
|
18786
|
-
UserSettingsValidatorService.ɵprov =
|
|
18775
|
+
UserSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(ɵɵinject(FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
|
|
18787
18776
|
UserSettingsValidatorService.decorators = [
|
|
18788
18777
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
18789
18778
|
];
|
|
@@ -18827,7 +18816,7 @@ class AccountValidatorService extends AppValidatorService {
|
|
|
18827
18816
|
return validatorFns.length ? Validators.compose(validatorFns) : validatorFns.length === 1 ? validatorFns[0] : undefined;
|
|
18828
18817
|
}
|
|
18829
18818
|
}
|
|
18830
|
-
AccountValidatorService.ɵprov =
|
|
18819
|
+
AccountValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
|
|
18831
18820
|
AccountValidatorService.decorators = [
|
|
18832
18821
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
18833
18822
|
];
|
|
@@ -19392,7 +19381,7 @@ class LocalSettingsValidatorService extends AppValidatorService {
|
|
|
19392
19381
|
});
|
|
19393
19382
|
}
|
|
19394
19383
|
}
|
|
19395
|
-
LocalSettingsValidatorService.ɵprov =
|
|
19384
|
+
LocalSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(ɵɵinject(FormBuilder), ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
|
|
19396
19385
|
LocalSettingsValidatorService.decorators = [
|
|
19397
19386
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
19398
19387
|
];
|
|
@@ -20011,7 +20000,7 @@ class IsOnFieldModePipe {
|
|
|
20011
20000
|
return value === 'FIELD';
|
|
20012
20001
|
}
|
|
20013
20002
|
}
|
|
20014
|
-
IsOnFieldModePipe.ɵprov =
|
|
20003
|
+
IsOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
|
|
20015
20004
|
IsOnFieldModePipe.decorators = [
|
|
20016
20005
|
{ type: Pipe, args: [{
|
|
20017
20006
|
name: 'isOnField'
|
|
@@ -20023,7 +20012,7 @@ class IsNotOnFieldModePipe {
|
|
|
20023
20012
|
return value !== 'FIELD';
|
|
20024
20013
|
}
|
|
20025
20014
|
}
|
|
20026
|
-
IsNotOnFieldModePipe.ɵprov =
|
|
20015
|
+
IsNotOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
|
|
20027
20016
|
IsNotOnFieldModePipe.decorators = [
|
|
20028
20017
|
{ type: Pipe, args: [{
|
|
20029
20018
|
name: 'isNotOnField'
|
|
@@ -20038,7 +20027,7 @@ class PersonToStringPipe {
|
|
|
20038
20027
|
return PersonUtils.personToString(value);
|
|
20039
20028
|
}
|
|
20040
20029
|
}
|
|
20041
|
-
PersonToStringPipe.ɵprov =
|
|
20030
|
+
PersonToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
|
|
20042
20031
|
PersonToStringPipe.decorators = [
|
|
20043
20032
|
{ type: Pipe, args: [{
|
|
20044
20033
|
name: 'personToString'
|
|
@@ -20423,7 +20412,7 @@ class IsLoginAccountPipe {
|
|
|
20423
20412
|
return value && value.pubkey && true;
|
|
20424
20413
|
}
|
|
20425
20414
|
}
|
|
20426
|
-
IsLoginAccountPipe.ɵprov =
|
|
20415
|
+
IsLoginAccountPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
|
|
20427
20416
|
IsLoginAccountPipe.decorators = [
|
|
20428
20417
|
{ type: Pipe, args: [{
|
|
20429
20418
|
name: 'isLogin'
|
|
@@ -20435,7 +20424,7 @@ class AccountToStringPipe {
|
|
|
20435
20424
|
return accountToString(value);
|
|
20436
20425
|
}
|
|
20437
20426
|
}
|
|
20438
|
-
AccountToStringPipe.ɵprov =
|
|
20427
|
+
AccountToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
|
|
20439
20428
|
AccountToStringPipe.decorators = [
|
|
20440
20429
|
{ type: Pipe, args: [{
|
|
20441
20430
|
name: 'accountToString'
|
|
@@ -20450,7 +20439,7 @@ class DepartmentToStringPipe {
|
|
|
20450
20439
|
return departmentToString(value);
|
|
20451
20440
|
}
|
|
20452
20441
|
}
|
|
20453
|
-
DepartmentToStringPipe.ɵprov =
|
|
20442
|
+
DepartmentToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
|
|
20454
20443
|
DepartmentToStringPipe.decorators = [
|
|
20455
20444
|
{ type: Pipe, args: [{
|
|
20456
20445
|
name: 'departmentToString'
|
|
@@ -20546,7 +20535,7 @@ class MenuService {
|
|
|
20546
20535
|
this._visibleSubject.next(value);
|
|
20547
20536
|
}
|
|
20548
20537
|
}
|
|
20549
|
-
MenuService.ɵprov =
|
|
20538
|
+
MenuService.ɵprov = ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
|
|
20550
20539
|
MenuService.decorators = [
|
|
20551
20540
|
{ type: Injectable, args: [{
|
|
20552
20541
|
providedIn: 'root'
|
|
@@ -20576,11 +20565,6 @@ class MenuComponent {
|
|
|
20576
20565
|
this.appVersion = this.environment.version;
|
|
20577
20566
|
this.side = 'left';
|
|
20578
20567
|
this._debug = !environment.production;
|
|
20579
|
-
this.onResize();
|
|
20580
|
-
}
|
|
20581
|
-
onResize(event) {
|
|
20582
|
-
this._screenWidth = window.innerWidth;
|
|
20583
|
-
console.debug('[menu] Screen size (px): ' + this._screenWidth);
|
|
20584
20568
|
}
|
|
20585
20569
|
ngOnInit() {
|
|
20586
20570
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -20811,8 +20795,7 @@ MenuComponent.propDecorators = {
|
|
|
20811
20795
|
appName: [{ type: Input }],
|
|
20812
20796
|
appVersion: [{ type: Input }],
|
|
20813
20797
|
side: [{ type: Input }],
|
|
20814
|
-
splitPane: [{ type: ViewChild, args: ['splitPane', { static: true },] }]
|
|
20815
|
-
onResize: [{ type: HostListener, args: ['window:resize', ['$event'],] }]
|
|
20798
|
+
splitPane: [{ type: ViewChild, args: ['splitPane', { static: true },] }]
|
|
20816
20799
|
};
|
|
20817
20800
|
|
|
20818
20801
|
class AppMenuModule {
|
|
@@ -21008,7 +20991,7 @@ class AuthGuardService {
|
|
|
21008
20991
|
}));
|
|
21009
20992
|
}
|
|
21010
20993
|
}
|
|
21011
|
-
AuthGuardService.ɵprov =
|
|
20994
|
+
AuthGuardService.ɵprov = ɵɵdefineInjectable({ factory: function AuthGuardService_Factory() { return new AuthGuardService(ɵɵinject(AccountService), ɵɵinject(ModalController), ɵɵinject(Router), ɵɵinject(ENVIRONMENT)); }, token: AuthGuardService, providedIn: "root" });
|
|
21012
20995
|
AuthGuardService.decorators = [
|
|
21013
20996
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
21014
20997
|
];
|
|
@@ -21050,7 +21033,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
21050
21033
|
query,
|
|
21051
21034
|
variables: { id },
|
|
21052
21035
|
fetchPolicy: opts && opts.fetchPolicy || undefined,
|
|
21053
|
-
error: { code: ErrorCodes
|
|
21036
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
|
|
21054
21037
|
})
|
|
21055
21038
|
.pipe(map(({ data }) => (!opts || opts.toEntity !== false)
|
|
21056
21039
|
? (data && this.fromObject(data))
|
|
@@ -21065,7 +21048,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
21065
21048
|
query,
|
|
21066
21049
|
variables: { id },
|
|
21067
21050
|
fetchPolicy: opts && opts.fetchPolicy || undefined,
|
|
21068
|
-
error: { code: ErrorCodes
|
|
21051
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
|
|
21069
21052
|
});
|
|
21070
21053
|
// Convert to entity
|
|
21071
21054
|
return (!opts || opts.toEntity !== false)
|
|
@@ -21096,7 +21079,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
21096
21079
|
totalFieldName: withTotal ? 'total' : undefined,
|
|
21097
21080
|
insertFilterFn: filter && filter.asFilterFn(),
|
|
21098
21081
|
variables,
|
|
21099
|
-
error: { code: ErrorCodes
|
|
21082
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
|
|
21100
21083
|
fetchPolicy: opts && opts.fetchPolicy || undefined
|
|
21101
21084
|
})
|
|
21102
21085
|
.pipe(map(({ data, total }) => {
|
|
@@ -21132,7 +21115,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
21132
21115
|
const { data, total } = yield this.graphql.query({
|
|
21133
21116
|
query,
|
|
21134
21117
|
variables,
|
|
21135
|
-
error: { code: ErrorCodes
|
|
21118
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
|
|
21136
21119
|
fetchPolicy: opts && opts.fetchPolicy || 'network-only'
|
|
21137
21120
|
});
|
|
21138
21121
|
const entities = (!opts || opts.toEntity !== false) ?
|
|
@@ -21171,7 +21154,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
21171
21154
|
variables: {
|
|
21172
21155
|
filter: filter && filter.asPodObject()
|
|
21173
21156
|
},
|
|
21174
|
-
error: { code: ErrorCodes
|
|
21157
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
|
|
21175
21158
|
fetchPolicy: opts && opts.fetchPolicy || 'network-only'
|
|
21176
21159
|
});
|
|
21177
21160
|
return res.total;
|
|
@@ -21207,7 +21190,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
21207
21190
|
variables: {
|
|
21208
21191
|
data: json
|
|
21209
21192
|
},
|
|
21210
|
-
error: { code: ErrorCodes
|
|
21193
|
+
error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
|
|
21211
21194
|
update: (proxy, { data }) => {
|
|
21212
21195
|
const savedEntities = data && data.data;
|
|
21213
21196
|
if (savedEntities) {
|
|
@@ -21263,7 +21246,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
21263
21246
|
variables: {
|
|
21264
21247
|
data: json
|
|
21265
21248
|
},
|
|
21266
|
-
error: { code: ErrorCodes
|
|
21249
|
+
error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
|
|
21267
21250
|
update: (cache, { data }) => {
|
|
21268
21251
|
// Update entity
|
|
21269
21252
|
const savedEntity = data && data.data;
|
|
@@ -21311,7 +21294,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
21311
21294
|
refetchQueries: this.getRefetchQueriesForMutation(opts),
|
|
21312
21295
|
awaitRefetchQueries: opts && opts.awaitRefetchQueries,
|
|
21313
21296
|
variables: { ids },
|
|
21314
|
-
error: { code: ErrorCodes
|
|
21297
|
+
error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
|
|
21315
21298
|
update: (cache, res) => {
|
|
21316
21299
|
// Remove from cache
|
|
21317
21300
|
if (this.watchQueriesUpdatePolicy === 'update-cache') {
|
|
@@ -21352,7 +21335,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
21352
21335
|
refetchQueries: this.getRefetchQueriesForMutation(opts),
|
|
21353
21336
|
awaitRefetchQueries: opts && opts.awaitRefetchQueries,
|
|
21354
21337
|
variables: { id },
|
|
21355
|
-
error: { code: ErrorCodes
|
|
21338
|
+
error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
|
|
21356
21339
|
update: (proxy, res) => {
|
|
21357
21340
|
// Remove from cache
|
|
21358
21341
|
if (this.watchQueriesUpdatePolicy === 'update-cache') {
|
|
@@ -21388,7 +21371,7 @@ class BaseEntityService extends BaseGraphqlService {
|
|
|
21388
21371
|
fetchPolicy: opts && opts.fetchPolicy || 'no-cache',
|
|
21389
21372
|
variables,
|
|
21390
21373
|
error: {
|
|
21391
|
-
code: ErrorCodes
|
|
21374
|
+
code: ErrorCodes.SUBSCRIBE_DATA_ERROR,
|
|
21392
21375
|
message: 'ERROR.SUBSCRIBE_DATA_ERROR'
|
|
21393
21376
|
}
|
|
21394
21377
|
})
|
|
@@ -21574,7 +21557,7 @@ class EntitiesTableDataSource extends TableDataSource {
|
|
|
21574
21557
|
if (this._debug)
|
|
21575
21558
|
invalidRows.forEach(row => AppTableUtils.logRowErrors(row, `[table-datasource] ${this._logTypeName} row #${row.id}`));
|
|
21576
21559
|
// Stop with an error
|
|
21577
|
-
throw { code: ErrorCodes
|
|
21560
|
+
throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
21578
21561
|
}
|
|
21579
21562
|
this._editingRowCount = 0;
|
|
21580
21563
|
let data;
|
|
@@ -22445,14 +22428,14 @@ class AppTable {
|
|
|
22445
22428
|
return __awaiter(this, void 0, void 0, function* () {
|
|
22446
22429
|
opts = Object.assign({ keepEditing: this.keepEditedRowOnSave }, opts);
|
|
22447
22430
|
if (this.readOnly) {
|
|
22448
|
-
throw { code: ErrorCodes
|
|
22431
|
+
throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
|
|
22449
22432
|
}
|
|
22450
22433
|
this.resetError();
|
|
22451
22434
|
// Keep edited row id (should be done BEFORE confirmEditCreate() )
|
|
22452
22435
|
this.previouslyEditedRowId = opts.keepEditing ? ((((_a = this.editedRow) === null || _a === void 0 ? void 0 : _a.editing) ? this.editedRow.id : undefined) || ((_b = this.singleSelectedRow) === null || _b === void 0 ? void 0 : _b.id)) : undefined;
|
|
22453
22436
|
const previouslyEditedData = opts.keepEditing ? (isNotNil(this.previouslyEditedRowId) && ((_c = this.editedRow) === null || _c === void 0 ? void 0 : _c.currentData) || ((_d = this.singleSelectedRow) === null || _d === void 0 ? void 0 : _d.currentData)) : undefined;
|
|
22454
22437
|
if (!this.confirmEditCreate()) {
|
|
22455
|
-
throw { code: ErrorCodes
|
|
22438
|
+
throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
22456
22439
|
}
|
|
22457
22440
|
// Mark as saving
|
|
22458
22441
|
this.markAsSaving();
|
|
@@ -22571,7 +22554,7 @@ class AppTable {
|
|
|
22571
22554
|
var _a;
|
|
22572
22555
|
return __awaiter(this, void 0, void 0, function* () {
|
|
22573
22556
|
if (this.readOnly) {
|
|
22574
|
-
throw { code: ErrorCodes
|
|
22557
|
+
throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
|
|
22575
22558
|
}
|
|
22576
22559
|
if (event === null || event === void 0 ? void 0 : event.defaultPrevented)
|
|
22577
22560
|
return 0; // SKip
|
|
@@ -24151,7 +24134,7 @@ class AppEntityEditor extends AppTabEditor {
|
|
|
24151
24134
|
try {
|
|
24152
24135
|
const data = yield this.dataService.load(id, opts);
|
|
24153
24136
|
if (!data)
|
|
24154
|
-
throw { code: ErrorCodes
|
|
24137
|
+
throw { code: ErrorCodes.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
|
|
24155
24138
|
this._usageMode = this.computeUsageMode(data);
|
|
24156
24139
|
yield this.onEntityLoaded(data, opts);
|
|
24157
24140
|
yield this.updateView(data, opts);
|
|
@@ -25103,7 +25086,7 @@ class UserEventService extends BaseGraphqlService {
|
|
|
25103
25086
|
EntityUtils.copyIdAndUpdateDate(source, target);
|
|
25104
25087
|
}
|
|
25105
25088
|
}
|
|
25106
|
-
UserEventService.ɵprov =
|
|
25089
|
+
UserEventService.ɵprov = ɵɵdefineInjectable({ factory: function UserEventService_Factory() { return new UserEventService(ɵɵinject(GraphqlService), ɵɵinject(AccountService), ɵɵinject(NetworkService), ɵɵinject(TranslateService), ɵɵinject(ToastController), ɵɵinject(ENVIRONMENT)); }, token: UserEventService, providedIn: "root" });
|
|
25107
25090
|
UserEventService.decorators = [
|
|
25108
25091
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
25109
25092
|
];
|
|
@@ -25484,7 +25467,7 @@ class PersonService extends BaseEntityService {
|
|
|
25484
25467
|
return target;
|
|
25485
25468
|
}
|
|
25486
25469
|
}
|
|
25487
|
-
PersonService.ɵprov =
|
|
25470
|
+
PersonService.ɵprov = ɵɵdefineInjectable({ factory: function PersonService_Factory() { return new PersonService(ɵɵinject(GraphqlService), ɵɵinject(PlatformService), ɵɵinject(NetworkService), ɵɵinject(EntitiesStorage)); }, token: PersonService, providedIn: "root" });
|
|
25488
25471
|
PersonService.decorators = [
|
|
25489
25472
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
25490
25473
|
];
|
|
@@ -25515,7 +25498,7 @@ class PersonValidatorService {
|
|
|
25515
25498
|
return this.formBuilder.group(formConfig);
|
|
25516
25499
|
}
|
|
25517
25500
|
}
|
|
25518
|
-
PersonValidatorService.ɵprov =
|
|
25501
|
+
PersonValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
|
|
25519
25502
|
PersonValidatorService.decorators = [
|
|
25520
25503
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
25521
25504
|
];
|
|
@@ -25709,16 +25692,16 @@ AdminModule.decorators = [
|
|
|
25709
25692
|
];
|
|
25710
25693
|
AdminModule.ctorParameters = () => [];
|
|
25711
25694
|
|
|
25712
|
-
const ɵ0 = {
|
|
25695
|
+
const ɵ0$c = {
|
|
25713
25696
|
profile: 'ADMIN'
|
|
25714
25697
|
};
|
|
25715
|
-
const routes
|
|
25698
|
+
const routes = [
|
|
25716
25699
|
{
|
|
25717
25700
|
path: 'users',
|
|
25718
25701
|
pathMatch: 'full',
|
|
25719
25702
|
component: UsersPage,
|
|
25720
25703
|
canActivate: [AuthGuardService],
|
|
25721
|
-
data: ɵ0
|
|
25704
|
+
data: ɵ0$c
|
|
25722
25705
|
}
|
|
25723
25706
|
];
|
|
25724
25707
|
class AdminRoutingModule {
|
|
@@ -25728,33 +25711,33 @@ AdminRoutingModule.decorators = [
|
|
|
25728
25711
|
imports: [
|
|
25729
25712
|
SharedRoutingModule,
|
|
25730
25713
|
AdminModule,
|
|
25731
|
-
RouterModule.forChild(routes
|
|
25714
|
+
RouterModule.forChild(routes)
|
|
25732
25715
|
],
|
|
25733
25716
|
exports: [RouterModule]
|
|
25734
25717
|
},] }
|
|
25735
25718
|
];
|
|
25736
25719
|
|
|
25737
|
-
const ErrorCodes = {
|
|
25720
|
+
const ErrorCodes$2 = {
|
|
25738
25721
|
LOAD_PERSONS_ERROR: 100,
|
|
25739
25722
|
SAVE_PERSONS_ERROR: 101,
|
|
25740
25723
|
DELETE_PERSONS_ERROR: 102,
|
|
25741
25724
|
};
|
|
25742
25725
|
|
|
25743
|
-
class EntityTestClass
|
|
25726
|
+
class EntityTestClass {
|
|
25744
25727
|
}
|
|
25745
|
-
const FAKE_ENTITIES
|
|
25728
|
+
const FAKE_ENTITIES = [
|
|
25746
25729
|
{ id: 1, label: 'AAA', name: 'Item A', description: 'Very long description A', comments: 'Very very long comments... again for A' },
|
|
25747
25730
|
{ id: 2, label: 'BBB', name: 'Item B', description: 'Very long description B', comments: 'Very very long comments... again for B' },
|
|
25748
25731
|
{ id: 3, label: 'CCC', name: 'Item C', description: 'Very long description C', comments: 'Very very long comments... again for C' }
|
|
25749
25732
|
];
|
|
25750
|
-
function deepCopy
|
|
25733
|
+
function deepCopy(values, size) {
|
|
25751
25734
|
if (isNil(size)) {
|
|
25752
|
-
return (values || FAKE_ENTITIES
|
|
25735
|
+
return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
|
|
25753
25736
|
}
|
|
25754
25737
|
let result = [];
|
|
25755
25738
|
let i = 1;
|
|
25756
25739
|
while (result.length < size) {
|
|
25757
|
-
result = result.concat((values || FAKE_ENTITIES
|
|
25740
|
+
result = result.concat((values || FAKE_ENTITIES).map(entity => {
|
|
25758
25741
|
const name = entity.name + ' #' + i;
|
|
25759
25742
|
return Object.assign(Object.assign({}, entity), { id: i++, name });
|
|
25760
25743
|
}));
|
|
@@ -25764,7 +25747,7 @@ function deepCopy$1(values, size) {
|
|
|
25764
25747
|
class AutocompleteTestPage {
|
|
25765
25748
|
constructor(formBuilder) {
|
|
25766
25749
|
this.formBuilder = formBuilder;
|
|
25767
|
-
this._items = deepCopy
|
|
25750
|
+
this._items = deepCopy(FAKE_ENTITIES, 100);
|
|
25768
25751
|
this._$items = new BehaviorSubject(undefined);
|
|
25769
25752
|
this.autocompleteFields = new MatAutocompleteConfigHolder();
|
|
25770
25753
|
this.memoryHide = false;
|
|
@@ -25808,7 +25791,7 @@ class AutocompleteTestPage {
|
|
|
25808
25791
|
});
|
|
25809
25792
|
// From items
|
|
25810
25793
|
this.autocompleteFields.add('entity-items-large', {
|
|
25811
|
-
items: FAKE_ENTITIES
|
|
25794
|
+
items: FAKE_ENTITIES.slice(),
|
|
25812
25795
|
attributes: ['label', 'name', 'description', 'comments'],
|
|
25813
25796
|
displayWith: this.entityToString
|
|
25814
25797
|
});
|
|
@@ -25818,12 +25801,12 @@ class AutocompleteTestPage {
|
|
|
25818
25801
|
loadData() {
|
|
25819
25802
|
return __awaiter(this, void 0, void 0, function* () {
|
|
25820
25803
|
const data = {
|
|
25821
|
-
entity: deepCopy
|
|
25804
|
+
entity: deepCopy(FAKE_ENTITIES)[0],
|
|
25822
25805
|
// This item is NOT in the items list => i should be displayed anyway
|
|
25823
25806
|
missingEntity: {
|
|
25824
25807
|
id: -1, label: '??', name: 'Missing item'
|
|
25825
25808
|
},
|
|
25826
|
-
disableEntity: deepCopy
|
|
25809
|
+
disableEntity: deepCopy(FAKE_ENTITIES)[2]
|
|
25827
25810
|
};
|
|
25828
25811
|
this.form.setValue(data);
|
|
25829
25812
|
// Load observables
|
|
@@ -25966,13 +25949,13 @@ LatLongTestPage.ctorParameters = () => [
|
|
|
25966
25949
|
{ type: FormBuilder }
|
|
25967
25950
|
];
|
|
25968
25951
|
|
|
25969
|
-
const moment$
|
|
25952
|
+
const moment$5 = momentImported;
|
|
25970
25953
|
class SwipeTestPage {
|
|
25971
25954
|
constructor(formBuilder, dateFormatPipe) {
|
|
25972
25955
|
this.formBuilder = formBuilder;
|
|
25973
25956
|
this.dateFormatPipe = dateFormatPipe;
|
|
25974
25957
|
this.$dates = new BehaviorSubject(undefined);
|
|
25975
|
-
this._today = moment$
|
|
25958
|
+
this._today = moment$5().startOf('day');
|
|
25976
25959
|
this.form = formBuilder.group({
|
|
25977
25960
|
empty: [null, Validators.required],
|
|
25978
25961
|
date: [null, Validators.compose([Validators.required, SharedValidators.validDate])],
|
|
@@ -25985,7 +25968,7 @@ class SwipeTestPage {
|
|
|
25985
25968
|
ngOnInit() {
|
|
25986
25969
|
const dates = [];
|
|
25987
25970
|
for (let d = 0; d < 7; d++) {
|
|
25988
|
-
dates[d] = moment$
|
|
25971
|
+
dates[d] = moment$5(this._today).add(d - 3, 'day');
|
|
25989
25972
|
}
|
|
25990
25973
|
this.$dates.next(dates);
|
|
25991
25974
|
this.loadData();
|
|
@@ -26026,7 +26009,7 @@ SwipeTestPage.ctorParameters = () => [
|
|
|
26026
26009
|
{ type: DateFormatPipe }
|
|
26027
26010
|
];
|
|
26028
26011
|
|
|
26029
|
-
const moment$
|
|
26012
|
+
const moment$6 = momentImported;
|
|
26030
26013
|
class DateTimeTestPage {
|
|
26031
26014
|
constructor(platform, formBuilder, cd) {
|
|
26032
26015
|
this.platform = platform;
|
|
@@ -26058,7 +26041,7 @@ class DateTimeTestPage {
|
|
|
26058
26041
|
// Load the form with data
|
|
26059
26042
|
loadData() {
|
|
26060
26043
|
return __awaiter(this, void 0, void 0, function* () {
|
|
26061
|
-
const now = moment$
|
|
26044
|
+
const now = moment$6();
|
|
26062
26045
|
const data = {
|
|
26063
26046
|
empty: toDateISOString(now.clone().add(2, 'hours')),
|
|
26064
26047
|
enable: toDateISOString(now),
|
|
@@ -26119,9 +26102,9 @@ DateTimeTestPage.ctorParameters = () => [
|
|
|
26119
26102
|
{ type: ChangeDetectorRef }
|
|
26120
26103
|
];
|
|
26121
26104
|
|
|
26122
|
-
class EntityTestClass {
|
|
26105
|
+
class EntityTestClass$1 {
|
|
26123
26106
|
}
|
|
26124
|
-
const FAKE_ENTITIES = [
|
|
26107
|
+
const FAKE_ENTITIES$1 = [
|
|
26125
26108
|
{ id: 1, label: 'AAA', name: 'Item A' },
|
|
26126
26109
|
{ id: 2, label: 'BBB', name: 'Item B' },
|
|
26127
26110
|
{ id: 3, label: 'CCC', name: 'Item C' },
|
|
@@ -26130,14 +26113,14 @@ const FAKE_ENTITIES = [
|
|
|
26130
26113
|
{ id: 6, label: 'FFF', name: 'Item F' },
|
|
26131
26114
|
{ id: 7, label: 'GGG', name: 'Item G' }
|
|
26132
26115
|
];
|
|
26133
|
-
function deepCopy(values, size) {
|
|
26116
|
+
function deepCopy$1(values, size) {
|
|
26134
26117
|
if (isNil(size)) {
|
|
26135
|
-
return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
|
|
26118
|
+
return (values || FAKE_ENTITIES$1).map(entity => Object.assign({}, entity));
|
|
26136
26119
|
}
|
|
26137
26120
|
let result = [];
|
|
26138
26121
|
let i = 1;
|
|
26139
26122
|
while (result.length < size) {
|
|
26140
|
-
result = result.concat((values || FAKE_ENTITIES).map(entity => {
|
|
26123
|
+
result = result.concat((values || FAKE_ENTITIES$1).map(entity => {
|
|
26141
26124
|
const name = entity.name + ' #' + i;
|
|
26142
26125
|
return Object.assign(Object.assign({}, entity), { id: i++, name });
|
|
26143
26126
|
}));
|
|
@@ -26147,7 +26130,7 @@ function deepCopy(values, size) {
|
|
|
26147
26130
|
class ChipsTestPage {
|
|
26148
26131
|
constructor(formBuilder) {
|
|
26149
26132
|
this.formBuilder = formBuilder;
|
|
26150
|
-
this._items = deepCopy(FAKE_ENTITIES, 100);
|
|
26133
|
+
this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
|
|
26151
26134
|
this._$items = new BehaviorSubject(undefined);
|
|
26152
26135
|
this.autocompleteFields = new MatAutocompleteConfigHolder();
|
|
26153
26136
|
this.form = formBuilder.group({
|
|
@@ -26186,7 +26169,7 @@ class ChipsTestPage {
|
|
|
26186
26169
|
// Load the form with data
|
|
26187
26170
|
loadData() {
|
|
26188
26171
|
return __awaiter(this, void 0, void 0, function* () {
|
|
26189
|
-
const items = deepCopy(FAKE_ENTITIES);
|
|
26172
|
+
const items = deepCopy$1(FAKE_ENTITIES$1);
|
|
26190
26173
|
const data = {
|
|
26191
26174
|
entity: items.slice(0, 1),
|
|
26192
26175
|
entityInitial: items.slice(1, 2),
|
|
@@ -26302,7 +26285,7 @@ NumpadTestPage.ctorParameters = () => [
|
|
|
26302
26285
|
{ type: FormBuilder }
|
|
26303
26286
|
];
|
|
26304
26287
|
|
|
26305
|
-
const moment = momentImported;
|
|
26288
|
+
const moment$7 = momentImported;
|
|
26306
26289
|
class DateTestPage {
|
|
26307
26290
|
constructor(platform, formBuilder, cd) {
|
|
26308
26291
|
this.platform = platform;
|
|
@@ -26336,7 +26319,7 @@ class DateTestPage {
|
|
|
26336
26319
|
// Load the form with data
|
|
26337
26320
|
loadData() {
|
|
26338
26321
|
return __awaiter(this, void 0, void 0, function* () {
|
|
26339
|
-
const now = moment();
|
|
26322
|
+
const now = moment$7();
|
|
26340
26323
|
const nowAtMahe = now.clone().tz(this.timezone).startOf('day');
|
|
26341
26324
|
const data = {
|
|
26342
26325
|
empty: toDateISOString(now.clone().add(2, 'hours')),
|
|
@@ -26414,7 +26397,7 @@ const SHARED_MATERIAL_TESTING_PAGES = [
|
|
|
26414
26397
|
{ label: 'Shared directives', divider: true },
|
|
26415
26398
|
{ label: 'Badge icon directive', page: '/testing/shared/badge-icon' }
|
|
26416
26399
|
];
|
|
26417
|
-
const routes$
|
|
26400
|
+
const routes$1 = [
|
|
26418
26401
|
{
|
|
26419
26402
|
path: '',
|
|
26420
26403
|
pathMatch: 'full',
|
|
@@ -26471,7 +26454,7 @@ MaterialTestingModule.decorators = [
|
|
|
26471
26454
|
ReactiveFormsModule,
|
|
26472
26455
|
SharedMaterialModule,
|
|
26473
26456
|
TranslateModule.forChild(),
|
|
26474
|
-
RouterModule.forChild(routes$
|
|
26457
|
+
RouterModule.forChild(routes$1)
|
|
26475
26458
|
],
|
|
26476
26459
|
declarations: [
|
|
26477
26460
|
DateTimeTestPage,
|
|
@@ -26532,7 +26515,7 @@ ToastTestingPage.ctorParameters = () => [
|
|
|
26532
26515
|
{ type: TranslateService }
|
|
26533
26516
|
];
|
|
26534
26517
|
|
|
26535
|
-
const routes$
|
|
26518
|
+
const routes$2 = [
|
|
26536
26519
|
{
|
|
26537
26520
|
path: 'toast',
|
|
26538
26521
|
pathMatch: 'full',
|
|
@@ -26547,7 +26530,7 @@ ToastTestingModule.decorators = [
|
|
|
26547
26530
|
CommonModule,
|
|
26548
26531
|
IonicModule,
|
|
26549
26532
|
TranslateModule.forChild(),
|
|
26550
|
-
RouterModule.forChild(routes$
|
|
26533
|
+
RouterModule.forChild(routes$2)
|
|
26551
26534
|
],
|
|
26552
26535
|
declarations: [
|
|
26553
26536
|
ToastTestingPage
|
|
@@ -26610,7 +26593,7 @@ UploadFileTestingPage.ctorParameters = () => [
|
|
|
26610
26593
|
{ type: PopoverController }
|
|
26611
26594
|
];
|
|
26612
26595
|
|
|
26613
|
-
const routes$
|
|
26596
|
+
const routes$3 = [
|
|
26614
26597
|
{
|
|
26615
26598
|
path: 'upload-file',
|
|
26616
26599
|
pathMatch: 'full',
|
|
@@ -26625,7 +26608,7 @@ UploadFileTestingModule.decorators = [
|
|
|
26625
26608
|
CommonModule,
|
|
26626
26609
|
IonicModule,
|
|
26627
26610
|
TranslateModule.forChild(),
|
|
26628
|
-
RouterModule.forChild(routes$
|
|
26611
|
+
RouterModule.forChild(routes$3)
|
|
26629
26612
|
],
|
|
26630
26613
|
declarations: [
|
|
26631
26614
|
UploadFileTestingPage
|
|
@@ -27006,7 +26989,7 @@ TextPopoverTestingPage.ctorParameters = () => [
|
|
|
27006
26989
|
{ type: PopoverController }
|
|
27007
26990
|
];
|
|
27008
26991
|
|
|
27009
|
-
const routes$
|
|
26992
|
+
const routes$4 = [
|
|
27010
26993
|
{
|
|
27011
26994
|
path: 'text-popover',
|
|
27012
26995
|
pathMatch: 'full',
|
|
@@ -27021,7 +27004,7 @@ TextPopoverTestingModule.decorators = [
|
|
|
27021
27004
|
CommonModule,
|
|
27022
27005
|
IonicModule,
|
|
27023
27006
|
TranslateModule.forChild(),
|
|
27024
|
-
RouterModule.forChild(routes$
|
|
27007
|
+
RouterModule.forChild(routes$4)
|
|
27025
27008
|
],
|
|
27026
27009
|
declarations: [
|
|
27027
27010
|
TextPopoverTestingPage
|
|
@@ -27038,7 +27021,7 @@ const CORE_TESTING_PAGES = [
|
|
|
27038
27021
|
{ label: 'Table', page: '/testing/core/table' },
|
|
27039
27022
|
{ label: 'Text popover', page: '/testing/core/text-popover' }
|
|
27040
27023
|
];
|
|
27041
|
-
const routes = [
|
|
27024
|
+
const routes$5 = [
|
|
27042
27025
|
{
|
|
27043
27026
|
path: '',
|
|
27044
27027
|
pathMatch: 'full',
|
|
@@ -27062,7 +27045,7 @@ CoreTestingModule.decorators = [
|
|
|
27062
27045
|
imports: [
|
|
27063
27046
|
CommonModule,
|
|
27064
27047
|
TranslateModule.forChild(),
|
|
27065
|
-
RouterModule.forChild(routes),
|
|
27048
|
+
RouterModule.forChild(routes$5),
|
|
27066
27049
|
// Sub modules
|
|
27067
27050
|
TableTestingModule,
|
|
27068
27051
|
TextPopoverTestingModule
|
|
@@ -27082,5 +27065,5 @@ CoreTestingModule.decorators = [
|
|
|
27082
27065
|
* Generated bundle index. Do not edit.
|
|
27083
27066
|
*/
|
|
27084
27067
|
|
|
27085
|
-
export { APP_ABOUT_DEVELOPERS, APP_ABOUT_PARTNERS, APP_CONFIG_OPTIONS, APP_FORM_ERROR_I18N_KEYS, APP_GRAPHQL_TYPE_POLICIES, APP_HOME_BUTTONS, APP_LOCALES, APP_LOCAL_SETTINGS, APP_LOCAL_SETTINGS_OPTIONS, APP_LOCAL_STORAGE_TYPE_POLICIES, APP_MENU_ITEMS, APP_TESTING_PAGES, AboutModal, Account, AccountPage, AccountService, AccountToStringPipe, ActionsColumnComponent, AdminModule, AdminRoutingModule, Alerts, AndroidOsEnvironment, AnimationState, AppEditor, AppEditorOptions, AppEntityEditor, AppForm, AppFormField, AppFormProvider, AppFormUtils, AppGestureConfig, AppGraphQLModule, AppHelpModal, AppInMemoryTable, AppInstallUpgradeCard, AppListForm, AppLoadingSpinner, AppMenuModule, AppNullForm, AppPropertiesForm, AppTabEditor, AppTabEditorOptions, AppTable, AppTableDataSourceOptions, AppTableUtils, AppValidatorService, AppendToInputDirective, ArrayFilterPipe, ArrayFirstPipe, ArrayIncludesPipe, ArrayLengthPipe, ArrayPluckPipe, AudioProvider, AuthForm, AuthGuardService, AuthModal, AutocompleteTestPage, AutofocusDirective, Base58, BaseEntityService, BaseGraphqlService, BaseGraphqlServiceOptions, BaseReferential, Beans, CORE_CONFIG_OPTIONS, CORE_TESTING_PAGES, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigService, Configuration, CoreModule, CoreTestingModule, CryptoService, DATE_ISO_PATTERN, DATE_UNIX_MS_TIMESTAMP, DATE_UNIX_TIMESTAMP, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLACEHOLDER_CHAR, DEFAULT_REQUIRED_COLUMNS, DateDiffDurationPipe, DateFormatPipe, DateFromNowPipe, DateTimeTestPage, DateUtils, Department, DepartmentToStringPipe, DragAndDropDirective, DurationPipe, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesService, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, ErrorCodes, EvenPipe, FileResponse, FileService, FileSizePipe, FilesUtils, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, FormErrorTranslatePipe, FormErrorTranslator, FormFieldValuesHolder, FormGetArrayPipe, FormGetControlPipe, FormGetGroupPipe, FormGetPipe, Fragments, GraphqlService, HAMMER_PRESS_TIME, HAMMER_TAP_TIME, HighlightPipe, HomePage, Hotkeys, HotkeysDialogComponent, InMemoryEntitiesService, IsLoginAccountPipe, IsNilOrBlankPipe, IsNotNilOrBlankPipe, IsNotOnFieldModePipe, IsOnFieldModePipe, JobUtils, KEYBOARD_HIDE_DELAY_MS, LAT_LONG_DEFAULT_MAX_DECIMALS, LAT_LONG_PATTERNS, LatLongFormatPipe, LatLongTestPage, LatitudeFormatPipe, LocalSettingsService, LongitudeFormatPipe, MINIFY_ENTITY_FOR_LOCAL_STORAGE, MINIFY_ENTITY_FOR_POD, MapGetPipe, MapKeysPipe, MapValuesPipe, MatAutocompleteConfigHolder, MatAutocompleteField, MatBadgeIconDirective, MatBooleanField, MatChipsField, MatDate, MatDateShort, MatDateTime, MatDuration, MatLatLongField, MatNumpadComponent, MatNumpadContainerComponent, MatNumpadContent, MatPaginatorI18n, MatStepperI18n, MatSwipeField, MaterialTestingModule, MathAbsPipe, MenuComponent, MenuItems, MenuService, ModalToolbarComponent, NetworkService, NgInitDirective, NgVarDirective, NotEmptyArrayPipe, NumberFormatPipe, NumpadDirective, OddPipe, PRIORITIZED_AUTHORITIES, PUBKEY_REGEXP, Peer, Person, PersonFilter, PersonFragments, PersonService, PersonToStringPipe, PersonUtils, PersonValidatorService, PlatformService, ProgressBarService, ProgressInterceptor, PropertyGetPipe, RESERVED_END_COLUMNS, RESERVED_START_COLUMNS, Referential, ReferentialFilter, ReferentialRef, ReferentialUtils, ReferentialValidatorService, RegisterConfirmPage, SETTINGS_DISPLAY_COLUMNS, SETTINGS_FILTER, SETTINGS_PAGE_SIZE, SETTINGS_SORTED_COLUMN, SETTINGS_STORAGE_KEY, SETTINGS_TRANSIENT_PROPERTIES, SHARED_MATERIAL_TESTING_PAGES, SHARED_TESTING_PAGES, SPACE_PLACEHOLDER_CHAR, SelectPeerModal, SettingsPage, SharedAsyncValidators, SharedDirectivesModule, SharedFormArrayValidators, SharedFormGroupValidators, SharedHotkeysModule, SharedMatAutocompleteModule, SharedMatBadgeIconModule, SharedMatBooleanModule, SharedMatChipsModule, SharedMatDateTimeModule, SharedMatDurationModule, SharedMatLatLongModule, SharedMatNumpadModule, SharedMatSwipeModule, SharedMaterialModule, SharedModule, SharedPipesModule, SharedRoutingModule, SharedTestingModule, SharedTestsPage, SharedValidators, SocialModule, Software, StartableService, StatusById, StatusIds, StatusList, StrIncludesPipe, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, TableTestPage, TableTestingModule, TextForm, TextPopover, TextPopoverTestingModule, TextPopoverTestingPage, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, UploadFile, UploadFileComponent, UploadFilePopover, UploadFileTestingModule, UploadFileTestingPage, UserEvent, UserEventFilter, UserEventService, UserEventTypes, UserEventsTable, UserSettings, UsersPage, accountToString, adaptValueToControl, addValueInArray, arrayDistinct, arrayGroupBy, arraySize, asInputElement, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, copyEntity2Form, createPromiseEvent, createPromiseEventEmitter, departmentToString, departmentsToString, disableControls, emitPromiseEvent, entityToString, equals, equalsOrNil, fadeInAnimation, fadeInOutAnimation, filterFalse, filterNotNil, filterNumberInput, filterTrue, firstArrayValue, firstFalse, firstFalsePromise, firstNotNil, firstNotNilPromise, firstTrue, firstTruePromise, focusInput, focusNextInput, focusPreviousInput, formatLatitude, formatLongitude, fromDateISOString, fromScrollEndEvent, fromUnixMsTimestamp, fromUnixTimestamp, getCaretPosition, getColorContrast, getColorShade, getColorTint, getConnectionType, getControlFromPath, getFocusableInputElements, getFormErrors, getFormValueFromEntity, getProperty, getPropertyByPath, getPropertyByPathAsString, getRandomImage, hexToRgb, hexToRgbArray, isAndroid, isControlHasInput, isCordova, isEmptyArray, isIOS, isInputElement, isInstanceOf, isInt, isMobile, isNil, isNilOrBlank, isNilOrNaN, isNotEmptyArray, isNotNil, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, isProgressEvent, isResponseEvent, isTouchUi, isWindows, joinProperties, joinPropertiesPath, logFormErrors, markAllAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, matchMedia, matchUpperCase, mergeLoadResult, mixHex, moveInputCaretToSeparator, noTrailingSlash, notNilOrDefault, nullIfUndefined, parseLatitudeOrLongitude, propertiesPathComparator, propertyComparator, propertyPathComparator, referentialToString, referentialsToString, remove, removeAll, removeDiacritics, removeDuplicatesFromArray, removeEnd, removeValueInArray, replaceAll, resetCalculatedValue, resizeArray, rgbArrayToHex, rgbToHex, round, scrollFactory, selectInputContent, selectInputRange, setCalculatedValue, setTabIndex, sleep, slideInOutAnimation, slideUpDownAnimation, sort, splitById, splitByProperty, startsWithUpperCase, suggestFromArray, suggestFromStringArray, tabindexComparator, testUserAgent, toBoolean, toDateISOString, toDuration, toFloat, toInt, toNotNil, toNumber, trimEmptyToNull, uncapitalizeFirstLetter, updateValueAndValidity, waitFor, waitForTrue, waitIdle, waitWhilePending, ɵ0$
|
|
27068
|
+
export { APP_ABOUT_DEVELOPERS, APP_ABOUT_PARTNERS, APP_CONFIG_OPTIONS, APP_FORM_ERROR_I18N_KEYS, APP_GRAPHQL_TYPE_POLICIES, APP_HOME_BUTTONS, APP_LOCALES, APP_LOCAL_SETTINGS, APP_LOCAL_SETTINGS_OPTIONS, APP_LOCAL_STORAGE_TYPE_POLICIES, APP_MENU_ITEMS, APP_TESTING_PAGES, AboutModal, Account, AccountPage, AccountService, AccountToStringPipe, ActionsColumnComponent, AdminModule, AdminRoutingModule, Alerts, AndroidOsEnvironment, AnimationState, AppEditor, AppEditorOptions, AppEntityEditor, AppForm, AppFormField, AppFormProvider, AppFormUtils, AppGestureConfig, AppGraphQLModule, AppHelpModal, AppInMemoryTable, AppInstallUpgradeCard, AppListForm, AppLoadingSpinner, AppMenuModule, AppNullForm, AppPropertiesForm, AppTabEditor, AppTabEditorOptions, AppTable, AppTableDataSourceOptions, AppTableUtils, AppValidatorService, AppendToInputDirective, ArrayFilterPipe, ArrayFirstPipe, ArrayIncludesPipe, ArrayLengthPipe, ArrayPluckPipe, AudioProvider, AuthForm, AuthGuardService, AuthModal, AutocompleteTestPage, AutofocusDirective, Base58, BaseEntityService, BaseGraphqlService, BaseGraphqlServiceOptions, BaseReferential, Beans, CORE_CONFIG_OPTIONS, CORE_TESTING_PAGES, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigService, Configuration, CoreModule, CoreTestingModule, CryptoService, DATE_ISO_PATTERN, DATE_UNIX_MS_TIMESTAMP, DATE_UNIX_TIMESTAMP, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLACEHOLDER_CHAR, DEFAULT_REQUIRED_COLUMNS, DateDiffDurationPipe, DateFormatPipe, DateFromNowPipe, DateTimeTestPage, DateUtils, Department, DepartmentToStringPipe, DragAndDropDirective, DurationPipe, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesService, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, ErrorCodes$2 as ErrorCodes, EvenPipe, FileResponse, FileService, FileSizePipe, FilesUtils, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, FormErrorTranslatePipe, FormErrorTranslator, FormFieldValuesHolder, FormGetArrayPipe, FormGetControlPipe, FormGetGroupPipe, FormGetPipe, Fragments$1 as Fragments, GraphqlService, HAMMER_PRESS_TIME, HAMMER_TAP_TIME, HighlightPipe, HomePage, Hotkeys, HotkeysDialogComponent, InMemoryEntitiesService, IsLoginAccountPipe, IsNilOrBlankPipe, IsNotNilOrBlankPipe, IsNotOnFieldModePipe, IsOnFieldModePipe, JobUtils, KEYBOARD_HIDE_DELAY_MS, LAT_LONG_DEFAULT_MAX_DECIMALS, LAT_LONG_PATTERNS, LatLongFormatPipe, LatLongTestPage, LatitudeFormatPipe, LocalSettingsService, LongitudeFormatPipe, MINIFY_ENTITY_FOR_LOCAL_STORAGE, MINIFY_ENTITY_FOR_POD, MapGetPipe, MapKeysPipe, MapValuesPipe, MatAutocompleteConfigHolder, MatAutocompleteField, MatBadgeIconDirective, MatBooleanField, MatChipsField, MatDate, MatDateShort, MatDateTime, MatDuration, MatLatLongField, MatNumpadComponent, MatNumpadContainerComponent, MatNumpadContent, MatPaginatorI18n, MatStepperI18n, MatSwipeField, MaterialTestingModule, MathAbsPipe, MenuComponent, MenuItems, MenuService, ModalToolbarComponent, NetworkService, NgInitDirective, NgVarDirective, NotEmptyArrayPipe, NumberFormatPipe, NumpadDirective, OddPipe, PRIORITIZED_AUTHORITIES, PUBKEY_REGEXP, Peer, Person, PersonFilter, PersonFragments, PersonService, PersonToStringPipe, PersonUtils, PersonValidatorService, PlatformService, ProgressBarService, ProgressInterceptor, PropertyGetPipe, RESERVED_END_COLUMNS, RESERVED_START_COLUMNS, Referential, ReferentialFilter, ReferentialRef, ReferentialUtils, ReferentialValidatorService, RegisterConfirmPage, SETTINGS_DISPLAY_COLUMNS, SETTINGS_FILTER, SETTINGS_PAGE_SIZE, SETTINGS_SORTED_COLUMN, SETTINGS_STORAGE_KEY, SETTINGS_TRANSIENT_PROPERTIES, SHARED_MATERIAL_TESTING_PAGES, SHARED_TESTING_PAGES, SPACE_PLACEHOLDER_CHAR, SelectPeerModal, SettingsPage, SharedAsyncValidators, SharedDirectivesModule, SharedFormArrayValidators, SharedFormGroupValidators, SharedHotkeysModule, SharedMatAutocompleteModule, SharedMatBadgeIconModule, SharedMatBooleanModule, SharedMatChipsModule, SharedMatDateTimeModule, SharedMatDurationModule, SharedMatLatLongModule, SharedMatNumpadModule, SharedMatSwipeModule, SharedMaterialModule, SharedModule, SharedPipesModule, SharedRoutingModule, SharedTestingModule, SharedTestsPage, SharedValidators, SocialModule, Software, StartableService, StatusById, StatusIds, StatusList, StrIncludesPipe, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, TableTestPage, TableTestingModule, TextForm, TextPopover, TextPopoverTestingModule, TextPopoverTestingPage, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, UploadFile, UploadFileComponent, UploadFilePopover, UploadFileTestingModule, UploadFileTestingPage, UserEvent, UserEventFilter, UserEventService, UserEventTypes, UserEventsTable, UserSettings, UsersPage, accountToString, adaptValueToControl, addValueInArray, arrayDistinct, arrayGroupBy, arraySize, asInputElement, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, copyEntity2Form, createPromiseEvent, createPromiseEventEmitter, departmentToString, departmentsToString, disableControls, emitPromiseEvent, entityToString, equals, equalsOrNil, fadeInAnimation, fadeInOutAnimation, filterFalse, filterNotNil, filterNumberInput, filterTrue, firstArrayValue, firstFalse, firstFalsePromise, firstNotNil, firstNotNilPromise, firstTrue, firstTruePromise, focusInput, focusNextInput, focusPreviousInput, formatLatitude, formatLongitude, fromDateISOString, fromScrollEndEvent, fromUnixMsTimestamp, fromUnixTimestamp, getCaretPosition, getColorContrast, getColorShade, getColorTint, getConnectionType, getControlFromPath, getFocusableInputElements, getFormErrors, getFormValueFromEntity, getProperty, getPropertyByPath, getPropertyByPathAsString, getRandomImage, hexToRgb, hexToRgbArray, isAndroid, isControlHasInput, isCordova, isEmptyArray, isIOS, isInputElement, isInstanceOf, isInt, isMobile, isNil, isNilOrBlank, isNilOrNaN, isNotEmptyArray, isNotNil, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, isProgressEvent, isResponseEvent, isTouchUi, isWindows, joinProperties, joinPropertiesPath, logFormErrors, markAllAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, matchMedia, matchUpperCase, mergeLoadResult, mixHex, moveInputCaretToSeparator, noTrailingSlash, notNilOrDefault, nullIfUndefined, parseLatitudeOrLongitude, propertiesPathComparator, propertyComparator, propertyPathComparator, referentialToString, referentialsToString, remove, removeAll, removeDiacritics, removeDuplicatesFromArray, removeEnd, removeValueInArray, replaceAll, resetCalculatedValue, resizeArray, rgbArrayToHex, rgbToHex, round, scrollFactory, selectInputContent, selectInputRange, setCalculatedValue, setTabIndex, sleep, slideInOutAnimation, slideUpDownAnimation, sort, splitById, splitByProperty, startsWithUpperCase, suggestFromArray, suggestFromStringArray, tabindexComparator, testUserAgent, toBoolean, toDateISOString, toDuration, toFloat, toInt, toNotNil, toNumber, trimEmptyToNull, uncapitalizeFirstLetter, updateValueAndValidity, waitFor, waitForTrue, waitIdle, waitWhilePending, ɵ0$1 as ɵ0, CustomReuseStrategy as ɵa, MatNumpadDomService as ɵb, isFocusableElement as ɵc, RegisterForm as ɵd, AccountValidatorService as ɵe, RegisterModal as ɵf, UserSettingsValidatorService as ɵg, LocalSettingsValidatorService as ɵh, AppIconComponent as ɵi, DateTestPage as ɵj, NumpadTestPage as ɵk, MatBadgeIconTestPage as ɵl, ToastTestingModule as ɵm, ToastTestingPage as ɵn };
|
|
27086
27069
|
//# sourceMappingURL=sumaris-net.ngx-components.js.map
|