@sumaris-net/ngx-components 1.7.1 → 1.7.4

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.
@@ -1,12 +1,9 @@
1
- import * as i0 from '@angular/core';
2
- import { InjectionToken, EventEmitter, Component, forwardRef, ChangeDetectionStrategy, ChangeDetectorRef, Optional, Input, Output, ViewChild, Pipe, Injectable, Directive, Inject, NgModule, ElementRef, TemplateRef, ViewContainerRef, ViewChildren, HostListener, ComponentFactoryResolver, ApplicationRef, Injector, Renderer2, ViewEncapsulation } from '@angular/core';
3
- import * as i1$3 from '@angular/common';
1
+ import { InjectionToken, EventEmitter, Component, forwardRef, ChangeDetectionStrategy, ChangeDetectorRef, Optional, Input, Output, ViewChild, ɵɵdefineInjectable, ɵɵinject, Pipe, Injectable, Directive, Inject, NgModule, ElementRef, TemplateRef, ViewContainerRef, ViewChildren, HostListener, ComponentFactoryResolver, ApplicationRef, INJECTOR, Injector, Renderer2, ViewEncapsulation } from '@angular/core';
4
2
  import { CommonModule, DOCUMENT, Location } from '@angular/common';
5
3
  import { CdkTableModule } from '@angular/cdk/table';
6
4
  import { A11yModule } from '@angular/cdk/a11y';
7
5
  import { OverlayModule, OverlayContainer, FullscreenOverlayContainer, Overlay } from '@angular/cdk/overlay';
8
6
  import { ScrollingModule } from '@angular/cdk/scrolling';
9
- import * as i1$2 from '@angular/material/core';
10
7
  import { DateAdapter, MatCommonModule, MatRippleModule } from '@angular/material/core';
11
8
  import { MatTableModule, MatTable, MatColumnDef } from '@angular/material/table';
12
9
  import { MatSortModule, MatSort } from '@angular/material/sort';
@@ -30,21 +27,16 @@ import { MatProgressBarModule } from '@angular/material/progress-bar';
30
27
  import { MatRadioModule } from '@angular/material/radio';
31
28
  import { MatBadgeModule } from '@angular/material/badge';
32
29
  import { MatSlideToggleModule } from '@angular/material/slide-toggle';
33
- import * as i2$1 from '@angular/material/dialog';
34
30
  import { MatDialogModule, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';
35
31
  import { MatAutocomplete, MatAutocompleteTrigger, MatAutocompleteModule, MAT_AUTOCOMPLETE_SCROLL_STRATEGY, MAT_AUTOCOMPLETE_DEFAULT_OPTIONS } from '@angular/material/autocomplete';
36
32
  import { __awaiter, __decorate } from 'tslib';
37
- import * as i1$6 from '@angular/forms';
38
33
  import { NG_VALUE_ACCESSOR, FormGroupDirective, AbstractControl, FormGroup, FormArray, FormControl, ReactiveFormsModule, Validators, FormBuilder } from '@angular/forms';
39
34
  import { timer, merge, fromEvent, BehaviorSubject, Subscription, Subject, isObservable, noop as noop$9, Observable, defer, of, from, combineLatest, EMPTY } from 'rxjs';
40
35
  import { filter, first, map, takeUntil, switchMap, startWith, debounceTime, takeWhile, tap, distinctUntilChanged, mergeMap, catchError, throttleTime, skip } from 'rxjs/operators';
41
- import * as i1$1 from '@ngx-translate/core';
42
36
  import { TranslateService, TranslateModule } from '@ngx-translate/core';
43
- import * as i1$4 from '@ionic/angular';
44
37
  import { IonicModule, Platform, IonRouterOutlet, ModalController, IonicSafeString, createAnimation, ToastController, AlertController, IonicRouteStrategy, NavParams, MenuController, IonContent } from '@ionic/angular';
45
38
  import * as momentImported from 'moment';
46
39
  import { isMoment } from 'moment';
47
- import * as i1 from '@angular/material-moment-adapter';
48
40
  import { MomentDateAdapter, MatMomentDateModule } from '@angular/material-moment-adapter';
49
41
  import { Keyboard } from '@ionic-native/keyboard/ngx';
50
42
  import { TextMaskModule } from 'angular2-text-mask';
@@ -54,38 +46,32 @@ import { trigger, state, style, transition, animate } from '@angular/animations'
54
46
  import { MatDividerModule } from '@angular/material/divider';
55
47
  import { MatTooltipModule } from '@angular/material/tooltip';
56
48
  import { MatChipsModule } from '@angular/material/chips';
57
- import * as i3$3 from '@angular/router';
58
49
  import { Router, RouterModule, RouteReuseStrategy, ActivatedRoute } from '@angular/router';
59
- import * as i1$5 from '@angular/platform-browser';
60
50
  import { HammerGestureConfig, EventManager } from '@angular/platform-browser';
61
- import * as i2$2 from '@angular/common/http';
62
51
  import { HttpResponse, HttpClient, HttpHeaders, HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
63
52
  import { ColorPickerModule } from 'ngx-color-picker';
64
- import { NativeAudio } from '@ionic-native/native-audio/ngx';
65
- import { Vibration } from '@ionic-native/vibration/ngx';
53
+ import { NativeAudio as NativeAudio$1 } from '@ionic-native/native-audio/ngx';
54
+ import { Vibration as Vibration$1 } from '@ionic-native/vibration/ngx';
66
55
  import { AudioManagement } from '@ionic-native/audio-management/ngx';
67
- import * as i2 from '@ionic-native/native-audio/ngx/index';
68
- import * as i3 from '@ionic-native/vibration/ngx/index';
69
- import * as i4 from '@ionic-native/audio-management/ngx/index';
56
+ import { NativeAudio } from '@ionic-native/native-audio/ngx/index';
57
+ import { Vibration } from '@ionic-native/vibration/ngx/index';
58
+ import { AudioManagement as AudioManagement$1 } from '@ionic-native/audio-management/ngx/index';
70
59
  import * as uuidv4Imported from 'uuid/v4';
71
60
  import { DragDropModule } from '@angular/cdk/drag-drop';
72
61
  import { MarkdownModule } from 'ngx-markdown';
73
62
  import { sign, box, hash, verify } from 'tweetnacl';
74
- import * as i3$1 from '@ionic/storage';
75
63
  import { Storage, IonicStorageModule } from '@ionic/storage';
76
64
  import 'zone.js/dist/zone-error';
77
- import { SplashScreen } from '@ionic-native/splash-screen/ngx';
78
- import { Connection, Network } from '@ionic-native/network/ngx';
79
- import { CacheService, CacheModule } from 'ionic-cache';
80
- import * as i6 from 'ionic-cache/dist/cache.service';
81
- import * as i9 from '@ionic-native/network/ngx/index';
82
- import * as i10 from '@ionic-native/splash-screen/ngx/index';
83
- import { StatusBar } from '@ionic-native/status-bar/ngx';
84
- import * as i2$4 from '@angular/cdk/platform';
65
+ import { SplashScreen as SplashScreen$1 } from '@ionic-native/splash-screen/ngx';
66
+ import { Connection, Network as Network$1 } from '@ionic-native/network/ngx';
67
+ import { CacheService as CacheService$1, CacheModule } from 'ionic-cache';
68
+ import { CacheService } from 'ionic-cache/dist/cache.service';
69
+ import { Network } from '@ionic-native/network/ngx/index';
70
+ import { SplashScreen } from '@ionic-native/splash-screen/ngx/index';
71
+ import { StatusBar as StatusBar$1 } from '@ionic-native/status-bar/ngx';
85
72
  import { Platform as Platform$1 } from '@angular/cdk/platform';
86
- import { InAppBrowser } from '@ionic-native/in-app-browser/ngx';
73
+ import { InAppBrowser as InAppBrowser$1 } from '@ionic-native/in-app-browser/ngx';
87
74
  import { ApolloLink, NetworkStatus, InMemoryCache, ApolloClient, gql } from '@apollo/client/core';
88
- import * as i2$3 from 'apollo-angular';
89
75
  import { Apollo } from 'apollo-angular';
90
76
  import { WebSocketLink } from '@apollo/client/link/ws';
91
77
  import { getMainDefinition } from '@apollo/client/utilities';
@@ -93,14 +79,13 @@ import { RetryLink } from '@apollo/client/link/retry';
93
79
  import QueueLink from 'apollo-link-queue';
94
80
  import SerializingLink from 'apollo-link-serialize';
95
81
  import loggerLink from 'apollo-link-logger';
96
- import * as i3$2 from 'apollo-angular/http';
97
82
  import { HttpLink } from 'apollo-angular/http';
98
83
  import { IonicStorageWrapper, persistCache } from 'apollo3-cache-persist';
99
- import { NotificationVisibility, Downloader } from '@ionic-native/downloader/ngx';
100
- import * as i14 from '@ionic-native/status-bar/ngx/index';
101
- import * as i15 from '@ionic-native/keyboard/ngx/index';
102
- import * as i17 from '@ionic-native/in-app-browser/ngx/index';
103
- import * as i18 from '@ionic-native/downloader/ngx/index';
84
+ import { NotificationVisibility, Downloader as Downloader$1 } from '@ionic-native/downloader/ngx';
85
+ import { StatusBar } from '@ionic-native/status-bar/ngx/index';
86
+ import { Keyboard as Keyboard$1 } from '@ionic-native/keyboard/ngx/index';
87
+ import { InAppBrowser } from '@ionic-native/in-app-browser/ngx/index';
88
+ import { Downloader } from '@ionic-native/downloader/ngx/index';
104
89
  import { ValidatorService, TableDataSource } from '@e-is/ngx-material-table';
105
90
  import { SelectionModel } from '@angular/cdk/collections';
106
91
  import { NgxJdenticonModule } from 'ngx-jdenticon';
@@ -991,14 +976,14 @@ class MatAutocompleteConfigHolder {
991
976
  return this.fields[fieldName] || this.add(fieldName);
992
977
  }
993
978
  }
994
- const noop$8 = (_) => { };
995
- const ɵ0$b = noop$8;
979
+ const noop = (_) => { };
980
+ const ɵ0 = noop;
996
981
  class MatAutocompleteField {
997
982
  constructor(cd, formGroupDir) {
998
983
  this.cd = cd;
999
984
  this.formGroupDir = formGroupDir;
1000
- this._onChangeCallback = noop$8;
1001
- this._onTouchedCallback = noop$8;
985
+ this._onChangeCallback = noop;
986
+ this._onTouchedCallback = noop;
1002
987
  this.logPrefix = '[mat-autocomplete] ';
1003
988
  this.formControlName = null;
1004
989
  this.required = false;
@@ -1636,7 +1621,7 @@ MatAutocompleteField.decorators = [
1636
1621
  { type: Component, args: [{
1637
1622
  // eslint-disable-next-line @angular-eslint/component-selector
1638
1623
  selector: 'mat-autocomplete-field',
1639
- template: "<ion-grid class=\"ion-no-padding\">\n <ion-row>\n <ion-col class=\"ion-no-padding\">\n <!-- readonly -->\n <mat-form-field *ngIf=\"_readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n [title]=\"displayValue\"\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 [placeholder]=\"placeholder\"\n [formControl]=\"formControl\" readonly>\n <ion-text>{{displayWith(value)}}</ion-text>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n\n </mat-form-field>\n\n <ng-template #writable>\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-disabled]=\"disabled\"\n [title]=\"displayValue\">\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <!-- Basic select -->\n <mat-select #matSelect\n *ngIf=\"!searchable; else searchableTemplate\"\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\"\n [tabindex]=\"_tabindex\"\n [panelClass]=\"classList\"\n [style.width]=\"panelWidth\"\n (focus)=\"filterMatSelectFocusEvent($event)\"\n (blur)=\"filterMatSelectBlurEvent($event)\"\n (keydown.escape)=\"keydownEscape.emit($event)\"\n (keyup.enter)=\"keyupEnter.emit($event)\"\n [compareWith]=\"equals\"\n [multiple]=\"multiple\"\n [required]=\"required\">\n <mat-select-trigger>{{ displayWith(value) }}</mat-select-trigger>\n\n <!-- header -->\n <ion-row class=\"mat-autocomplete-header ion-no-padding\">\n <ion-col *ngFor=\"let attr of displayAttributes; index as i; last as isLast\" [size]=\"displayColumnSizes[i]\">\n <ion-label [innerHTML]=\"displayColumnNames[i] | translate\"></ion-label>\n </ion-col>\n </ion-row>\n\n <!-- None option -->\n <mat-option *ngIf=\"!required\" class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding\">\n <ion-col class=\"ion-no-padding\">\n <ion-label><i translate>COMMON.EMPTY_OPTION</i></ion-label>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <ng-container *ngIf=\"$filteredItems | async; let items\">\n <!-- No item option -->\n <mat-option *ngIf=\"items | isEmptyArray\" class=\"ion-padding text-italic\" disabled>\n <ion-label>{{noResultMessage | translate}}</ion-label>\n </mat-option>\n\n <!-- options -->\n <mat-option *ngFor=\"let item of items\" [value]=\"item\" class=\"ion-no-padding\">\n <ion-row [classList]=\"item.classList\">\n <ion-col *ngFor=\"let path of displayAttributes; index as i;\"\n [size]=\"displayColumnSizes[i]\">\n <ion-text>{{item | propertyGet: path }}</ion-text>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <!-- More item -->\n <mat-option *ngIf=\"_moreItemsCount\" (ngInit)=\"_initMatSelectInfiniteScroll()\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-container>\n </mat-select>\n\n\n <!--\n NOTE :\n - \"selectInputContent($event) || onFocus.emit($event)\" : call onFocus only when to the input is empty (nothing to select)\n -->\n <ng-template #searchableTemplate>\n <input matInput #matInputText type=\"text\"\n [matAutocomplete]=\"autocomplete\"\n [matAutocompletePosition]=\"matAutocompletePosition\"\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [appAutofocus]=\"autofocus\"\n [tabindex]=\"_tabindex\"\n [required]=\"required\"\n (click)=\"clicked.emit($event)\"\n (focus)=\"filterInputTextFocusEvent($event)\"\n (blur)=\"filterInputTextBlurEvent($event)\"\n (keydown.escape)=\"keydownEscape.emit($event)\"\n (keyup.enter)=\"keyupEnter.emit($event)\"\n (keyup.arrowdown)=\"dropButtonClick.emit($event)\">\n\n <!-- autocomplete -->\n <mat-autocomplete #autocomplete=\"matAutocomplete\"\n autoActiveFirstOption\n [displayWith]=\"displayWith\"\n [class]=\"classList\"\n [panelWidth]=\"panelWidth\">\n\n <ion-row class=\"mat-autocomplete-header ion-no-padding\">\n <ion-col *ngFor=\"let attr of displayAttributes; index as i; last as last\" [size]=\"displayColumnSizes[i]\">\n <ion-label [innerHTML]=\"displayColumnNames[i] | translate\"></ion-label>\n <ion-text color=\"light\" *ngIf=\"last && itemCount; let count\" class=\"ion-float-end ion-padding-end\"><i>{{'COMMON.RESULT_COUNT'|translate: {count: count} }}</i></ion-text>\n </ion-col>\n </ion-row>\n\n <ng-container *ngIf=\"$filteredItems | async; else loadingTemplate; let items\">\n <!-- No item option -->\n <mat-option *ngIf=\"items | isEmptyArray\" class=\"ion-padding text-italic\" disabled>\n <ion-label><i>{{noResultMessage | translate}}</i></ion-label>\n </mat-option>\n\n <mat-option *ngFor=\"let item of items\" [value]=\"item\" class=\"ion-no-padding\">\n <ion-row [classList]=\"item.classList\">\n <ion-col *ngFor=\"let path of displayAttributes; index as i;\"\n [size]=\"displayColumnSizes[i]\">\n <ion-text [innerHTML]=\"item | propertyGet: path | highlight: { search: formControl.value, withAccent: highlightAccent }\"></ion-text>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <!-- More item -->\n <mat-option *ngIf=\"_moreItemsCount\" (ngInit)=\"_initAutocompleteInfiniteScroll()\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-container>\n\n <!-- Loading spinner -->\n <ng-template #loadingTemplate>\n <mat-option *ngIf=\"(matInputText.value | strLength) >= suggestLengthThreshold; else waitMoreCharacterTemplate\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-template>\n\n <!-- Need more characters -->\n <ng-template #waitMoreCharacterTemplate>\n <mat-option class=\"ion-padding text-italic\" disabled>\n <ion-label>\n {{'INFO.PLEASE_TYPE_MORE_CHARACTERS'|translate:{minLength: suggestLengthThreshold} }}\n </ion-label>\n </mat-option>\n </ng-template>\n </mat-autocomplete>\n\n </ng-template>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\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 <ng-content select=\"[matError]\"></ng-content>\n\n </mat-form-field>\n </ng-template>\n </ion-col>\n <ion-col size=\"auto\" class=\"ion-align-self-center\">\n <ng-content select=\"[matAfter]\"></ng-content>\n </ion-col>\n </ion-row>\n</ion-grid>\n\n<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n\n\n<ng-template #matSuffixTemplate>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"searchable\"\n (click)=\"dropButtonClick.emit($event)\"\n [hidden]=\"disabled\">\n <mat-icon class=\"large select-arrow\">arrow_drop_down</mat-icon>\n </button>\n <button matSuffix type=\"button\" mat-icon-button tabindex=\"-1\"\n *ngIf=\"enabled && mobile && !searchable && !multiple\"\n [title]=\"'COMMON.BTN_SEARCH'|translate\"\n (click)=\"toggleSearch($event)\">\n <mat-icon>search</mat-icon>\n </button>\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 <ng-content select=\"[matSuffix]\"></ng-content>\n</ng-template>\n",
1624
+ template: "<ion-grid class=\"ion-no-padding\">\n <ion-row>\n <ion-col class=\"ion-no-padding\">\n <!-- readonly -->\n <mat-form-field *ngIf=\"_readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n [title]=\"displayValue\"\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 [placeholder]=\"placeholder\"\n [formControl]=\"formControl\" readonly>\n <ion-text>{{displayWith(value)}}</ion-text>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n\n </mat-form-field>\n\n <ng-template #writable>\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-disabled]=\"disabled\"\n [title]=\"displayValue\">\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <!-- Basic select -->\n <mat-select #matSelect\n *ngIf=\"!searchable; else searchableTemplate\"\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\"\n [tabindex]=\"_tabindex\"\n [panelClass]=\"classList\"\n [style.width]=\"panelWidth\"\n (focus)=\"filterMatSelectFocusEvent($event)\"\n (blur)=\"filterMatSelectBlurEvent($event)\"\n (keydown.escape)=\"keydownEscape.emit($event)\"\n (keyup.enter)=\"keyupEnter.emit($event)\"\n [compareWith]=\"equals\"\n [multiple]=\"multiple\"\n [required]=\"required\">\n <mat-select-trigger>{{ displayWith(value) }}</mat-select-trigger>\n\n <!-- header -->\n <ion-row class=\"mat-autocomplete-header ion-no-padding\">\n <ion-col *ngFor=\"let attr of displayAttributes; index as i; last as isLast\" [size]=\"displayColumnSizes[i]\">\n <ion-label [innerHTML]=\"displayColumnNames[i] | translate\"></ion-label>\n </ion-col>\n </ion-row>\n\n <!-- None option -->\n <mat-option *ngIf=\"!required\" class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding\">\n <ion-col class=\"ion-no-padding\">\n <ion-label><i translate>COMMON.EMPTY_OPTION</i></ion-label>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <ng-container *ngIf=\"$filteredItems | async; let items\">\n <!-- No item option -->\n <mat-option *ngIf=\"items | isEmptyArray\" class=\"ion-padding text-italic\" disabled>\n <ion-label>{{noResultMessage | translate}}</ion-label>\n </mat-option>\n\n <!-- options -->\n <mat-option *ngFor=\"let item of items\" [value]=\"item\" class=\"ion-no-padding\">\n <ion-row [classList]=\"item.classList\">\n <ion-col *ngFor=\"let path of displayAttributes; index as i;\"\n [size]=\"displayColumnSizes[i]\">\n <ion-text>{{item | propertyGet: path }}</ion-text>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <!-- More item -->\n <mat-option *ngIf=\"_moreItemsCount\" (ngInit)=\"_initMatSelectInfiniteScroll()\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-container>\n </mat-select>\n\n\n <!--\n NOTE :\n - \"selectInputContent($event) || onFocus.emit($event)\" : call onFocus only when to the input is empty (nothing to select)\n -->\n <ng-template #searchableTemplate>\n <input matInput #matInputText type=\"text\"\n [matAutocomplete]=\"autocomplete\"\n [matAutocompletePosition]=\"matAutocompletePosition\"\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [appAutofocus]=\"autofocus\"\n [tabindex]=\"_tabindex\"\n [required]=\"required\"\n (click)=\"clicked.emit($event)\"\n (focus)=\"filterInputTextFocusEvent($event)\"\n (blur)=\"filterInputTextBlurEvent($event)\"\n (keydown.escape)=\"keydownEscape.emit($event)\"\n (keyup.enter)=\"keyupEnter.emit($event)\"\n (keyup.arrowdown)=\"!autocomplete.showPanel && dropButtonClick.emit($event)\">\n\n <!-- autocomplete -->\n <mat-autocomplete #autocomplete=\"matAutocomplete\"\n autoActiveFirstOption\n [displayWith]=\"displayWith\"\n [class]=\"classList\"\n [panelWidth]=\"panelWidth\">\n\n <ion-row class=\"mat-autocomplete-header ion-no-padding\">\n <ion-col *ngFor=\"let attr of displayAttributes; index as i; last as last\" [size]=\"displayColumnSizes[i]\">\n <ion-label [innerHTML]=\"displayColumnNames[i] | translate\"></ion-label>\n <ion-text color=\"light\" *ngIf=\"last && itemCount; let count\" class=\"ion-float-end ion-padding-end\"><i>{{'COMMON.RESULT_COUNT'|translate: {count: count} }}</i></ion-text>\n </ion-col>\n </ion-row>\n\n <ng-container *ngIf=\"$filteredItems | async; else loadingTemplate; let items\">\n <!-- No item option -->\n <mat-option *ngIf=\"items | isEmptyArray\" class=\"ion-padding text-italic\" disabled>\n <ion-label><i>{{noResultMessage | translate}}</i></ion-label>\n </mat-option>\n\n <mat-option *ngFor=\"let item of items\" [value]=\"item\" class=\"ion-no-padding\">\n <ion-row [classList]=\"item.classList\">\n <ion-col *ngFor=\"let path of displayAttributes; index as i;\"\n [size]=\"displayColumnSizes[i]\">\n <ion-text [innerHTML]=\"item | propertyGet: path | highlight: { search: formControl.value, withAccent: highlightAccent }\"></ion-text>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <!-- More item -->\n <mat-option *ngIf=\"_moreItemsCount\" (ngInit)=\"_initAutocompleteInfiniteScroll()\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-container>\n\n <!-- Loading spinner -->\n <ng-template #loadingTemplate>\n <mat-option *ngIf=\"(matInputText.value | strLength) >= suggestLengthThreshold; else waitMoreCharacterTemplate\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-template>\n\n <!-- Need more characters -->\n <ng-template #waitMoreCharacterTemplate>\n <mat-option class=\"ion-padding text-italic\" disabled>\n <ion-label>\n {{'INFO.PLEASE_TYPE_MORE_CHARACTERS'|translate:{minLength: suggestLengthThreshold} }}\n </ion-label>\n </mat-option>\n </ng-template>\n </mat-autocomplete>\n\n </ng-template>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\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 <ng-content select=\"[matError]\"></ng-content>\n\n </mat-form-field>\n </ng-template>\n </ion-col>\n <ion-col size=\"auto\" class=\"ion-align-self-center\">\n <ng-content select=\"[matAfter]\"></ng-content>\n </ion-col>\n </ion-row>\n</ion-grid>\n\n<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n\n\n<ng-template #matSuffixTemplate>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"searchable\"\n (click)=\"dropButtonClick.emit($event)\"\n [hidden]=\"disabled\">\n <mat-icon class=\"large select-arrow\">arrow_drop_down</mat-icon>\n </button>\n <button matSuffix type=\"button\" mat-icon-button tabindex=\"-1\"\n *ngIf=\"enabled && mobile && !searchable && !multiple\"\n [title]=\"'COMMON.BTN_SEARCH'|translate\"\n (click)=\"toggleSearch($event)\">\n <mat-icon>search</mat-icon>\n </button>\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 <ng-content select=\"[matSuffix]\"></ng-content>\n</ng-template>\n",
1640
1625
  providers: [{
1641
1626
  provide: NG_VALUE_ACCESSOR,
1642
1627
  multi: true,
@@ -1718,7 +1703,7 @@ class DateFormatPipe {
1718
1703
  return this.dateAdapter.format(date, displayFormat);
1719
1704
  }
1720
1705
  }
1721
- DateFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DateFormatPipe_Factory() { return new DateFormatPipe(i0.ɵɵinject(i1.MomentDateAdapter), i0.ɵɵinject(i1$1.TranslateService)); }, token: DateFormatPipe, providedIn: "root" });
1706
+ DateFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateFormatPipe_Factory() { return new DateFormatPipe(ɵɵinject(MomentDateAdapter), ɵɵinject(TranslateService)); }, token: DateFormatPipe, providedIn: "root" });
1722
1707
  DateFormatPipe.decorators = [
1723
1708
  { type: Pipe, args: [{
1724
1709
  name: 'dateFormat'
@@ -1730,7 +1715,7 @@ DateFormatPipe.ctorParameters = () => [
1730
1715
  { type: TranslateService }
1731
1716
  ];
1732
1717
 
1733
- const moment$6 = momentImported;
1718
+ const moment = momentImported;
1734
1719
  class DateDiffDurationPipe {
1735
1720
  constructor(dateAdapter, translate) {
1736
1721
  this.dateAdapter = dateAdapter;
@@ -1746,17 +1731,17 @@ class DateDiffDurationPipe {
1746
1731
  return this.format(startDate, endDate);
1747
1732
  }
1748
1733
  format(startDate, endDate) {
1749
- const duration = moment$6.duration(endDate.diff(startDate));
1734
+ const duration = moment.duration(endDate.diff(startDate));
1750
1735
  if (duration.asMinutes() < 0)
1751
1736
  return '';
1752
- const timeDuration = moment$6(0)
1737
+ const timeDuration = moment(0)
1753
1738
  .hour(duration.hours())
1754
1739
  .minute(duration.minutes());
1755
1740
  const days = Math.floor(duration.asDays());
1756
1741
  return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + timeDuration.format('HH:mm');
1757
1742
  }
1758
1743
  }
1759
- DateDiffDurationPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DateDiffDurationPipe_Factory() { return new DateDiffDurationPipe(i0.ɵɵinject(i1$2.DateAdapter), i0.ɵɵinject(i1$1.TranslateService)); }, token: DateDiffDurationPipe, providedIn: "root" });
1744
+ DateDiffDurationPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateDiffDurationPipe_Factory() { return new DateDiffDurationPipe(ɵɵinject(DateAdapter), ɵɵinject(TranslateService)); }, token: DateDiffDurationPipe, providedIn: "root" });
1760
1745
  DateDiffDurationPipe.decorators = [
1761
1746
  { type: Pipe, args: [{
1762
1747
  name: 'dateDiffDuration'
@@ -1777,7 +1762,7 @@ class DateFromNowPipe {
1777
1762
  return date ? date.fromNow(args && args.withoutSuffix) : '';
1778
1763
  }
1779
1764
  }
1780
- DateFromNowPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(i0.ɵɵinject(i1.MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
1765
+ DateFromNowPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(ɵɵinject(MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
1781
1766
  DateFromNowPipe.decorators = [
1782
1767
  { type: Pipe, args: [{
1783
1768
  name: 'dateFromNow'
@@ -1846,7 +1831,7 @@ function formatToDD(value, opts) {
1846
1831
  value *= -1;
1847
1832
  }
1848
1833
  }
1849
- let degrees = roundFloat$1(value, opts.maxDecimals).toString();
1834
+ let degrees = roundFloat(value, opts.maxDecimals).toString();
1850
1835
  // Add sign
1851
1836
  let sign = negative ? '-' : '+';
1852
1837
  if (opts.placeholderChar) {
@@ -1897,7 +1882,7 @@ function formatToDDMMSS(value, opts) {
1897
1882
  }
1898
1883
  let degrees = Math.trunc(value);
1899
1884
  let minutes = Math.trunc((value - degrees) * 60);
1900
- let seconds = roundFloat$1(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
1885
+ let seconds = roundFloat(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
1901
1886
  while (seconds >= 60) {
1902
1887
  seconds -= 60;
1903
1888
  minutes += 1;
@@ -1965,7 +1950,7 @@ function formatToDDMM(value, opts) {
1965
1950
  }
1966
1951
  }
1967
1952
  let degrees = Math.trunc(value);
1968
- let minutes = roundFloat$1((value - degrees) * 60, opts.maxDecimals);
1953
+ let minutes = roundFloat((value - degrees) * 60, opts.maxDecimals);
1969
1954
  while (minutes >= 60) {
1970
1955
  minutes -= 60;
1971
1956
  degrees += 1;
@@ -2016,15 +2001,15 @@ function parseLatitudeOrLongitude(input, pattern, maxDecimals, placeholderChar)
2016
2001
  return NaN;
2017
2002
  }
2018
2003
  if (pattern === 'DD')
2019
- return roundFloat$1(degrees, maxDecimals);
2004
+ return roundFloat(degrees, maxDecimals);
2020
2005
  const minutes = (pattern === 'DDMMSS' || pattern === 'DDMM') && parts[1] && parseFloat(parts[1].replace(/,/g, '.')) || 0;
2021
2006
  const seconds = (pattern === 'DDMMSS') && parts[2] && parseFloat(parts[2].replace(/,/g, '.')) || 0;
2022
2007
  const direction = ((pattern === 'DDMMSS') && parts[3]) || ((pattern === 'DDMM') && parts[2]) || undefined;
2023
2008
  const sign = (direction && (direction === 's' || direction === 'S' || direction === 'w' || direction === 'W')) ? -1 : 1;
2024
2009
  degrees = sign * (degrees + minutes / 60 + seconds / (60 * 60));
2025
- return roundFloat$1(degrees, maxDecimals);
2010
+ return roundFloat(degrees, maxDecimals);
2026
2011
  }
2027
- function roundFloat$1(input, maxDecimals) {
2012
+ function roundFloat(input, maxDecimals) {
2028
2013
  if (maxDecimals > 0) {
2029
2014
  const powDecimal = Math.pow(10, maxDecimals);
2030
2015
  return Math.trunc(input * powDecimal + 0.5) / powDecimal;
@@ -2044,7 +2029,7 @@ class LatLongFormatPipe {
2044
2029
  return ((!args.type || args.type !== 'latitude') ? formatLongitude : formatLatitude)(value, args);
2045
2030
  }
2046
2031
  }
2047
- LatLongFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
2032
+ LatLongFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
2048
2033
  LatLongFormatPipe.decorators = [
2049
2034
  { type: Pipe, args: [{
2050
2035
  name: 'latLongFormat'
@@ -2056,7 +2041,7 @@ class LatitudeFormatPipe {
2056
2041
  this.transform = formatLatitude;
2057
2042
  }
2058
2043
  }
2059
- LatitudeFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
2044
+ LatitudeFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
2060
2045
  LatitudeFormatPipe.decorators = [
2061
2046
  { type: Pipe, args: [{
2062
2047
  name: 'latitudeFormat'
@@ -2068,7 +2053,7 @@ class LongitudeFormatPipe {
2068
2053
  this.transform = formatLongitude;
2069
2054
  }
2070
2055
  }
2071
- LongitudeFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
2056
+ LongitudeFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
2072
2057
  LongitudeFormatPipe.decorators = [
2073
2058
  { type: Pipe, args: [{
2074
2059
  name: 'longitudeFormat'
@@ -2088,7 +2073,7 @@ class NumberFormatPipe {
2088
2073
  }
2089
2074
  }
2090
2075
  }
2091
- NumberFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
2076
+ NumberFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
2092
2077
  NumberFormatPipe.decorators = [
2093
2078
  { type: Pipe, args: [{
2094
2079
  name: 'numberFormat'
@@ -2128,7 +2113,7 @@ class HighlightPipe {
2128
2113
  }
2129
2114
  }
2130
2115
  }
2131
- HighlightPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
2116
+ HighlightPipe.ɵprov = ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
2132
2117
  HighlightPipe.decorators = [
2133
2118
  { type: Pipe, args: [{
2134
2119
  name: 'highlight'
@@ -2193,7 +2178,7 @@ FileSizePipe.decorators = [
2193
2178
  { type: Pipe, args: [{ name: 'fileSize' },] }
2194
2179
  ];
2195
2180
 
2196
- const moment$5 = momentImported;
2181
+ const moment$1 = momentImported;
2197
2182
  const DATE_UNIX_TIMESTAMP = 'X';
2198
2183
  const DATE_UNIX_MS_TIMESTAMP = 'x';
2199
2184
  class DateUtils {
@@ -2235,32 +2220,32 @@ function fromDateISOString(value) {
2235
2220
  if (!value || isMoment(value))
2236
2221
  return value;
2237
2222
  // Parse the input value, as a ISO date time
2238
- const date = moment$5(value, DATE_ISO_PATTERN);
2223
+ const date = moment$1(value, DATE_ISO_PATTERN);
2239
2224
  if (date.isValid())
2240
2225
  return date;
2241
2226
  // Not valid: trying to convert from unix timestamp
2242
2227
  if (typeof value === 'string') {
2243
2228
  console.warn('Wrong date format - Trying to convert from local time: ' + value);
2244
2229
  if (value.length === 10) {
2245
- return moment$5(value, DATE_UNIX_TIMESTAMP);
2230
+ return moment$1(value, DATE_UNIX_TIMESTAMP);
2246
2231
  }
2247
2232
  else if (value.length === 13) {
2248
- return moment$5(value, DATE_UNIX_MS_TIMESTAMP);
2233
+ return moment$1(value, DATE_UNIX_MS_TIMESTAMP);
2249
2234
  }
2250
2235
  }
2251
2236
  console.warn('Unable to parse date: ' + value);
2252
2237
  return undefined;
2253
2238
  }
2254
2239
  function fromUnixTimestamp(timeInSec) {
2255
- return moment$5(timeInSec, DATE_UNIX_TIMESTAMP);
2240
+ return moment$1(timeInSec, DATE_UNIX_TIMESTAMP);
2256
2241
  }
2257
2242
  function fromUnixMsTimestamp(timeInMs) {
2258
- return moment$5(timeInMs, DATE_UNIX_MS_TIMESTAMP);
2243
+ return moment$1(timeInMs, DATE_UNIX_MS_TIMESTAMP);
2259
2244
  }
2260
2245
  function toDuration(value, unit) {
2261
2246
  if (!value)
2262
2247
  return undefined;
2263
- const duration = moment$5.duration(value, unit);
2248
+ const duration = moment$1.duration(value, unit);
2264
2249
  // fix 990+ ms
2265
2250
  if (duration.milliseconds() >= 990) {
2266
2251
  duration.add(1000 - duration.milliseconds(), 'ms');
@@ -2289,7 +2274,7 @@ class DurationPipe {
2289
2274
  return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + hour + ':' + minute;
2290
2275
  }
2291
2276
  }
2292
- DurationPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(i0.ɵɵinject(i1$1.TranslateService)); }, token: DurationPipe, providedIn: "root" });
2277
+ DurationPipe.ɵprov = ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(ɵɵinject(TranslateService)); }, token: DurationPipe, providedIn: "root" });
2293
2278
  DurationPipe.decorators = [
2294
2279
  { type: Pipe, args: [{
2295
2280
  name: 'duration'
@@ -2310,7 +2295,7 @@ class MathAbsPipe {
2310
2295
  }
2311
2296
  }
2312
2297
  }
2313
- MathAbsPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
2298
+ MathAbsPipe.ɵprov = ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
2314
2299
  MathAbsPipe.decorators = [
2315
2300
  { type: Pipe, args: [{
2316
2301
  name: 'mathAbs'
@@ -2322,7 +2307,7 @@ class EvenPipe {
2322
2307
  return val % 2 === 0;
2323
2308
  }
2324
2309
  }
2325
- EvenPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
2310
+ EvenPipe.ɵprov = ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
2326
2311
  EvenPipe.decorators = [
2327
2312
  { type: Pipe, args: [{
2328
2313
  name: 'even'
@@ -2334,7 +2319,7 @@ class OddPipe {
2334
2319
  return val % 2 !== 0;
2335
2320
  }
2336
2321
  }
2337
- OddPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
2322
+ OddPipe.ɵprov = ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
2338
2323
  OddPipe.decorators = [
2339
2324
  { type: Pipe, args: [{
2340
2325
  name: 'odd'
@@ -2442,7 +2427,7 @@ class MapGetPipe {
2442
2427
  return val[key];
2443
2428
  }
2444
2429
  }
2445
- MapGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
2430
+ MapGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
2446
2431
  MapGetPipe.decorators = [
2447
2432
  { type: Pipe, args: [{
2448
2433
  name: 'mapGet'
@@ -2456,7 +2441,7 @@ class MapKeysPipe {
2456
2441
  return Object.keys(map);
2457
2442
  }
2458
2443
  }
2459
- MapKeysPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
2444
+ MapKeysPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
2460
2445
  MapKeysPipe.decorators = [
2461
2446
  { type: Pipe, args: [{
2462
2447
  name: 'mapKeys'
@@ -2470,7 +2455,7 @@ class MapValuesPipe {
2470
2455
  return Object.values(map);
2471
2456
  }
2472
2457
  }
2473
- MapValuesPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
2458
+ MapValuesPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
2474
2459
  MapValuesPipe.decorators = [
2475
2460
  { type: Pipe, args: [{
2476
2461
  name: 'mapValues'
@@ -2483,7 +2468,7 @@ class IsNotNilOrBlankPipe {
2483
2468
  return isNotNilOrBlank(value);
2484
2469
  }
2485
2470
  }
2486
- IsNotNilOrBlankPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
2471
+ IsNotNilOrBlankPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
2487
2472
  IsNotNilOrBlankPipe.decorators = [
2488
2473
  { type: Pipe, args: [{
2489
2474
  name: 'isNotNilOrBlank'
@@ -2495,7 +2480,7 @@ class IsNilOrBlankPipe {
2495
2480
  return isNilOrBlank(value);
2496
2481
  }
2497
2482
  }
2498
- IsNilOrBlankPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
2483
+ IsNilOrBlankPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
2499
2484
  IsNilOrBlankPipe.decorators = [
2500
2485
  { type: Pipe, args: [{
2501
2486
  name: 'isNilOrBlank'
@@ -2507,7 +2492,7 @@ class ToStringPipe {
2507
2492
  return (value !== null && value !== undefined) ? value.toString() : '';
2508
2493
  }
2509
2494
  }
2510
- ToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
2495
+ ToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
2511
2496
  ToStringPipe.decorators = [
2512
2497
  { type: Pipe, args: [{
2513
2498
  name: 'toString'
@@ -2519,7 +2504,7 @@ class StrLengthPipe {
2519
2504
  return value && value.length || 0;
2520
2505
  }
2521
2506
  }
2522
- StrLengthPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
2507
+ StrLengthPipe.ɵprov = ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
2523
2508
  StrLengthPipe.decorators = [
2524
2509
  { type: Pipe, args: [{
2525
2510
  name: 'strLength'
@@ -2596,7 +2581,7 @@ class TranslateContextService {
2596
2581
  return translations[keys[keys.length - 1]]; // Return the last keys translation
2597
2582
  }
2598
2583
  }
2599
- TranslateContextService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(i0.ɵɵinject(i1$1.TranslateService)); }, token: TranslateContextService, providedIn: "root" });
2584
+ TranslateContextService.ɵprov = ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(ɵɵinject(TranslateService)); }, token: TranslateContextService, providedIn: "root" });
2600
2585
  TranslateContextService.decorators = [
2601
2586
  { type: Injectable, args: [{ providedIn: 'root' },] }
2602
2587
  ];
@@ -2646,7 +2631,7 @@ class PropertyGetPipe {
2646
2631
  args && args.defaultValue);
2647
2632
  }
2648
2633
  }
2649
- PropertyGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
2634
+ PropertyGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
2650
2635
  PropertyGetPipe.decorators = [
2651
2636
  { type: Pipe, args: [{
2652
2637
  name: 'propertyGet'
@@ -2671,7 +2656,7 @@ NgInitDirective.propDecorators = {
2671
2656
  ngInit: [{ type: Output }]
2672
2657
  };
2673
2658
 
2674
- const moment$4 = momentImported;
2659
+ const moment$2 = momentImported;
2675
2660
  // @dynamic
2676
2661
  class SharedValidators {
2677
2662
  static getDoubleRegexp(maxDecimals) {
@@ -2688,7 +2673,7 @@ class SharedValidators {
2688
2673
  }
2689
2674
  static validDate(control) {
2690
2675
  const value = control.value;
2691
- const date = !value || moment$4.isMoment(value) ? value : moment$4(control.value, DATE_ISO_PATTERN);
2676
+ const date = !value || moment$2.isMoment(value) ? value : moment$2(control.value, DATE_ISO_PATTERN);
2692
2677
  if (date && (!date.isValid() || date.year() < 1970)) {
2693
2678
  return { validDate: true };
2694
2679
  }
@@ -3762,7 +3747,7 @@ class FormErrorTranslator {
3762
3747
  return errorKey;
3763
3748
  }
3764
3749
  }
3765
- FormErrorTranslator.ɵprov = i0.ɵɵdefineInjectable({ factory: function FormErrorTranslator_Factory() { return new FormErrorTranslator(i0.ɵɵinject(i1$1.TranslateService), i0.ɵɵinject(APP_FORM_ERROR_I18N_KEYS, 8)); }, token: FormErrorTranslator, providedIn: "root" });
3750
+ FormErrorTranslator.ɵprov = ɵɵdefineInjectable({ factory: function FormErrorTranslator_Factory() { return new FormErrorTranslator(ɵɵinject(TranslateService), ɵɵinject(APP_FORM_ERROR_I18N_KEYS, 8)); }, token: FormErrorTranslator, providedIn: "root" });
3766
3751
  FormErrorTranslator.decorators = [
3767
3752
  { type: Injectable, args: [{ providedIn: 'root' },] }
3768
3753
  ];
@@ -4114,9 +4099,9 @@ function parseDuration(input, maxDecimals, placeholderChar) {
4114
4099
  const hour = parseInt(durationParts[0] || '0');
4115
4100
  const minute = parseInt(durationParts[1] || '0');
4116
4101
  const value = hour + (minute + 0.5) / 60;
4117
- return roundFloat(value, maxDecimals);
4102
+ return roundFloat$1(value, maxDecimals);
4118
4103
  }
4119
- function roundFloat(input, maxDecimals) {
4104
+ function roundFloat$1(input, maxDecimals) {
4120
4105
  if (maxDecimals > 0) {
4121
4106
  const powDecimal = Math.pow(10, maxDecimals);
4122
4107
  return Math.trunc(input * powDecimal + 0.5) / powDecimal;
@@ -4140,9 +4125,9 @@ const MASKS = {
4140
4125
  DD: [/[+-]/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '°']
4141
4126
  }
4142
4127
  };
4143
- const noop$7 = () => {
4128
+ const noop$1 = () => {
4144
4129
  };
4145
- const ɵ0$a = noop$7;
4130
+ const ɵ0$1 = noop$1;
4146
4131
  class MatLatLongField {
4147
4132
  constructor(platform, translate, formBuilder, cd, formGroupDir) {
4148
4133
  this.platform = platform;
@@ -4150,8 +4135,8 @@ class MatLatLongField {
4150
4135
  this.formBuilder = formBuilder;
4151
4136
  this.cd = cd;
4152
4137
  this.formGroupDir = formGroupDir;
4153
- this._onChangeCallback = noop$7;
4154
- this._onTouchedCallback = noop$7;
4138
+ this._onChangeCallback = noop$1;
4139
+ this._onTouchedCallback = noop$1;
4155
4140
  this._subscription = new Subscription();
4156
4141
  this.disabling = false;
4157
4142
  this.writing = false;
@@ -4488,14 +4473,14 @@ SharedMatLatLongModule.decorators = [
4488
4473
  },] }
4489
4474
  ];
4490
4475
 
4491
- const DEFAULT_VALUE_ACCESSOR$5 = {
4476
+ const DEFAULT_VALUE_ACCESSOR = {
4492
4477
  provide: NG_VALUE_ACCESSOR,
4493
4478
  useExisting: forwardRef(() => MatDate),
4494
4479
  multi: true
4495
4480
  };
4496
- const DAY_MASK$2 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
4497
- const noop$6 = () => { };
4498
- const ɵ0$9 = noop$6;
4481
+ const DAY_MASK = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
4482
+ const noop$2 = () => { };
4483
+ const ɵ0$2 = noop$2;
4499
4484
  class MatDate {
4500
4485
  constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
4501
4486
  this.dateAdapter = dateAdapter;
@@ -4504,12 +4489,12 @@ class MatDate {
4504
4489
  this.cd = cd;
4505
4490
  this.keyboard = keyboard;
4506
4491
  this.formGroupDir = formGroupDir;
4507
- this._onChangeCallback = noop$6;
4508
- this._onTouchedCallback = noop$6;
4492
+ this._onChangeCallback = noop$2;
4493
+ this._onTouchedCallback = noop$2;
4509
4494
  this._subscription = new Subscription();
4510
4495
  this.writing = true;
4511
4496
  this.disabling = false;
4512
- this.dayMask = DAY_MASK$2;
4497
+ this.dayMask = DAY_MASK;
4513
4498
  this.disabled = false;
4514
4499
  this.floatLabel = 'auto';
4515
4500
  this.readonly = false;
@@ -4746,7 +4731,7 @@ MatDate.decorators = [
4746
4731
  selector: 'mat-date-field',
4747
4732
  template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly else writable\">\n <input matInput hidden type=\"text\" readonly=\"true\" [formControl]=\"formControl\">\n <ion-text>{{formControl.value|dateFormat: {pattern: displayPattern} }}</ion-text>\n</mat-form-field>\n\n<ng-template #writable>\n <mat-form-field [floatLabel]=\"floatLabel\">\n\n <mat-label>{{placeholder}}</mat-label>\n\n <div matPrefix><ng-content select=\"[matPrefix]\"></ng-content></div>\n\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"dayControl\"\n [textMask]=\"{mask: dayMask, keepCharPositions: true, placeholderChar: placeholderChar}\"\n [placeholder]=\"'COMMON.DATE_PLACEHOLDER'|translate\"\n (blur)=\"checkIfTouched()\"\n (keyup.arrowdown)=\"openDatePicker($event, datePicker)\"\n (keyup.escape)=\"preventEvent($event)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [appAutofocus]=\"autofocus\">\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"dayControl\"\n (click)=\"openDatePickerIfMobile($event, datePicker)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n readonly>\n\n <!-- Hide the final control -->\n <input matInput type=\"text\"\n [formControl]=\"formControl\"\n hidden\n [matDatepicker]=\"datePicker\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n (click)=\"openDatePicker($event, datePicker)\"\n [disabled]=\"formControl.disabled\">\n <div *ngIf=\"mobile; then iconDate; else iconDesktop\"></div>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"writeValue(null)\"\n [hidden]=\"formControl.disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('validDate')\" translate>ERROR.FIELD_NOT_VALID_DATE</mat-error>\n <mat-error *ngIf=\"formControl.hasError('dateIsAfter')\">{{'ERROR.FIELD_NOT_VALID_DATE_AFTER' | translate: formControl.errors.dateIsAfter }}</mat-error>\n <mat-error *ngIf=\"formControl.hasError('dateRange')\" translate>ERROR.FIELD_NOT_VALID_DATE_RANGE</mat-error>\n <mat-error *ngIf=\"!formControl.hasError('dateRange') && formControl.hasError('dateMaxDuration')\" translate>ERROR.FIELD_NOT_VALID_DATE_MAX_DURATION</mat-error>\n <mat-error *ngIf=\"!formControl.hasError('dateRange') && formControl.hasError('dateMinDuration')\" translate>ERROR.FIELD_NOT_VALID_DATE_MIN_DURATION</mat-error>\n <mat-error *ngIf=\"formControl.hasError('msg')\">{{formControl.errors.msg}}</mat-error>\n </mat-form-field>\n\n <mat-datepicker #datePicker\n [touchUi]=\"mobile\"\n [disabled]=\"formControl.disabled\"\n [startAt]=\"startDate\"></mat-datepicker>\n\n <ng-template #iconDesktop>\n <mat-icon>keyboard_arrow_down</mat-icon>\n </ng-template>\n\n <ng-template #iconDate>\n <mat-icon>date_range</mat-icon>\n </ng-template>\n\n</ng-template>\n\n",
4748
4733
  providers: [
4749
- DEFAULT_VALUE_ACCESSOR$5,
4734
+ DEFAULT_VALUE_ACCESSOR,
4750
4735
  ],
4751
4736
  changeDetection: ChangeDetectionStrategy.OnPush,
4752
4737
  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%}"]
@@ -4779,17 +4764,17 @@ MatDate.propDecorators = {
4779
4764
  matInputs: [{ type: ViewChildren, args: ['matInput',] }]
4780
4765
  };
4781
4766
 
4782
- const DEFAULT_VALUE_ACCESSOR$4 = {
4767
+ const DEFAULT_VALUE_ACCESSOR$1 = {
4783
4768
  provide: NG_VALUE_ACCESSOR,
4784
4769
  useExisting: forwardRef(() => MatDateTime),
4785
4770
  multi: true
4786
4771
  };
4787
4772
  const DAY_MASK$1 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
4788
4773
  const HOUR_REGEXP = /^[012][0-9][:][012345][0-9]$/;
4789
- const HOUR_MASK$1 = [/[012]/, /\d/, ':', /[012345]/, /\d/];
4790
- const noop$5 = () => {
4774
+ const HOUR_MASK = [/[012]/, /\d/, ':', /[012345]/, /\d/];
4775
+ const noop$3 = () => {
4791
4776
  };
4792
- const ɵ0$8 = noop$5;
4777
+ const ɵ0$3 = noop$3;
4793
4778
  class MatDateTime {
4794
4779
  constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
4795
4780
  this.platform = platform;
@@ -4799,14 +4784,14 @@ class MatDateTime {
4799
4784
  this.cd = cd;
4800
4785
  this.keyboard = keyboard;
4801
4786
  this.formGroupDir = formGroupDir;
4802
- this._onChangeCallback = noop$5;
4803
- this._onTouchedCallback = noop$5;
4787
+ this._onChangeCallback = noop$3;
4788
+ this._onTouchedCallback = noop$3;
4804
4789
  this._subscription = new Subscription();
4805
4790
  this.writing = true;
4806
4791
  this.disabling = false;
4807
4792
  this._readonly = false;
4808
4793
  this.dayMask = DAY_MASK$1;
4809
- this.hourMask = HOUR_MASK$1;
4794
+ this.hourMask = HOUR_MASK;
4810
4795
  this.floatLabel = 'auto';
4811
4796
  this.compact = false;
4812
4797
  this.placeholderChar = DEFAULT_PLACEHOLDER_CHAR;
@@ -5118,7 +5103,7 @@ MatDateTime.decorators = [
5118
5103
  selector: 'mat-date-time-field',
5119
5104
  template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled\">\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <input matInput hidden type=\"text\"\n readonly\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <ion-text>{{formControl.value|dateFormat: {pattern: displayPattern} }}</ion-text>\n</mat-form-field>\n\n<!-- writable + time -->\n<ng-template #writable >\n <ion-grid class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding no-wrap\" nowrap>\n\n <!-- day -->\n <ion-col class=\"day ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-invalid]=\"formControl.touched && formControl.invalid\">\n\n <mat-label>{{placeholder}}</mat-label>\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"dateFormControl\"\n [textMask]=\"{mask: dayMask, keepCharPositions: true, placeholderChar: placeholderChar}\"\n [placeholder]=\"'COMMON.DATE_PLACEHOLDER'|translate\"\n (blur)=\"checkIfTouched()\"\n (keyup.arrowdown)=\"openDatePicker($event, datePicker)\"\n (keyup.escape)=\"preventEvent($event)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [appAutofocus]=\"autofocus\">\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"dateFormControl\"\n (click)=\"openDatePickerIfMobile($event, datePicker)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n readonly>\n <input matInput type=\"text\" [formControl]=\"formControl\"\n hidden\n [matDatepicker]=\"datePicker\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n <button type=\"button\" mat-icon-button tabindex=\"-1\" matSuffix #datePickerButton2 (click)=\"openDatePicker($event, datePicker)\" [disabled]=\"formControl.disabled\">\n <div *ngIf=\"mobile; then iconDate; else iconDesktop\"></div>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clear()\"\n [hidden]=\"formControl.disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-datepicker #datePicker\n [touchUi]=\"mobile\"\n [disabled]=\"formControl.disabled\"\n [startAt]=\"startDate\"></mat-datepicker>\n <div class=\"mat-form-field-subscript mat-form-field-subscript-wrapper\" >\n <!-- errors -->\n <ng-container [ngSwitch]=\"formControl.touched && formControl.errors|mapKeys|arrayFirst\">\n <mat-error *ngSwitchCase=\"'required'\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngSwitchCase=\"'validDate'\" translate>ERROR.FIELD_NOT_VALID_DATE_TIME</mat-error>\n <mat-error *ngSwitchCase=\"'dateIsAfter'\">{{'ERROR.FIELD_NOT_VALID_DATE_AFTER' | translate: formControl.errors.dateIsAfter }}</mat-error>\n <mat-error *ngSwitchCase=\"'dateRange'\" translate>ERROR.FIELD_NOT_VALID_DATE_RANGE</mat-error>\n <mat-error *ngSwitchCase=\"'dateMaxDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MAX_DURATION</mat-error>\n <mat-error *ngSwitchCase=\"'dateMinDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MIN_DURATION</mat-error>\n <mat-error *ngSwitchCase=\"'msg'\">{{(formControl.errors.msg?.key || formControl.errors.msg) | translate: formControl.errors.msg?.params}}</mat-error>\n </ng-container>\n <ng-content select=\"mat-error\"></ng-content>\n\n <!-- mat hint -->\n <div class=\"mat-form-field-hint-wrapper\" [class.cdk-visually-hidden]=\"formControl.invalid\">\n <div class=\"mat-form-field-hint-spacer\"></div>\n <ng-content select=\"mat-hint\"></ng-content>\n </div>\n </div>\n\n </ion-col>\n\n <!-- hour -->\n <ion-col class=\"hour ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-invalid]=\"formControl.touched && (timeFormControl.invalid || formControl.invalid)\">\n <mat-label *ngIf=\"placeholder && floatLabel != 'never'\" translate>COMMON.TIME</mat-label>\n <input matInput #matInput type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"timeFormControl\"\n autocomplete=\"off\"\n min=\"0\" max=\"23\"\n [textMask]=\"{mask: hourMask, keepCharPositions: true, placeholderChar: placeholderChar, guide: true}\"\n [placeholder]=\"'COMMON.TIME_PLACEHOLDER'|translate\"\n [required]=\"required\"\n (keyup.arrowdown)=\"openTimePicker($event)\"\n (keyup.escape)=\"preventEvent($event)\"\n (blur)=\"checkIfTouched()\"\n [tabindex]=\"tabindex !== undefined ? tabindex+1 : undefined\">\n\n <input matInput #matInput type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"timeFormControl\"\n (click)=\"openTimePickerIfMobile($event)\"\n readonly>\n\n <input matInput type=\"text\"\n [formControl]=\"timeFormControl\"\n hidden\n [ngxTimepicker]=\"timePicker\"\n [format]=\"24\">\n\n <button matSuffix type=\"button\" mat-icon-button\n tabindex=\"-1\"\n *ngIf=\"!compact && !mobile\"\n [disabled]=\"formControl.disabled\"\n (click)=\"openTimePicker($event)\" >\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n <button matSuffix type=\"button\" mat-icon-button\n tabindex=\"-1\"\n *ngIf=\"!compact && mobile\"\n [disabled]=\"formControl.disabled\"\n (click)=\"openTimePickerIfMobile($event)\">\n <mat-icon>access_time</mat-icon>\n </button>\n\n <ngx-material-timepicker #timePicker [@.disabled]=\"true\"\n (timeSet)=\"onTimePickerChange($event)\"\n [ESC]=\"!mobile\"\n [defaultTime]=\"'00:00'\"\n [cancelBtnTmpl]=\"timePickerCancelButton\"\n [confirmBtnTmpl]=\"timePickerOkButton\"\n [preventOverlayClick]=\"mobile\"\n [enableKeyboardInput]=\"false\"\n [disableAnimation]=\"true\">\n <!-- cancel button -->\n <ng-template #timePickerCancelButton>\n <ion-button fill=\"clear\" color=\"dark\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n </ng-template>\n\n <!-- confirm button -->\n <ng-template #timePickerOkButton>\n <ion-button fill=\"solid\" color=\"tertiary\">\n <ion-label translate>COMMON.BTN_VALIDATE</ion-label>\n </ion-button>\n </ng-template>\n\n </ngx-material-timepicker>\n </mat-form-field>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n\n</ng-template>\n\n<ng-template #iconDesktop>\n <mat-icon>keyboard_arrow_down</mat-icon>\n</ng-template>\n\n<ng-template #iconDate>\n <mat-icon>date_range</mat-icon>\n</ng-template>\n\n<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n",
5120
5105
  providers: [
5121
- DEFAULT_VALUE_ACCESSOR$4,
5106
+ DEFAULT_VALUE_ACCESSOR$1,
5122
5107
  ],
5123
5108
  changeDetection: ChangeDetectionStrategy.OnPush,
5124
5109
  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%}"]
@@ -5152,15 +5137,15 @@ MatDateTime.propDecorators = {
5152
5137
  matInputs: [{ type: ViewChildren, args: ['matInput',] }]
5153
5138
  };
5154
5139
 
5155
- const DEFAULT_VALUE_ACCESSOR$3 = {
5140
+ const DEFAULT_VALUE_ACCESSOR$2 = {
5156
5141
  provide: NG_VALUE_ACCESSOR,
5157
5142
  useExisting: forwardRef(() => MatDateShort),
5158
5143
  multi: true
5159
5144
  };
5160
- const DAY_MASK = [/\d/, /\d/, /\d/, /\d/];
5145
+ const DAY_MASK$2 = [/\d/, /\d/, /\d/, /\d/];
5161
5146
  const noop$4 = () => {
5162
5147
  };
5163
- const ɵ0$7 = noop$4;
5148
+ const ɵ0$4 = noop$4;
5164
5149
  class MatDateShort {
5165
5150
  constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
5166
5151
  this.dateAdapter = dateAdapter;
@@ -5173,7 +5158,7 @@ class MatDateShort {
5173
5158
  this._onTouchedCallback = noop$4;
5174
5159
  this.writing = true;
5175
5160
  this.disabling = false;
5176
- this.dayMask = DAY_MASK;
5161
+ this.dayMask = DAY_MASK$2;
5177
5162
  this.disabled = false;
5178
5163
  this.floatLabel = 'auto';
5179
5164
  this.readonly = false;
@@ -5418,7 +5403,7 @@ MatDateShort.decorators = [
5418
5403
  selector: 'mat-date-short-field',
5419
5404
  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",
5420
5405
  providers: [
5421
- DEFAULT_VALUE_ACCESSOR$3,
5406
+ DEFAULT_VALUE_ACCESSOR$2,
5422
5407
  ],
5423
5408
  changeDetection: ChangeDetectionStrategy.OnPush,
5424
5409
  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%}"]
@@ -5486,16 +5471,16 @@ SharedMatDateTimeModule.decorators = [
5486
5471
  },] }
5487
5472
  ];
5488
5473
 
5489
- const DEFAULT_VALUE_ACCESSOR$2 = {
5474
+ const DEFAULT_VALUE_ACCESSOR$3 = {
5490
5475
  provide: NG_VALUE_ACCESSOR,
5491
5476
  useExisting: forwardRef(() => MatDuration),
5492
5477
  multi: true
5493
5478
  };
5494
5479
  const HOUR_TIME_PATTERN = /[0-9]\d\d:[0-5]\d/;
5495
- const HOUR_MASK = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
5496
- const noop$3 = () => {
5480
+ const HOUR_MASK$1 = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
5481
+ const noop$5 = () => {
5497
5482
  };
5498
- const ɵ0$6 = noop$3;
5483
+ const ɵ0$5 = noop$5;
5499
5484
  class MatDuration {
5500
5485
  constructor(platform, dateAdapter, translate, formBuilder, cd, formGroupDir) {
5501
5486
  this.dateAdapter = dateAdapter;
@@ -5504,11 +5489,11 @@ class MatDuration {
5504
5489
  this.cd = cd;
5505
5490
  this.formGroupDir = formGroupDir;
5506
5491
  this._subscription = new Subscription();
5507
- this._onChangeCallback = noop$3;
5508
- this._onTouchedCallback = noop$3;
5492
+ this._onChangeCallback = noop$5;
5493
+ this._onTouchedCallback = noop$5;
5509
5494
  this.writing = true;
5510
5495
  this.disabling = false;
5511
- this.hourMask = HOUR_MASK;
5496
+ this.hourMask = HOUR_MASK$1;
5512
5497
  this.disabled = false;
5513
5498
  this.floatLabel = 'auto';
5514
5499
  this.readonly = false;
@@ -5688,7 +5673,7 @@ MatDuration.decorators = [
5688
5673
  selector: 'mat-duration-field',
5689
5674
  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",
5690
5675
  providers: [
5691
- DEFAULT_VALUE_ACCESSOR$2,
5676
+ DEFAULT_VALUE_ACCESSOR$3,
5692
5677
  ],
5693
5678
  changeDetection: ChangeDetectionStrategy.OnPush,
5694
5679
  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%}"]
@@ -5745,22 +5730,22 @@ SharedMatDurationModule.decorators = [
5745
5730
  },] }
5746
5731
  ];
5747
5732
 
5748
- const DEFAULT_VALUE_ACCESSOR$1 = {
5733
+ const DEFAULT_VALUE_ACCESSOR$4 = {
5749
5734
  provide: NG_VALUE_ACCESSOR,
5750
5735
  useExisting: forwardRef(() => MatBooleanField),
5751
5736
  multi: true
5752
5737
  };
5753
- const noop$2 = () => {
5738
+ const noop$6 = () => {
5754
5739
  };
5755
- const ɵ0$5 = noop$2;
5740
+ const ɵ0$6 = noop$6;
5756
5741
  class MatBooleanField {
5757
5742
  constructor(translate, formBuilder, cd, formGroupDir) {
5758
5743
  this.translate = translate;
5759
5744
  this.formBuilder = formBuilder;
5760
5745
  this.cd = cd;
5761
5746
  this.formGroupDir = formGroupDir;
5762
- this._onChangeCallback = noop$2;
5763
- this._onTouchedCallback = noop$2;
5747
+ this._onChangeCallback = noop$6;
5748
+ this._onTouchedCallback = noop$6;
5764
5749
  this._writing = false;
5765
5750
  this.showRadio = false;
5766
5751
  this.disabled = false;
@@ -5923,7 +5908,7 @@ MatBooleanField.decorators = [
5923
5908
  selector: 'mat-boolean-field',
5924
5909
  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>&nbsp;\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>&nbsp;</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",
5925
5910
  providers: [
5926
- DEFAULT_VALUE_ACCESSOR$1
5911
+ DEFAULT_VALUE_ACCESSOR$4
5927
5912
  ],
5928
5913
  changeDetection: ChangeDetectionStrategy.OnPush,
5929
5914
  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}"]
@@ -6169,7 +6154,7 @@ class MatNumpadDomService {
6169
6154
  this.appRef.detachView(this.componentRef.hostView);
6170
6155
  }
6171
6156
  }
6172
- MatNumpadDomService.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatNumpadDomService_Factory() { return new MatNumpadDomService(i0.ɵɵinject(i0.ComponentFactoryResolver), i0.ɵɵinject(i0.ApplicationRef), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i1$3.DOCUMENT, 8)); }, token: MatNumpadDomService, providedIn: "root" });
6157
+ MatNumpadDomService.ɵprov = ɵɵdefineInjectable({ factory: function MatNumpadDomService_Factory() { return new MatNumpadDomService(ɵɵinject(ComponentFactoryResolver), ɵɵinject(ApplicationRef), ɵɵinject(INJECTOR), ɵɵinject(DOCUMENT, 8)); }, token: MatNumpadDomService, providedIn: "root" });
6173
6158
  MatNumpadDomService.decorators = [
6174
6159
  { type: Injectable, args: [{
6175
6160
  providedIn: 'root'
@@ -6533,7 +6518,7 @@ SharedMatNumpadModule.decorators = [
6533
6518
  },] }
6534
6519
  ];
6535
6520
 
6536
- const DEFAULT_VALUE_ACCESSOR = {
6521
+ const DEFAULT_VALUE_ACCESSOR$5 = {
6537
6522
  provide: NG_VALUE_ACCESSOR,
6538
6523
  useExisting: forwardRef(() => MatSwipeField),
6539
6524
  multi: true
@@ -6796,7 +6781,7 @@ MatSwipeField.decorators = [
6796
6781
  { type: Component, args: [{
6797
6782
  selector: 'mat-swipe-field',
6798
6783
  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",
6799
- providers: [DEFAULT_VALUE_ACCESSOR],
6784
+ providers: [DEFAULT_VALUE_ACCESSOR$5],
6800
6785
  changeDetection: ChangeDetectionStrategy.OnPush,
6801
6786
  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}"]
6802
6787
  },] }
@@ -6854,14 +6839,14 @@ SharedMatSwipeModule.decorators = [
6854
6839
  },] }
6855
6840
  ];
6856
6841
 
6857
- const noop$1 = () => { };
6858
- const ɵ0$4 = noop$1;
6842
+ const noop$7 = () => { };
6843
+ const ɵ0$7 = noop$7;
6859
6844
  class MatChipsField {
6860
6845
  constructor(cd, formGroupDir) {
6861
6846
  this.cd = cd;
6862
6847
  this.formGroupDir = formGroupDir;
6863
- this._onChangeCallback = noop$1;
6864
- this._onTouchedCallback = noop$1;
6848
+ this._onChangeCallback = noop$7;
6849
+ this._onTouchedCallback = noop$7;
6865
6850
  this.logPrefix = '[mat-chips] ';
6866
6851
  this.formControlName = null;
6867
6852
  this.required = false;
@@ -7730,7 +7715,7 @@ class ProgressBarService {
7730
7715
  }
7731
7716
  }
7732
7717
  }
7733
- ProgressBarService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
7718
+ ProgressBarService.ɵprov = ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
7734
7719
  ProgressBarService.decorators = [
7735
7720
  { type: Injectable, args: [{ providedIn: 'root' },] }
7736
7721
  ];
@@ -7774,7 +7759,7 @@ class AppGestureConfig extends HammerGestureConfig {
7774
7759
  return mc;
7775
7760
  }
7776
7761
  }
7777
- AppGestureConfig.ɵprov = i0.ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
7762
+ AppGestureConfig.ɵprov = ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
7778
7763
  AppGestureConfig.decorators = [
7779
7764
  { type: Injectable, args: [{ providedIn: 'root' },] }
7780
7765
  ];
@@ -7999,7 +7984,7 @@ class MatPaginatorI18n extends MatPaginatorIntl {
7999
7984
  this.previousPageLabel = this.translate.instant('COMMON.PAGINATOR.PREVIOUS_PAGE');
8000
7985
  }
8001
7986
  }
8002
- MatPaginatorI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(i0.ɵɵinject(i1$1.TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
7987
+ MatPaginatorI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(ɵɵinject(TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
8003
7988
  MatPaginatorI18n.decorators = [
8004
7989
  { type: Injectable, args: [{ providedIn: 'root' },] }
8005
7990
  ];
@@ -8089,17 +8074,17 @@ function getColorContrast(color, bw) {
8089
8074
  return rgbArrayToHex(rgb.map(v => 255 - v));
8090
8075
  }
8091
8076
 
8092
- const noop = () => {
8077
+ const noop$8 = () => {
8093
8078
  };
8094
- const ɵ0$3 = noop;
8079
+ const ɵ0$8 = noop$8;
8095
8080
  class AppFormField {
8096
8081
  constructor(translate, cd, injector, formGroupDir) {
8097
8082
  this.translate = translate;
8098
8083
  this.cd = cd;
8099
8084
  this.injector = injector;
8100
8085
  this.formGroupDir = formGroupDir;
8101
- this._onChangeCallback = noop;
8102
- this._onTouchedCallback = noop;
8086
+ this._onChangeCallback = noop$8;
8087
+ this._onTouchedCallback = noop$8;
8103
8088
  this.readonly = false;
8104
8089
  this.compact = false;
8105
8090
  this.floatLabel = 'auto';
@@ -8532,14 +8517,14 @@ class AudioProvider extends StartableService {
8532
8517
  });
8533
8518
  }
8534
8519
  }
8535
- AudioProvider.ɵprov = i0.ɵɵdefineInjectable({ factory: function AudioProvider_Factory() { return new AudioProvider(i0.ɵɵinject(i1$4.Platform), i0.ɵɵinject(i2.NativeAudio, 8), i0.ɵɵinject(i3.Vibration, 8), i0.ɵɵinject(i4.AudioManagement, 8)); }, token: AudioProvider, providedIn: "root" });
8520
+ 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" });
8536
8521
  AudioProvider.decorators = [
8537
8522
  { type: Injectable, args: [{ providedIn: 'root' },] }
8538
8523
  ];
8539
8524
  AudioProvider.ctorParameters = () => [
8540
8525
  { type: Platform },
8541
- { type: NativeAudio, decorators: [{ type: Optional }] },
8542
- { type: Vibration, decorators: [{ type: Optional }] },
8526
+ { type: NativeAudio$1, decorators: [{ type: Optional }] },
8527
+ { type: Vibration$1, decorators: [{ type: Optional }] },
8543
8528
  { type: AudioManagement, decorators: [{ type: Optional }] }
8544
8529
  ];
8545
8530
 
@@ -8621,7 +8606,7 @@ class Hotkeys {
8621
8606
  });
8622
8607
  }
8623
8608
  }
8624
- Hotkeys.ɵprov = i0.ɵɵdefineInjectable({ factory: function Hotkeys_Factory() { return new Hotkeys(i0.ɵɵinject(i1$5.EventManager), i0.ɵɵinject(i2$1.MatDialog), i0.ɵɵinject(i1$3.DOCUMENT), i0.ɵɵinject(i1$4.ModalController)); }, token: Hotkeys, providedIn: "root" });
8609
+ Hotkeys.ɵprov = ɵɵdefineInjectable({ factory: function Hotkeys_Factory() { return new Hotkeys(ɵɵinject(EventManager), ɵɵinject(MatDialog), ɵɵinject(DOCUMENT), ɵɵinject(ModalController)); }, token: Hotkeys, providedIn: "root" });
8625
8610
  Hotkeys.decorators = [
8626
8611
  { type: Injectable, args: [{
8627
8612
  providedIn: 'root'
@@ -8795,7 +8780,7 @@ class Base64ImageReader {
8795
8780
  }
8796
8781
  }
8797
8782
 
8798
- const uuidv4$1 = uuidv4Imported;
8783
+ const uuidv4 = uuidv4Imported;
8799
8784
  class FileService {
8800
8785
  constructor(platform,
8801
8786
  //private transfer: FileTransfer,
@@ -8832,7 +8817,7 @@ class FileService {
8832
8817
  const lastSlashIndex = source.lastIndexOf('/');
8833
8818
  if (lastSlashIndex === -1)
8834
8819
  throw new Error('Invalid URL: ' + source);
8835
- const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4$1();
8820
+ const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4();
8836
8821
  // Download into the file system
8837
8822
  if (responseType === 'file' && this.canUseFileSystem) {
8838
8823
  console.warn(`WARN: [file] Fetching image {${source}} in local file...`);
@@ -8888,7 +8873,7 @@ class FileService {
8888
8873
  this._started = true;
8889
8874
  }
8890
8875
  }
8891
- FileService.ɵprov = i0.ɵɵdefineInjectable({ factory: function FileService_Factory() { return new FileService(i0.ɵɵinject(i1$4.Platform), i0.ɵɵinject(i2$2.HttpClient), i0.ɵɵinject(ENVIRONMENT)); }, token: FileService, providedIn: "root" });
8876
+ FileService.ɵprov = ɵɵdefineInjectable({ factory: function FileService_Factory() { return new FileService(ɵɵinject(Platform), ɵɵinject(HttpClient), ɵɵinject(ENVIRONMENT)); }, token: FileService, providedIn: "root" });
8892
8877
  FileService.decorators = [
8893
8878
  { type: Injectable, args: [{
8894
8879
  providedIn: 'root',
@@ -9054,7 +9039,7 @@ class Base58 {
9054
9039
  Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
9055
9040
 
9056
9041
  const scrypt = require('scrypt-async');
9057
- const sha256$1 = require('hash.js/lib/hash/sha/256');
9042
+ const sha256 = require('hash.js/lib/hash/sha/256');
9058
9043
  const sha512 = require('hash.js/lib/hash/sha/512');
9059
9044
  const nacl = {
9060
9045
  sign,
@@ -9158,7 +9143,7 @@ class CryptoService {
9158
9143
  * Hash (using SHA256) a message
9159
9144
  */
9160
9145
  sha256(message) {
9161
- return sha256$1().update(message).digest('hex');
9146
+ return sha256().update(message).digest('hex');
9162
9147
  }
9163
9148
  /**
9164
9149
  * Hash (using SHA512) a message
@@ -9171,7 +9156,7 @@ class CryptoService {
9171
9156
  return nacl.util.encodeBase64(m);
9172
9157
  }
9173
9158
  }
9174
- CryptoService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
9159
+ CryptoService.ɵprov = ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
9175
9160
  CryptoService.decorators = [
9176
9161
  { type: Injectable, args: [{ providedIn: 'root' },] }
9177
9162
  ];
@@ -10399,7 +10384,7 @@ class LocalSettingsService extends StartableService {
10399
10384
  return page;
10400
10385
  }
10401
10386
  }
10402
- LocalSettingsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LocalSettingsService_Factory() { return new LocalSettingsService(i0.ɵɵinject(i1$1.TranslateService), i0.ɵɵinject(i1$4.Platform), i0.ɵɵinject(i3$1.Storage), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(APP_LOCAL_SETTINGS, 8), i0.ɵɵinject(APP_LOCAL_SETTINGS_OPTIONS, 8)); }, token: LocalSettingsService, providedIn: "root" });
10387
+ 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" });
10403
10388
  LocalSettingsService.decorators = [
10404
10389
  { type: Injectable, args: [{
10405
10390
  providedIn: 'root',
@@ -11057,7 +11042,7 @@ class NetworkService extends StartableService {
11057
11042
  });
11058
11043
  }
11059
11044
  }
11060
- NetworkService.ɵprov = i0.ɵɵdefineInjectable({ factory: function NetworkService_Factory() { return new NetworkService(i0.ɵɵinject(i1$3.DOCUMENT), i0.ɵɵinject(i1$4.Platform), i0.ɵɵinject(i1$4.ModalController), i0.ɵɵinject(CryptoService), i0.ɵɵinject(i3$1.Storage), i0.ɵɵinject(LocalSettingsService), i0.ɵɵinject(i6.CacheService), i0.ɵɵinject(i2$2.HttpClient), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(i9.Network, 8), i0.ɵɵinject(i10.SplashScreen, 8), i0.ɵɵinject(i1$1.TranslateService, 8), i0.ɵɵinject(i1$4.ToastController, 8)); }, token: NetworkService, providedIn: "root" });
11045
+ 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" });
11061
11046
  NetworkService.decorators = [
11062
11047
  { type: Injectable, args: [{ providedIn: 'root' },] }
11063
11048
  ];
@@ -11068,16 +11053,16 @@ NetworkService.ctorParameters = () => [
11068
11053
  { type: CryptoService },
11069
11054
  { type: Storage },
11070
11055
  { type: LocalSettingsService },
11071
- { type: CacheService },
11056
+ { type: CacheService$1 },
11072
11057
  { type: HttpClient },
11073
11058
  { type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
11074
- { type: Network, decorators: [{ type: Optional }] },
11075
- { type: SplashScreen, decorators: [{ type: Optional }] },
11059
+ { type: Network$1, decorators: [{ type: Optional }] },
11060
+ { type: SplashScreen$1, decorators: [{ type: Optional }] },
11076
11061
  { type: TranslateService, decorators: [{ type: Optional }] },
11077
11062
  { type: ToastController, decorators: [{ type: Optional }] }
11078
11063
  ];
11079
11064
 
11080
- const ErrorCodes$2 = {
11065
+ const ErrorCodes = {
11081
11066
  UNKNOWN_ERROR: 0,
11082
11067
  LOAD_ACCOUNT_ERROR: 1,
11083
11068
  BAD_PASSWORD: 2,
@@ -11429,7 +11414,7 @@ class EntityStore {
11429
11414
  }
11430
11415
  catch (err) {
11431
11416
  console.error(err);
11432
- throw { code: ErrorCodes$2.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err };
11417
+ throw { code: ErrorCodes.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err };
11433
11418
  }
11434
11419
  }
11435
11420
  // Emit update event
@@ -12003,7 +11988,7 @@ class EntitiesStorage extends StartableService {
12003
11988
  }
12004
11989
  EntitiesStorage.TRASH_PREFIX = 'Trash#';
12005
11990
  EntitiesStorage.REMOTE_PREFIX = 'Remote#';
12006
- EntitiesStorage.ɵprov = i0.ɵɵdefineInjectable({ factory: function EntitiesStorage_Factory() { return new EntitiesStorage(i0.ɵɵinject(i1$4.Platform), i0.ɵɵinject(ProgressBarService), i0.ɵɵinject(i3$1.Storage), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(APP_LOCAL_STORAGE_TYPE_POLICIES, 8)); }, token: EntitiesStorage, providedIn: "root" });
11991
+ 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" });
12007
11992
  EntitiesStorage.decorators = [
12008
11993
  { type: Injectable, args: [{ providedIn: 'root' },] }
12009
11994
  ];
@@ -12140,10 +12125,10 @@ function referentialToString(obj, properties) {
12140
12125
  function referentialsToString(values, properties, separator) {
12141
12126
  return (values || []).map(v => referentialToString(v, properties)).join(separator || ', ');
12142
12127
  }
12143
- const ɵ0$2 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
12128
+ const ɵ0$9 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
12144
12129
  const StatusList = Object.freeze([
12145
12130
  {
12146
- id: ɵ0$2,
12131
+ id: ɵ0$9,
12147
12132
  icon: 'checkmark',
12148
12133
  label: 'REFERENTIAL.STATUS_ENUM.ENABLE'
12149
12134
  },
@@ -12418,7 +12403,7 @@ function accountToString(data) {
12418
12403
  (data.lastName || '')) || '';
12419
12404
  }
12420
12405
 
12421
- const uuidv4 = uuidv4Imported;
12406
+ const uuidv4$1 = uuidv4Imported;
12422
12407
  const _global = typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : {});
12423
12408
  const NativeWebSocket = _global.WebSocket || _global.MozWebSocket;
12424
12409
  /**
@@ -12462,7 +12447,7 @@ function createTrackerLink(opts) {
12462
12447
  // Skip if not tracked
12463
12448
  if (!context || !context.tracked)
12464
12449
  return forward(operation);
12465
- const id = context.serializationKey || uuidv4();
12450
+ const id = context.serializationKey || uuidv4$1();
12466
12451
  console.debug(`[apollo-tracker-link] Watching tracked query {${operation.operationName}#${id}}`);
12467
12452
  // Clean context, before calling JSON.stringify (remove unused attributes)
12468
12453
  const cleanContext = Object.assign(Object.assign({}, context), { optimisticResponse: null, cache: null });
@@ -13127,7 +13112,7 @@ class GraphqlService extends StartableService {
13127
13112
  (err.networkError && ((err.networkError.error && this.toAppError(err.networkError.error))
13128
13113
  || this.toAppError(err.networkError)
13129
13114
  || (err.networkError.error && this.createAppErrorByCode(err.networkError.error.status))
13130
- || this.createAppErrorByCode(ErrorCodes$2.UNKNOWN_NETWORK_ERROR)))
13115
+ || this.createAppErrorByCode(ErrorCodes.UNKNOWN_NETWORK_ERROR)))
13131
13116
  // If graphQL: try to convert the first error found
13132
13117
  || (err.graphQLErrors && err.graphQLErrors.length && this.toAppError(err.graphQLErrors[0]))
13133
13118
  || this.toAppError(err)
@@ -13135,7 +13120,7 @@ class GraphqlService extends StartableService {
13135
13120
  || (err.graphQLErrors && err.graphQLErrors[0])
13136
13121
  || err;
13137
13122
  console.error('[graphql] ' + (error && error.message || error), error.stack || '');
13138
- if (error && error.code === ErrorCodes$2.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
13123
+ if (error && error.code === ErrorCodes.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
13139
13124
  console.error('[graphql] original error: ' + err.networkError.message);
13140
13125
  this.onNetworkError.next(error);
13141
13126
  }
@@ -13171,7 +13156,7 @@ class GraphqlService extends StartableService {
13171
13156
  return 'ERROR.UNAUTHORIZED';
13172
13157
  case ServerErrorCodes.FORBIDDEN:
13173
13158
  return 'ERROR.FORBIDDEN';
13174
- case ErrorCodes$2.UNKNOWN_NETWORK_ERROR:
13159
+ case ErrorCodes.UNKNOWN_NETWORK_ERROR:
13175
13160
  return 'ERROR.UNKNOWN_NETWORK_ERROR';
13176
13161
  case ServerErrorCodes.BAD_UPDATE_DATE:
13177
13162
  return 'ERROR.BAD_UPDATE_DATE';
@@ -13202,7 +13187,7 @@ class GraphqlService extends StartableService {
13202
13187
  return undefined;
13203
13188
  }
13204
13189
  }
13205
- GraphqlService.ɵprov = i0.ɵɵdefineInjectable({ factory: function GraphqlService_Factory() { return new GraphqlService(i0.ɵɵinject(i1$4.Platform), i0.ɵɵinject(i2$3.Apollo), i0.ɵɵinject(i3$2.HttpLink), i0.ɵɵinject(NetworkService), i0.ɵɵinject(i3$1.Storage), i0.ɵɵinject(CryptoService), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(APP_GRAPHQL_TYPE_POLICIES, 8)); }, token: GraphqlService, providedIn: "root" });
13190
+ 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" });
13206
13191
  GraphqlService.decorators = [
13207
13192
  { type: Injectable, args: [{
13208
13193
  providedIn: 'root'
@@ -13219,7 +13204,7 @@ GraphqlService.ctorParameters = () => [
13219
13204
  { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_GRAPHQL_TYPE_POLICIES,] }] }
13220
13205
  ];
13221
13206
 
13222
- const sha256 = require('hash.js/lib/hash/sha/256');
13207
+ const sha256$1 = require('hash.js/lib/hash/sha/256');
13223
13208
  class BaseGraphqlServiceOptions {
13224
13209
  }
13225
13210
  // eslint-disable-next-line @angular-eslint/directive-class-suffix
@@ -13370,8 +13355,8 @@ class BaseGraphqlService extends StartableService {
13370
13355
  }
13371
13356
  /* -- protected methods -- */
13372
13357
  computeMutableWatchQueryId(opts) {
13373
- const queryName = opts.queryName || sha256().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
13374
- const variablesKey = opts.variables && sha256().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
13358
+ const queryName = opts.queryName || sha256$1().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
13359
+ const variablesKey = opts.variables && sha256$1().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
13375
13360
  return [queryName, opts.arrayFieldName, variablesKey].join('|');
13376
13361
  }
13377
13362
  findMutableWatchQueries(opts) {
@@ -13437,7 +13422,7 @@ const DEFAULT_AVATAR_IMAGE = 'assets/img/person.png';
13437
13422
  /* ------------------------------------
13438
13423
  * GraphQL queries
13439
13424
  * ------------------------------------*/
13440
- const Fragments$1 = {
13425
+ const Fragments = {
13441
13426
  account: gql `
13442
13427
  fragment AccountFragment on AccountVO {
13443
13428
  id
@@ -13472,14 +13457,14 @@ const Fragments$1 = {
13472
13457
  }`
13473
13458
  };
13474
13459
  // Load account query
13475
- const LoadQuery$1 = gql `
13460
+ const LoadQuery = gql `
13476
13461
  query Account {
13477
13462
  data: account {
13478
13463
  ...AccountFragment
13479
13464
  }
13480
13465
  }
13481
- ${Fragments$1.account}
13482
- ${Fragments$1.settings}
13466
+ ${Fragments.account}
13467
+ ${Fragments.settings}
13483
13468
  `;
13484
13469
  // Check email query
13485
13470
  const IsEmailExistsQuery = gql `
@@ -13494,21 +13479,21 @@ const AccountMutations = {
13494
13479
  ...AccountFragment
13495
13480
  }
13496
13481
  }
13497
- ${Fragments$1.account}
13498
- ${Fragments$1.settings}`,
13482
+ ${Fragments.account}
13483
+ ${Fragments.settings}`,
13499
13484
  create: gql `mutation CreateAccount($data:AccountVOInput){
13500
13485
  data: createAccount(account: $data){
13501
13486
  ...AccountFragment
13502
13487
  }
13503
13488
  }
13504
- ${Fragments$1.account}
13505
- ${Fragments$1.settings}`,
13489
+ ${Fragments.account}
13490
+ ${Fragments.settings}`,
13506
13491
  saveSettings: gql `mutation SaveSettings($data:UserSettingsVOInput){
13507
13492
  data: saveSettings(settings: $data){
13508
13493
  ...UserSettingsFragment
13509
13494
  }
13510
13495
  }
13511
- ${Fragments$1.settings}`
13496
+ ${Fragments.settings}`
13512
13497
  };
13513
13498
  // Sent confirmation email
13514
13499
  const SendConfirmEmailMutation = gql `
@@ -13817,7 +13802,7 @@ class AccountService extends BaseGraphqlService {
13817
13802
  catch (error) {
13818
13803
  console.error(error);
13819
13804
  this.resetData();
13820
- throw { code: ErrorCodes$2.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
13805
+ throw { code: ErrorCodes.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
13821
13806
  }
13822
13807
  // Store pubkey+keypair
13823
13808
  this._cache.pubkey = Base58.encode(keypair.publicKey);
@@ -13851,7 +13836,7 @@ class AccountService extends BaseGraphqlService {
13851
13836
  }
13852
13837
  catch (err) {
13853
13838
  // If account not found, check if email is valid
13854
- if (err && +(err.code) === ErrorCodes$2.LOAD_ACCOUNT_ERROR) {
13839
+ if (err && +(err.code) === ErrorCodes.LOAD_ACCOUNT_ERROR) {
13855
13840
  // Check email exists
13856
13841
  if (data.username.indexOf('@') !== -1) {
13857
13842
  let isEmailExists;
@@ -13863,11 +13848,11 @@ class AccountService extends BaseGraphqlService {
13863
13848
  }
13864
13849
  // Email not exists (no account)
13865
13850
  if (!isEmailExists) {
13866
- throw { code: ErrorCodes$2.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
13851
+ throw { code: ErrorCodes.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
13867
13852
  }
13868
13853
  }
13869
13854
  // Email exists, so error = 'bad password'
13870
- throw { code: ErrorCodes$2.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
13855
+ throw { code: ErrorCodes.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
13871
13856
  }
13872
13857
  throw err; // resend the first error
13873
13858
  }
@@ -13992,8 +13977,8 @@ class AccountService extends BaseGraphqlService {
13992
13977
  // Load remotely
13993
13978
  else {
13994
13979
  const { data } = yield this.graphql.query({
13995
- query: LoadQuery$1,
13996
- error: { code: ErrorCodes$2.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
13980
+ query: LoadQuery,
13981
+ error: { code: ErrorCodes.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
13997
13982
  fetchPolicy: opts && opts.fetchPolicy || 'no-cache' || undefined
13998
13983
  });
13999
13984
  json = data;
@@ -14020,7 +14005,7 @@ class AccountService extends BaseGraphqlService {
14020
14005
  return __awaiter(this, void 0, void 0, function* () {
14021
14006
  const isEmailExists = yield this.isEmailExists(email);
14022
14007
  if (isEmailExists) {
14023
- throw { code: ErrorCodes$2.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
14008
+ throw { code: ErrorCodes.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
14024
14009
  }
14025
14010
  });
14026
14011
  }
@@ -14056,7 +14041,7 @@ class AccountService extends BaseGraphqlService {
14056
14041
  locale
14057
14042
  },
14058
14043
  error: {
14059
- code: ErrorCodes$2.SENT_CONFIRMATION_EMAIL_FAILED,
14044
+ code: ErrorCodes.SENT_CONFIRMATION_EMAIL_FAILED,
14060
14045
  message: 'ERROR.SENT_ACCOUNT_CONFIRMATION_EMAIL_FAILED'
14061
14046
  }
14062
14047
  });
@@ -14072,7 +14057,7 @@ class AccountService extends BaseGraphqlService {
14072
14057
  code
14073
14058
  },
14074
14059
  error: {
14075
- code: ErrorCodes$2.CONFIRM_EMAIL_FAILED,
14060
+ code: ErrorCodes.CONFIRM_EMAIL_FAILED,
14076
14061
  message: 'ERROR.CONFIRM_ACCOUNT_EMAIL_FAILED'
14077
14062
  }
14078
14063
  });
@@ -14090,7 +14075,7 @@ class AccountService extends BaseGraphqlService {
14090
14075
  interval: 10
14091
14076
  },
14092
14077
  error: {
14093
- code: ErrorCodes$2.SUBSCRIBE_ACCOUNT_ERROR,
14078
+ code: ErrorCodes.SUBSCRIBE_ACCOUNT_ERROR,
14094
14079
  message: 'ERROR.ACCOUNT.SUBSCRIBE_ACCOUNT_ERROR'
14095
14080
  }
14096
14081
  }).subscribe({
@@ -14191,7 +14176,7 @@ class AccountService extends BaseGraphqlService {
14191
14176
  throw error;
14192
14177
  console.error(error);
14193
14178
  throw {
14194
- code: ErrorCodes$2.LOAD_ACCOUNT_ERROR,
14179
+ code: ErrorCodes.LOAD_ACCOUNT_ERROR,
14195
14180
  message: 'ERROR.LOAD_ACCOUNT_ERROR'
14196
14181
  };
14197
14182
  }
@@ -14359,7 +14344,7 @@ class AccountService extends BaseGraphqlService {
14359
14344
  if (!isNew) {
14360
14345
  const existingAccount = yield this.load({ fetchPolicy: 'network-only' });
14361
14346
  if (!existingAccount || !existingAccount.updateDate) {
14362
- throw { code: ErrorCodes$2.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
14347
+ throw { code: ErrorCodes.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
14363
14348
  }
14364
14349
  this.copyIdAndUpdateDate(existingAccount, account);
14365
14350
  }
@@ -14371,7 +14356,7 @@ class AccountService extends BaseGraphqlService {
14371
14356
  mutation: isNew ? AccountMutations.create : AccountMutations.save,
14372
14357
  variables: { data: json },
14373
14358
  error: {
14374
- code: ErrorCodes$2.SAVE_ACCOUNT_ERROR,
14359
+ code: ErrorCodes.SAVE_ACCOUNT_ERROR,
14375
14360
  message: 'ERROR.SAVE_ACCOUNT_ERROR'
14376
14361
  }
14377
14362
  });
@@ -14398,7 +14383,7 @@ class AccountService extends BaseGraphqlService {
14398
14383
  mutation: AccountMutations.saveSettings,
14399
14384
  variables: { data: json },
14400
14385
  error: {
14401
- code: ErrorCodes$2.SAVE_SETTINGS_ERROR,
14386
+ code: ErrorCodes.SAVE_SETTINGS_ERROR,
14402
14387
  message: 'ERROR.SAVE_SETTINGS_ERROR'
14403
14388
  }
14404
14389
  });
@@ -14420,7 +14405,7 @@ class AccountService extends BaseGraphqlService {
14420
14405
  if (counter > 4) {
14421
14406
  if (this._debug)
14422
14407
  console.debug(`[account] Failed to authentication on pod (after ${counter} attempts)`);
14423
- throw { code: ErrorCodes$2.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
14408
+ throw { code: ErrorCodes.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
14424
14409
  }
14425
14410
  // Check if valid
14426
14411
  if (token) {
@@ -14430,7 +14415,7 @@ class AccountService extends BaseGraphqlService {
14430
14415
  token
14431
14416
  },
14432
14417
  error: {
14433
- code: ErrorCodes$2.UNAUTHORIZED,
14418
+ code: ErrorCodes.UNAUTHORIZED,
14434
14419
  message: 'ERROR.UNAUTHORIZED'
14435
14420
  },
14436
14421
  fetchPolicy: 'no-cache'
@@ -14446,7 +14431,7 @@ class AccountService extends BaseGraphqlService {
14446
14431
  }
14447
14432
  // Generate a new token
14448
14433
  const challengeError = {
14449
- code: ErrorCodes$2.AUTH_CHALLENGE_ERROR,
14434
+ code: ErrorCodes.AUTH_CHALLENGE_ERROR,
14450
14435
  message: 'ERROR.AUTH_CHALLENGE_ERROR'
14451
14436
  };
14452
14437
  const data = yield this.graphql.query({
@@ -14485,7 +14470,7 @@ class AccountService extends BaseGraphqlService {
14485
14470
  target.updateDate = source.updateDate || target.updateDate;
14486
14471
  }
14487
14472
  }
14488
- AccountService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountService_Factory() { return new AccountService(i0.ɵɵinject(CryptoService), i0.ɵɵinject(NetworkService), i0.ɵɵinject(GraphqlService), i0.ɵɵinject(LocalSettingsService), i0.ɵɵinject(i3$1.Storage), i0.ɵɵinject(FileService), i0.ɵɵinject(ENVIRONMENT)); }, token: AccountService, providedIn: "root" });
14473
+ AccountService.ɵprov = ɵɵdefineInjectable({ factory: function AccountService_Factory() { return new AccountService(ɵɵinject(CryptoService), ɵɵinject(NetworkService), ɵɵinject(GraphqlService), ɵɵinject(LocalSettingsService), ɵɵinject(Storage), ɵɵinject(FileService), ɵɵinject(ENVIRONMENT)); }, token: AccountService, providedIn: "root" });
14489
14474
  AccountService.decorators = [
14490
14475
  { type: Injectable, args: [{ providedIn: 'root' },] }
14491
14476
  ];
@@ -14745,7 +14730,7 @@ const CONFIGURATION_STORAGE_KEY = 'configuration';
14745
14730
  /* ------------------------------------
14746
14731
  * GraphQL queries
14747
14732
  * ------------------------------------*/
14748
- const Fragments = {
14733
+ const Fragments$1 = {
14749
14734
  config: gql `
14750
14735
  fragment ConfigFragment on ConfigurationVO {
14751
14736
  id
@@ -14772,13 +14757,13 @@ const Fragments = {
14772
14757
  }
14773
14758
  `
14774
14759
  };
14775
- const LoadQuery = gql `
14760
+ const LoadQuery$1 = gql `
14776
14761
  query Configuration{
14777
14762
  data: configuration{
14778
14763
  ...ConfigFragment
14779
14764
  }
14780
14765
  }
14781
- ${Fragments.config}
14766
+ ${Fragments$1.config}
14782
14767
  `;
14783
14768
  // Save (create or update) account mutation
14784
14769
  const SaveMutation = gql `
@@ -14787,7 +14772,7 @@ const SaveMutation = gql `
14787
14772
  ...ConfigFragment
14788
14773
  }
14789
14774
  }
14790
- ${Fragments.config}
14775
+ ${Fragments$1.config}
14791
14776
  `;
14792
14777
  const ClearCache = gql `
14793
14778
  query ClearCache($name: String) {
@@ -14837,12 +14822,12 @@ class ConfigService extends BaseGraphqlService {
14837
14822
  return __awaiter(this, void 0, void 0, function* () {
14838
14823
  const now = Date.now();
14839
14824
  console.debug('[config] Loading Pod configuration...');
14840
- const query = opts && opts.query || LoadQuery;
14825
+ const query = opts && opts.query || LoadQuery$1;
14841
14826
  const variables = opts && opts.variables || undefined;
14842
14827
  const res = yield this.graphql.query({
14843
14828
  query,
14844
14829
  variables,
14845
- error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14830
+ error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14846
14831
  fetchPolicy: opts && opts.fetchPolicy || undefined /*default*/
14847
14832
  });
14848
14833
  const data = res && res.data ? Configuration.fromObject(res.data) : undefined;
@@ -14872,7 +14857,7 @@ class ConfigService extends BaseGraphqlService {
14872
14857
  data: json
14873
14858
  },
14874
14859
  error: {
14875
- code: ErrorCodes$2.SAVE_CONFIG_ERROR,
14860
+ code: ErrorCodes.SAVE_CONFIG_ERROR,
14876
14861
  message: 'ERROR.SAVE_CONFIG_ERROR'
14877
14862
  }
14878
14863
  });
@@ -14898,7 +14883,7 @@ class ConfigService extends BaseGraphqlService {
14898
14883
  const res = yield this.graphql.query({
14899
14884
  query: CacheStatistics,
14900
14885
  variables: null,
14901
- error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14886
+ error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14902
14887
  fetchPolicy: 'network-only'
14903
14888
  });
14904
14889
  const data = res && res.cacheStatistics || undefined;
@@ -14914,7 +14899,7 @@ class ConfigService extends BaseGraphqlService {
14914
14899
  const res = yield this.graphql.query({
14915
14900
  query: ClearCache,
14916
14901
  variables,
14917
- error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14902
+ error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14918
14903
  fetchPolicy: 'network-only'
14919
14904
  });
14920
14905
  const data = res && res.clearCache || undefined;
@@ -15073,7 +15058,7 @@ class ConfigService extends BaseGraphqlService {
15073
15058
  });
15074
15059
  }
15075
15060
  }
15076
- ConfigService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ConfigService_Factory() { return new ConfigService(i0.ɵɵinject(i1$4.Platform), i0.ɵɵinject(GraphqlService), i0.ɵɵinject(i3$1.Storage), i0.ɵɵinject(NetworkService), i0.ɵɵinject(FileService), i0.ɵɵinject(i1$4.ToastController), i0.ɵɵinject(i1$1.TranslateService), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(APP_CONFIG_OPTIONS, 8)); }, token: ConfigService, providedIn: "root" });
15061
+ ConfigService.ɵprov = ɵɵdefineInjectable({ factory: function ConfigService_Factory() { return new ConfigService(ɵɵinject(Platform), ɵɵinject(GraphqlService), ɵɵinject(Storage), ɵɵinject(NetworkService), ɵɵinject(FileService), ɵɵinject(ToastController), ɵɵinject(TranslateService), ɵɵinject(ENVIRONMENT), ɵɵinject(APP_CONFIG_OPTIONS, 8)); }, token: ConfigService, providedIn: "root" });
15077
15062
  ConfigService.decorators = [
15078
15063
  { type: Injectable, args: [{
15079
15064
  providedIn: 'root',
@@ -15092,7 +15077,7 @@ ConfigService.ctorParameters = () => [
15092
15077
  { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_CONFIG_OPTIONS,] }] }
15093
15078
  ];
15094
15079
 
15095
- const moment$2 = momentImported;
15080
+ const moment$4 = momentImported;
15096
15081
  class PlatformService extends StartableService {
15097
15082
  constructor(platform, cdkPlatform, toastController, translate, dateAdapter, entitiesStorage, settings, networkService, accountService, configService, cache, storage, audioProvider, environment, statusBar, keyboard, splashScreen, browser, downloader) {
15098
15083
  super(platform);
@@ -15296,16 +15281,16 @@ class PlatformService extends StartableService {
15296
15281
  }
15297
15282
  // config moment lib
15298
15283
  try {
15299
- moment$2.locale(event.lang);
15284
+ moment$4.locale(event.lang);
15300
15285
  console.debug('[platform] Use locale {' + event.lang + '}');
15301
15286
  }
15302
15287
  // If error, fallback to en
15303
15288
  catch (err) {
15304
- moment$2.locale('en');
15289
+ moment$4.locale('en');
15305
15290
  console.warn('[platform] Unknown local for moment lib. Using default [en]');
15306
15291
  }
15307
15292
  // Config date adapter
15308
- this.dateAdapter.setLocale(moment$2.locale());
15293
+ this.dateAdapter.setLocale(moment$4.locale());
15309
15294
  }
15310
15295
  });
15311
15296
  this.settings.onChange.subscribe(data => {
@@ -15439,7 +15424,7 @@ class PlatformService extends StartableService {
15439
15424
  });
15440
15425
  }
15441
15426
  }
15442
- PlatformService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PlatformService_Factory() { return new PlatformService(i0.ɵɵinject(i1$4.Platform), i0.ɵɵinject(i2$4.Platform), i0.ɵɵinject(i1$4.ToastController), i0.ɵɵinject(i1$1.TranslateService), i0.ɵɵinject(i1.MomentDateAdapter), i0.ɵɵinject(EntitiesStorage), i0.ɵɵinject(LocalSettingsService), i0.ɵɵinject(NetworkService), i0.ɵɵinject(AccountService), i0.ɵɵinject(ConfigService), i0.ɵɵinject(i6.CacheService), i0.ɵɵinject(i3$1.Storage), i0.ɵɵinject(AudioProvider), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(i14.StatusBar, 8), i0.ɵɵinject(i15.Keyboard, 8), i0.ɵɵinject(i10.SplashScreen, 8), i0.ɵɵinject(i17.InAppBrowser, 8), i0.ɵɵinject(i18.Downloader, 8)); }, token: PlatformService, providedIn: "root" });
15427
+ 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" });
15443
15428
  PlatformService.decorators = [
15444
15429
  { type: Injectable, args: [{ providedIn: 'root' },] }
15445
15430
  ];
@@ -15454,15 +15439,15 @@ PlatformService.ctorParameters = () => [
15454
15439
  { type: NetworkService },
15455
15440
  { type: AccountService },
15456
15441
  { type: ConfigService },
15457
- { type: CacheService },
15442
+ { type: CacheService$1 },
15458
15443
  { type: Storage },
15459
15444
  { type: AudioProvider },
15460
15445
  { type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
15461
- { type: StatusBar, decorators: [{ type: Optional }] },
15446
+ { type: StatusBar$1, decorators: [{ type: Optional }] },
15462
15447
  { type: Keyboard, decorators: [{ type: Optional }] },
15463
- { type: SplashScreen, decorators: [{ type: Optional }] },
15464
- { type: InAppBrowser, decorators: [{ type: Optional }] },
15465
- { type: Downloader, decorators: [{ type: Optional }] }
15448
+ { type: SplashScreen$1, decorators: [{ type: Optional }] },
15449
+ { type: InAppBrowser$1, decorators: [{ type: Optional }] },
15450
+ { type: Downloader$1, decorators: [{ type: Optional }] }
15466
15451
  ];
15467
15452
 
15468
15453
  class AppHelpModal {
@@ -15526,7 +15511,7 @@ class MatStepperI18n extends MatStepperIntl {
15526
15511
  this.optionalLabel = this.translate.instant('COMMON.OPTIONAL');
15527
15512
  }
15528
15513
  }
15529
- MatStepperI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(i0.ɵɵinject(i1$1.TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
15514
+ MatStepperI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(ɵɵinject(TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
15530
15515
  MatStepperI18n.decorators = [
15531
15516
  { type: Injectable, args: [{ providedIn: 'root' },] }
15532
15517
  ];
@@ -16528,7 +16513,7 @@ function state2side(state) {
16528
16513
  return 1;
16529
16514
  }
16530
16515
  }
16531
- const ɵ0$1 = (defaultStateSize) => [
16516
+ const ɵ0$a = (defaultStateSize) => [
16532
16517
  Math.round((rgbArrayMap.red[0] - 50) / defaultStateSize),
16533
16518
  Math.round((255 - rgbArrayMap.red[1]) / defaultStateSize),
16534
16519
  Math.round((255 - rgbArrayMap.red[2]) / defaultStateSize)
@@ -16536,7 +16521,7 @@ const ɵ0$1 = (defaultStateSize) => [
16536
16521
  const SCALE_OPTIONS_DEFAULT = {
16537
16522
  startColor: rgbArrayMap.red,
16538
16523
  startStates: [0, 2, 3],
16539
- startStepsFn: ɵ0$1
16524
+ startStepsFn: ɵ0$a
16540
16525
  };
16541
16526
  /**
16542
16527
  * Internal function, that create a colors scale, using iteration
@@ -16628,21 +16613,21 @@ function linearColorGradient(count, options) {
16628
16613
  return result;
16629
16614
  }
16630
16615
 
16631
- class EntityTestClass$1 {
16616
+ class EntityTestClass {
16632
16617
  }
16633
- const FAKE_ENTITIES$1 = [
16618
+ const FAKE_ENTITIES = [
16634
16619
  { id: 1, label: 'AAA', name: 'Item A', description: 'Very long description A', comments: 'Very very long comments... again for A' },
16635
16620
  { id: 2, label: 'BBB', name: 'Item B', description: 'Very long description B', comments: 'Very very long comments... again for B' },
16636
16621
  { id: 3, label: 'CCC', name: 'Item C', description: 'Very long description C', comments: 'Very very long comments... again for C' }
16637
16622
  ];
16638
- function deepCopy$1(values, size) {
16623
+ function deepCopy(values, size) {
16639
16624
  if (isNil(size)) {
16640
- return (values || FAKE_ENTITIES$1).map(entity => Object.assign({}, entity));
16625
+ return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
16641
16626
  }
16642
16627
  let result = [];
16643
16628
  let i = 1;
16644
16629
  while (result.length < size) {
16645
- result = result.concat((values || FAKE_ENTITIES$1).map(entity => {
16630
+ result = result.concat((values || FAKE_ENTITIES).map(entity => {
16646
16631
  const name = entity.name + ' #' + i;
16647
16632
  return Object.assign(Object.assign({}, entity), { id: i++, name });
16648
16633
  }));
@@ -16652,7 +16637,7 @@ function deepCopy$1(values, size) {
16652
16637
  class AutocompleteTestPage {
16653
16638
  constructor(formBuilder) {
16654
16639
  this.formBuilder = formBuilder;
16655
- this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
16640
+ this._items = deepCopy(FAKE_ENTITIES, 100);
16656
16641
  this._$items = new BehaviorSubject(undefined);
16657
16642
  this.autocompleteFields = new MatAutocompleteConfigHolder();
16658
16643
  this.memoryHide = false;
@@ -16696,7 +16681,7 @@ class AutocompleteTestPage {
16696
16681
  });
16697
16682
  // From items
16698
16683
  this.autocompleteFields.add('entity-items-large', {
16699
- items: FAKE_ENTITIES$1.slice(),
16684
+ items: FAKE_ENTITIES.slice(),
16700
16685
  attributes: ['label', 'name', 'description', 'comments'],
16701
16686
  displayWith: this.entityToString
16702
16687
  });
@@ -16706,12 +16691,12 @@ class AutocompleteTestPage {
16706
16691
  loadData() {
16707
16692
  return __awaiter(this, void 0, void 0, function* () {
16708
16693
  const data = {
16709
- entity: deepCopy$1(FAKE_ENTITIES$1)[0],
16694
+ entity: deepCopy(FAKE_ENTITIES)[0],
16710
16695
  // This item is NOT in the items list => i should be displayed anyway
16711
16696
  missingEntity: {
16712
16697
  id: -1, label: '??', name: 'Missing item'
16713
16698
  },
16714
- disableEntity: deepCopy$1(FAKE_ENTITIES$1)[2]
16699
+ disableEntity: deepCopy(FAKE_ENTITIES)[2]
16715
16700
  };
16716
16701
  this.form.setValue(data);
16717
16702
  // Load observables
@@ -16884,13 +16869,13 @@ MaterialTestingPage.ctorParameters = () => [
16884
16869
  { type: Array, decorators: [{ type: Optional }, { type: Inject, args: [APP_TESTING_PAGES,] }] }
16885
16870
  ];
16886
16871
 
16887
- const moment$1 = momentImported;
16872
+ const moment$5 = momentImported;
16888
16873
  class SwipeTestPage {
16889
16874
  constructor(formBuilder, dateFormatPipe) {
16890
16875
  this.formBuilder = formBuilder;
16891
16876
  this.dateFormatPipe = dateFormatPipe;
16892
16877
  this.$dates = new BehaviorSubject(undefined);
16893
- this._today = moment$1().startOf('day');
16878
+ this._today = moment$5().startOf('day');
16894
16879
  this.form = formBuilder.group({
16895
16880
  empty: [null, Validators.required],
16896
16881
  date: [null, Validators.compose([Validators.required, SharedValidators.validDate])],
@@ -16903,7 +16888,7 @@ class SwipeTestPage {
16903
16888
  ngOnInit() {
16904
16889
  const dates = [];
16905
16890
  for (let d = 0; d < 7; d++) {
16906
- dates[d] = moment$1(this._today).add(d - 3, 'day');
16891
+ dates[d] = moment$5(this._today).add(d - 3, 'day');
16907
16892
  }
16908
16893
  this.$dates.next(dates);
16909
16894
  this.loadData();
@@ -16944,7 +16929,7 @@ SwipeTestPage.ctorParameters = () => [
16944
16929
  { type: DateFormatPipe }
16945
16930
  ];
16946
16931
 
16947
- const moment = momentImported;
16932
+ const moment$6 = momentImported;
16948
16933
  class DateTimeTestPage {
16949
16934
  constructor(platform, formBuilder, cd) {
16950
16935
  this.platform = platform;
@@ -16976,7 +16961,7 @@ class DateTimeTestPage {
16976
16961
  // Load the form with data
16977
16962
  loadData() {
16978
16963
  return __awaiter(this, void 0, void 0, function* () {
16979
- const now = moment();
16964
+ const now = moment$6();
16980
16965
  const data = {
16981
16966
  empty: toDateISOString(now.clone().add(2, 'hours')),
16982
16967
  enable: toDateISOString(now),
@@ -17037,9 +17022,9 @@ DateTimeTestPage.ctorParameters = () => [
17037
17022
  { type: ChangeDetectorRef }
17038
17023
  ];
17039
17024
 
17040
- class EntityTestClass {
17025
+ class EntityTestClass$1 {
17041
17026
  }
17042
- const FAKE_ENTITIES = [
17027
+ const FAKE_ENTITIES$1 = [
17043
17028
  { id: 1, label: 'AAA', name: 'Item A' },
17044
17029
  { id: 2, label: 'BBB', name: 'Item B' },
17045
17030
  { id: 3, label: 'CCC', name: 'Item C' },
@@ -17048,14 +17033,14 @@ const FAKE_ENTITIES = [
17048
17033
  { id: 6, label: 'FFF', name: 'Item F' },
17049
17034
  { id: 7, label: 'GGG', name: 'Item G' }
17050
17035
  ];
17051
- function deepCopy(values, size) {
17036
+ function deepCopy$1(values, size) {
17052
17037
  if (isNil(size)) {
17053
- return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
17038
+ return (values || FAKE_ENTITIES$1).map(entity => Object.assign({}, entity));
17054
17039
  }
17055
17040
  let result = [];
17056
17041
  let i = 1;
17057
17042
  while (result.length < size) {
17058
- result = result.concat((values || FAKE_ENTITIES).map(entity => {
17043
+ result = result.concat((values || FAKE_ENTITIES$1).map(entity => {
17059
17044
  const name = entity.name + ' #' + i;
17060
17045
  return Object.assign(Object.assign({}, entity), { id: i++, name });
17061
17046
  }));
@@ -17065,7 +17050,7 @@ function deepCopy(values, size) {
17065
17050
  class ChipsTestPage {
17066
17051
  constructor(formBuilder) {
17067
17052
  this.formBuilder = formBuilder;
17068
- this._items = deepCopy(FAKE_ENTITIES, 100);
17053
+ this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
17069
17054
  this._$items = new BehaviorSubject(undefined);
17070
17055
  this.autocompleteFields = new MatAutocompleteConfigHolder();
17071
17056
  this.form = formBuilder.group({
@@ -17104,7 +17089,7 @@ class ChipsTestPage {
17104
17089
  // Load the form with data
17105
17090
  loadData() {
17106
17091
  return __awaiter(this, void 0, void 0, function* () {
17107
- const items = deepCopy(FAKE_ENTITIES);
17092
+ const items = deepCopy$1(FAKE_ENTITIES$1);
17108
17093
  const data = {
17109
17094
  entity: items.slice(0, 1),
17110
17095
  entityInitial: items.slice(1, 2),
@@ -17180,7 +17165,7 @@ MatBadgeIconTestPage.decorators = [
17180
17165
  },] }
17181
17166
  ];
17182
17167
 
17183
- const routes$1 = [
17168
+ const routes = [
17184
17169
  {
17185
17170
  path: '',
17186
17171
  pathMatch: 'full',
@@ -17232,7 +17217,7 @@ MaterialTestingModule.decorators = [
17232
17217
  ReactiveFormsModule,
17233
17218
  SharedMaterialModule,
17234
17219
  TranslateModule.forChild(),
17235
- RouterModule.forChild(routes$1)
17220
+ RouterModule.forChild(routes)
17236
17221
  ],
17237
17222
  declarations: [
17238
17223
  MaterialTestingPage,
@@ -18247,7 +18232,7 @@ class UserSettingsValidatorService extends AppValidatorService {
18247
18232
  });
18248
18233
  }
18249
18234
  }
18250
- UserSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(i0.ɵɵinject(i1$6.FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
18235
+ UserSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(ɵɵinject(FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
18251
18236
  UserSettingsValidatorService.decorators = [
18252
18237
  { type: Injectable, args: [{ providedIn: 'root' },] }
18253
18238
  ];
@@ -18291,7 +18276,7 @@ class AccountValidatorService extends AppValidatorService {
18291
18276
  return validatorFns.length ? Validators.compose(validatorFns) : validatorFns.length === 1 ? validatorFns[0] : undefined;
18292
18277
  }
18293
18278
  }
18294
- AccountValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(i0.ɵɵinject(i1$6.FormBuilder), i0.ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
18279
+ AccountValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
18295
18280
  AccountValidatorService.decorators = [
18296
18281
  { type: Injectable, args: [{ providedIn: 'root' },] }
18297
18282
  ];
@@ -18856,7 +18841,7 @@ class LocalSettingsValidatorService extends AppValidatorService {
18856
18841
  });
18857
18842
  }
18858
18843
  }
18859
- LocalSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(i0.ɵɵinject(i1$6.FormBuilder), i0.ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
18844
+ LocalSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(ɵɵinject(FormBuilder), ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
18860
18845
  LocalSettingsValidatorService.decorators = [
18861
18846
  { type: Injectable, args: [{ providedIn: 'root' },] }
18862
18847
  ];
@@ -19475,7 +19460,7 @@ class IsOnFieldModePipe {
19475
19460
  return value === 'FIELD';
19476
19461
  }
19477
19462
  }
19478
- IsOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
19463
+ IsOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
19479
19464
  IsOnFieldModePipe.decorators = [
19480
19465
  { type: Pipe, args: [{
19481
19466
  name: 'isOnField'
@@ -19487,7 +19472,7 @@ class IsNotOnFieldModePipe {
19487
19472
  return value !== 'FIELD';
19488
19473
  }
19489
19474
  }
19490
- IsNotOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
19475
+ IsNotOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
19491
19476
  IsNotOnFieldModePipe.decorators = [
19492
19477
  { type: Pipe, args: [{
19493
19478
  name: 'isNotOnField'
@@ -19502,7 +19487,7 @@ class PersonToStringPipe {
19502
19487
  return PersonUtils.personToString(value);
19503
19488
  }
19504
19489
  }
19505
- PersonToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
19490
+ PersonToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
19506
19491
  PersonToStringPipe.decorators = [
19507
19492
  { type: Pipe, args: [{
19508
19493
  name: 'personToString'
@@ -19887,7 +19872,7 @@ class IsLoginAccountPipe {
19887
19872
  return value && value.pubkey && true;
19888
19873
  }
19889
19874
  }
19890
- IsLoginAccountPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
19875
+ IsLoginAccountPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
19891
19876
  IsLoginAccountPipe.decorators = [
19892
19877
  { type: Pipe, args: [{
19893
19878
  name: 'isLogin'
@@ -19899,7 +19884,7 @@ class AccountToStringPipe {
19899
19884
  return accountToString(value);
19900
19885
  }
19901
19886
  }
19902
- AccountToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
19887
+ AccountToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
19903
19888
  AccountToStringPipe.decorators = [
19904
19889
  { type: Pipe, args: [{
19905
19890
  name: 'accountToString'
@@ -19914,7 +19899,7 @@ class DepartmentToStringPipe {
19914
19899
  return departmentToString(value);
19915
19900
  }
19916
19901
  }
19917
- DepartmentToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
19902
+ DepartmentToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
19918
19903
  DepartmentToStringPipe.decorators = [
19919
19904
  { type: Pipe, args: [{
19920
19905
  name: 'departmentToString'
@@ -19940,7 +19925,7 @@ class MenuService {
19940
19925
  this._visibleSubject.next(value);
19941
19926
  }
19942
19927
  }
19943
- MenuService.ɵprov = i0.ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
19928
+ MenuService.ɵprov = ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
19944
19929
  MenuService.decorators = [
19945
19930
  { type: Injectable, args: [{
19946
19931
  providedIn: 'root'
@@ -20464,7 +20449,7 @@ class AuthGuardService {
20464
20449
  }));
20465
20450
  }
20466
20451
  }
20467
- AuthGuardService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AuthGuardService_Factory() { return new AuthGuardService(i0.ɵɵinject(AccountService), i0.ɵɵinject(i1$4.ModalController), i0.ɵɵinject(i3$3.Router), i0.ɵɵinject(ENVIRONMENT)); }, token: AuthGuardService, providedIn: "root" });
20452
+ AuthGuardService.ɵprov = ɵɵdefineInjectable({ factory: function AuthGuardService_Factory() { return new AuthGuardService(ɵɵinject(AccountService), ɵɵinject(ModalController), ɵɵinject(Router), ɵɵinject(ENVIRONMENT)); }, token: AuthGuardService, providedIn: "root" });
20468
20453
  AuthGuardService.decorators = [
20469
20454
  { type: Injectable, args: [{ providedIn: 'root' },] }
20470
20455
  ];
@@ -20506,7 +20491,7 @@ class BaseEntityService extends BaseGraphqlService {
20506
20491
  query,
20507
20492
  variables: { id },
20508
20493
  fetchPolicy: opts && opts.fetchPolicy || undefined,
20509
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
20494
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
20510
20495
  })
20511
20496
  .pipe(map(({ data }) => (!opts || opts.toEntity !== false)
20512
20497
  ? (data && this.fromObject(data))
@@ -20521,7 +20506,7 @@ class BaseEntityService extends BaseGraphqlService {
20521
20506
  query,
20522
20507
  variables: { id },
20523
20508
  fetchPolicy: opts && opts.fetchPolicy || undefined,
20524
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
20509
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
20525
20510
  });
20526
20511
  // Convert to entity
20527
20512
  return (!opts || opts.toEntity !== false)
@@ -20552,7 +20537,7 @@ class BaseEntityService extends BaseGraphqlService {
20552
20537
  totalFieldName: withTotal ? 'total' : undefined,
20553
20538
  insertFilterFn: filter && filter.asFilterFn(),
20554
20539
  variables,
20555
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
20540
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
20556
20541
  fetchPolicy: opts && opts.fetchPolicy || undefined
20557
20542
  })
20558
20543
  .pipe(map(({ data, total }) => {
@@ -20588,7 +20573,7 @@ class BaseEntityService extends BaseGraphqlService {
20588
20573
  const { data, total } = yield this.graphql.query({
20589
20574
  query,
20590
20575
  variables,
20591
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
20576
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
20592
20577
  fetchPolicy: opts && opts.fetchPolicy || 'network-only'
20593
20578
  });
20594
20579
  const entities = (!opts || opts.toEntity !== false) ?
@@ -20627,7 +20612,7 @@ class BaseEntityService extends BaseGraphqlService {
20627
20612
  variables: {
20628
20613
  filter: filter && filter.asPodObject()
20629
20614
  },
20630
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
20615
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
20631
20616
  fetchPolicy: opts && opts.fetchPolicy || 'network-only'
20632
20617
  });
20633
20618
  return res.total;
@@ -20660,7 +20645,7 @@ class BaseEntityService extends BaseGraphqlService {
20660
20645
  variables: {
20661
20646
  data: json
20662
20647
  },
20663
- error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
20648
+ error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
20664
20649
  update: (proxy, { data }) => {
20665
20650
  const savedEntities = data && data.data;
20666
20651
  if (savedEntities) {
@@ -20716,7 +20701,7 @@ class BaseEntityService extends BaseGraphqlService {
20716
20701
  variables: {
20717
20702
  data: json
20718
20703
  },
20719
- error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
20704
+ error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
20720
20705
  update: (cache, { data }) => {
20721
20706
  // Update entity
20722
20707
  const savedEntity = data && data.data;
@@ -20764,7 +20749,7 @@ class BaseEntityService extends BaseGraphqlService {
20764
20749
  refetchQueries: this.getRefetchQueriesForMutation(opts),
20765
20750
  awaitRefetchQueries: opts && opts.awaitRefetchQueries,
20766
20751
  variables: { ids },
20767
- error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
20752
+ error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
20768
20753
  update: (cache, res) => {
20769
20754
  // Remove from cache
20770
20755
  if (this.watchQueriesUpdatePolicy === 'update-cache') {
@@ -20805,7 +20790,7 @@ class BaseEntityService extends BaseGraphqlService {
20805
20790
  refetchQueries: this.getRefetchQueriesForMutation(opts),
20806
20791
  awaitRefetchQueries: opts && opts.awaitRefetchQueries,
20807
20792
  variables: { id },
20808
- error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
20793
+ error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
20809
20794
  update: (proxy, res) => {
20810
20795
  // Remove from cache
20811
20796
  if (this.watchQueriesUpdatePolicy === 'update-cache') {
@@ -20838,7 +20823,7 @@ class BaseEntityService extends BaseGraphqlService {
20838
20823
  query: opts && opts.query || this.subscriptions.listenChanges,
20839
20824
  variables,
20840
20825
  error: {
20841
- code: ErrorCodes$2.SUBSCRIBE_DATA_ERROR,
20826
+ code: ErrorCodes.SUBSCRIBE_DATA_ERROR,
20842
20827
  message: 'ERROR.SUBSCRIBE_DATA_ERROR'
20843
20828
  }
20844
20829
  })
@@ -21024,7 +21009,7 @@ class EntitiesTableDataSource extends TableDataSource {
21024
21009
  if (this._debug)
21025
21010
  invalidRows.forEach(row => AppTableUtils.logRowErrors(row, `[table-datasource] ${this._logTypeName} row #${row.id}`));
21026
21011
  // Stop with an error
21027
- throw { code: ErrorCodes$2.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
21012
+ throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
21028
21013
  }
21029
21014
  this._editingRowCount = 0;
21030
21015
  let data;
@@ -21640,7 +21625,7 @@ class AppTable {
21640
21625
  merge(
21641
21626
  // Listen sort events
21642
21627
  this.sort && this.sort.sortChange
21643
- .pipe(mergeMap(() => __awaiter(this, void 0, void 0, function* () { return this.saveBeforeAction('sort'); })), filter(res => res === true),
21628
+ .pipe(filter(() => !this.sort.disabled), mergeMap(() => __awaiter(this, void 0, void 0, function* () { return this.saveBeforeAction('sort'); })), filter(res => res === true),
21644
21629
  // Save sort in settings
21645
21630
  tap(() => {
21646
21631
  const value = [this.sort.active, this.sort.direction || 'asc'].join(':');
@@ -21657,7 +21642,9 @@ class AppTable {
21657
21642
  });
21658
21643
  // If the user changes the sort order, reset back to the first page.
21659
21644
  if (this.sort && this.paginator) {
21660
- this.registerSubscription(this.sort.sortChange.subscribe(() => this.paginator.pageIndex = 0));
21645
+ this.registerSubscription(this.sort.sortChange
21646
+ .pipe(filter(() => !this.sort.disabled))
21647
+ .subscribe(() => this.paginator.pageIndex = 0));
21661
21648
  }
21662
21649
  }
21663
21650
  ngOnDestroy() {
@@ -21886,14 +21873,14 @@ class AppTable {
21886
21873
  return __awaiter(this, void 0, void 0, function* () {
21887
21874
  opts = Object.assign({ keepEditing: this.keepEditedRowOnSave }, opts);
21888
21875
  if (this.readOnly) {
21889
- throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
21876
+ throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
21890
21877
  }
21891
21878
  this.resetError();
21892
21879
  // Keep edited row id (should be done BEFORE confirmEditCreate() )
21893
21880
  this.previouslyEditedRowId = opts.keepEditing && ((_a = this.editedRow) === null || _a === void 0 ? void 0 : _a.editing) ? this.editedRow.id : undefined;
21894
21881
  const previouslyEditedData = isNotNil(this.previouslyEditedRowId) && this.editedRow.currentData || ((_b = this.singleSelectedRow) === null || _b === void 0 ? void 0 : _b.currentData);
21895
21882
  if (!this.confirmEditCreate()) {
21896
- throw { code: ErrorCodes$2.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
21883
+ throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
21897
21884
  }
21898
21885
  // Mark as saving
21899
21886
  this.markAsSaving();
@@ -22010,7 +21997,7 @@ class AppTable {
22010
21997
  var _a;
22011
21998
  return __awaiter(this, void 0, void 0, function* () {
22012
21999
  if (this.readOnly) {
22013
- throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
22000
+ throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
22014
22001
  }
22015
22002
  if (event === null || event === void 0 ? void 0 : event.defaultPrevented)
22016
22003
  return 0; // SKip
@@ -23513,7 +23500,7 @@ class AppEntityEditor extends AppTabEditor {
23513
23500
  return __awaiter(this, void 0, void 0, function* () {
23514
23501
  if (!this.dataService)
23515
23502
  throw new Error('Cannot load data: missing \'dataService\'!');
23516
- this.error = null;
23503
+ this.resetError();
23517
23504
  // New data
23518
23505
  if (isNil(id)) {
23519
23506
  try {
@@ -23524,7 +23511,7 @@ class AppEntityEditor extends AppTabEditor {
23524
23511
  yield this.updateView(data, Object.assign({ openTabIndex: 0 }, opts));
23525
23512
  }
23526
23513
  catch (err) {
23527
- this.setError(err);
23514
+ this.setError(err, { emitEvent: false });
23528
23515
  this.selectedTabIndex = 0;
23529
23516
  }
23530
23517
  finally {
@@ -23536,7 +23523,7 @@ class AppEntityEditor extends AppTabEditor {
23536
23523
  try {
23537
23524
  const data = yield this.dataService.load(id, opts);
23538
23525
  if (!data)
23539
- throw { code: ErrorCodes$2.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
23526
+ throw { code: ErrorCodes.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
23540
23527
  this._usageMode = this.computeUsageMode(data);
23541
23528
  yield this.onEntityLoaded(data, opts);
23542
23529
  yield this.updateView(data, opts);
@@ -23704,7 +23691,7 @@ class AppEntityEditor extends AppTabEditor {
23704
23691
  return false;
23705
23692
  }
23706
23693
  this.markAsSaving();
23707
- this.error = undefined;
23694
+ this.resetError();
23708
23695
  if (this.debug)
23709
23696
  console.debug('[data-editor] Saving data...');
23710
23697
  try {
@@ -23779,7 +23766,7 @@ class AppEntityEditor extends AppTabEditor {
23779
23766
  return;
23780
23767
  console.debug('[data-editor] Asking to delete...');
23781
23768
  this.markAsSaving();
23782
- this.error = undefined;
23769
+ this.resetError();
23783
23770
  try {
23784
23771
  // Get data
23785
23772
  const data = yield this.getValue();
@@ -23827,17 +23814,35 @@ class AppEntityEditor extends AppTabEditor {
23827
23814
  }
23828
23815
  });
23829
23816
  }
23830
- setError(err) {
23831
- console.error('[entity-editor] Error: ' + err && err.message || '', err);
23832
- let userMessage = err && err.message && this.translate.instant(err.message) || err;
23833
- // Add details error (if any) under the main message
23834
- const detailMessage = err && err.details && (err.details.message || err.details) || undefined;
23835
- if (isNotNilString(detailMessage)) {
23836
- userMessage += `<br/><small class="hidden-xs hidden-sm" title="${detailMessage}">`;
23837
- userMessage += detailMessage.length < 70 ? detailMessage : detailMessage.substring(0, 67) + '...';
23838
- userMessage += '</small>';
23817
+ resetError(opts) {
23818
+ if (isNotNilOrBlank(this.error)) {
23819
+ this.error = null;
23820
+ if (!opts || opts.emitEvent !== false)
23821
+ this.markForCheck();
23822
+ }
23823
+ }
23824
+ setError(err, opts) {
23825
+ if (!err || typeof err === 'string') {
23826
+ console.error('[entity-editor] Error: ' + (err || ''));
23827
+ this.error = err;
23828
+ }
23829
+ else {
23830
+ console.error('[entity-editor] Error: ' + err.message || '', err);
23831
+ let userMessage = err.message && this.translate.instant(err.message) || err;
23832
+ // Add details error (if any) under the main message
23833
+ const detailMessage = (!err.details || typeof err.details === 'string')
23834
+ ? err.details
23835
+ : err.details.message;
23836
+ if (isNotNilOrBlank(detailMessage)) {
23837
+ const cssClass = (opts === null || opts === void 0 ? void 0 : opts.detailsCssClass) || 'hidden-xs hidden-sm';
23838
+ userMessage += `<br/><small class="${cssClass}" title="${detailMessage}">`;
23839
+ userMessage += detailMessage.length < 70 ? detailMessage : detailMessage.substring(0, 67) + '...';
23840
+ userMessage += '</small>';
23841
+ }
23842
+ this.error = userMessage;
23839
23843
  }
23840
- this.error = userMessage;
23844
+ if (!opts || opts.emitEvent !== false)
23845
+ this.markForCheck();
23841
23846
  }
23842
23847
  /* -- protected methods -- */
23843
23848
  /**
@@ -24441,7 +24446,7 @@ class UserEventService extends BaseGraphqlService {
24441
24446
  EntityUtils.copyIdAndUpdateDate(source, target);
24442
24447
  }
24443
24448
  }
24444
- UserEventService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UserEventService_Factory() { return new UserEventService(i0.ɵɵinject(GraphqlService), i0.ɵɵinject(AccountService), i0.ɵɵinject(NetworkService), i0.ɵɵinject(i1$1.TranslateService), i0.ɵɵinject(i1$4.ToastController), i0.ɵɵinject(ENVIRONMENT)); }, token: UserEventService, providedIn: "root" });
24449
+ 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" });
24445
24450
  UserEventService.decorators = [
24446
24451
  { type: Injectable, args: [{ providedIn: 'root' },] }
24447
24452
  ];
@@ -24826,7 +24831,7 @@ class PersonService extends BaseEntityService {
24826
24831
  return target;
24827
24832
  }
24828
24833
  }
24829
- PersonService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonService_Factory() { return new PersonService(i0.ɵɵinject(GraphqlService), i0.ɵɵinject(PlatformService), i0.ɵɵinject(NetworkService), i0.ɵɵinject(EntitiesStorage)); }, token: PersonService, providedIn: "root" });
24834
+ PersonService.ɵprov = ɵɵdefineInjectable({ factory: function PersonService_Factory() { return new PersonService(ɵɵinject(GraphqlService), ɵɵinject(PlatformService), ɵɵinject(NetworkService), ɵɵinject(EntitiesStorage)); }, token: PersonService, providedIn: "root" });
24830
24835
  PersonService.decorators = [
24831
24836
  { type: Injectable, args: [{ providedIn: 'root' },] }
24832
24837
  ];
@@ -24857,7 +24862,7 @@ class PersonValidatorService {
24857
24862
  return this.formBuilder.group(formConfig);
24858
24863
  }
24859
24864
  }
24860
- PersonValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(i0.ɵɵinject(i1$6.FormBuilder), i0.ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
24865
+ PersonValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
24861
24866
  PersonValidatorService.decorators = [
24862
24867
  { type: Injectable, args: [{ providedIn: 'root' },] }
24863
24868
  ];
@@ -25063,16 +25068,16 @@ AdminModule.decorators = [
25063
25068
  ];
25064
25069
  AdminModule.ctorParameters = () => [];
25065
25070
 
25066
- const ɵ0 = {
25071
+ const ɵ0$b = {
25067
25072
  profile: 'ADMIN'
25068
25073
  };
25069
- const routes = [
25074
+ const routes$1 = [
25070
25075
  {
25071
25076
  path: 'users',
25072
25077
  pathMatch: 'full',
25073
25078
  component: UsersPage,
25074
25079
  canActivate: [AuthGuardService],
25075
- data: ɵ0
25080
+ data: ɵ0$b
25076
25081
  }
25077
25082
  ];
25078
25083
  class AdminRoutingModule {
@@ -25082,13 +25087,13 @@ AdminRoutingModule.decorators = [
25082
25087
  imports: [
25083
25088
  SharedRoutingModule,
25084
25089
  AdminModule,
25085
- RouterModule.forChild(routes)
25090
+ RouterModule.forChild(routes$1)
25086
25091
  ],
25087
25092
  exports: [RouterModule]
25088
25093
  },] }
25089
25094
  ];
25090
25095
 
25091
- const ErrorCodes = {
25096
+ const ErrorCodes$2 = {
25092
25097
  LOAD_PERSONS_ERROR: 100,
25093
25098
  SAVE_PERSONS_ERROR: 101,
25094
25099
  DELETE_PERSONS_ERROR: 102,
@@ -25100,5 +25105,5 @@ const ErrorCodes = {
25100
25105
  * Generated bundle index. Do not edit.
25101
25106
  */
25102
25107
 
25103
- export { APP_ABOUT_DEVELOPERS, APP_ABOUT_PARTNERS, APP_CONFIG_OPTIONS, APP_FORM_ERROR_I18N_KEYS, APP_GRAPHQL_TYPE_POLICIES, APP_HOME_BUTTONS, APP_LOCALES, APP_LOCAL_SETTINGS, APP_LOCAL_SETTINGS_OPTIONS, APP_LOCAL_STORAGE_TYPE_POLICIES, APP_MENU_ITEMS, APP_TESTING_PAGES, AboutModal, Account, AccountPage, AccountService, AccountToStringPipe, ActionsColumnComponent, AdminModule, AdminRoutingModule, Alerts, AnimationState, AppEditor, AppEditorOptions, AppEntityEditor, AppForm, AppFormField, AppFormProvider, AppFormUtils, AppGestureConfig, AppGraphQLModule, AppHelpModal, AppInMemoryTable, AppInstallUpgradeCard, AppListForm, AppLoadingSpinner, AppMenuModule, AppNullForm, AppPropertiesForm, AppTabEditor, AppTabEditorOptions, AppTable, AppTableDataSourceOptions, AppTableUtils, AppValidatorService, AppendToInputDirective, ArrayFilterPipe, ArrayFirstPipe, ArrayIncludesPipe, ArrayLengthPipe, ArrayPluckPipe, AudioProvider, AuthForm, AuthGuardService, AuthModal, AutocompleteTestPage, AutofocusDirective, Base58, BaseEntityService, BaseGraphqlService, BaseGraphqlServiceOptions, BaseReferential, Beans, CORE_CONFIG_OPTIONS, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigService, Configuration, CoreModule, CryptoService, DATE_ISO_PATTERN, DATE_UNIX_MS_TIMESTAMP, DATE_UNIX_TIMESTAMP, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLACEHOLDER_CHAR, DEFAULT_REQUIRED_COLUMNS, DateDiffDurationPipe, DateFormatPipe, DateFromNowPipe, DateTimeTestPage, DateUtils, Department, DepartmentToStringPipe, DurationPipe, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesService, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, ErrorCodes, EvenPipe, FileService, FileSizePipe, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, FormErrorTranslatePipe, FormErrorTranslator, FormFieldValuesHolder, Fragments, GraphqlService, HAMMER_PRESS_TIME, HAMMER_TAP_TIME, HighlightPipe, HomePage, Hotkeys, HotkeysDialogComponent, InMemoryEntitiesService, IsLoginAccountPipe, IsNilOrBlankPipe, IsNotNilOrBlankPipe, IsNotOnFieldModePipe, IsOnFieldModePipe, JobUtils, KEYBOARD_HIDE_DELAY_MS, LAT_LONG_DEFAULT_MAX_DECIMALS, LAT_LONG_PATTERNS, LatLongFormatPipe, LatLongTestPage, LatitudeFormatPipe, LocalSettingsService, LongitudeFormatPipe, MINIFY_ENTITY_FOR_LOCAL_STORAGE, MINIFY_ENTITY_FOR_POD, MapGetPipe, MapKeysPipe, MapValuesPipe, MatAutocompleteConfigHolder, MatAutocompleteField, MatBooleanField, MatChipsField, MatDate, MatDateShort, MatDateTime, MatDuration, MatLatLongField, MatNumpadComponent, MatNumpadContainerComponent, MatNumpadContent, MatPaginatorI18n, MatStepperI18n, MatSwipeField, MaterialChipsModule, MaterialTestingModule, MaterialTestingPage, MathAbsPipe, MenuComponent, MenuItems, MenuService, ModalToolbarComponent, NetworkService, NgInitDirective, NgVarDirective, NotEmptyArrayPipe, NumberFormatPipe, NumpadDirective, OddPipe, PRIORITIZED_AUTHORITIES, PUBKEY_REGEXP, Peer, Person, PersonFilter, PersonFragments, PersonService, PersonToStringPipe, PersonUtils, PersonValidatorService, PlatformService, ProgressBarService, ProgressInterceptor, PropertyGetPipe, RESERVED_END_COLUMNS, RESERVED_START_COLUMNS, Referential, ReferentialRef, ReferentialUtils, RegisterConfirmPage, SETTINGS_DISPLAY_COLUMNS, SETTINGS_FILTER, SETTINGS_PAGE_SIZE, SETTINGS_SORTED_COLUMN, SETTINGS_STORAGE_KEY, SETTINGS_TRANSIENT_PROPERTIES, SPACE_PLACEHOLDER_CHAR, SelectPeerModal, SettingsPage, SharedDirectivesModule, SharedFormArrayValidators, SharedFormGroupValidators, SharedHotkeysModule, SharedMatAutocompleteModule, SharedMatBooleanModule, SharedMatDateTimeModule, SharedMatDurationModule, SharedMatLatLongModule, SharedMatNumpadModule, SharedMatSwipeModule, SharedMaterialModule, SharedModule, SharedPipesModule, SharedRoutingModule, SharedTestingModule, SharedValidators, SocialModule, Software, StartableService, StatusById, StatusIds, StatusList, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, UserEvent, UserEventFilter, UserEventService, UserEventTypes, UserEventsTable, UserSettings, UsersPage, accountToString, adaptValueToControl, addValueInArray, arrayDistinct, arrayGroupBy, arraySize, asInputElement, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, copyEntity2Form, createPromiseEvent, createPromiseEventEmitter, departmentToString, departmentsToString, disableControls, emitPromiseEvent, entityToString, equals, equalsOrNil, fadeInAnimation, fadeInOutAnimation, filterFalse, filterNotNil, filterNumberInput, filterTrue, firstArrayValue, firstFalse, firstFalsePromise, firstNotNil, firstNotNilPromise, firstTrue, firstTruePromise, focusInput, focusNextInput, focusPreviousInput, formatLatitude, formatLongitude, fromDateISOString, fromScrollEndEvent, fromUnixMsTimestamp, fromUnixTimestamp, getCaretPosition, getColorContrast, getColorShade, getColorTint, getConnectionType, getControlFromPath, getFocusableInputElements, getFormErrors, getFormValueFromEntity, getProperty, getPropertyByPath, getPropertyByPathAsString, getRandomImage, hexToRgb, hexToRgbArray, isControlHasInput, isEmptyArray, isInputElement, isInstanceOf, isInt, isNil, isNilOrBlank, isNilOrNaN, isNotEmptyArray, isNotNil, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, joinProperties, joinPropertiesPath, logFormErrors, markAllAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, matchUpperCase, mergeLoadResult, mixHex, moveInputCaretToSeparator, noTrailingSlash, notNilOrDefault, nullIfUndefined, parseLatitudeOrLongitude, propertiesPathComparator, propertyComparator, propertyPathComparator, referentialToString, referentialsToString, remove, removeAll, removeDiacritics, removeDuplicatesFromArray, removeEnd, removeValueInArray, replaceAll, resetCalculatedValue, resizeArray, rgbArrayToHex, rgbToHex, round, scrollFactory, selectInputContent, selectInputRange, setCalculatedValue, setTabIndex, sleep, slideInOutAnimation, slideUpDownAnimation, sort, splitById, splitByProperty, startsWithUpperCase, suggestFromArray, suggestFromStringArray, tabindexComparator, toBoolean, toDateISOString, toDuration, toFloat, toInt, toNotNil, toNumber, trimEmptyToNull, uncapitalizeFirstLetter, updateValueAndValidity, waitFor, waitForTrue, waitIdle, waitWhilePending, CustomReuseStrategy as ɵa, MatNumpadDomService as ɵb, SharedMatBadgeIconModule as ɵc, MatBadgeIconDirective as ɵd, isFocusableElement as ɵe, MatBadgeIconTestPage as ɵf, RegisterForm as ɵg, AccountValidatorService as ɵh, RegisterModal as ɵi, UserSettingsValidatorService as ɵj, LocalSettingsValidatorService as ɵk, AppIconComponent as ɵl };
25108
+ export { APP_ABOUT_DEVELOPERS, APP_ABOUT_PARTNERS, APP_CONFIG_OPTIONS, APP_FORM_ERROR_I18N_KEYS, APP_GRAPHQL_TYPE_POLICIES, APP_HOME_BUTTONS, APP_LOCALES, APP_LOCAL_SETTINGS, APP_LOCAL_SETTINGS_OPTIONS, APP_LOCAL_STORAGE_TYPE_POLICIES, APP_MENU_ITEMS, APP_TESTING_PAGES, AboutModal, Account, AccountPage, AccountService, AccountToStringPipe, ActionsColumnComponent, AdminModule, AdminRoutingModule, Alerts, AnimationState, AppEditor, AppEditorOptions, AppEntityEditor, AppForm, AppFormField, AppFormProvider, AppFormUtils, AppGestureConfig, AppGraphQLModule, AppHelpModal, AppInMemoryTable, AppInstallUpgradeCard, AppListForm, AppLoadingSpinner, AppMenuModule, AppNullForm, AppPropertiesForm, AppTabEditor, AppTabEditorOptions, AppTable, AppTableDataSourceOptions, AppTableUtils, AppValidatorService, AppendToInputDirective, ArrayFilterPipe, ArrayFirstPipe, ArrayIncludesPipe, ArrayLengthPipe, ArrayPluckPipe, AudioProvider, AuthForm, AuthGuardService, AuthModal, AutocompleteTestPage, AutofocusDirective, Base58, BaseEntityService, BaseGraphqlService, BaseGraphqlServiceOptions, BaseReferential, Beans, CORE_CONFIG_OPTIONS, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigService, Configuration, CoreModule, CryptoService, DATE_ISO_PATTERN, DATE_UNIX_MS_TIMESTAMP, DATE_UNIX_TIMESTAMP, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLACEHOLDER_CHAR, DEFAULT_REQUIRED_COLUMNS, DateDiffDurationPipe, DateFormatPipe, DateFromNowPipe, DateTimeTestPage, DateUtils, Department, DepartmentToStringPipe, DurationPipe, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesService, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, ErrorCodes$2 as ErrorCodes, EvenPipe, FileService, FileSizePipe, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, FormErrorTranslatePipe, FormErrorTranslator, FormFieldValuesHolder, Fragments$1 as Fragments, GraphqlService, HAMMER_PRESS_TIME, HAMMER_TAP_TIME, HighlightPipe, HomePage, Hotkeys, HotkeysDialogComponent, InMemoryEntitiesService, IsLoginAccountPipe, IsNilOrBlankPipe, IsNotNilOrBlankPipe, IsNotOnFieldModePipe, IsOnFieldModePipe, JobUtils, KEYBOARD_HIDE_DELAY_MS, LAT_LONG_DEFAULT_MAX_DECIMALS, LAT_LONG_PATTERNS, LatLongFormatPipe, LatLongTestPage, LatitudeFormatPipe, LocalSettingsService, LongitudeFormatPipe, MINIFY_ENTITY_FOR_LOCAL_STORAGE, MINIFY_ENTITY_FOR_POD, MapGetPipe, MapKeysPipe, MapValuesPipe, MatAutocompleteConfigHolder, MatAutocompleteField, MatBooleanField, MatChipsField, MatDate, MatDateShort, MatDateTime, MatDuration, MatLatLongField, MatNumpadComponent, MatNumpadContainerComponent, MatNumpadContent, MatPaginatorI18n, MatStepperI18n, MatSwipeField, MaterialChipsModule, MaterialTestingModule, MaterialTestingPage, MathAbsPipe, MenuComponent, MenuItems, MenuService, ModalToolbarComponent, NetworkService, NgInitDirective, NgVarDirective, NotEmptyArrayPipe, NumberFormatPipe, NumpadDirective, OddPipe, PRIORITIZED_AUTHORITIES, PUBKEY_REGEXP, Peer, Person, PersonFilter, PersonFragments, PersonService, PersonToStringPipe, PersonUtils, PersonValidatorService, PlatformService, ProgressBarService, ProgressInterceptor, PropertyGetPipe, RESERVED_END_COLUMNS, RESERVED_START_COLUMNS, Referential, ReferentialRef, ReferentialUtils, RegisterConfirmPage, SETTINGS_DISPLAY_COLUMNS, SETTINGS_FILTER, SETTINGS_PAGE_SIZE, SETTINGS_SORTED_COLUMN, SETTINGS_STORAGE_KEY, SETTINGS_TRANSIENT_PROPERTIES, SPACE_PLACEHOLDER_CHAR, SelectPeerModal, SettingsPage, SharedDirectivesModule, SharedFormArrayValidators, SharedFormGroupValidators, SharedHotkeysModule, SharedMatAutocompleteModule, SharedMatBooleanModule, SharedMatDateTimeModule, SharedMatDurationModule, SharedMatLatLongModule, SharedMatNumpadModule, SharedMatSwipeModule, SharedMaterialModule, SharedModule, SharedPipesModule, SharedRoutingModule, SharedTestingModule, SharedValidators, SocialModule, Software, StartableService, StatusById, StatusIds, StatusList, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, UserEvent, UserEventFilter, UserEventService, UserEventTypes, UserEventsTable, UserSettings, UsersPage, accountToString, adaptValueToControl, addValueInArray, arrayDistinct, arrayGroupBy, arraySize, asInputElement, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, copyEntity2Form, createPromiseEvent, createPromiseEventEmitter, departmentToString, departmentsToString, disableControls, emitPromiseEvent, entityToString, equals, equalsOrNil, fadeInAnimation, fadeInOutAnimation, filterFalse, filterNotNil, filterNumberInput, filterTrue, firstArrayValue, firstFalse, firstFalsePromise, firstNotNil, firstNotNilPromise, firstTrue, firstTruePromise, focusInput, focusNextInput, focusPreviousInput, formatLatitude, formatLongitude, fromDateISOString, fromScrollEndEvent, fromUnixMsTimestamp, fromUnixTimestamp, getCaretPosition, getColorContrast, getColorShade, getColorTint, getConnectionType, getControlFromPath, getFocusableInputElements, getFormErrors, getFormValueFromEntity, getProperty, getPropertyByPath, getPropertyByPathAsString, getRandomImage, hexToRgb, hexToRgbArray, isControlHasInput, isEmptyArray, isInputElement, isInstanceOf, isInt, isNil, isNilOrBlank, isNilOrNaN, isNotEmptyArray, isNotNil, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, joinProperties, joinPropertiesPath, logFormErrors, markAllAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, matchUpperCase, mergeLoadResult, mixHex, moveInputCaretToSeparator, noTrailingSlash, notNilOrDefault, nullIfUndefined, parseLatitudeOrLongitude, propertiesPathComparator, propertyComparator, propertyPathComparator, referentialToString, referentialsToString, remove, removeAll, removeDiacritics, removeDuplicatesFromArray, removeEnd, removeValueInArray, replaceAll, resetCalculatedValue, resizeArray, rgbArrayToHex, rgbToHex, round, scrollFactory, selectInputContent, selectInputRange, setCalculatedValue, setTabIndex, sleep, slideInOutAnimation, slideUpDownAnimation, sort, splitById, splitByProperty, startsWithUpperCase, suggestFromArray, suggestFromStringArray, tabindexComparator, toBoolean, toDateISOString, toDuration, toFloat, toInt, toNotNil, toNumber, trimEmptyToNull, uncapitalizeFirstLetter, updateValueAndValidity, waitFor, waitForTrue, waitIdle, waitWhilePending, CustomReuseStrategy as ɵa, MatNumpadDomService as ɵb, SharedMatBadgeIconModule as ɵc, MatBadgeIconDirective as ɵd, isFocusableElement as ɵe, MatBadgeIconTestPage as ɵf, RegisterForm as ɵg, AccountValidatorService as ɵh, RegisterModal as ɵi, UserSettingsValidatorService as ɵj, LocalSettingsValidatorService as ɵk, AppIconComponent as ɵl };
25104
25109
  //# sourceMappingURL=sumaris-net.ngx-components.js.map