@sumaris-net/ngx-components 0.25.16 → 0.25.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/sumaris-net.ngx-components.umd.js +341 -296
- package/bundles/sumaris-net.ngx-components.umd.js.map +1 -1
- package/bundles/sumaris-net.ngx-components.umd.min.js +2 -2
- package/bundles/sumaris-net.ngx-components.umd.min.js.map +1 -1
- package/esm2015/src/app/core/form/entity-editor.class.js +5 -2
- package/esm2015/src/app/core/services/model/entity.model.js +1 -1
- package/esm2015/src/app/core/table/entities-table-datasource.class.js +5 -7
- package/esm2015/src/app/core/table/table.class.js +22 -16
- package/esm2015/src/app/shared/material/autocomplete/testing/autocomplete.test.js +2 -2
- package/esm2015/src/app/shared/validator/validators.js +8 -9
- package/fesm2015/sumaris-net.ngx-components.js +309 -288
- package/fesm2015/sumaris-net.ngx-components.js.map +1 -1
- package/package.json +1 -1
- package/src/app/core/form/entity-editor.class.d.ts +1 -0
- package/src/app/core/services/model/entity.model.d.ts +2 -2
- package/src/app/core/table/table.class.d.ts +1 -0
- package/src/theme/_ngx-components.scss +6 -0
- package/sumaris-net.ngx-components.metadata.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
2
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/cdk/table'), require('@angular/cdk/a11y'), require('@angular/cdk/overlay'), require('@angular/cdk/scrolling'), require('@angular/material/core'), require('@angular/material/table'), require('@angular/material/sort'), require('@angular/material/paginator'), require('@angular/material/form-field'), require('@angular/material/input'), require('@angular/material/checkbox'), require('@angular/material/expansion'), require('@angular/material/toolbar'), require('@angular/material/icon'), require('@angular/material/button'), require('@angular/material/menu'), require('@angular/material/select'), require('@angular/material/card'), require('@angular/material/tabs'), require('@angular/material/stepper'), require('@angular/material/list'), require('@angular/material/button-toggle'), require('@angular/material/progress-spinner'), require('@angular/material/progress-bar'), require('@angular/material/radio'), require('@angular/material/badge'), require('@angular/material/slide-toggle'), require('@angular/material/dialog'), require('@angular/material/autocomplete'), require('@angular/forms'), require('rxjs'), require('rxjs/operators'), require('@ngx-translate/core'), require('@ionic/angular'), require('moment'), require('@angular/material-moment-adapter'), require('@ionic-native/keyboard/ngx'), require('angular2-text-mask'), require('ngx-material-timepicker'), require('@angular/material/datepicker'), require('@angular/animations'), require('@angular/material/divider'), require('@angular/material/tooltip'), require('@angular/material/chips'), require('@angular/router'), require('@angular/platform-browser'), require('@angular/common/http'), require('ngx-color-picker'), require('@ionic-native/native-audio/ngx'), require('@ionic-native/vibration/ngx'), require('@ionic-native/audio-management/ngx'), require('@ionic-native/native-audio/ngx/index'), require('@ionic-native/vibration/ngx/index'), require('@ionic-native/audio-management/ngx/index'), require('uuid/v4'), require('@angular/cdk/drag-drop'), require('ngx-markdown'), require('tweetnacl'), require('@ionic/storage'), require('zone.js/dist/zone-error'), require('@ionic-native/splash-screen/ngx'), require('@ionic-native/network/ngx'), require('ionic-cache'), require('ionic-cache/dist/cache.service'), require('@ionic-native/network/ngx/index'), require('@ionic-native/splash-screen/ngx/index'), require('@ionic-native/status-bar/ngx'), require('@angular/cdk/platform'), require('@ionic-native/in-app-browser/ngx'), require('@apollo/client/core'), require('apollo-angular'), require('@apollo/client/link/ws'), require('@apollo/client/utilities'), require('@apollo/client/link/retry'), require('apollo-link-queue'), require('apollo-link-serialize'), require('apollo-link-logger'), require('apollo-angular/http'), require('apollo3-cache-persist'), require('@ionic-native/downloader/ngx'), require('@ionic-native/status-bar/ngx/index'), require('@ionic-native/keyboard/ngx/index'), require('@ionic-native/in-app-browser/ngx/index'), require('@ionic-native/downloader/ngx/index'), require('@e-is/ngx-material-table'), require('@angular/cdk/collections'), require('ngx-jdenticon'), require('tweetnacl-util'), require('scrypt-async'), require('hammerjs')) :
|
|
3
3
|
typeof define === 'function' && define.amd ? define('@sumaris-net/ngx-components', ['exports', '@angular/core', '@angular/common', '@angular/cdk/table', '@angular/cdk/a11y', '@angular/cdk/overlay', '@angular/cdk/scrolling', '@angular/material/core', '@angular/material/table', '@angular/material/sort', '@angular/material/paginator', '@angular/material/form-field', '@angular/material/input', '@angular/material/checkbox', '@angular/material/expansion', '@angular/material/toolbar', '@angular/material/icon', '@angular/material/button', '@angular/material/menu', '@angular/material/select', '@angular/material/card', '@angular/material/tabs', '@angular/material/stepper', '@angular/material/list', '@angular/material/button-toggle', '@angular/material/progress-spinner', '@angular/material/progress-bar', '@angular/material/radio', '@angular/material/badge', '@angular/material/slide-toggle', '@angular/material/dialog', '@angular/material/autocomplete', '@angular/forms', 'rxjs', 'rxjs/operators', '@ngx-translate/core', '@ionic/angular', 'moment', '@angular/material-moment-adapter', '@ionic-native/keyboard/ngx', 'angular2-text-mask', 'ngx-material-timepicker', '@angular/material/datepicker', '@angular/animations', '@angular/material/divider', '@angular/material/tooltip', '@angular/material/chips', '@angular/router', '@angular/platform-browser', '@angular/common/http', 'ngx-color-picker', '@ionic-native/native-audio/ngx', '@ionic-native/vibration/ngx', '@ionic-native/audio-management/ngx', '@ionic-native/native-audio/ngx/index', '@ionic-native/vibration/ngx/index', '@ionic-native/audio-management/ngx/index', 'uuid/v4', '@angular/cdk/drag-drop', 'ngx-markdown', 'tweetnacl', '@ionic/storage', 'zone.js/dist/zone-error', '@ionic-native/splash-screen/ngx', '@ionic-native/network/ngx', 'ionic-cache', 'ionic-cache/dist/cache.service', '@ionic-native/network/ngx/index', '@ionic-native/splash-screen/ngx/index', '@ionic-native/status-bar/ngx', '@angular/cdk/platform', '@ionic-native/in-app-browser/ngx', '@apollo/client/core', 'apollo-angular', '@apollo/client/link/ws', '@apollo/client/utilities', '@apollo/client/link/retry', 'apollo-link-queue', 'apollo-link-serialize', 'apollo-link-logger', 'apollo-angular/http', 'apollo3-cache-persist', '@ionic-native/downloader/ngx', '@ionic-native/status-bar/ngx/index', '@ionic-native/keyboard/ngx/index', '@ionic-native/in-app-browser/ngx/index', '@ionic-native/downloader/ngx/index', '@e-is/ngx-material-table', '@angular/cdk/collections', 'ngx-jdenticon', 'tweetnacl-util', 'scrypt-async', 'hammerjs'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global[
|
|
5
|
-
}(this, (function (exports, i0, i1$4, table$1, a11y, overlay, scrolling, i1$3, table, sort$1, paginator, formField, input, checkbox, expansion, toolbar, icon, button, menu, select, card, tabs, stepper, list, buttonToggle, progressSpinner, progressBar, radio, badge, slideToggle, i2, autocomplete, i1, rxjs, operators, i1$2, i1$5, momentImported, i1$1, ngx, angular2TextMask, ngxMaterialTimepicker, datepicker, animations, divider, tooltip, chips, i3, i1$6, i2$1, ngxColorPicker, ngx$2, ngx$3, ngx$1, i2$2, i3$1, i4, uuidv4Imported, dragDrop, ngxMarkdown, tweetnacl, i3$2, zoneError, ngx$5, ngx$4, ionicCache, i6, i9, i10, ngx$7, i2$4, ngx$8, core, i2$3, ws, utilities, retry, QueueLink, SerializingLink, loggerLink, i3$3, apollo3CachePersist, ngx$6, i14, i15, i17, i18, ngxMaterialTable, collections, ngxJdenticon) { 'use strict';
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["sumaris-net"] = global["sumaris-net"] || {}, global["sumaris-net"]["ngx-components"] = {}), global.ng.core, global.ng.common, global.ng.cdk.table, global.ng.cdk.a11y, global.ng.cdk.overlay, global.ng.cdk.scrolling, global.ng.material.core, global.ng.material.table, global.ng.material.sort, global.ng.material.paginator, global.ng.material.formField, global.ng.material.input, global.ng.material.checkbox, global.ng.material.expansion, global.ng.material.toolbar, global.ng.material.icon, global.ng.material.button, global.ng.material.menu, global.ng.material.select, global.ng.material.card, global.ng.material.tabs, global.ng.material.stepper, global.ng.material.list, global.ng.material.buttonToggle, global.ng.material.progressSpinner, global.ng.material.progressBar, global.ng.material.radio, global.ng.material.badge, global.ng.material.slideToggle, global.ng.material.dialog, global.ng.material.autocomplete, global.ng.forms, global.rxjs, global.rxjs.operators, global["ngx-translate"].core, global.ionic.angular, global.moment, global.ng.materialMomentAdapter, global["ionic-native"].keyboard.ngx, global["angular2-text-mask"], global["ngx-material-timepicker"], global.ng.material.datepicker, global.ng.animations, global.ng.material.divider, global.ng.material.tooltip, global.ng.material.chips, global.ng.router, global.ng.platformBrowser, global.ng.common.http, global["ngx-color-picker"], global["ionic-native"]["native-audio"].ngx, global["ionic-native"].vibration.ngx, global["ionic-native"]["audio-management"].ngx, global["ionic-native"]["native-audio"].ngx.index, global["ionic-native"].vibration.ngx.index, global["ionic-native"]["audio-management"].ngx.index, global.uuid.v4, global.ng.cdk.dragDrop, global["ngx-markdown"], global.tweetnacl, global.ionic.storage, null, global["ionic-native"]["splash-screen"].ngx, global["ionic-native"].network.ngx, global["ionic-cache"], global["ionic-cache/dist/cache"].service, global["ionic-native"].network.ngx.index, global["ionic-native"]["splash-screen"].ngx.index, global["ionic-native"]["status-bar"].ngx, global.ng.cdk.platform, global["ionic-native"]["in-app-browser"].ngx, global.apollo.client.core, global["apollo-angular"], global.apollo.client.link.ws, global.apollo.client.utilities, global.apollo.client.link.retry, global["apollo-link-queue"], global["apollo-link-serialize"], global["apollo-link-logger"], global["apollo-angular"].http, global["apollo3-cache-persist"], global.ngx$6, global["ionic-native"]["status-bar"].ngx.index, global["ionic-native"].keyboard.ngx.index, global["ionic-native"]["in-app-browser"].ngx.index, global.i18, global["e-is"]["ngx-material-table"], global.ng.cdk.collections, global["ngx-jdenticon"]));
|
|
5
|
+
})(this, (function (exports, i0, i1$4, table$1, a11y, overlay, scrolling, i1$3, table, sort$1, paginator, formField, input, checkbox, expansion, toolbar, icon, button, menu, select, card, tabs, stepper, list, buttonToggle, progressSpinner, progressBar, radio, badge, slideToggle, i2, autocomplete, i1, rxjs, operators, i1$2, i1$5, momentImported, i1$1, ngx, angular2TextMask, ngxMaterialTimepicker, datepicker, animations, divider, tooltip, chips, i3, i1$6, i2$1, ngxColorPicker, ngx$2, ngx$3, ngx$1, i2$2, i3$1, i4, uuidv4Imported, dragDrop, ngxMarkdown, tweetnacl, i3$2, zoneError, ngx$5, ngx$4, ionicCache, i6, i9, i10, ngx$7, i2$4, ngx$8, core, i2$3, ws, utilities, retry, QueueLink, SerializingLink, loggerLink, i3$3, apollo3CachePersist, ngx$6, i14, i15, i17, i18, ngxMaterialTable, collections, ngxJdenticon) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
8
|
|
|
@@ -15,22 +15,45 @@
|
|
|
15
15
|
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
16
16
|
Object.defineProperty(n, k, d.get ? d : {
|
|
17
17
|
enumerable: true,
|
|
18
|
-
get: function () {
|
|
19
|
-
return e[k];
|
|
20
|
-
}
|
|
18
|
+
get: function () { return e[k]; }
|
|
21
19
|
});
|
|
22
20
|
}
|
|
23
21
|
});
|
|
24
22
|
}
|
|
25
|
-
n[
|
|
23
|
+
n["default"] = e;
|
|
26
24
|
return Object.freeze(n);
|
|
27
25
|
}
|
|
28
26
|
|
|
27
|
+
var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
|
|
28
|
+
var i1__namespace$3 = /*#__PURE__*/_interopNamespace(i1$4);
|
|
29
|
+
var i1__namespace$2 = /*#__PURE__*/_interopNamespace(i1$3);
|
|
30
|
+
var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2);
|
|
31
|
+
var i1__namespace$6 = /*#__PURE__*/_interopNamespace(i1);
|
|
32
|
+
var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1$2);
|
|
33
|
+
var i1__namespace$4 = /*#__PURE__*/_interopNamespace(i1$5);
|
|
29
34
|
var momentImported__namespace = /*#__PURE__*/_interopNamespace(momentImported);
|
|
35
|
+
var i1__namespace = /*#__PURE__*/_interopNamespace(i1$1);
|
|
36
|
+
var i3__namespace$3 = /*#__PURE__*/_interopNamespace(i3);
|
|
37
|
+
var i1__namespace$5 = /*#__PURE__*/_interopNamespace(i1$6);
|
|
38
|
+
var i2__namespace$2 = /*#__PURE__*/_interopNamespace(i2$1);
|
|
39
|
+
var i2__namespace = /*#__PURE__*/_interopNamespace(i2$2);
|
|
40
|
+
var i3__namespace = /*#__PURE__*/_interopNamespace(i3$1);
|
|
41
|
+
var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
|
|
30
42
|
var uuidv4Imported__namespace = /*#__PURE__*/_interopNamespace(uuidv4Imported);
|
|
43
|
+
var i3__namespace$1 = /*#__PURE__*/_interopNamespace(i3$2);
|
|
44
|
+
var i6__namespace = /*#__PURE__*/_interopNamespace(i6);
|
|
45
|
+
var i9__namespace = /*#__PURE__*/_interopNamespace(i9);
|
|
46
|
+
var i10__namespace = /*#__PURE__*/_interopNamespace(i10);
|
|
47
|
+
var i2__namespace$4 = /*#__PURE__*/_interopNamespace(i2$4);
|
|
48
|
+
var i2__namespace$3 = /*#__PURE__*/_interopNamespace(i2$3);
|
|
31
49
|
var QueueLink__default = /*#__PURE__*/_interopDefaultLegacy(QueueLink);
|
|
32
50
|
var SerializingLink__default = /*#__PURE__*/_interopDefaultLegacy(SerializingLink);
|
|
33
51
|
var loggerLink__default = /*#__PURE__*/_interopDefaultLegacy(loggerLink);
|
|
52
|
+
var i3__namespace$2 = /*#__PURE__*/_interopNamespace(i3$3);
|
|
53
|
+
var i14__namespace = /*#__PURE__*/_interopNamespace(i14);
|
|
54
|
+
var i15__namespace = /*#__PURE__*/_interopNamespace(i15);
|
|
55
|
+
var i17__namespace = /*#__PURE__*/_interopNamespace(i17);
|
|
56
|
+
var i18__namespace = /*#__PURE__*/_interopNamespace(i18);
|
|
34
57
|
|
|
35
58
|
var ENVIRONMENT = new i0.InjectionToken('ENV');
|
|
36
59
|
var Environment = /** @class */ (function () {
|
|
@@ -1134,19 +1157,19 @@
|
|
|
1134
1157
|
};
|
|
1135
1158
|
return MatAutocompleteConfigHolder;
|
|
1136
1159
|
}());
|
|
1137
|
-
var DEFAULT_VALUE_ACCESSOR = {
|
|
1160
|
+
var DEFAULT_VALUE_ACCESSOR$6 = {
|
|
1138
1161
|
provide: i1.NG_VALUE_ACCESSOR,
|
|
1139
1162
|
useExisting: i0.forwardRef(function () { return MatAutocompleteField; }),
|
|
1140
1163
|
multi: true
|
|
1141
1164
|
};
|
|
1142
|
-
var noop = function () { };
|
|
1143
|
-
var ɵ0 = noop;
|
|
1165
|
+
var noop$7 = function () { };
|
|
1166
|
+
var ɵ0$a = noop$7;
|
|
1144
1167
|
var MatAutocompleteField = /** @class */ (function () {
|
|
1145
1168
|
function MatAutocompleteField(cd, formGroupDir) {
|
|
1146
1169
|
this.cd = cd;
|
|
1147
1170
|
this.formGroupDir = formGroupDir;
|
|
1148
|
-
this._onChangeCallback = noop;
|
|
1149
|
-
this._onTouchedCallback = noop;
|
|
1171
|
+
this._onChangeCallback = noop$7;
|
|
1172
|
+
this._onTouchedCallback = noop$7;
|
|
1150
1173
|
this._subscription = new rxjs.Subscription();
|
|
1151
1174
|
this._filter$ = new rxjs.BehaviorSubject(undefined);
|
|
1152
1175
|
this._reload$ = new rxjs.Subject();
|
|
@@ -1810,7 +1833,7 @@
|
|
|
1810
1833
|
// eslint-disable-next-line @angular-eslint/component-selector
|
|
1811
1834
|
selector: 'mat-autocomplete-field',
|
|
1812
1835
|
template: "<ion-grid class=\"ion-no-padding\">\n <ion-row>\n <ion-col class=\"ion-no-padding\">\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 <!-- readonly -->\n <ng-container>\n <input matInput hidden type=\"text\"\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\" readonly>\n <ion-text>{{displayWith(value)}}</ion-text>\n </ng-container>\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)=\"onKeydownEscape.emit($event)\"\n [compareWith]=\"compareWith\"\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)=\"onClick.emit($event)\"\n (focus)=\"filterInputTextFocusInEvent($event)\"\n (blur)=\"filterInputTextBlurEvent($event)\"\n (keydown.escape)=\"onKeydownEscape.emit($event)\"\n (keyup.enter)=\"onKeyupEnter.emit($event)\"\n (keyup.arrowdown)=\"!autocomplete.opened && onDropButtonClick.emit($event)\">\n\n <!-- autocomplete -->\n <mat-autocomplete #autocomplete=\"matAutocomplete\"\n autoActiveFirstOption\n [displayWith]=\"displayWith\"\n [class]=\"classList\"\n [class.cdk-visually-hidden]=\"!searchable\"\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>{{noResultMessage | translate}}</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\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)=\"onDropButtonClick.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",
|
|
1813
|
-
providers: [DEFAULT_VALUE_ACCESSOR],
|
|
1836
|
+
providers: [DEFAULT_VALUE_ACCESSOR$6],
|
|
1814
1837
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
1815
1838
|
styles: [":host{display:inline-block;position:relative}:host.ion-text-wrap ion-label{white-space:normal!important}button[hidden]{display:none}mat-icon.select-arrow{color:rgba(0,0,0,.47);font-size:150%}.fact-scroll-viewport{height:100%;width:100%}.fact-item{height:54px;display:flex}.fact-item .fact-date{min-width:100px;text-align:center;font-size:24pt}.fact-item .fact-date,.fact-item .fact-text{height:100%;align-items:center;justify-content:center;display:flex}.fact-item .fact-text{border-radius:10px}cdk-virtual-scroll-viewport{border:1px solid #000}cdk-virtual-scroll-viewport li{list-style:none}"]
|
|
1816
1839
|
},] }
|
|
@@ -1888,7 +1911,7 @@
|
|
|
1888
1911
|
};
|
|
1889
1912
|
return DateFormatPipe;
|
|
1890
1913
|
}());
|
|
1891
|
-
DateFormatPipe.ɵprov =
|
|
1914
|
+
DateFormatPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function DateFormatPipe_Factory() { return new DateFormatPipe(i0__namespace.ɵɵinject(i1__namespace.MomentDateAdapter), i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: DateFormatPipe, providedIn: "root" });
|
|
1892
1915
|
DateFormatPipe.decorators = [
|
|
1893
1916
|
{ type: i0.Pipe, args: [{
|
|
1894
1917
|
name: 'dateFormat'
|
|
@@ -1900,7 +1923,7 @@
|
|
|
1900
1923
|
{ type: i1$2.TranslateService }
|
|
1901
1924
|
]; };
|
|
1902
1925
|
|
|
1903
|
-
var moment = momentImported__namespace;
|
|
1926
|
+
var moment$6 = momentImported__namespace;
|
|
1904
1927
|
var DateDiffDurationPipe = /** @class */ (function () {
|
|
1905
1928
|
function DateDiffDurationPipe(dateAdapter, translate) {
|
|
1906
1929
|
var _this = this;
|
|
@@ -1917,10 +1940,10 @@
|
|
|
1917
1940
|
return this.format(startDate, endDate);
|
|
1918
1941
|
};
|
|
1919
1942
|
DateDiffDurationPipe.prototype.format = function (startDate, endDate) {
|
|
1920
|
-
var duration = moment.duration(endDate.diff(startDate));
|
|
1943
|
+
var duration = moment$6.duration(endDate.diff(startDate));
|
|
1921
1944
|
if (duration.asMinutes() < 0)
|
|
1922
1945
|
return '';
|
|
1923
|
-
var timeDuration = moment(0)
|
|
1946
|
+
var timeDuration = moment$6(0)
|
|
1924
1947
|
.hour(duration.hours())
|
|
1925
1948
|
.minute(duration.minutes());
|
|
1926
1949
|
var days = Math.floor(duration.asDays());
|
|
@@ -1928,7 +1951,7 @@
|
|
|
1928
1951
|
};
|
|
1929
1952
|
return DateDiffDurationPipe;
|
|
1930
1953
|
}());
|
|
1931
|
-
DateDiffDurationPipe.ɵprov =
|
|
1954
|
+
DateDiffDurationPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function DateDiffDurationPipe_Factory() { return new DateDiffDurationPipe(i0__namespace.ɵɵinject(i1__namespace$2.DateAdapter), i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: DateDiffDurationPipe, providedIn: "root" });
|
|
1932
1955
|
DateDiffDurationPipe.decorators = [
|
|
1933
1956
|
{ type: i0.Pipe, args: [{
|
|
1934
1957
|
name: 'dateDiffDuration'
|
|
@@ -1950,7 +1973,7 @@
|
|
|
1950
1973
|
};
|
|
1951
1974
|
return DateFromNowPipe;
|
|
1952
1975
|
}());
|
|
1953
|
-
DateFromNowPipe.ɵprov =
|
|
1976
|
+
DateFromNowPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(i0__namespace.ɵɵinject(i1__namespace.MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
|
|
1954
1977
|
DateFromNowPipe.decorators = [
|
|
1955
1978
|
{ type: i0.Pipe, args: [{
|
|
1956
1979
|
name: 'dateFromNow'
|
|
@@ -2019,7 +2042,7 @@
|
|
|
2019
2042
|
value *= -1;
|
|
2020
2043
|
}
|
|
2021
2044
|
}
|
|
2022
|
-
var degrees = roundFloat(value, opts.maxDecimals).toString();
|
|
2045
|
+
var degrees = roundFloat$1(value, opts.maxDecimals).toString();
|
|
2023
2046
|
// Add sign
|
|
2024
2047
|
var sign = negative ? '-' : '+';
|
|
2025
2048
|
if (opts.placeholderChar) {
|
|
@@ -2070,7 +2093,7 @@
|
|
|
2070
2093
|
}
|
|
2071
2094
|
var degrees = Math.trunc(value);
|
|
2072
2095
|
var minutes = Math.trunc((value - degrees) * 60);
|
|
2073
|
-
var seconds = roundFloat(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
|
|
2096
|
+
var seconds = roundFloat$1(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
|
|
2074
2097
|
while (seconds >= 60) {
|
|
2075
2098
|
seconds -= 60;
|
|
2076
2099
|
minutes += 1;
|
|
@@ -2138,7 +2161,7 @@
|
|
|
2138
2161
|
}
|
|
2139
2162
|
}
|
|
2140
2163
|
var degrees = Math.trunc(value);
|
|
2141
|
-
var minutes = roundFloat((value - degrees) * 60, opts.maxDecimals);
|
|
2164
|
+
var minutes = roundFloat$1((value - degrees) * 60, opts.maxDecimals);
|
|
2142
2165
|
while (minutes >= 60) {
|
|
2143
2166
|
minutes -= 60;
|
|
2144
2167
|
degrees += 1;
|
|
@@ -2189,15 +2212,15 @@
|
|
|
2189
2212
|
return NaN;
|
|
2190
2213
|
}
|
|
2191
2214
|
if (pattern === 'DD')
|
|
2192
|
-
return roundFloat(degrees, maxDecimals);
|
|
2215
|
+
return roundFloat$1(degrees, maxDecimals);
|
|
2193
2216
|
var minutes = (pattern === 'DDMMSS' || pattern === 'DDMM') && parts[1] && parseFloat(parts[1].replace(/,/g, '.')) || 0;
|
|
2194
2217
|
var seconds = (pattern === 'DDMMSS') && parts[2] && parseFloat(parts[2].replace(/,/g, '.')) || 0;
|
|
2195
2218
|
var direction = ((pattern === 'DDMMSS') && parts[3]) || ((pattern === 'DDMM') && parts[2]) || undefined;
|
|
2196
2219
|
var sign = (direction && (direction === 's' || direction === 'S' || direction === 'w' || direction === 'W')) ? -1 : 1;
|
|
2197
2220
|
degrees = sign * (degrees + minutes / 60 + seconds / (60 * 60));
|
|
2198
|
-
return roundFloat(degrees, maxDecimals);
|
|
2221
|
+
return roundFloat$1(degrees, maxDecimals);
|
|
2199
2222
|
}
|
|
2200
|
-
function roundFloat(input, maxDecimals) {
|
|
2223
|
+
function roundFloat$1(input, maxDecimals) {
|
|
2201
2224
|
if (maxDecimals > 0) {
|
|
2202
2225
|
var powDecimal = Math.pow(10, maxDecimals);
|
|
2203
2226
|
return Math.trunc(input * powDecimal + 0.5) / powDecimal;
|
|
@@ -2220,7 +2243,7 @@
|
|
|
2220
2243
|
};
|
|
2221
2244
|
return LatLongFormatPipe;
|
|
2222
2245
|
}());
|
|
2223
|
-
LatLongFormatPipe.ɵprov =
|
|
2246
|
+
LatLongFormatPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
|
|
2224
2247
|
LatLongFormatPipe.decorators = [
|
|
2225
2248
|
{ type: i0.Pipe, args: [{
|
|
2226
2249
|
name: 'latLongFormat'
|
|
@@ -2233,7 +2256,7 @@
|
|
|
2233
2256
|
}
|
|
2234
2257
|
return LatitudeFormatPipe;
|
|
2235
2258
|
}());
|
|
2236
|
-
LatitudeFormatPipe.ɵprov =
|
|
2259
|
+
LatitudeFormatPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
|
|
2237
2260
|
LatitudeFormatPipe.decorators = [
|
|
2238
2261
|
{ type: i0.Pipe, args: [{
|
|
2239
2262
|
name: 'latitudeFormat'
|
|
@@ -2246,7 +2269,7 @@
|
|
|
2246
2269
|
}
|
|
2247
2270
|
return LongitudeFormatPipe;
|
|
2248
2271
|
}());
|
|
2249
|
-
LongitudeFormatPipe.ɵprov =
|
|
2272
|
+
LongitudeFormatPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
|
|
2250
2273
|
LongitudeFormatPipe.decorators = [
|
|
2251
2274
|
{ type: i0.Pipe, args: [{
|
|
2252
2275
|
name: 'longitudeFormat'
|
|
@@ -2269,7 +2292,7 @@
|
|
|
2269
2292
|
};
|
|
2270
2293
|
return NumberFormatPipe;
|
|
2271
2294
|
}());
|
|
2272
|
-
NumberFormatPipe.ɵprov =
|
|
2295
|
+
NumberFormatPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
|
|
2273
2296
|
NumberFormatPipe.decorators = [
|
|
2274
2297
|
{ type: i0.Pipe, args: [{
|
|
2275
2298
|
name: 'numberFormat'
|
|
@@ -2312,7 +2335,7 @@
|
|
|
2312
2335
|
};
|
|
2313
2336
|
return HighlightPipe;
|
|
2314
2337
|
}());
|
|
2315
|
-
HighlightPipe.ɵprov =
|
|
2338
|
+
HighlightPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
|
|
2316
2339
|
HighlightPipe.decorators = [
|
|
2317
2340
|
{ type: i0.Pipe, args: [{
|
|
2318
2341
|
name: 'highlight'
|
|
@@ -2380,7 +2403,7 @@
|
|
|
2380
2403
|
{ type: i0.Pipe, args: [{ name: 'fileSize' },] }
|
|
2381
2404
|
];
|
|
2382
2405
|
|
|
2383
|
-
var moment$
|
|
2406
|
+
var moment$5 = momentImported__namespace;
|
|
2384
2407
|
var DATE_UNIX_TIMESTAMP = 'X';
|
|
2385
2408
|
var DATE_UNIX_MS_TIMESTAMP = 'x';
|
|
2386
2409
|
var DateUtils = /** @class */ (function () {
|
|
@@ -2415,32 +2438,32 @@
|
|
|
2415
2438
|
if (!value || momentImported.isMoment(value))
|
|
2416
2439
|
return value;
|
|
2417
2440
|
// Parse the input value, as a ISO date time
|
|
2418
|
-
var date = moment$
|
|
2441
|
+
var date = moment$5(value, DATE_ISO_PATTERN);
|
|
2419
2442
|
if (date.isValid())
|
|
2420
2443
|
return date;
|
|
2421
2444
|
// Not valid: trying to convert from unix timestamp
|
|
2422
2445
|
if (typeof value === 'string') {
|
|
2423
2446
|
console.warn('Wrong date format - Trying to convert from local time: ' + value);
|
|
2424
2447
|
if (value.length === 10) {
|
|
2425
|
-
return moment$
|
|
2448
|
+
return moment$5(value, DATE_UNIX_TIMESTAMP);
|
|
2426
2449
|
}
|
|
2427
2450
|
else if (value.length === 13) {
|
|
2428
|
-
return moment$
|
|
2451
|
+
return moment$5(value, DATE_UNIX_MS_TIMESTAMP);
|
|
2429
2452
|
}
|
|
2430
2453
|
}
|
|
2431
2454
|
console.warn('Unable to parse date: ' + value);
|
|
2432
2455
|
return undefined;
|
|
2433
2456
|
}
|
|
2434
2457
|
function fromUnixTimestamp(timeInSec) {
|
|
2435
|
-
return moment$
|
|
2458
|
+
return moment$5(timeInSec, DATE_UNIX_TIMESTAMP);
|
|
2436
2459
|
}
|
|
2437
2460
|
function fromUnixMsTimestamp(timeInMs) {
|
|
2438
|
-
return moment$
|
|
2461
|
+
return moment$5(timeInMs, DATE_UNIX_MS_TIMESTAMP);
|
|
2439
2462
|
}
|
|
2440
2463
|
function toDuration(value, unit) {
|
|
2441
2464
|
if (!value)
|
|
2442
2465
|
return undefined;
|
|
2443
|
-
var duration = moment$
|
|
2466
|
+
var duration = moment$5.duration(value, unit);
|
|
2444
2467
|
// fix 990+ ms
|
|
2445
2468
|
if (duration.milliseconds() >= 990) {
|
|
2446
2469
|
duration.add(1000 - duration.milliseconds(), 'ms');
|
|
@@ -2470,7 +2493,7 @@
|
|
|
2470
2493
|
};
|
|
2471
2494
|
return DurationPipe;
|
|
2472
2495
|
}());
|
|
2473
|
-
DurationPipe.ɵprov =
|
|
2496
|
+
DurationPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: DurationPipe, providedIn: "root" });
|
|
2474
2497
|
DurationPipe.decorators = [
|
|
2475
2498
|
{ type: i0.Pipe, args: [{
|
|
2476
2499
|
name: 'duration'
|
|
@@ -2494,7 +2517,7 @@
|
|
|
2494
2517
|
};
|
|
2495
2518
|
return MathAbsPipe;
|
|
2496
2519
|
}());
|
|
2497
|
-
MathAbsPipe.ɵprov =
|
|
2520
|
+
MathAbsPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
|
|
2498
2521
|
MathAbsPipe.decorators = [
|
|
2499
2522
|
{ type: i0.Pipe, args: [{
|
|
2500
2523
|
name: 'mathAbs'
|
|
@@ -2509,7 +2532,7 @@
|
|
|
2509
2532
|
};
|
|
2510
2533
|
return EvenPipe;
|
|
2511
2534
|
}());
|
|
2512
|
-
EvenPipe.ɵprov =
|
|
2535
|
+
EvenPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
|
|
2513
2536
|
EvenPipe.decorators = [
|
|
2514
2537
|
{ type: i0.Pipe, args: [{
|
|
2515
2538
|
name: 'even'
|
|
@@ -2524,7 +2547,7 @@
|
|
|
2524
2547
|
};
|
|
2525
2548
|
return OddPipe;
|
|
2526
2549
|
}());
|
|
2527
|
-
OddPipe.ɵprov =
|
|
2550
|
+
OddPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
|
|
2528
2551
|
OddPipe.decorators = [
|
|
2529
2552
|
{ type: i0.Pipe, args: [{
|
|
2530
2553
|
name: 'odd'
|
|
@@ -2656,7 +2679,7 @@
|
|
|
2656
2679
|
};
|
|
2657
2680
|
return MapGetPipe;
|
|
2658
2681
|
}());
|
|
2659
|
-
MapGetPipe.ɵprov =
|
|
2682
|
+
MapGetPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
|
|
2660
2683
|
MapGetPipe.decorators = [
|
|
2661
2684
|
{ type: i0.Pipe, args: [{
|
|
2662
2685
|
name: 'mapGet'
|
|
@@ -2673,7 +2696,7 @@
|
|
|
2673
2696
|
};
|
|
2674
2697
|
return MapKeysPipe;
|
|
2675
2698
|
}());
|
|
2676
|
-
MapKeysPipe.ɵprov =
|
|
2699
|
+
MapKeysPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
|
|
2677
2700
|
MapKeysPipe.decorators = [
|
|
2678
2701
|
{ type: i0.Pipe, args: [{
|
|
2679
2702
|
name: 'mapKeys'
|
|
@@ -2690,7 +2713,7 @@
|
|
|
2690
2713
|
};
|
|
2691
2714
|
return MapValuesPipe;
|
|
2692
2715
|
}());
|
|
2693
|
-
MapValuesPipe.ɵprov =
|
|
2716
|
+
MapValuesPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
|
|
2694
2717
|
MapValuesPipe.decorators = [
|
|
2695
2718
|
{ type: i0.Pipe, args: [{
|
|
2696
2719
|
name: 'mapValues'
|
|
@@ -2706,7 +2729,7 @@
|
|
|
2706
2729
|
};
|
|
2707
2730
|
return IsNotNilOrBlankPipe;
|
|
2708
2731
|
}());
|
|
2709
|
-
IsNotNilOrBlankPipe.ɵprov =
|
|
2732
|
+
IsNotNilOrBlankPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
|
|
2710
2733
|
IsNotNilOrBlankPipe.decorators = [
|
|
2711
2734
|
{ type: i0.Pipe, args: [{
|
|
2712
2735
|
name: 'isNotNilOrBlank'
|
|
@@ -2721,7 +2744,7 @@
|
|
|
2721
2744
|
};
|
|
2722
2745
|
return IsNilOrBlankPipe;
|
|
2723
2746
|
}());
|
|
2724
|
-
IsNilOrBlankPipe.ɵprov =
|
|
2747
|
+
IsNilOrBlankPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
|
|
2725
2748
|
IsNilOrBlankPipe.decorators = [
|
|
2726
2749
|
{ type: i0.Pipe, args: [{
|
|
2727
2750
|
name: 'isNilOrBlank'
|
|
@@ -2736,7 +2759,7 @@
|
|
|
2736
2759
|
};
|
|
2737
2760
|
return ToStringPipe;
|
|
2738
2761
|
}());
|
|
2739
|
-
ToStringPipe.ɵprov =
|
|
2762
|
+
ToStringPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
|
|
2740
2763
|
ToStringPipe.decorators = [
|
|
2741
2764
|
{ type: i0.Pipe, args: [{
|
|
2742
2765
|
name: 'toString'
|
|
@@ -2751,7 +2774,7 @@
|
|
|
2751
2774
|
};
|
|
2752
2775
|
return StrLengthPipe;
|
|
2753
2776
|
}());
|
|
2754
|
-
StrLengthPipe.ɵprov =
|
|
2777
|
+
StrLengthPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
|
|
2755
2778
|
StrLengthPipe.decorators = [
|
|
2756
2779
|
{ type: i0.Pipe, args: [{
|
|
2757
2780
|
name: 'strLength'
|
|
@@ -2804,7 +2827,7 @@
|
|
|
2804
2827
|
};
|
|
2805
2828
|
return TranslateContextService;
|
|
2806
2829
|
}());
|
|
2807
|
-
TranslateContextService.ɵprov =
|
|
2830
|
+
TranslateContextService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: TranslateContextService, providedIn: "root" });
|
|
2808
2831
|
TranslateContextService.decorators = [
|
|
2809
2832
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
2810
2833
|
];
|
|
@@ -2821,7 +2844,7 @@
|
|
|
2821
2844
|
};
|
|
2822
2845
|
return TranslateContextPipe;
|
|
2823
2846
|
}());
|
|
2824
|
-
TranslateContextPipe.ɵprov =
|
|
2847
|
+
TranslateContextPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function TranslateContextPipe_Factory() { return new TranslateContextPipe(i0__namespace.ɵɵinject(TranslateContextService)); }, token: TranslateContextPipe, providedIn: "root" });
|
|
2825
2848
|
TranslateContextPipe.decorators = [
|
|
2826
2849
|
{ type: i0.Pipe, args: [{
|
|
2827
2850
|
name: 'translateContext'
|
|
@@ -2841,7 +2864,7 @@
|
|
|
2841
2864
|
};
|
|
2842
2865
|
return TranslatablePipe;
|
|
2843
2866
|
}());
|
|
2844
|
-
TranslatablePipe.ɵprov =
|
|
2867
|
+
TranslatablePipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function TranslatablePipe_Factory() { return new TranslatablePipe(); }, token: TranslatablePipe, providedIn: "root" });
|
|
2845
2868
|
TranslatablePipe.decorators = [
|
|
2846
2869
|
{ type: i0.Pipe, args: [{
|
|
2847
2870
|
name: 'translatable'
|
|
@@ -2861,7 +2884,7 @@
|
|
|
2861
2884
|
};
|
|
2862
2885
|
return PropertyGetPipe;
|
|
2863
2886
|
}());
|
|
2864
|
-
PropertyGetPipe.ɵprov =
|
|
2887
|
+
PropertyGetPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
|
|
2865
2888
|
PropertyGetPipe.decorators = [
|
|
2866
2889
|
{ type: i0.Pipe, args: [{
|
|
2867
2890
|
name: 'propertyGet'
|
|
@@ -2887,14 +2910,14 @@
|
|
|
2887
2910
|
ngInit: [{ type: i0.Output }]
|
|
2888
2911
|
};
|
|
2889
2912
|
|
|
2890
|
-
var moment$
|
|
2913
|
+
var moment$4 = momentImported__namespace;
|
|
2891
2914
|
// @dynamic
|
|
2892
2915
|
var SharedValidators = /** @class */ (function () {
|
|
2893
2916
|
function SharedValidators() {
|
|
2894
2917
|
}
|
|
2895
2918
|
SharedValidators.validDate = function (control) {
|
|
2896
2919
|
var value = control.value;
|
|
2897
|
-
var date = !value || moment$
|
|
2920
|
+
var date = !value || moment$4.isMoment(value) ? value : moment$4(control.value, DATE_ISO_PATTERN);
|
|
2898
2921
|
if (date && (!date.isValid() || date.year() < 1970)) {
|
|
2899
2922
|
return { validDate: true };
|
|
2900
2923
|
}
|
|
@@ -3105,23 +3128,22 @@
|
|
|
3105
3128
|
};
|
|
3106
3129
|
};
|
|
3107
3130
|
SharedFormGroupValidators.dateMaxDuration = function (startDateField, endDateField, maxDuration, durationUnit) {
|
|
3131
|
+
var maxDurationError = { dateMaxDuration: true };
|
|
3108
3132
|
return function (group) {
|
|
3109
|
-
var endField = group.get(endDateField);
|
|
3110
3133
|
var startDate = fromDateISOString(group.get(startDateField).value);
|
|
3134
|
+
var endField = group.get(endDateField);
|
|
3111
3135
|
var endDate = fromDateISOString(endField.value);
|
|
3112
3136
|
if (isNotNil(startDate) && isNotNil(endDate) && Math.abs(startDate.diff(endDate, durationUnit)) > maxDuration) {
|
|
3137
|
+
console.log('TODO error !');
|
|
3113
3138
|
// Update end field
|
|
3114
|
-
var endFieldErrors = endField.errors || {};
|
|
3115
|
-
endFieldErrors['dateMaxDuration'] = true;
|
|
3116
|
-
endField.setErrors(endFieldErrors);
|
|
3117
3139
|
endField.markAsTouched({ onlySelf: true });
|
|
3140
|
+
endField.markAsPending();
|
|
3141
|
+
endField.setErrors(Object.assign(Object.assign({}, endField.errors), maxDurationError));
|
|
3118
3142
|
// Return the error (should be apply to the parent form)
|
|
3119
|
-
return
|
|
3143
|
+
return maxDurationError;
|
|
3120
3144
|
}
|
|
3121
3145
|
// OK: remove the existing on the end field
|
|
3122
|
-
|
|
3123
|
-
SharedValidators.clearError(endField, 'dateMaxDuration');
|
|
3124
|
-
}
|
|
3146
|
+
SharedValidators.clearError(endField, 'dateMaxDuration');
|
|
3125
3147
|
return null;
|
|
3126
3148
|
};
|
|
3127
3149
|
};
|
|
@@ -4021,7 +4043,7 @@
|
|
|
4021
4043
|
};
|
|
4022
4044
|
return FormErrorAdapter;
|
|
4023
4045
|
}());
|
|
4024
|
-
FormErrorAdapter.ɵprov =
|
|
4046
|
+
FormErrorAdapter.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function FormErrorAdapter_Factory() { return new FormErrorAdapter(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService), i0__namespace.ɵɵinject(APP_FORM_ERROR_I18N_KEYS, 8)); }, token: FormErrorAdapter, providedIn: "root" });
|
|
4025
4047
|
FormErrorAdapter.decorators = [
|
|
4026
4048
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
4027
4049
|
];
|
|
@@ -4303,9 +4325,9 @@
|
|
|
4303
4325
|
var hour = parseInt(durationParts[0] || '0');
|
|
4304
4326
|
var minute = parseInt(durationParts[1] || '0');
|
|
4305
4327
|
var value = hour + (minute + 0.5) / 60;
|
|
4306
|
-
return roundFloat
|
|
4328
|
+
return roundFloat(value, maxDecimals);
|
|
4307
4329
|
}
|
|
4308
|
-
function roundFloat
|
|
4330
|
+
function roundFloat(input, maxDecimals) {
|
|
4309
4331
|
if (maxDecimals > 0) {
|
|
4310
4332
|
var powDecimal = Math.pow(10, maxDecimals);
|
|
4311
4333
|
return Math.trunc(input * powDecimal + 0.5) / powDecimal;
|
|
@@ -4329,9 +4351,9 @@
|
|
|
4329
4351
|
DD: [/[+-]/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '°']
|
|
4330
4352
|
}
|
|
4331
4353
|
};
|
|
4332
|
-
var noop$
|
|
4354
|
+
var noop$6 = function () {
|
|
4333
4355
|
};
|
|
4334
|
-
var ɵ0$
|
|
4356
|
+
var ɵ0$9 = noop$6;
|
|
4335
4357
|
var MatLatLongField = /** @class */ (function () {
|
|
4336
4358
|
function MatLatLongField(platform, translate, formBuilder, cd, formGroupDir) {
|
|
4337
4359
|
this.platform = platform;
|
|
@@ -4339,8 +4361,8 @@
|
|
|
4339
4361
|
this.formBuilder = formBuilder;
|
|
4340
4362
|
this.cd = cd;
|
|
4341
4363
|
this.formGroupDir = formGroupDir;
|
|
4342
|
-
this._onChangeCallback = noop$
|
|
4343
|
-
this._onTouchedCallback = noop$
|
|
4364
|
+
this._onChangeCallback = noop$6;
|
|
4365
|
+
this._onTouchedCallback = noop$6;
|
|
4344
4366
|
this._subscription = new rxjs.Subscription();
|
|
4345
4367
|
this.disabling = false;
|
|
4346
4368
|
this.writing = false;
|
|
@@ -4691,14 +4713,14 @@
|
|
|
4691
4713
|
},] }
|
|
4692
4714
|
];
|
|
4693
4715
|
|
|
4694
|
-
var DEFAULT_VALUE_ACCESSOR$
|
|
4716
|
+
var DEFAULT_VALUE_ACCESSOR$5 = {
|
|
4695
4717
|
provide: i1.NG_VALUE_ACCESSOR,
|
|
4696
4718
|
useExisting: i0.forwardRef(function () { return MatDate; }),
|
|
4697
4719
|
multi: true
|
|
4698
4720
|
};
|
|
4699
|
-
var DAY_MASK = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
|
|
4700
|
-
var noop$
|
|
4701
|
-
var ɵ0$
|
|
4721
|
+
var DAY_MASK$2 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
|
|
4722
|
+
var noop$5 = function () { };
|
|
4723
|
+
var ɵ0$8 = noop$5;
|
|
4702
4724
|
var MatDate = /** @class */ (function () {
|
|
4703
4725
|
function MatDate(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
4704
4726
|
this.dateAdapter = dateAdapter;
|
|
@@ -4707,12 +4729,12 @@
|
|
|
4707
4729
|
this.cd = cd;
|
|
4708
4730
|
this.keyboard = keyboard;
|
|
4709
4731
|
this.formGroupDir = formGroupDir;
|
|
4710
|
-
this._onChangeCallback = noop$
|
|
4711
|
-
this._onTouchedCallback = noop$
|
|
4732
|
+
this._onChangeCallback = noop$5;
|
|
4733
|
+
this._onTouchedCallback = noop$5;
|
|
4712
4734
|
this._subscription = new rxjs.Subscription();
|
|
4713
4735
|
this.writing = true;
|
|
4714
4736
|
this.disabling = false;
|
|
4715
|
-
this.dayMask = DAY_MASK;
|
|
4737
|
+
this.dayMask = DAY_MASK$2;
|
|
4716
4738
|
this.disabled = false;
|
|
4717
4739
|
this.floatLabel = 'auto';
|
|
4718
4740
|
this.readonly = false;
|
|
@@ -4981,7 +5003,7 @@
|
|
|
4981
5003
|
selector: 'mat-date-field',
|
|
4982
5004
|
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",
|
|
4983
5005
|
providers: [
|
|
4984
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
5006
|
+
DEFAULT_VALUE_ACCESSOR$5,
|
|
4985
5007
|
],
|
|
4986
5008
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
4987
5009
|
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%}"]
|
|
@@ -5014,17 +5036,17 @@
|
|
|
5014
5036
|
matInputs: [{ type: i0.ViewChildren, args: ['matInput',] }]
|
|
5015
5037
|
};
|
|
5016
5038
|
|
|
5017
|
-
var DEFAULT_VALUE_ACCESSOR$
|
|
5039
|
+
var DEFAULT_VALUE_ACCESSOR$4 = {
|
|
5018
5040
|
provide: i1.NG_VALUE_ACCESSOR,
|
|
5019
5041
|
useExisting: i0.forwardRef(function () { return MatDateTime; }),
|
|
5020
5042
|
multi: true
|
|
5021
5043
|
};
|
|
5022
5044
|
var DAY_MASK$1 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
|
|
5023
5045
|
var HOUR_REGEXP = /^[012][0-9][:][012345][0-9]$/;
|
|
5024
|
-
var HOUR_MASK = [/[012]/, /\d/, ':', /[012345]/, /\d/];
|
|
5025
|
-
var noop$
|
|
5046
|
+
var HOUR_MASK$1 = [/[012]/, /\d/, ':', /[012345]/, /\d/];
|
|
5047
|
+
var noop$4 = function () {
|
|
5026
5048
|
};
|
|
5027
|
-
var ɵ0$
|
|
5049
|
+
var ɵ0$7 = noop$4;
|
|
5028
5050
|
var MatDateTime = /** @class */ (function () {
|
|
5029
5051
|
function MatDateTime(platform, dateAdapter, translate, formBuilder, keyboard, cd, formGroupDir) {
|
|
5030
5052
|
this.platform = platform;
|
|
@@ -5034,14 +5056,14 @@
|
|
|
5034
5056
|
this.keyboard = keyboard;
|
|
5035
5057
|
this.cd = cd;
|
|
5036
5058
|
this.formGroupDir = formGroupDir;
|
|
5037
|
-
this._onChangeCallback = noop$
|
|
5038
|
-
this._onTouchedCallback = noop$
|
|
5059
|
+
this._onChangeCallback = noop$4;
|
|
5060
|
+
this._onTouchedCallback = noop$4;
|
|
5039
5061
|
this._subscription = new rxjs.Subscription();
|
|
5040
5062
|
this.writing = true;
|
|
5041
5063
|
this.disabling = false;
|
|
5042
5064
|
this._readonly = false;
|
|
5043
5065
|
this.dayMask = DAY_MASK$1;
|
|
5044
|
-
this.hourMask = HOUR_MASK;
|
|
5066
|
+
this.hourMask = HOUR_MASK$1;
|
|
5045
5067
|
this.floatLabel = 'auto';
|
|
5046
5068
|
this.compact = false;
|
|
5047
5069
|
this.placeholderChar = DEFAULT_PLACEHOLDER_CHAR;
|
|
@@ -5397,7 +5419,7 @@
|
|
|
5397
5419
|
selector: 'mat-date-time-field',
|
|
5398
5420
|
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",
|
|
5399
5421
|
providers: [
|
|
5400
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
5422
|
+
DEFAULT_VALUE_ACCESSOR$4,
|
|
5401
5423
|
],
|
|
5402
5424
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
5403
5425
|
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%}"]
|
|
@@ -5436,10 +5458,10 @@
|
|
|
5436
5458
|
useExisting: i0.forwardRef(function () { return MatDateShort; }),
|
|
5437
5459
|
multi: true
|
|
5438
5460
|
};
|
|
5439
|
-
var DAY_MASK
|
|
5440
|
-
var noop$
|
|
5461
|
+
var DAY_MASK = [/\d/, /\d/, /\d/, /\d/];
|
|
5462
|
+
var noop$3 = function () {
|
|
5441
5463
|
};
|
|
5442
|
-
var ɵ0$
|
|
5464
|
+
var ɵ0$6 = noop$3;
|
|
5443
5465
|
var MatDateShort = /** @class */ (function () {
|
|
5444
5466
|
function MatDateShort(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
5445
5467
|
this.dateAdapter = dateAdapter;
|
|
@@ -5448,11 +5470,11 @@
|
|
|
5448
5470
|
this.cd = cd;
|
|
5449
5471
|
this.keyboard = keyboard;
|
|
5450
5472
|
this.formGroupDir = formGroupDir;
|
|
5451
|
-
this._onChangeCallback = noop$
|
|
5452
|
-
this._onTouchedCallback = noop$
|
|
5473
|
+
this._onChangeCallback = noop$3;
|
|
5474
|
+
this._onTouchedCallback = noop$3;
|
|
5453
5475
|
this.writing = true;
|
|
5454
5476
|
this.disabling = false;
|
|
5455
|
-
this.dayMask = DAY_MASK
|
|
5477
|
+
this.dayMask = DAY_MASK;
|
|
5456
5478
|
this.disabled = false;
|
|
5457
5479
|
this.floatLabel = 'auto';
|
|
5458
5480
|
this.readonly = false;
|
|
@@ -5800,16 +5822,16 @@
|
|
|
5800
5822
|
},] }
|
|
5801
5823
|
];
|
|
5802
5824
|
|
|
5803
|
-
var DEFAULT_VALUE_ACCESSOR$
|
|
5825
|
+
var DEFAULT_VALUE_ACCESSOR$2 = {
|
|
5804
5826
|
provide: i1.NG_VALUE_ACCESSOR,
|
|
5805
5827
|
useExisting: i0.forwardRef(function () { return MatDuration; }),
|
|
5806
5828
|
multi: true
|
|
5807
5829
|
};
|
|
5808
5830
|
var HOUR_TIME_PATTERN = /[0-9]\d\d:[0-5]\d/;
|
|
5809
|
-
var HOUR_MASK
|
|
5810
|
-
var noop$
|
|
5831
|
+
var HOUR_MASK = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
|
|
5832
|
+
var noop$2 = function () {
|
|
5811
5833
|
};
|
|
5812
|
-
var ɵ0$5 = noop$
|
|
5834
|
+
var ɵ0$5 = noop$2;
|
|
5813
5835
|
var MatDuration = /** @class */ (function () {
|
|
5814
5836
|
function MatDuration(platform, dateAdapter, translate, formBuilder, cd, formGroupDir) {
|
|
5815
5837
|
this.dateAdapter = dateAdapter;
|
|
@@ -5818,11 +5840,11 @@
|
|
|
5818
5840
|
this.cd = cd;
|
|
5819
5841
|
this.formGroupDir = formGroupDir;
|
|
5820
5842
|
this._subscription = new rxjs.Subscription();
|
|
5821
|
-
this._onChangeCallback = noop$
|
|
5822
|
-
this._onTouchedCallback = noop$
|
|
5843
|
+
this._onChangeCallback = noop$2;
|
|
5844
|
+
this._onTouchedCallback = noop$2;
|
|
5823
5845
|
this.writing = true;
|
|
5824
5846
|
this.disabling = false;
|
|
5825
|
-
this.hourMask = HOUR_MASK
|
|
5847
|
+
this.hourMask = HOUR_MASK;
|
|
5826
5848
|
this.disabled = false;
|
|
5827
5849
|
this.floatLabel = 'auto';
|
|
5828
5850
|
this.readonly = false;
|
|
@@ -6015,7 +6037,7 @@
|
|
|
6015
6037
|
selector: 'mat-duration-field',
|
|
6016
6038
|
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",
|
|
6017
6039
|
providers: [
|
|
6018
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
6040
|
+
DEFAULT_VALUE_ACCESSOR$2,
|
|
6019
6041
|
],
|
|
6020
6042
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
6021
6043
|
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%}"]
|
|
@@ -6075,22 +6097,22 @@
|
|
|
6075
6097
|
},] }
|
|
6076
6098
|
];
|
|
6077
6099
|
|
|
6078
|
-
var DEFAULT_VALUE_ACCESSOR$
|
|
6100
|
+
var DEFAULT_VALUE_ACCESSOR$1 = {
|
|
6079
6101
|
provide: i1.NG_VALUE_ACCESSOR,
|
|
6080
6102
|
useExisting: i0.forwardRef(function () { return MatBooleanField; }),
|
|
6081
6103
|
multi: true
|
|
6082
6104
|
};
|
|
6083
|
-
var noop$
|
|
6105
|
+
var noop$1 = function () {
|
|
6084
6106
|
};
|
|
6085
|
-
var ɵ0$
|
|
6107
|
+
var ɵ0$4 = noop$1;
|
|
6086
6108
|
var MatBooleanField = /** @class */ (function () {
|
|
6087
6109
|
function MatBooleanField(translate, formBuilder, cd, formGroupDir) {
|
|
6088
6110
|
this.translate = translate;
|
|
6089
6111
|
this.formBuilder = formBuilder;
|
|
6090
6112
|
this.cd = cd;
|
|
6091
6113
|
this.formGroupDir = formGroupDir;
|
|
6092
|
-
this._onChangeCallback = noop$
|
|
6093
|
-
this._onTouchedCallback = noop$
|
|
6114
|
+
this._onChangeCallback = noop$1;
|
|
6115
|
+
this._onTouchedCallback = noop$1;
|
|
6094
6116
|
this._writing = false;
|
|
6095
6117
|
this.showRadio = false;
|
|
6096
6118
|
this.disabled = false;
|
|
@@ -6276,7 +6298,7 @@
|
|
|
6276
6298
|
selector: 'mat-boolean-field',
|
|
6277
6299
|
template: "<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled {{classList}}\">\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</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\n <input matInput #fakeInput type=\"text\" readonly=\"true\"\n [formControl]=\"formControl\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showRadio\"\n [tabindex]=\"tabindex\">\n\n <!-- radio button -->\n <mat-radio-group [hidden]=\"!showRadio\"\n [formControl]=\"formControl\"\n (change)=\"onRadioValueChanged($event)\">\n <mat-radio-button #yesButton [value]=\"true\">\n <span>{{yesLabel|translate}}</span>\n </mat-radio-button> \n <mat-radio-button #noButton [value]=\"false\">\n <span>{{noLabel|translate}}</span>\n </mat-radio-button>\n </mat-radio-group>\n\n <div matSuffix #injectMatSuffix></div>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\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\n <input matInput #matInput\n [formControl]=\"formControl\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showRadio\"\n [tabindex]=\"tabindex\">\n\n <ion-label> </ion-label>\n\n <!-- checkbox, when compact -->\n <mat-checkbox #checkboxButton\n [formControl]=\"formControl\"\n (change)=\"onCheckboxValueChanged($event)\"\n [indeterminate]=\"value===undefined\"\n [hidden]=\"!showRadio\"\n [tabindex]=\"tabindex\">\n </mat-checkbox>\n\n <div matSuffix #injectMatSuffix></div>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\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 <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 <div matSuffix #injectMatSuffix></div>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n </ng-container>\n\n <div class=\"cdk-visually-hidden\">\n <div #suffix><ng-content select=\"[matSuffix]\"></ng-content></div>\n </div>\n\n</ng-template>\n\n\n",
|
|
6278
6300
|
providers: [
|
|
6279
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
6301
|
+
DEFAULT_VALUE_ACCESSOR$1
|
|
6280
6302
|
],
|
|
6281
6303
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
6282
6304
|
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}"]
|
|
@@ -6365,6 +6387,7 @@
|
|
|
6365
6387
|
return MatNumpadEvent;
|
|
6366
6388
|
}(KeyboardEvent));
|
|
6367
6389
|
|
|
6390
|
+
exports.AnimationState = void 0;
|
|
6368
6391
|
(function (AnimationState) {
|
|
6369
6392
|
AnimationState["ENTER"] = "enter";
|
|
6370
6393
|
AnimationState["ENTER_INPUT"] = "enter-input";
|
|
@@ -6532,7 +6555,7 @@
|
|
|
6532
6555
|
};
|
|
6533
6556
|
return MatNumpadDomService;
|
|
6534
6557
|
}());
|
|
6535
|
-
MatNumpadDomService.ɵprov =
|
|
6558
|
+
MatNumpadDomService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MatNumpadDomService_Factory() { return new MatNumpadDomService(i0__namespace.ɵɵinject(i0__namespace.ComponentFactoryResolver), i0__namespace.ɵɵinject(i0__namespace.ApplicationRef), i0__namespace.ɵɵinject(i0__namespace.INJECTOR), i0__namespace.ɵɵinject(i1__namespace$3.DOCUMENT, 8)); }, token: MatNumpadDomService, providedIn: "root" });
|
|
6536
6559
|
MatNumpadDomService.decorators = [
|
|
6537
6560
|
{ type: i0.Injectable, args: [{
|
|
6538
6561
|
providedIn: 'root'
|
|
@@ -6938,7 +6961,7 @@
|
|
|
6938
6961
|
},] }
|
|
6939
6962
|
];
|
|
6940
6963
|
|
|
6941
|
-
var DEFAULT_VALUE_ACCESSOR
|
|
6964
|
+
var DEFAULT_VALUE_ACCESSOR = {
|
|
6942
6965
|
provide: i1.NG_VALUE_ACCESSOR,
|
|
6943
6966
|
useExisting: i0.forwardRef(function () { return MatSwipeField; }),
|
|
6944
6967
|
multi: true
|
|
@@ -7258,7 +7281,7 @@
|
|
|
7258
7281
|
{ type: i0.Component, args: [{
|
|
7259
7282
|
selector: 'mat-swipe-field',
|
|
7260
7283
|
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",
|
|
7261
|
-
providers: [DEFAULT_VALUE_ACCESSOR
|
|
7284
|
+
providers: [DEFAULT_VALUE_ACCESSOR],
|
|
7262
7285
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
7263
7286
|
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}"]
|
|
7264
7287
|
},] }
|
|
@@ -7816,7 +7839,7 @@
|
|
|
7816
7839
|
};
|
|
7817
7840
|
return ProgressBarService;
|
|
7818
7841
|
}());
|
|
7819
|
-
ProgressBarService.ɵprov =
|
|
7842
|
+
ProgressBarService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
|
|
7820
7843
|
ProgressBarService.decorators = [
|
|
7821
7844
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
7822
7845
|
];
|
|
@@ -7863,7 +7886,7 @@
|
|
|
7863
7886
|
};
|
|
7864
7887
|
return AppGestureConfig;
|
|
7865
7888
|
}(i1$6.HammerGestureConfig));
|
|
7866
|
-
AppGestureConfig.ɵprov =
|
|
7889
|
+
AppGestureConfig.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
|
|
7867
7890
|
AppGestureConfig.decorators = [
|
|
7868
7891
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
7869
7892
|
];
|
|
@@ -8128,7 +8151,7 @@
|
|
|
8128
8151
|
};
|
|
8129
8152
|
return MatPaginatorI18n;
|
|
8130
8153
|
}(paginator.MatPaginatorIntl));
|
|
8131
|
-
MatPaginatorI18n.ɵprov =
|
|
8154
|
+
MatPaginatorI18n.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
|
|
8132
8155
|
MatPaginatorI18n.decorators = [
|
|
8133
8156
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
8134
8157
|
];
|
|
@@ -8220,17 +8243,17 @@
|
|
|
8220
8243
|
return rgbArrayToHex(rgb.map(function (v) { return 255 - v; }));
|
|
8221
8244
|
}
|
|
8222
8245
|
|
|
8223
|
-
var noop
|
|
8246
|
+
var noop = function () {
|
|
8224
8247
|
};
|
|
8225
|
-
var ɵ0$
|
|
8248
|
+
var ɵ0$3 = noop;
|
|
8226
8249
|
var AppFormField = /** @class */ (function () {
|
|
8227
8250
|
function AppFormField(translate, cd, injector, formGroupDir) {
|
|
8228
8251
|
this.translate = translate;
|
|
8229
8252
|
this.cd = cd;
|
|
8230
8253
|
this.injector = injector;
|
|
8231
8254
|
this.formGroupDir = formGroupDir;
|
|
8232
|
-
this._onChangeCallback = noop
|
|
8233
|
-
this._onTouchedCallback = noop
|
|
8255
|
+
this._onChangeCallback = noop;
|
|
8256
|
+
this._onTouchedCallback = noop;
|
|
8234
8257
|
this.readonly = false;
|
|
8235
8258
|
this.compact = false;
|
|
8236
8259
|
this.floatLabel = 'auto';
|
|
@@ -8767,7 +8790,7 @@
|
|
|
8767
8790
|
};
|
|
8768
8791
|
return AudioProvider;
|
|
8769
8792
|
}(StartableService));
|
|
8770
|
-
AudioProvider.ɵprov =
|
|
8793
|
+
AudioProvider.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function AudioProvider_Factory() { return new AudioProvider(i0__namespace.ɵɵinject(i1__namespace$4.Platform), i0__namespace.ɵɵinject(i2__namespace.NativeAudio, 8), i0__namespace.ɵɵinject(i3__namespace.Vibration, 8), i0__namespace.ɵɵinject(i4__namespace.AudioManagement, 8)); }, token: AudioProvider, providedIn: "root" });
|
|
8771
8794
|
AudioProvider.decorators = [
|
|
8772
8795
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
8773
8796
|
];
|
|
@@ -8867,7 +8890,7 @@
|
|
|
8867
8890
|
};
|
|
8868
8891
|
return Hotkeys;
|
|
8869
8892
|
}());
|
|
8870
|
-
Hotkeys.ɵprov =
|
|
8893
|
+
Hotkeys.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function Hotkeys_Factory() { return new Hotkeys(i0__namespace.ɵɵinject(i1__namespace$5.EventManager), i0__namespace.ɵɵinject(i2__namespace$1.MatDialog), i0__namespace.ɵɵinject(i1__namespace$3.DOCUMENT), i0__namespace.ɵɵinject(i1__namespace$4.ModalController)); }, token: Hotkeys, providedIn: "root" });
|
|
8871
8894
|
Hotkeys.decorators = [
|
|
8872
8895
|
{ type: i0.Injectable, args: [{
|
|
8873
8896
|
providedIn: 'root'
|
|
@@ -9071,7 +9094,7 @@
|
|
|
9071
9094
|
return Base64ImageReader;
|
|
9072
9095
|
}());
|
|
9073
9096
|
|
|
9074
|
-
var uuidv4 = uuidv4Imported__namespace;
|
|
9097
|
+
var uuidv4$1 = uuidv4Imported__namespace;
|
|
9075
9098
|
var FileService = /** @class */ (function () {
|
|
9076
9099
|
function FileService(platform,
|
|
9077
9100
|
//private transfer: FileTransfer,
|
|
@@ -9117,7 +9140,7 @@
|
|
|
9117
9140
|
lastSlashIndex = source.lastIndexOf('/');
|
|
9118
9141
|
if (lastSlashIndex === -1)
|
|
9119
9142
|
throw new Error('Invalid URL: ' + source);
|
|
9120
|
-
fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4();
|
|
9143
|
+
fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4$1();
|
|
9121
9144
|
if (!(responseType === 'file' && this.canUseFileSystem)) return [3 /*break*/, 4];
|
|
9122
9145
|
console.warn("WARN: [file] Fetching image {" + source + "} in local file...");
|
|
9123
9146
|
targetFilePath = this._imageDirectory + fileName;
|
|
@@ -9180,7 +9203,7 @@
|
|
|
9180
9203
|
};
|
|
9181
9204
|
return FileService;
|
|
9182
9205
|
}());
|
|
9183
|
-
FileService.ɵprov =
|
|
9206
|
+
FileService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function FileService_Factory() { return new FileService(i0__namespace.ɵɵinject(i1__namespace$4.Platform), i0__namespace.ɵɵinject(i2__namespace$2.HttpClient), i0__namespace.ɵɵinject(ENVIRONMENT)); }, token: FileService, providedIn: "root" });
|
|
9184
9207
|
FileService.decorators = [
|
|
9185
9208
|
{ type: i0.Injectable, args: [{
|
|
9186
9209
|
providedIn: 'root',
|
|
@@ -9343,7 +9366,7 @@
|
|
|
9343
9366
|
Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
|
|
9344
9367
|
|
|
9345
9368
|
var scrypt = require('scrypt-async');
|
|
9346
|
-
var sha256 = require('hash.js/lib/hash/sha/256');
|
|
9369
|
+
var sha256$1 = require('hash.js/lib/hash/sha/256');
|
|
9347
9370
|
var sha512 = require('hash.js/lib/hash/sha/512');
|
|
9348
9371
|
var nacl = {
|
|
9349
9372
|
sign: tweetnacl.sign,
|
|
@@ -9449,7 +9472,7 @@
|
|
|
9449
9472
|
* Hash (using SHA256) a message
|
|
9450
9473
|
*/
|
|
9451
9474
|
CryptoService.prototype.sha256 = function (message) {
|
|
9452
|
-
return sha256().update(message).digest('hex');
|
|
9475
|
+
return sha256$1().update(message).digest('hex');
|
|
9453
9476
|
};
|
|
9454
9477
|
/**
|
|
9455
9478
|
* Hash (using SHA512) a message
|
|
@@ -9463,7 +9486,7 @@
|
|
|
9463
9486
|
};
|
|
9464
9487
|
return CryptoService;
|
|
9465
9488
|
}());
|
|
9466
|
-
CryptoService.ɵprov =
|
|
9489
|
+
CryptoService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
|
|
9467
9490
|
CryptoService.decorators = [
|
|
9468
9491
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
9469
9492
|
];
|
|
@@ -10884,7 +10907,7 @@
|
|
|
10884
10907
|
};
|
|
10885
10908
|
return LocalSettingsService;
|
|
10886
10909
|
}(StartableService));
|
|
10887
|
-
LocalSettingsService.ɵprov =
|
|
10910
|
+
LocalSettingsService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function LocalSettingsService_Factory() { return new LocalSettingsService(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService), i0__namespace.ɵɵinject(i1__namespace$4.Platform), i0__namespace.ɵɵinject(i3__namespace$1.Storage), i0__namespace.ɵɵinject(ENVIRONMENT), i0__namespace.ɵɵinject(APP_LOCAL_SETTINGS, 8), i0__namespace.ɵɵinject(APP_LOCAL_SETTINGS_OPTIONS, 8)); }, token: LocalSettingsService, providedIn: "root" });
|
|
10888
10911
|
LocalSettingsService.decorators = [
|
|
10889
10912
|
{ type: i0.Injectable, args: [{
|
|
10890
10913
|
providedIn: 'root',
|
|
@@ -11689,7 +11712,7 @@
|
|
|
11689
11712
|
};
|
|
11690
11713
|
return NetworkService;
|
|
11691
11714
|
}(StartableService));
|
|
11692
|
-
NetworkService.ɵprov =
|
|
11715
|
+
NetworkService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function NetworkService_Factory() { return new NetworkService(i0__namespace.ɵɵinject(i1__namespace$3.DOCUMENT), i0__namespace.ɵɵinject(i1__namespace$4.Platform), i0__namespace.ɵɵinject(i1__namespace$4.ModalController), i0__namespace.ɵɵinject(CryptoService), i0__namespace.ɵɵinject(i3__namespace$1.Storage), i0__namespace.ɵɵinject(LocalSettingsService), i0__namespace.ɵɵinject(i6__namespace.CacheService), i0__namespace.ɵɵinject(i2__namespace$2.HttpClient), i0__namespace.ɵɵinject(ENVIRONMENT), i0__namespace.ɵɵinject(i9__namespace.Network, 8), i0__namespace.ɵɵinject(i10__namespace.SplashScreen, 8), i0__namespace.ɵɵinject(i1__namespace$1.TranslateService, 8), i0__namespace.ɵɵinject(i1__namespace$4.ToastController, 8)); }, token: NetworkService, providedIn: "root" });
|
|
11693
11716
|
NetworkService.decorators = [
|
|
11694
11717
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
11695
11718
|
];
|
|
@@ -11709,7 +11732,7 @@
|
|
|
11709
11732
|
{ type: i1$5.ToastController, decorators: [{ type: i0.Optional }] }
|
|
11710
11733
|
]; };
|
|
11711
11734
|
|
|
11712
|
-
var ErrorCodes = {
|
|
11735
|
+
var ErrorCodes$2 = {
|
|
11713
11736
|
UNKNOWN_ERROR: 0,
|
|
11714
11737
|
LOAD_ACCOUNT_ERROR: 1,
|
|
11715
11738
|
BAD_PASSWORD: 2,
|
|
@@ -12117,7 +12140,7 @@
|
|
|
12117
12140
|
case 13:
|
|
12118
12141
|
err_1 = _a.sent();
|
|
12119
12142
|
console.error(err_1);
|
|
12120
|
-
throw { code: ErrorCodes.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err_1 };
|
|
12143
|
+
throw { code: ErrorCodes$2.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err_1 };
|
|
12121
12144
|
case 14:
|
|
12122
12145
|
// Emit update event
|
|
12123
12146
|
if (!opts || opts.emitEvent !== false) {
|
|
@@ -12891,7 +12914,7 @@
|
|
|
12891
12914
|
}(StartableService));
|
|
12892
12915
|
EntitiesStorage.TRASH_PREFIX = 'Trash#';
|
|
12893
12916
|
EntitiesStorage.REMOTE_PREFIX = 'Remote#';
|
|
12894
|
-
EntitiesStorage.ɵprov =
|
|
12917
|
+
EntitiesStorage.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function EntitiesStorage_Factory() { return new EntitiesStorage(i0__namespace.ɵɵinject(i1__namespace$4.Platform), i0__namespace.ɵɵinject(ProgressBarService), i0__namespace.ɵɵinject(i3__namespace$1.Storage), i0__namespace.ɵɵinject(ENVIRONMENT), i0__namespace.ɵɵinject(APP_LOCAL_STORAGE_TYPE_POLICIES, 8)); }, token: EntitiesStorage, providedIn: "root" });
|
|
12895
12918
|
EntitiesStorage.decorators = [
|
|
12896
12919
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
12897
12920
|
];
|
|
@@ -13008,10 +13031,10 @@
|
|
|
13008
13031
|
function referentialsToString(values, properties, separator) {
|
|
13009
13032
|
return (values || []).map(function (v) { return referentialToString(v, properties); }).join(separator || ', ');
|
|
13010
13033
|
}
|
|
13011
|
-
var ɵ0$
|
|
13034
|
+
var ɵ0$2 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
|
|
13012
13035
|
var StatusList = Object.freeze([
|
|
13013
13036
|
{
|
|
13014
|
-
id: ɵ0$
|
|
13037
|
+
id: ɵ0$2,
|
|
13015
13038
|
icon: 'checkmark',
|
|
13016
13039
|
label: 'REFERENTIAL.STATUS_ENUM.ENABLE'
|
|
13017
13040
|
},
|
|
@@ -13314,7 +13337,7 @@
|
|
|
13314
13337
|
(data.lastName || '')) || '';
|
|
13315
13338
|
}
|
|
13316
13339
|
|
|
13317
|
-
var uuidv4
|
|
13340
|
+
var uuidv4 = uuidv4Imported__namespace;
|
|
13318
13341
|
var _global = typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : {});
|
|
13319
13342
|
var NativeWebSocket = _global.WebSocket || _global.MozWebSocket;
|
|
13320
13343
|
/**
|
|
@@ -13358,7 +13381,7 @@
|
|
|
13358
13381
|
// Skip if not tracked
|
|
13359
13382
|
if (!context || !context.tracked)
|
|
13360
13383
|
return forward(operation);
|
|
13361
|
-
var id = context.serializationKey || uuidv4
|
|
13384
|
+
var id = context.serializationKey || uuidv4();
|
|
13362
13385
|
console.debug("[apollo-tracker-link] Watching tracked query {" + operation.operationName + "#" + id + "}");
|
|
13363
13386
|
// Clean context, before calling JSON.stringify (remove unused attributes)
|
|
13364
13387
|
var cleanContext = Object.assign(Object.assign({}, context), { optimisticResponse: null, cache: null });
|
|
@@ -13993,14 +14016,14 @@
|
|
|
13993
14016
|
mutationLinks = void 0;
|
|
13994
14017
|
// Add queue to store tracked queries, when offline
|
|
13995
14018
|
if (enableTrackMutationQueries) {
|
|
13996
|
-
serializingLink = new SerializingLink__default[
|
|
14019
|
+
serializingLink = new SerializingLink__default["default"]();
|
|
13997
14020
|
trackerLink = createTrackerLink({
|
|
13998
14021
|
storage: storage,
|
|
13999
14022
|
onNetworkStatusChange: this._networkStatusChanged$,
|
|
14000
14023
|
debounce: 1000,
|
|
14001
14024
|
debug: true
|
|
14002
14025
|
});
|
|
14003
|
-
queueLink_1 = new QueueLink__default[
|
|
14026
|
+
queueLink_1 = new QueueLink__default["default"]();
|
|
14004
14027
|
this._subscription.add(this._networkStatusChanged$
|
|
14005
14028
|
.subscribe(function (type) {
|
|
14006
14029
|
// Network is offline: start buffering into queue
|
|
@@ -14015,7 +14038,7 @@
|
|
|
14015
14038
|
}
|
|
14016
14039
|
}));
|
|
14017
14040
|
mutationLinks = [
|
|
14018
|
-
loggerLink__default[
|
|
14041
|
+
loggerLink__default["default"],
|
|
14019
14042
|
queueLink_1,
|
|
14020
14043
|
trackerLink,
|
|
14021
14044
|
queueLink_1,
|
|
@@ -14124,7 +14147,7 @@
|
|
|
14124
14147
|
(err.networkError && ((err.networkError.error && this.toAppError(err.networkError.error))
|
|
14125
14148
|
|| this.toAppError(err.networkError)
|
|
14126
14149
|
|| (err.networkError.error && this.createAppErrorByCode(err.networkError.error.status))
|
|
14127
|
-
|| this.createAppErrorByCode(ErrorCodes.UNKNOWN_NETWORK_ERROR)))
|
|
14150
|
+
|| this.createAppErrorByCode(ErrorCodes$2.UNKNOWN_NETWORK_ERROR)))
|
|
14128
14151
|
// If graphQL: try to convert the first error found
|
|
14129
14152
|
|| (err.graphQLErrors && err.graphQLErrors.length && this.toAppError(err.graphQLErrors[0]))
|
|
14130
14153
|
|| this.toAppError(err)
|
|
@@ -14132,7 +14155,7 @@
|
|
|
14132
14155
|
|| (err.graphQLErrors && err.graphQLErrors[0])
|
|
14133
14156
|
|| err;
|
|
14134
14157
|
console.error('[graphql] ' + (error && error.message || error), error.stack || '');
|
|
14135
|
-
if (error && error.code === ErrorCodes.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
|
|
14158
|
+
if (error && error.code === ErrorCodes$2.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
|
|
14136
14159
|
console.error('[graphql] original error: ' + err.networkError.message);
|
|
14137
14160
|
this.onNetworkError.next(error);
|
|
14138
14161
|
}
|
|
@@ -14168,7 +14191,7 @@
|
|
|
14168
14191
|
return 'ERROR.UNAUTHORIZED';
|
|
14169
14192
|
case ServerErrorCodes.FORBIDDEN:
|
|
14170
14193
|
return 'ERROR.FORBIDDEN';
|
|
14171
|
-
case ErrorCodes.UNKNOWN_NETWORK_ERROR:
|
|
14194
|
+
case ErrorCodes$2.UNKNOWN_NETWORK_ERROR:
|
|
14172
14195
|
return 'ERROR.UNKNOWN_NETWORK_ERROR';
|
|
14173
14196
|
case ServerErrorCodes.BAD_UPDATE_DATE:
|
|
14174
14197
|
return 'ERROR.BAD_UPDATE_DATE';
|
|
@@ -14197,7 +14220,7 @@
|
|
|
14197
14220
|
};
|
|
14198
14221
|
return GraphqlService;
|
|
14199
14222
|
}(StartableService));
|
|
14200
|
-
GraphqlService.ɵprov =
|
|
14223
|
+
GraphqlService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function GraphqlService_Factory() { return new GraphqlService(i0__namespace.ɵɵinject(i1__namespace$4.Platform), i0__namespace.ɵɵinject(i2__namespace$3.Apollo), i0__namespace.ɵɵinject(i3__namespace$2.HttpLink), i0__namespace.ɵɵinject(NetworkService), i0__namespace.ɵɵinject(i3__namespace$1.Storage), i0__namespace.ɵɵinject(CryptoService), i0__namespace.ɵɵinject(ENVIRONMENT), i0__namespace.ɵɵinject(APP_GRAPHQL_TYPE_POLICIES, 8)); }, token: GraphqlService, providedIn: "root" });
|
|
14201
14224
|
GraphqlService.decorators = [
|
|
14202
14225
|
{ type: i0.Injectable, args: [{
|
|
14203
14226
|
providedIn: 'root'
|
|
@@ -14214,7 +14237,7 @@
|
|
|
14214
14237
|
{ type: undefined, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [APP_GRAPHQL_TYPE_POLICIES,] }] }
|
|
14215
14238
|
]; };
|
|
14216
14239
|
|
|
14217
|
-
var sha256
|
|
14240
|
+
var sha256 = require('hash.js/lib/hash/sha/256');
|
|
14218
14241
|
var BaseGraphqlServiceOptions = /** @class */ (function () {
|
|
14219
14242
|
function BaseGraphqlServiceOptions() {
|
|
14220
14243
|
}
|
|
@@ -14381,8 +14404,8 @@
|
|
|
14381
14404
|
};
|
|
14382
14405
|
/* -- protected methods -- */
|
|
14383
14406
|
BaseGraphqlService.prototype.computeMutableWatchQueryId = function (opts) {
|
|
14384
|
-
var queryName = opts.queryName || sha256
|
|
14385
|
-
var variablesKey = opts.variables && sha256
|
|
14407
|
+
var queryName = opts.queryName || sha256().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
|
|
14408
|
+
var variablesKey = opts.variables && sha256().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
|
|
14386
14409
|
return [queryName, opts.arrayFieldName, variablesKey].join('|');
|
|
14387
14410
|
};
|
|
14388
14411
|
BaseGraphqlService.prototype.findMutableWatchQueries = function (opts) {
|
|
@@ -14448,17 +14471,17 @@
|
|
|
14448
14471
|
/* ------------------------------------
|
|
14449
14472
|
* GraphQL queries
|
|
14450
14473
|
* ------------------------------------*/
|
|
14451
|
-
var Fragments = {
|
|
14452
|
-
account: core.gql(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n fragment AccountFragment on AccountVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n settings {\n id\n locale\n latLongFormat\n content\n nonce\n updateDate\n __typename\n }\n department {\n id\n label\n name\n __typename\n }\n __typename\n }\n "], ["\n fragment AccountFragment on AccountVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n settings {\n id\n locale\n latLongFormat\n content\n nonce\n updateDate\n __typename\n }\n department {\n id\n label\n name\n __typename\n }\n __typename\n }\n "])))
|
|
14474
|
+
var Fragments$1 = {
|
|
14475
|
+
account: core.gql(templateObject_1$4 || (templateObject_1$4 = __makeTemplateObject(["\n fragment AccountFragment on AccountVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n settings {\n id\n locale\n latLongFormat\n content\n nonce\n updateDate\n __typename\n }\n department {\n id\n label\n name\n __typename\n }\n __typename\n }\n "], ["\n fragment AccountFragment on AccountVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n settings {\n id\n locale\n latLongFormat\n content\n nonce\n updateDate\n __typename\n }\n department {\n id\n label\n name\n __typename\n }\n __typename\n }\n "])))
|
|
14453
14476
|
};
|
|
14454
14477
|
// Load account query
|
|
14455
|
-
var LoadQuery = core.gql(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n query Account {\n data: account {\n ...AccountFragment\n }\n }\n ", "\n"], ["\n query Account {\n data: account {\n ...AccountFragment\n }\n }\n ", "\n"])), Fragments.account);
|
|
14478
|
+
var LoadQuery$1 = core.gql(templateObject_2$4 || (templateObject_2$4 = __makeTemplateObject(["\n query Account {\n data: account {\n ...AccountFragment\n }\n }\n ", "\n"], ["\n query Account {\n data: account {\n ...AccountFragment\n }\n }\n ", "\n"])), Fragments$1.account);
|
|
14456
14479
|
// Check email query
|
|
14457
|
-
var IsEmailExistsQuery = core.gql(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n query IsEmailExists($email: String, $hash: String){\n isEmailExists(email: $email, hash: $hash)\n }\n"], ["\n query IsEmailExists($email: String, $hash: String){\n isEmailExists(email: $email, hash: $hash)\n }\n"])));
|
|
14480
|
+
var IsEmailExistsQuery = core.gql(templateObject_3$3 || (templateObject_3$3 = __makeTemplateObject(["\n query IsEmailExists($email: String, $hash: String){\n isEmailExists(email: $email, hash: $hash)\n }\n"], ["\n query IsEmailExists($email: String, $hash: String){\n isEmailExists(email: $email, hash: $hash)\n }\n"])));
|
|
14458
14481
|
// Save (create or update) account mutation
|
|
14459
|
-
var SaveMutation = core.gql(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n mutation SaveAccount($data:AccountVOInput){\n data: saveAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n"], ["\n mutation SaveAccount($data:AccountVOInput){\n data: saveAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n"])), Fragments.account);
|
|
14482
|
+
var SaveMutation$1 = core.gql(templateObject_4$3 || (templateObject_4$3 = __makeTemplateObject(["\n mutation SaveAccount($data:AccountVOInput){\n data: saveAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n"], ["\n mutation SaveAccount($data:AccountVOInput){\n data: saveAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n"])), Fragments$1.account);
|
|
14460
14483
|
// Create account mutation
|
|
14461
|
-
var CreateMutation = core.gql(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n mutation CreateAccount($data:AccountVOInput){\n data: createAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n"], ["\n mutation CreateAccount($data:AccountVOInput){\n data: createAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n"])), Fragments.account);
|
|
14484
|
+
var CreateMutation = core.gql(templateObject_5$2 || (templateObject_5$2 = __makeTemplateObject(["\n mutation CreateAccount($data:AccountVOInput){\n data: createAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n"], ["\n mutation CreateAccount($data:AccountVOInput){\n data: createAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n"])), Fragments$1.account);
|
|
14462
14485
|
// Sent confirmation email
|
|
14463
14486
|
var SendConfirmEmailMutation = core.gql(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n mutation sendAccountConfirmationEmail($email:String, $locale:String){\n sendAccountConfirmationEmail(email: $email, locale: $locale)\n }\n"], ["\n mutation sendAccountConfirmationEmail($email:String, $locale:String){\n sendAccountConfirmationEmail(email: $email, locale: $locale)\n }\n"])));
|
|
14464
14487
|
// Confirm account email
|
|
@@ -14847,7 +14870,7 @@
|
|
|
14847
14870
|
error_3 = _b.sent();
|
|
14848
14871
|
console.error(error_3);
|
|
14849
14872
|
this.resetData();
|
|
14850
|
-
throw { code: ErrorCodes.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
|
|
14873
|
+
throw { code: ErrorCodes$2.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
|
|
14851
14874
|
case 4:
|
|
14852
14875
|
// Store pubkey+keypair
|
|
14853
14876
|
this._data.pubkey = Base58.encode(keypair.publicKey);
|
|
@@ -14883,7 +14906,7 @@
|
|
|
14883
14906
|
return [3 /*break*/, 18];
|
|
14884
14907
|
case 11:
|
|
14885
14908
|
err_1 = _b.sent();
|
|
14886
|
-
if (!(err_1 && +(err_1.code) === ErrorCodes.LOAD_ACCOUNT_ERROR)) return [3 /*break*/, 17];
|
|
14909
|
+
if (!(err_1 && +(err_1.code) === ErrorCodes$2.LOAD_ACCOUNT_ERROR)) return [3 /*break*/, 17];
|
|
14887
14910
|
if (!(data.username.indexOf('@') !== -1)) return [3 /*break*/, 16];
|
|
14888
14911
|
isEmailExists = void 0;
|
|
14889
14912
|
_b.label = 12;
|
|
@@ -14899,12 +14922,12 @@
|
|
|
14899
14922
|
case 15:
|
|
14900
14923
|
// Email not exists (no account)
|
|
14901
14924
|
if (!isEmailExists) {
|
|
14902
|
-
throw { code: ErrorCodes.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
|
|
14925
|
+
throw { code: ErrorCodes$2.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
|
|
14903
14926
|
}
|
|
14904
14927
|
_b.label = 16;
|
|
14905
14928
|
case 16:
|
|
14906
14929
|
// Email exists, so error = 'bad password'
|
|
14907
|
-
throw { code: ErrorCodes.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
|
|
14930
|
+
throw { code: ErrorCodes$2.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
|
|
14908
14931
|
case 17: throw err_1; // resend the first error
|
|
14909
14932
|
case 18:
|
|
14910
14933
|
_b.trys.push([18, 20, , 21]);
|
|
@@ -15076,8 +15099,8 @@
|
|
|
15076
15099
|
_b.label = 3;
|
|
15077
15100
|
case 3: return [3 /*break*/, 6];
|
|
15078
15101
|
case 4: return [4 /*yield*/, this.graphql.query({
|
|
15079
|
-
query: LoadQuery,
|
|
15080
|
-
error: { code: ErrorCodes.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
|
|
15102
|
+
query: LoadQuery$1,
|
|
15103
|
+
error: { code: ErrorCodes$2.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
|
|
15081
15104
|
fetchPolicy: opts && opts.fetchPolicy || 'no-cache' || undefined
|
|
15082
15105
|
})];
|
|
15083
15106
|
case 5:
|
|
@@ -15115,7 +15138,7 @@
|
|
|
15115
15138
|
case 1:
|
|
15116
15139
|
isEmailExists = _b.sent();
|
|
15117
15140
|
if (isEmailExists) {
|
|
15118
|
-
throw { code: ErrorCodes.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
|
|
15141
|
+
throw { code: ErrorCodes$2.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
|
|
15119
15142
|
}
|
|
15120
15143
|
return [2 /*return*/];
|
|
15121
15144
|
}
|
|
@@ -15165,7 +15188,7 @@
|
|
|
15165
15188
|
locale: locale
|
|
15166
15189
|
},
|
|
15167
15190
|
error: {
|
|
15168
|
-
code: ErrorCodes.SENT_CONFIRMATION_EMAIL_FAILED,
|
|
15191
|
+
code: ErrorCodes$2.SENT_CONFIRMATION_EMAIL_FAILED,
|
|
15169
15192
|
message: 'ERROR.SENT_ACCOUNT_CONFIRMATION_EMAIL_FAILED'
|
|
15170
15193
|
}
|
|
15171
15194
|
})];
|
|
@@ -15188,7 +15211,7 @@
|
|
|
15188
15211
|
code: code
|
|
15189
15212
|
},
|
|
15190
15213
|
error: {
|
|
15191
|
-
code: ErrorCodes.CONFIRM_EMAIL_FAILED,
|
|
15214
|
+
code: ErrorCodes$2.CONFIRM_EMAIL_FAILED,
|
|
15192
15215
|
message: 'ERROR.CONFIRM_ACCOUNT_EMAIL_FAILED'
|
|
15193
15216
|
}
|
|
15194
15217
|
})];
|
|
@@ -15211,7 +15234,7 @@
|
|
|
15211
15234
|
interval: 10
|
|
15212
15235
|
},
|
|
15213
15236
|
error: {
|
|
15214
|
-
code: ErrorCodes.SUBSCRIBE_ACCOUNT_ERROR,
|
|
15237
|
+
code: ErrorCodes$2.SUBSCRIBE_ACCOUNT_ERROR,
|
|
15215
15238
|
message: 'ERROR.ACCOUNT.SUBSCRIBE_ACCOUNT_ERROR'
|
|
15216
15239
|
}
|
|
15217
15240
|
}).subscribe({
|
|
@@ -15365,7 +15388,7 @@
|
|
|
15365
15388
|
throw error_6;
|
|
15366
15389
|
console.error(error_6);
|
|
15367
15390
|
throw {
|
|
15368
|
-
code: ErrorCodes.LOAD_ACCOUNT_ERROR,
|
|
15391
|
+
code: ErrorCodes$2.LOAD_ACCOUNT_ERROR,
|
|
15369
15392
|
message: 'ERROR.LOAD_ACCOUNT_ERROR'
|
|
15370
15393
|
};
|
|
15371
15394
|
case 4: return [2 /*return*/];
|
|
@@ -15539,7 +15562,7 @@
|
|
|
15539
15562
|
case 1:
|
|
15540
15563
|
existingAccount = _b.sent();
|
|
15541
15564
|
if (!existingAccount || !existingAccount.updateDate) {
|
|
15542
|
-
throw { code: ErrorCodes.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
|
|
15565
|
+
throw { code: ErrorCodes$2.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
|
|
15543
15566
|
}
|
|
15544
15567
|
this.copyIdAndUpdateDate(existingAccount, account);
|
|
15545
15568
|
_b.label = 2;
|
|
@@ -15548,10 +15571,10 @@
|
|
|
15548
15571
|
// User not allow to change his profiles
|
|
15549
15572
|
delete json.profiles;
|
|
15550
15573
|
return [4 /*yield*/, this.graphql.mutate({
|
|
15551
|
-
mutation: isNew ? CreateMutation : SaveMutation,
|
|
15574
|
+
mutation: isNew ? CreateMutation : SaveMutation$1,
|
|
15552
15575
|
variables: { data: json },
|
|
15553
15576
|
error: {
|
|
15554
|
-
code: ErrorCodes.SAVE_ACCOUNT_ERROR,
|
|
15577
|
+
code: ErrorCodes$2.SAVE_ACCOUNT_ERROR,
|
|
15555
15578
|
message: 'ERROR.SAVE_ACCOUNT_ERROR'
|
|
15556
15579
|
}
|
|
15557
15580
|
})];
|
|
@@ -15579,7 +15602,7 @@
|
|
|
15579
15602
|
if (counter > 4) {
|
|
15580
15603
|
if (this._debug)
|
|
15581
15604
|
console.debug("[account] Failed to authentication on pod (after " + counter + " attempts)");
|
|
15582
|
-
throw { code: ErrorCodes.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
|
|
15605
|
+
throw { code: ErrorCodes$2.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
|
|
15583
15606
|
}
|
|
15584
15607
|
if (!token) return [3 /*break*/, 2];
|
|
15585
15608
|
return [4 /*yield*/, this.graphql.query({
|
|
@@ -15588,7 +15611,7 @@
|
|
|
15588
15611
|
token: token
|
|
15589
15612
|
},
|
|
15590
15613
|
error: {
|
|
15591
|
-
code: ErrorCodes.UNAUTHORIZED,
|
|
15614
|
+
code: ErrorCodes$2.UNAUTHORIZED,
|
|
15592
15615
|
message: 'ERROR.UNAUTHORIZED'
|
|
15593
15616
|
},
|
|
15594
15617
|
fetchPolicy: 'no-cache'
|
|
@@ -15605,7 +15628,7 @@
|
|
|
15605
15628
|
_b.label = 2;
|
|
15606
15629
|
case 2:
|
|
15607
15630
|
challengeError = {
|
|
15608
|
-
code: ErrorCodes.AUTH_CHALLENGE_ERROR,
|
|
15631
|
+
code: ErrorCodes$2.AUTH_CHALLENGE_ERROR,
|
|
15609
15632
|
message: 'ERROR.AUTH_CHALLENGE_ERROR'
|
|
15610
15633
|
};
|
|
15611
15634
|
return [4 /*yield*/, this.graphql.query({
|
|
@@ -15647,7 +15670,7 @@
|
|
|
15647
15670
|
};
|
|
15648
15671
|
return AccountService;
|
|
15649
15672
|
}(BaseGraphqlService));
|
|
15650
|
-
AccountService.ɵprov =
|
|
15673
|
+
AccountService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function AccountService_Factory() { return new AccountService(i0__namespace.ɵɵinject(CryptoService), i0__namespace.ɵɵinject(NetworkService), i0__namespace.ɵɵinject(GraphqlService), i0__namespace.ɵɵinject(LocalSettingsService), i0__namespace.ɵɵinject(i3__namespace$1.Storage), i0__namespace.ɵɵinject(FileService), i0__namespace.ɵɵinject(ENVIRONMENT)); }, token: AccountService, providedIn: "root" });
|
|
15651
15674
|
AccountService.decorators = [
|
|
15652
15675
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
15653
15676
|
];
|
|
@@ -15660,7 +15683,7 @@
|
|
|
15660
15683
|
{ type: FileService },
|
|
15661
15684
|
{ type: undefined, decorators: [{ type: i0.Inject, args: [ENVIRONMENT,] }] }
|
|
15662
15685
|
]; };
|
|
15663
|
-
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10;
|
|
15686
|
+
var templateObject_1$4, templateObject_2$4, templateObject_3$3, templateObject_4$3, templateObject_5$2, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10;
|
|
15664
15687
|
|
|
15665
15688
|
var Software_1, Configuration_1;
|
|
15666
15689
|
// @dynamic
|
|
@@ -15912,13 +15935,13 @@
|
|
|
15912
15935
|
/* ------------------------------------
|
|
15913
15936
|
* GraphQL queries
|
|
15914
15937
|
* ------------------------------------*/
|
|
15915
|
-
var Fragments
|
|
15916
|
-
config: core.gql(templateObject_1$
|
|
15938
|
+
var Fragments = {
|
|
15939
|
+
config: core.gql(templateObject_1$3 || (templateObject_1$3 = __makeTemplateObject(["\n fragment ConfigFragment on ConfigurationVO {\n id\n label\n name\n description\n comments\n properties\n smallLogo\n largeLogo\n backgroundImages\n partners {\n id\n label\n name\n logo\n siteUrl\n __typename\n }\n updateDate\n creationDate\n statusId\n __typename\n }\n "], ["\n fragment ConfigFragment on ConfigurationVO {\n id\n label\n name\n description\n comments\n properties\n smallLogo\n largeLogo\n backgroundImages\n partners {\n id\n label\n name\n logo\n siteUrl\n __typename\n }\n updateDate\n creationDate\n statusId\n __typename\n }\n "])))
|
|
15917
15940
|
};
|
|
15918
|
-
var LoadQuery
|
|
15941
|
+
var LoadQuery = core.gql(templateObject_2$3 || (templateObject_2$3 = __makeTemplateObject(["\nquery Configuration{\n data: configuration{\n ...ConfigFragment\n }\n}\n ", "\n"], ["\nquery Configuration{\n data: configuration{\n ...ConfigFragment\n }\n}\n ", "\n"])), Fragments.config);
|
|
15919
15942
|
// Save (create or update) account mutation
|
|
15920
|
-
var SaveMutation
|
|
15921
|
-
var ClearCache = core.gql(templateObject_4$
|
|
15943
|
+
var SaveMutation = core.gql(templateObject_3$2 || (templateObject_3$2 = __makeTemplateObject(["\n mutation SaveConfiguration($data: ConfigurationVOInput){\n data: saveConfiguration(config: $data){\n ...ConfigFragment\n }\n }\n ", "\n"], ["\n mutation SaveConfiguration($data: ConfigurationVOInput){\n data: saveConfiguration(config: $data){\n ...ConfigFragment\n }\n }\n ", "\n"])), Fragments.config);
|
|
15944
|
+
var ClearCache = core.gql(templateObject_4$2 || (templateObject_4$2 = __makeTemplateObject(["\n query ClearCache($name: String) {\n clearCache(name: $name)\n }\n"], ["\n query ClearCache($name: String) {\n clearCache(name: $name)\n }\n"])));
|
|
15922
15945
|
var CacheStatistics = core.gql(templateObject_5$1 || (templateObject_5$1 = __makeTemplateObject(["\n query CacheStatistics {\n cacheStatistics\n }\n"], ["\n query CacheStatistics {\n cacheStatistics\n }\n"])));
|
|
15923
15946
|
var APP_CONFIG_OPTIONS = new i0.InjectionToken('defaultOptions');
|
|
15924
15947
|
var ConfigService = /** @class */ (function (_super) {
|
|
@@ -16029,12 +16052,12 @@
|
|
|
16029
16052
|
case 0:
|
|
16030
16053
|
now = Date.now();
|
|
16031
16054
|
console.debug('[config] Loading Pod configuration...');
|
|
16032
|
-
query = opts && opts.query || LoadQuery
|
|
16055
|
+
query = opts && opts.query || LoadQuery;
|
|
16033
16056
|
variables = opts && opts.variables || undefined;
|
|
16034
16057
|
return [4 /*yield*/, this.graphql.query({
|
|
16035
16058
|
query: query,
|
|
16036
16059
|
variables: variables,
|
|
16037
|
-
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
16060
|
+
error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
16038
16061
|
fetchPolicy: opts && opts.fetchPolicy || undefined /*default*/
|
|
16039
16062
|
})];
|
|
16040
16063
|
case 1:
|
|
@@ -16068,12 +16091,12 @@
|
|
|
16068
16091
|
console.debug('[config] Saving Pod configuration...', config);
|
|
16069
16092
|
json = config.asObject();
|
|
16070
16093
|
return [4 /*yield*/, this.graphql.mutate({
|
|
16071
|
-
mutation: SaveMutation
|
|
16094
|
+
mutation: SaveMutation,
|
|
16072
16095
|
variables: {
|
|
16073
16096
|
data: json
|
|
16074
16097
|
},
|
|
16075
16098
|
error: {
|
|
16076
|
-
code: ErrorCodes.SAVE_CONFIG_ERROR,
|
|
16099
|
+
code: ErrorCodes$2.SAVE_CONFIG_ERROR,
|
|
16077
16100
|
message: 'ERROR.SAVE_CONFIG_ERROR'
|
|
16078
16101
|
}
|
|
16079
16102
|
})];
|
|
@@ -16108,7 +16131,7 @@
|
|
|
16108
16131
|
return [4 /*yield*/, this.graphql.query({
|
|
16109
16132
|
query: CacheStatistics,
|
|
16110
16133
|
variables: null,
|
|
16111
|
-
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
16134
|
+
error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
16112
16135
|
fetchPolicy: 'network-only'
|
|
16113
16136
|
})];
|
|
16114
16137
|
case 1:
|
|
@@ -16132,7 +16155,7 @@
|
|
|
16132
16155
|
return [4 /*yield*/, this.graphql.query({
|
|
16133
16156
|
query: ClearCache,
|
|
16134
16157
|
variables: variables,
|
|
16135
|
-
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
16158
|
+
error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
16136
16159
|
fetchPolicy: 'network-only'
|
|
16137
16160
|
})];
|
|
16138
16161
|
case 1:
|
|
@@ -16332,7 +16355,7 @@
|
|
|
16332
16355
|
};
|
|
16333
16356
|
return ConfigService;
|
|
16334
16357
|
}(BaseGraphqlService));
|
|
16335
|
-
ConfigService.ɵprov =
|
|
16358
|
+
ConfigService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function ConfigService_Factory() { return new ConfigService(i0__namespace.ɵɵinject(i1__namespace$4.Platform), i0__namespace.ɵɵinject(GraphqlService), i0__namespace.ɵɵinject(i3__namespace$1.Storage), i0__namespace.ɵɵinject(NetworkService), i0__namespace.ɵɵinject(FileService), i0__namespace.ɵɵinject(i1__namespace$4.ToastController), i0__namespace.ɵɵinject(i1__namespace$1.TranslateService), i0__namespace.ɵɵinject(ENVIRONMENT), i0__namespace.ɵɵinject(APP_CONFIG_OPTIONS, 8)); }, token: ConfigService, providedIn: "root" });
|
|
16336
16359
|
ConfigService.decorators = [
|
|
16337
16360
|
{ type: i0.Injectable, args: [{
|
|
16338
16361
|
providedIn: 'root',
|
|
@@ -16350,9 +16373,9 @@
|
|
|
16350
16373
|
{ type: undefined, decorators: [{ type: i0.Inject, args: [ENVIRONMENT,] }] },
|
|
16351
16374
|
{ type: undefined, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [APP_CONFIG_OPTIONS,] }] }
|
|
16352
16375
|
]; };
|
|
16353
|
-
var templateObject_1$
|
|
16376
|
+
var templateObject_1$3, templateObject_2$3, templateObject_3$2, templateObject_4$2, templateObject_5$1;
|
|
16354
16377
|
|
|
16355
|
-
var moment$
|
|
16378
|
+
var moment$2 = momentImported__namespace;
|
|
16356
16379
|
var PlatformService = /** @class */ (function () {
|
|
16357
16380
|
function PlatformService(platform, cdkPlatform, toastController, translate, dateAdapter, entitiesStorage, settings, networkService, accountService, configService, cache, storage, audioProvider, environment, statusBar, keyboard, splashScreen, browser, downloader) {
|
|
16358
16381
|
this.platform = platform;
|
|
@@ -16577,16 +16600,16 @@
|
|
|
16577
16600
|
}
|
|
16578
16601
|
// config moment lib
|
|
16579
16602
|
try {
|
|
16580
|
-
moment$
|
|
16603
|
+
moment$2.locale(event.lang);
|
|
16581
16604
|
console.debug('[platform] Use locale {' + event.lang + '}');
|
|
16582
16605
|
}
|
|
16583
16606
|
// If error, fallback to en
|
|
16584
16607
|
catch (err) {
|
|
16585
|
-
moment$
|
|
16608
|
+
moment$2.locale('en');
|
|
16586
16609
|
console.warn('[platform] Unknown local for moment lib. Using default [en]');
|
|
16587
16610
|
}
|
|
16588
16611
|
// Config date adapter
|
|
16589
|
-
_this.dateAdapter.setLocale(moment$
|
|
16612
|
+
_this.dateAdapter.setLocale(moment$2.locale());
|
|
16590
16613
|
}
|
|
16591
16614
|
});
|
|
16592
16615
|
this.settings.onChange.subscribe(function (data) {
|
|
@@ -16771,7 +16794,7 @@
|
|
|
16771
16794
|
};
|
|
16772
16795
|
return PlatformService;
|
|
16773
16796
|
}());
|
|
16774
|
-
PlatformService.ɵprov =
|
|
16797
|
+
PlatformService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function PlatformService_Factory() { return new PlatformService(i0__namespace.ɵɵinject(i1__namespace$4.Platform), i0__namespace.ɵɵinject(i2__namespace$4.Platform), i0__namespace.ɵɵinject(i1__namespace$4.ToastController), i0__namespace.ɵɵinject(i1__namespace$1.TranslateService), i0__namespace.ɵɵinject(i1__namespace.MomentDateAdapter), i0__namespace.ɵɵinject(EntitiesStorage), i0__namespace.ɵɵinject(LocalSettingsService), i0__namespace.ɵɵinject(NetworkService), i0__namespace.ɵɵinject(AccountService), i0__namespace.ɵɵinject(ConfigService), i0__namespace.ɵɵinject(i6__namespace.CacheService), i0__namespace.ɵɵinject(i3__namespace$1.Storage), i0__namespace.ɵɵinject(AudioProvider), i0__namespace.ɵɵinject(ENVIRONMENT), i0__namespace.ɵɵinject(i14__namespace.StatusBar, 8), i0__namespace.ɵɵinject(i15__namespace.Keyboard, 8), i0__namespace.ɵɵinject(i10__namespace.SplashScreen, 8), i0__namespace.ɵɵinject(i17__namespace.InAppBrowser, 8), i0__namespace.ɵɵinject(i18__namespace.Downloader, 8)); }, token: PlatformService, providedIn: "root" });
|
|
16775
16798
|
PlatformService.decorators = [
|
|
16776
16799
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
16777
16800
|
];
|
|
@@ -16869,7 +16892,7 @@
|
|
|
16869
16892
|
};
|
|
16870
16893
|
return MatStepperI18n;
|
|
16871
16894
|
}(stepper.MatStepperIntl));
|
|
16872
|
-
MatStepperI18n.ɵprov =
|
|
16895
|
+
MatStepperI18n.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
|
|
16873
16896
|
MatStepperI18n.decorators = [
|
|
16874
16897
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
16875
16898
|
];
|
|
@@ -18061,7 +18084,7 @@
|
|
|
18061
18084
|
return 1;
|
|
18062
18085
|
}
|
|
18063
18086
|
}
|
|
18064
|
-
var ɵ0$
|
|
18087
|
+
var ɵ0$1 = function (defaultStateSize) { return [
|
|
18065
18088
|
Math.round((rgbArrayMap.red[0] - 50) / defaultStateSize),
|
|
18066
18089
|
Math.round((255 - rgbArrayMap.red[1]) / defaultStateSize),
|
|
18067
18090
|
Math.round((255 - rgbArrayMap.red[2]) / defaultStateSize)
|
|
@@ -18069,7 +18092,7 @@
|
|
|
18069
18092
|
var SCALE_OPTIONS_DEFAULT = {
|
|
18070
18093
|
startColor: rgbArrayMap.red,
|
|
18071
18094
|
startStates: [0, 2, 3],
|
|
18072
|
-
startStepsFn: ɵ0$
|
|
18095
|
+
startStepsFn: ɵ0$1
|
|
18073
18096
|
};
|
|
18074
18097
|
/**
|
|
18075
18098
|
* Internal function, that create a colors scale, using iteration
|
|
@@ -18161,24 +18184,24 @@
|
|
|
18161
18184
|
return result;
|
|
18162
18185
|
}
|
|
18163
18186
|
|
|
18164
|
-
var EntityTestClass = /** @class */ (function () {
|
|
18187
|
+
var EntityTestClass$1 = /** @class */ (function () {
|
|
18165
18188
|
function EntityTestClass() {
|
|
18166
18189
|
}
|
|
18167
18190
|
return EntityTestClass;
|
|
18168
18191
|
}());
|
|
18169
|
-
var FAKE_ENTITIES = [
|
|
18192
|
+
var FAKE_ENTITIES$1 = [
|
|
18170
18193
|
{ id: 1, label: 'AAA', name: 'Item A', description: 'Very long description A', comments: 'Very very long comments... again for A' },
|
|
18171
18194
|
{ id: 2, label: 'BBB', name: 'Item B', description: 'Very long description B', comments: 'Very very long comments... again for B' },
|
|
18172
18195
|
{ id: 3, label: 'CCC', name: 'Item C', description: 'Very long description C', comments: 'Very very long comments... again for C' }
|
|
18173
18196
|
];
|
|
18174
|
-
function deepCopy(values, size) {
|
|
18197
|
+
function deepCopy$1(values, size) {
|
|
18175
18198
|
if (isNil(size)) {
|
|
18176
|
-
return (values || FAKE_ENTITIES).map(function (entity) { return Object.assign({}, entity); });
|
|
18199
|
+
return (values || FAKE_ENTITIES$1).map(function (entity) { return Object.assign({}, entity); });
|
|
18177
18200
|
}
|
|
18178
18201
|
var result = [];
|
|
18179
18202
|
var i = 1;
|
|
18180
18203
|
while (result.length < size) {
|
|
18181
|
-
result = result.concat((values || FAKE_ENTITIES).map(function (entity) {
|
|
18204
|
+
result = result.concat((values || FAKE_ENTITIES$1).map(function (entity) {
|
|
18182
18205
|
var name = entity.name + ' #' + i;
|
|
18183
18206
|
return Object.assign(Object.assign({}, entity), { id: i++, name: name });
|
|
18184
18207
|
}));
|
|
@@ -18188,7 +18211,7 @@
|
|
|
18188
18211
|
var AutocompleteTestPage = /** @class */ (function () {
|
|
18189
18212
|
function AutocompleteTestPage(formBuilder) {
|
|
18190
18213
|
this.formBuilder = formBuilder;
|
|
18191
|
-
this._items = deepCopy(FAKE_ENTITIES, 100);
|
|
18214
|
+
this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
|
|
18192
18215
|
this.$items = new rxjs.BehaviorSubject(undefined);
|
|
18193
18216
|
this.autocompleteFields = new MatAutocompleteConfigHolder();
|
|
18194
18217
|
this.memoryHide = false;
|
|
@@ -18233,7 +18256,7 @@
|
|
|
18233
18256
|
});
|
|
18234
18257
|
// From items
|
|
18235
18258
|
this.autocompleteFields.add('entity-items-large', {
|
|
18236
|
-
items: FAKE_ENTITIES.slice(),
|
|
18259
|
+
items: FAKE_ENTITIES$1.slice(),
|
|
18237
18260
|
attributes: ['label', 'name', 'description', 'comments'],
|
|
18238
18261
|
displayWith: this.entityToString
|
|
18239
18262
|
});
|
|
@@ -18246,12 +18269,12 @@
|
|
|
18246
18269
|
var _this = this;
|
|
18247
18270
|
return __generator(this, function (_a) {
|
|
18248
18271
|
data = {
|
|
18249
|
-
entity: deepCopy(FAKE_ENTITIES)[0],
|
|
18272
|
+
entity: deepCopy$1(FAKE_ENTITIES$1)[0],
|
|
18250
18273
|
// This item is NOT in the items list => i should be displayed anyway
|
|
18251
18274
|
missingEntity: {
|
|
18252
18275
|
id: -1, label: '??', name: 'Missing item'
|
|
18253
18276
|
},
|
|
18254
|
-
disableEntity: deepCopy(FAKE_ENTITIES)[2]
|
|
18277
|
+
disableEntity: deepCopy$1(FAKE_ENTITIES$1)[2]
|
|
18255
18278
|
};
|
|
18256
18279
|
this.form.setValue(data);
|
|
18257
18280
|
// Load observables
|
|
@@ -18337,7 +18360,7 @@
|
|
|
18337
18360
|
AutocompleteTestPage.decorators = [
|
|
18338
18361
|
{ type: i0.Component, args: [{
|
|
18339
18362
|
selector: 'app-autocomplete-test',
|
|
18340
|
-
template: "<ion-header>\n <ion-toolbar color=\"primary\">\n\n <ion-buttons slot=\"start\">\n <ion-back-button></ion-back-button>\n </ion-buttons>\n\n <ion-title>Autocomplete field test page</ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content>\n\n <!-- Tab nav - mobile/desktop mode -->\n <nav mat-tab-nav-bar>\n <a mat-tab-link\n [active]=\"mode==='mobile'\"\n (click)=\"toggleMode('mobile')\">\n <mat-label>Mobile</mat-label>\n </a>\n <a mat-tab-link [active]=\"mode==='desktop'\"\n (click)=\"toggleMode('desktop')\">\n <mat-label>Desktop</mat-label>\n </a>\n <a mat-tab-link [active]=\"mode==='memory'\"\n (click)=\"toggleMode('memory')\">\n <mat-label>Memory leak debug</mat-label>\n </a>\n <a mat-tab-link\n [active]=\"mode==='temp'\"\n (click)=\"toggleMode('temp')\">\n <mat-label>Temporary</mat-label>\n </a>\n </nav>\n\n <form class=\"form-container\" [formGroup]=\"form\" (ngSubmit)=\"doSubmit($event)\">\n\n <!--<ion-grid *ngIf=\"mode === 'temp'\">\n <ion-row>\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-text color=\"primary\">\n Items is an Observable\n </ion-text>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>items: Observable<any[]></pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [logPrefix]=\"'[combo-desktop-2]'\"\n [compareWith]=\"compareWithFn\"\n [mobile]=\"false\"\n ></mat-autocomplete-field>\n </ion-card-content>\n\n </ion-card>\n </ion-col>\n </ion-row>\n\n\n </ion-grid>-->\n\n\n <ion-grid *ngIf=\"mode === 'memory'\">\n\n <!-- debugging memory leak -->\n <ion-row><ion-col><ion-text><h4>Debug memory leak</h4></ion-text></ion-col></ion-row>\n <ion-row>\n <ion-col size=\"2\">\n <mat-form-field floatLabel=\"always\">\n <input matInput type=\"text\" hidden placeholder=\"Items type\">\n <mat-select (selectionChange)=\"memoryAutocompleteFieldName=$event.value\" [value]=\"memoryAutocompleteFieldName\">\n <mat-option value=\"entity-$items\">Observable</mat-option>\n <mat-option value=\"entity-suggestFn\">Suggest function</mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n <ion-col size=\"1\" class=\"ion-no-padding\">\n <mat-form-field floatLabel=\"always\" >\n <input matInput type=\"text\" hidden placeholder=\"Mobile ?\">\n <mat-checkbox (change)=\"memoryMobile=$event.checked\" [checked]=\"memoryMobile\">\n </mat-checkbox>\n </mat-form-field>\n </ion-col>\n\n <ion-col size=\"2\">\n <ion-button *ngIf=\"!memoryTimer\" (click)=\"startMemoryTimer()\" color=\"tertiary\">Start</ion-button>\n <ion-button *ngIf=\"memoryTimer\" (click)=\"stopMemoryTimer()\" color=\"tertiary\">Stop</ion-button>\n </ion-col>\n </ion-row>\n\n <ion-row>\n <ion-col>\n <mat-autocomplete-field formControlName=\"entity\"\n *ngIf=\"!memoryHide && memoryAutocompleteFieldName\"\n [config]=\"autocompleteFields.get(memoryAutocompleteFieldName)\"\n [mobile]=\"memoryMobile\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-memory-leak]'\">\n </mat-autocomplete-field>\n </ion-col>\n </ion-row>\n\n </ion-grid>\n\n <!-- Mobile mode -->\n <ion-grid *ngIf=\"mode === 'mobile'\">\n\n <ion-row>\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Suggest() function\n </ion-label>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>mobile: true, suggestFn: (searchText, filter) => any[]</pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-suggestFn')\"\n [mobile]=\"true\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-mobile-1]'\"\n [required]=\"true\"\n placeholder=\"Suggest field\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Items is an Observable\n </ion-label>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>mobile: true, items: Observable<any[]></pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [mobile]=\"true\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-mobile-observable]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Control value if missing in items\n </ion-label>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>mobile: true, items: Observable<any[]></pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"missingEntity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [mobile]=\"true\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-mobile-2]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Disabled control\n </ion-label>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"disableEntity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [mobile]=\"true\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-mobile-2]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n </ion-row>\n\n <ion-row>\n <ion-col size=\"9\">\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Change filter\n </ion-label>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre></pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <ion-grid class=\"ion-no-padding\">\n <ion-row>\n <ion-col>\n <ion-button (click)=\"updateFilter('entity-items-filter')\">Filter on: {{autocompleteFields.get('entity-items-filter').filter?.searchAttribute }}</ion-button>\n </ion-col>\n <ion-col>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-items-filter')\"\n [mobile]=\"true\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-mobile-filter]'\"\n ></mat-autocomplete-field>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col size=\"3\">\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Large combo\n </ion-label>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>class=\"min-width-large\"</pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-items-large')\"\n [mobile]=\"true\"\n class=\"min-width-large\"\n panelWidth=\"400px\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-mobile-large]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n <!-- Desktop mode -->\n <ion-grid *ngIf=\"mode === 'desktop'\">\n <ion-row>\n <ion-col><ion-text><h4>Desktop mode</h4></ion-text></ion-col>\n </ion-row>\n <ion-row>\n\n\n <ion-col size=\"6\">\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-text color=\"primary\">\n items from suggest function\n </ion-text>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>suggest: (value, filter) => LoadResult<any>\nsuggestLengthThreshold: '3'</pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-items-filter')\"\n [placeholder]=\"'Entity'\"\n [mobile]=\"false\"\n [compareWith]=\"compareWithFn\"\n suggestLengthThreshold=\"3\"\n [logPrefix]=\"'[combo-desktop-suggest]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col size=\"6\">\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-text color=\"primary\">\n Items is an array\n </ion-text>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>items: [], value: {{stringify(form.controls.entity.value)}}</pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-items')\"\n [logPrefix]=\"'[combo-desktop-array-1]'\"\n [compareWith]=\"compareWithFn\"\n [mobile]=\"false\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-text color=\"primary\">\n Items is an Observable\n </ion-text>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>items: Observable<any[]></pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [logPrefix]=\"'[combo-desktop-2]'\"\n [compareWith]=\"compareWithFn\"\n [mobile]=\"false\"\n ></mat-autocomplete-field>\n </ion-card-content>\n\n </ion-card>\n </ion-col>\n\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Control value if missing in items\n </ion-label>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>items: Observable<any[]></pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"missingEntity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-desktop-missing]'\"\n [mobile]=\"false\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Full size panel\n </ion-label>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>class: 'mat-autocomplete-panel-full-size'</pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [mobile]=\"false\"\n [class]=\"'mat-autocomplete-panel-full-size'\"\n [compareWith]=\"compareWithFn\"\n [matAutocompletePosition]=\"'above'\"\n [logPrefix]=\"'[combo-desktop-full-size]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Disabled control\n </ion-label>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"disableEntity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [mobile]=\"false\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-desktop-disable]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Readonly control\n </ion-label>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [mobile]=\"false\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-desktop-readonly]'\"\n [readonly]=\"true\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n </ion-row>\n\n <ion-row>\n <ion-col size=\"9\" >\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Full size combo\n </ion-label>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>class=\"mat-autocomplete-panel-full-size\"</pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-items-large')\"\n [mobile]=\"false\"\n class=\"mat-autocomplete-panel-full-size\"\n panelWidth=\"100vw\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-desktop-full-size]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col size=\"3\" >\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Large combo\n </ion-label>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>panelWidth: string</pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-items-large')\"\n [mobile]=\"false\"\n panelWidth=\"400px\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-desktop-large]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col size=\"6\">\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-text color=\"primary\">\n Readonly toggle\n </ion-text>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-checkbox (change)=\"readonlyField.readonly=$event.checked\" [checked]=\"readonlyField.readonly\">\n </mat-checkbox>\n\n <mat-autocomplete-field #readonlyField formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-items-filter')\"\n [placeholder]=\"'Entity'\"\n [mobile]=\"false\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-desktop-readonly]'\"\n [readonly]=\"true\">\n <mat-icon matPrefix>keyboard_arrow_right</mat-icon>\n <mat-icon matSuffix>keyboard_arrow_left</mat-icon>\n </mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n </ion-row>\n\n </ion-grid>\n\n </form>\n\n</ion-content>\n"
|
|
18363
|
+
template: "<ion-header>\n <ion-toolbar color=\"primary\">\n\n <ion-buttons slot=\"start\">\n <ion-back-button></ion-back-button>\n </ion-buttons>\n\n <ion-title>Autocomplete field test page</ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content>\n\n <!-- Tab nav - mobile/desktop mode -->\n <nav mat-tab-nav-bar>\n <a mat-tab-link\n [active]=\"mode==='mobile'\"\n (click)=\"toggleMode('mobile')\">\n <mat-label>Mobile</mat-label>\n </a>\n <a mat-tab-link [active]=\"mode==='desktop'\"\n (click)=\"toggleMode('desktop')\">\n <mat-label>Desktop</mat-label>\n </a>\n <a mat-tab-link [active]=\"mode==='memory'\"\n (click)=\"toggleMode('memory')\">\n <mat-label>Memory leak debug</mat-label>\n </a>\n <a mat-tab-link\n [active]=\"mode==='temp'\"\n (click)=\"toggleMode('temp')\">\n <mat-label>Temporary</mat-label>\n </a>\n </nav>\n\n <form class=\"form-container\" [formGroup]=\"form\" (ngSubmit)=\"doSubmit($event)\">\n\n <!--<ion-grid *ngIf=\"mode === 'temp'\">\n <ion-row>\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-text color=\"primary\">\n Items is an Observable\n </ion-text>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>items: Observable<any[]></pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [logPrefix]=\"'[combo-desktop-2]'\"\n [compareWith]=\"compareWithFn\"\n [mobile]=\"false\"\n ></mat-autocomplete-field>\n </ion-card-content>\n\n </ion-card>\n </ion-col>\n </ion-row>\n\n\n </ion-grid>-->\n\n\n <ion-grid *ngIf=\"mode === 'memory'\">\n\n <!-- debugging memory leak -->\n <ion-row>\n <ion-col>\n <ion-text><h4>Debug memory leak</h4></ion-text>\n </ion-col>\n </ion-row>\n <ion-row>\n <ion-col size=\"2\">\n <mat-form-field floatLabel=\"always\">\n <input matInput type=\"text\" hidden placeholder=\"Items type\">\n <mat-select (selectionChange)=\"memoryAutocompleteFieldName=$event.value\" [value]=\"memoryAutocompleteFieldName\">\n <mat-option value=\"entity-$items\">Observable</mat-option>\n <mat-option value=\"entity-suggestFn\">Suggest function</mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n <ion-col size=\"1\" class=\"ion-no-padding\">\n <mat-form-field floatLabel=\"always\">\n <input matInput type=\"text\" hidden placeholder=\"Mobile ?\">\n <mat-checkbox (change)=\"memoryMobile=$event.checked\" [checked]=\"memoryMobile\">\n </mat-checkbox>\n </mat-form-field>\n </ion-col>\n\n <ion-col size=\"2\">\n <ion-button *ngIf=\"!memoryTimer\" (click)=\"startMemoryTimer()\" color=\"tertiary\">Start</ion-button>\n <ion-button *ngIf=\"memoryTimer\" (click)=\"stopMemoryTimer()\" color=\"tertiary\">Stop</ion-button>\n </ion-col>\n </ion-row>\n\n <ion-row>\n <ion-col>\n <mat-autocomplete-field formControlName=\"entity\"\n *ngIf=\"!memoryHide && memoryAutocompleteFieldName\"\n [config]=\"autocompleteFields.get(memoryAutocompleteFieldName)\"\n [mobile]=\"memoryMobile\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-memory-leak]'\">\n </mat-autocomplete-field>\n </ion-col>\n </ion-row>\n\n </ion-grid>\n\n <!-- Mobile mode -->\n <ion-grid *ngIf=\"mode === 'mobile'\">\n\n <ion-row>\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Suggest() function\n </ion-label>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small>\n <pre>mobile: true, suggestFn: (searchText, filter) => any[]</pre>\n </small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-suggestFn')\"\n [mobile]=\"true\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-mobile-1]'\"\n [required]=\"true\"\n placeholder=\"Suggest field\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Items is an Observable\n </ion-label>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small>\n <pre>mobile: true, items: Observable<any[]></pre>\n </small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [mobile]=\"true\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-mobile-observable]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Control value if missing in items\n </ion-label>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small>\n <pre>mobile: true, items: Observable<any[]></pre>\n </small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"missingEntity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [mobile]=\"true\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-mobile-2]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Disabled control\n </ion-label>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"disableEntity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [mobile]=\"true\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-mobile-2]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n </ion-row>\n\n <ion-row>\n <ion-col size=\"9\">\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Change filter\n </ion-label>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small>\n <pre></pre>\n </small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <ion-grid class=\"ion-no-padding\">\n <ion-row>\n <ion-col>\n <ion-button (click)=\"updateFilter('entity-items-filter')\">Filter on: {{autocompleteFields.get('entity-items-filter').filter?.searchAttribute }}</ion-button>\n </ion-col>\n <ion-col>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-items-filter')\"\n [mobile]=\"true\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-mobile-filter]'\"\n ></mat-autocomplete-field>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col size=\"3\">\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Large combo\n </ion-label>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small>\n <pre>class=\"min-width-large\"</pre>\n </small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-items-large')\"\n [mobile]=\"true\"\n class=\"min-width-large\"\n panelWidth=\"400px\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-mobile-large]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n </ion-row>\n <ion-row>\n <ion-col size=\"6\">\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-text color=\"primary\">\n Readonly toggle\n </ion-text>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <ion-grid>\n <ion-row>\n <ion-col size=\"3\">\n <mat-checkbox (change)=\"readonlyField.readonly=$event.checked\" [checked]=\"readonlyField.readonly\">\n Readonly ?\n </mat-checkbox>\n </ion-col>\n </ion-row>\n <ion-row>\n <ion-col>\n <mat-autocomplete-field #readonlyField formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-items')\"\n [placeholder]=\"'Entity'\"\n [mobile]=\"true\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-mobile-readonly]'\"\n [readonly]=\"true\"\n [clearable]=\"!readonlyField.readonly\">\n </mat-autocomplete-field>\n </ion-col>\n </ion-row>\n </ion-grid>\n </ion-card-content>\n </ion-card>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n <!-- Desktop mode -->\n <ion-grid *ngIf=\"mode === 'desktop'\">\n <ion-row>\n <ion-col>\n <ion-text><h4>Desktop mode</h4></ion-text>\n </ion-col>\n </ion-row>\n <ion-row>\n\n\n <ion-col size=\"6\">\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-text color=\"primary\">\n items from suggest function\n </ion-text>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>suggest: (value, filter) => LoadResult<any>\nsuggestLengthThreshold: '3'</pre>\n </small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-items-filter')\"\n [placeholder]=\"'Entity'\"\n [mobile]=\"false\"\n [compareWith]=\"compareWithFn\"\n suggestLengthThreshold=\"3\"\n [logPrefix]=\"'[combo-desktop-suggest]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col size=\"6\">\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-text color=\"primary\">\n Items is an array\n </ion-text>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small>\n <pre>items: [], value: {{stringify(form.controls.entity.value)}}</pre>\n </small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-items')\"\n [logPrefix]=\"'[combo-desktop-array-1]'\"\n [compareWith]=\"compareWithFn\"\n [mobile]=\"false\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-text color=\"primary\">\n Items is an Observable\n </ion-text>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small>\n <pre>items: Observable<any[]></pre>\n </small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [logPrefix]=\"'[combo-desktop-2]'\"\n [compareWith]=\"compareWithFn\"\n [mobile]=\"false\"\n ></mat-autocomplete-field>\n </ion-card-content>\n\n </ion-card>\n </ion-col>\n\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Control value if missing in items\n </ion-label>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small>\n <pre>items: Observable<any[]></pre>\n </small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"missingEntity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-desktop-missing]'\"\n [mobile]=\"false\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Full size panel\n </ion-label>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small>\n <pre>class: 'mat-autocomplete-panel-full-size'</pre>\n </small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [mobile]=\"false\"\n [class]=\"'mat-autocomplete-panel-full-size'\"\n [compareWith]=\"compareWithFn\"\n [matAutocompletePosition]=\"'above'\"\n [logPrefix]=\"'[combo-desktop-full-size]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Disabled control\n </ion-label>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"disableEntity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [mobile]=\"false\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-desktop-disable]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Readonly control\n </ion-label>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [mobile]=\"false\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-desktop-readonly]'\"\n [readonly]=\"true\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n </ion-row>\n\n <ion-row>\n <ion-col size=\"9\">\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Full size combo\n </ion-label>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small>\n <pre>class=\"mat-autocomplete-panel-full-size\"</pre>\n </small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-items-large')\"\n [mobile]=\"false\"\n class=\"mat-autocomplete-panel-full-size\"\n panelWidth=\"100vw\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-desktop-full-size]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col size=\"3\">\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Large combo\n </ion-label>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small>\n <pre>panelWidth: string</pre>\n </small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-items-large')\"\n [mobile]=\"false\"\n panelWidth=\"400px\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-desktop-large]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col size=\"6\">\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-text color=\"primary\">\n Readonly toggle\n </ion-text>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <ion-grid>\n <ion-row>\n <ion-col size=\"3\">\n <mat-checkbox (change)=\"readonlyField.readonly=$event.checked\" [checked]=\"readonlyField.readonly\">\n Readonly ?\n </mat-checkbox>\n </ion-col>\n <ion-col size=\"3\">\n <mat-checkbox #showIcons [checked]=\"false\">\n Icons ?\n </mat-checkbox>\n </ion-col>\n </ion-row>\n <ion-row>\n <ion-col>\n <mat-autocomplete-field #readonlyField formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-items-filter')\"\n [placeholder]=\"'Entity'\"\n [mobile]=\"false\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-desktop-readonly]'\"\n [readonly]=\"true\"\n [clearable]=\"!readonlyField.readonly\">\n <mat-icon matPrefix *ngIf=\"showIcons.checked\">keyboard_arrow_right</mat-icon>\n <mat-icon matSuffix *ngIf=\"showIcons.checked\">keyboard_arrow_left</mat-icon>\n </mat-autocomplete-field>\n </ion-col>\n </ion-row>\n </ion-grid>\n </ion-card-content>\n </ion-card>\n </ion-col>\n </ion-row>\n\n </ion-grid>\n\n </form>\n\n</ion-content>\n"
|
|
18341
18364
|
},] }
|
|
18342
18365
|
];
|
|
18343
18366
|
AutocompleteTestPage.ctorParameters = function () { return [
|
|
@@ -18449,13 +18472,13 @@
|
|
|
18449
18472
|
{ type: Array, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [APP_TESTING_PAGES,] }] }
|
|
18450
18473
|
]; };
|
|
18451
18474
|
|
|
18452
|
-
var moment$
|
|
18475
|
+
var moment$1 = momentImported__namespace;
|
|
18453
18476
|
var SwipeTestPage = /** @class */ (function () {
|
|
18454
18477
|
function SwipeTestPage(formBuilder, dateFormatPipe) {
|
|
18455
18478
|
this.formBuilder = formBuilder;
|
|
18456
18479
|
this.dateFormatPipe = dateFormatPipe;
|
|
18457
18480
|
this.$dates = new rxjs.BehaviorSubject(undefined);
|
|
18458
|
-
this._today = moment$
|
|
18481
|
+
this._today = moment$1().startOf('day');
|
|
18459
18482
|
this.form = formBuilder.group({
|
|
18460
18483
|
empty: [null, i1.Validators.required],
|
|
18461
18484
|
date: [null, i1.Validators.compose([i1.Validators.required, SharedValidators.validDate])],
|
|
@@ -18469,7 +18492,7 @@
|
|
|
18469
18492
|
var _this = this;
|
|
18470
18493
|
var dates = [];
|
|
18471
18494
|
for (var d = 0; d < 7; d++) {
|
|
18472
|
-
dates[d] = moment$
|
|
18495
|
+
dates[d] = moment$1(this._today).add(d - 3, 'day');
|
|
18473
18496
|
}
|
|
18474
18497
|
this.$dates.next(dates);
|
|
18475
18498
|
this.loadData();
|
|
@@ -18516,7 +18539,7 @@
|
|
|
18516
18539
|
{ type: DateFormatPipe }
|
|
18517
18540
|
]; };
|
|
18518
18541
|
|
|
18519
|
-
var moment
|
|
18542
|
+
var moment = momentImported__namespace;
|
|
18520
18543
|
var DateTimeTestPage = /** @class */ (function () {
|
|
18521
18544
|
function DateTimeTestPage(platform, formBuilder, cd) {
|
|
18522
18545
|
this.platform = platform;
|
|
@@ -18552,7 +18575,7 @@
|
|
|
18552
18575
|
var now, data;
|
|
18553
18576
|
var _this = this;
|
|
18554
18577
|
return __generator(this, function (_a) {
|
|
18555
|
-
now = moment
|
|
18578
|
+
now = moment();
|
|
18556
18579
|
data = {
|
|
18557
18580
|
empty: toDateISOString(now.clone().add(2, 'hours')),
|
|
18558
18581
|
enable: toDateISOString(now),
|
|
@@ -18617,23 +18640,23 @@
|
|
|
18617
18640
|
{ type: i0.ChangeDetectorRef }
|
|
18618
18641
|
]; };
|
|
18619
18642
|
|
|
18620
|
-
var EntityTestClass
|
|
18643
|
+
var EntityTestClass = /** @class */ (function () {
|
|
18621
18644
|
function EntityTestClass() {
|
|
18622
18645
|
}
|
|
18623
18646
|
return EntityTestClass;
|
|
18624
18647
|
}());
|
|
18625
|
-
var FAKE_ENTITIES
|
|
18648
|
+
var FAKE_ENTITIES = [
|
|
18626
18649
|
{ id: 1, label: 'AAA', name: 'Item A' },
|
|
18627
18650
|
{ id: 2, label: 'BBB', name: 'Item B' },
|
|
18628
18651
|
{ id: 3, label: 'CCC', name: 'Item C' }
|
|
18629
18652
|
];
|
|
18630
|
-
function deepCopy
|
|
18631
|
-
return (values || FAKE_ENTITIES
|
|
18653
|
+
function deepCopy(values) {
|
|
18654
|
+
return (values || FAKE_ENTITIES).map(function (entity) { return Object.assign({}, entity); });
|
|
18632
18655
|
}
|
|
18633
18656
|
var ChipsTestPage = /** @class */ (function () {
|
|
18634
18657
|
function ChipsTestPage(formBuilder) {
|
|
18635
18658
|
this.formBuilder = formBuilder;
|
|
18636
|
-
this._items = deepCopy
|
|
18659
|
+
this._items = deepCopy(FAKE_ENTITIES);
|
|
18637
18660
|
this._$items = new rxjs.BehaviorSubject(undefined);
|
|
18638
18661
|
this.autocompleteFields = new MatAutocompleteConfigHolder();
|
|
18639
18662
|
this.form = formBuilder.group({
|
|
@@ -18653,7 +18676,7 @@
|
|
|
18653
18676
|
});
|
|
18654
18677
|
// From items
|
|
18655
18678
|
this.autocompleteFields.add('entity-items', {
|
|
18656
|
-
items: FAKE_ENTITIES
|
|
18679
|
+
items: FAKE_ENTITIES.slice(),
|
|
18657
18680
|
attributes: ['label', 'name'],
|
|
18658
18681
|
displayWith: this.entityToString
|
|
18659
18682
|
});
|
|
@@ -18676,8 +18699,8 @@
|
|
|
18676
18699
|
data = {
|
|
18677
18700
|
entity: [],
|
|
18678
18701
|
// THis item is NOT in the items list => i should be displayed anyway
|
|
18679
|
-
entityInitial: FAKE_ENTITIES
|
|
18680
|
-
disableEntity: FAKE_ENTITIES
|
|
18702
|
+
entityInitial: FAKE_ENTITIES.slice(1, 2),
|
|
18703
|
+
disableEntity: FAKE_ENTITIES.slice(1, 2)
|
|
18681
18704
|
};
|
|
18682
18705
|
this.form.setValue(data);
|
|
18683
18706
|
return [2 /*return*/];
|
|
@@ -18687,7 +18710,7 @@
|
|
|
18687
18710
|
ChipsTestPage.prototype.loadItems = function () {
|
|
18688
18711
|
return __awaiter(this, void 0, void 0, function () {
|
|
18689
18712
|
return __generator(this, function (_a) {
|
|
18690
|
-
this._$items.next(deepCopy
|
|
18713
|
+
this._$items.next(deepCopy(FAKE_ENTITIES));
|
|
18691
18714
|
return [2 /*return*/];
|
|
18692
18715
|
});
|
|
18693
18716
|
});
|
|
@@ -18724,7 +18747,7 @@
|
|
|
18724
18747
|
{ type: i1.FormBuilder }
|
|
18725
18748
|
]; };
|
|
18726
18749
|
|
|
18727
|
-
var routes = [
|
|
18750
|
+
var routes$1 = [
|
|
18728
18751
|
{
|
|
18729
18752
|
path: '',
|
|
18730
18753
|
pathMatch: 'full',
|
|
@@ -18774,7 +18797,7 @@
|
|
|
18774
18797
|
i1.ReactiveFormsModule,
|
|
18775
18798
|
SharedMaterialModule,
|
|
18776
18799
|
i1$2.TranslateModule.forChild(),
|
|
18777
|
-
i3.RouterModule.forChild(routes)
|
|
18800
|
+
i3.RouterModule.forChild(routes$1)
|
|
18778
18801
|
],
|
|
18779
18802
|
declarations: [
|
|
18780
18803
|
MaterialTestingPage,
|
|
@@ -19892,7 +19915,7 @@
|
|
|
19892
19915
|
};
|
|
19893
19916
|
return UserSettingsValidatorService;
|
|
19894
19917
|
}(AppValidatorService));
|
|
19895
|
-
UserSettingsValidatorService.ɵprov =
|
|
19918
|
+
UserSettingsValidatorService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(i0__namespace.ɵɵinject(i1__namespace$6.FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
|
|
19896
19919
|
UserSettingsValidatorService.decorators = [
|
|
19897
19920
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
19898
19921
|
];
|
|
@@ -19940,7 +19963,7 @@
|
|
|
19940
19963
|
};
|
|
19941
19964
|
return AccountValidatorService;
|
|
19942
19965
|
}(AppValidatorService));
|
|
19943
|
-
AccountValidatorService.ɵprov =
|
|
19966
|
+
AccountValidatorService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(i0__namespace.ɵɵinject(i1__namespace$6.FormBuilder), i0__namespace.ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
|
|
19944
19967
|
AccountValidatorService.decorators = [
|
|
19945
19968
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
19946
19969
|
];
|
|
@@ -20537,7 +20560,7 @@
|
|
|
20537
20560
|
};
|
|
20538
20561
|
return LocalSettingsValidatorService;
|
|
20539
20562
|
}(AppValidatorService));
|
|
20540
|
-
LocalSettingsValidatorService.ɵprov =
|
|
20563
|
+
LocalSettingsValidatorService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(i0__namespace.ɵɵinject(i1__namespace$6.FormBuilder), i0__namespace.ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
|
|
20541
20564
|
LocalSettingsValidatorService.decorators = [
|
|
20542
20565
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
20543
20566
|
];
|
|
@@ -21321,7 +21344,7 @@
|
|
|
21321
21344
|
};
|
|
21322
21345
|
return IsOnFieldModePipe;
|
|
21323
21346
|
}());
|
|
21324
|
-
IsOnFieldModePipe.ɵprov =
|
|
21347
|
+
IsOnFieldModePipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
|
|
21325
21348
|
IsOnFieldModePipe.decorators = [
|
|
21326
21349
|
{ type: i0.Pipe, args: [{
|
|
21327
21350
|
name: 'isOnField'
|
|
@@ -21336,7 +21359,7 @@
|
|
|
21336
21359
|
};
|
|
21337
21360
|
return IsNotOnFieldModePipe;
|
|
21338
21361
|
}());
|
|
21339
|
-
IsNotOnFieldModePipe.ɵprov =
|
|
21362
|
+
IsNotOnFieldModePipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
|
|
21340
21363
|
IsNotOnFieldModePipe.decorators = [
|
|
21341
21364
|
{ type: i0.Pipe, args: [{
|
|
21342
21365
|
name: 'isNotOnField'
|
|
@@ -21354,7 +21377,7 @@
|
|
|
21354
21377
|
};
|
|
21355
21378
|
return PersonToStringPipe;
|
|
21356
21379
|
}());
|
|
21357
|
-
PersonToStringPipe.ɵprov =
|
|
21380
|
+
PersonToStringPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
|
|
21358
21381
|
PersonToStringPipe.decorators = [
|
|
21359
21382
|
{ type: i0.Pipe, args: [{
|
|
21360
21383
|
name: 'personToString'
|
|
@@ -21766,7 +21789,7 @@
|
|
|
21766
21789
|
};
|
|
21767
21790
|
return IsLoginAccountPipe;
|
|
21768
21791
|
}());
|
|
21769
|
-
IsLoginAccountPipe.ɵprov =
|
|
21792
|
+
IsLoginAccountPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
|
|
21770
21793
|
IsLoginAccountPipe.decorators = [
|
|
21771
21794
|
{ type: i0.Pipe, args: [{
|
|
21772
21795
|
name: 'isLogin'
|
|
@@ -21781,7 +21804,7 @@
|
|
|
21781
21804
|
};
|
|
21782
21805
|
return AccountToStringPipe;
|
|
21783
21806
|
}());
|
|
21784
|
-
AccountToStringPipe.ɵprov =
|
|
21807
|
+
AccountToStringPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
|
|
21785
21808
|
AccountToStringPipe.decorators = [
|
|
21786
21809
|
{ type: i0.Pipe, args: [{
|
|
21787
21810
|
name: 'accountToString'
|
|
@@ -21799,7 +21822,7 @@
|
|
|
21799
21822
|
};
|
|
21800
21823
|
return DepartmentToStringPipe;
|
|
21801
21824
|
}());
|
|
21802
|
-
DepartmentToStringPipe.ɵprov =
|
|
21825
|
+
DepartmentToStringPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
|
|
21803
21826
|
DepartmentToStringPipe.decorators = [
|
|
21804
21827
|
{ type: i0.Pipe, args: [{
|
|
21805
21828
|
name: 'departmentToString'
|
|
@@ -21834,7 +21857,7 @@
|
|
|
21834
21857
|
};
|
|
21835
21858
|
return MenuService;
|
|
21836
21859
|
}());
|
|
21837
|
-
MenuService.ɵprov =
|
|
21860
|
+
MenuService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
|
|
21838
21861
|
MenuService.decorators = [
|
|
21839
21862
|
{ type: i0.Injectable, args: [{
|
|
21840
21863
|
providedIn: 'root'
|
|
@@ -22413,7 +22436,7 @@
|
|
|
22413
22436
|
};
|
|
22414
22437
|
return AuthGuardService;
|
|
22415
22438
|
}());
|
|
22416
|
-
AuthGuardService.ɵprov =
|
|
22439
|
+
AuthGuardService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function AuthGuardService_Factory() { return new AuthGuardService(i0__namespace.ɵɵinject(AccountService), i0__namespace.ɵɵinject(i1__namespace$4.ModalController), i0__namespace.ɵɵinject(i3__namespace$3.Router), i0__namespace.ɵɵinject(ENVIRONMENT)); }, token: AuthGuardService, providedIn: "root" });
|
|
22417
22440
|
AuthGuardService.decorators = [
|
|
22418
22441
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
22419
22442
|
];
|
|
@@ -22464,7 +22487,7 @@
|
|
|
22464
22487
|
query: query,
|
|
22465
22488
|
variables: { id: id },
|
|
22466
22489
|
fetchPolicy: opts && opts.fetchPolicy || undefined,
|
|
22467
|
-
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
|
|
22490
|
+
error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
|
|
22468
22491
|
})
|
|
22469
22492
|
.pipe(operators.map(function (_b) {
|
|
22470
22493
|
var data = _b.data;
|
|
@@ -22486,7 +22509,7 @@
|
|
|
22486
22509
|
query: query,
|
|
22487
22510
|
variables: { id: id },
|
|
22488
22511
|
fetchPolicy: opts && opts.fetchPolicy || undefined,
|
|
22489
|
-
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
|
|
22512
|
+
error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
|
|
22490
22513
|
})];
|
|
22491
22514
|
case 1:
|
|
22492
22515
|
data = (_b.sent()).data;
|
|
@@ -22522,7 +22545,7 @@
|
|
|
22522
22545
|
totalFieldName: withTotal ? 'total' : undefined,
|
|
22523
22546
|
insertFilterFn: filter && filter.asFilterFn(),
|
|
22524
22547
|
variables: variables,
|
|
22525
|
-
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
|
|
22548
|
+
error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
|
|
22526
22549
|
fetchPolicy: opts && opts.fetchPolicy || undefined
|
|
22527
22550
|
})
|
|
22528
22551
|
.pipe(operators.map(function (_b) {
|
|
@@ -22564,7 +22587,7 @@
|
|
|
22564
22587
|
return [4 /*yield*/, this.graphql.query({
|
|
22565
22588
|
query: query,
|
|
22566
22589
|
variables: variables,
|
|
22567
|
-
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
|
|
22590
|
+
error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
|
|
22568
22591
|
fetchPolicy: opts && opts.fetchPolicy || 'network-only'
|
|
22569
22592
|
})];
|
|
22570
22593
|
case 1:
|
|
@@ -22612,7 +22635,7 @@
|
|
|
22612
22635
|
variables: {
|
|
22613
22636
|
filter: filter && filter.asPodObject()
|
|
22614
22637
|
},
|
|
22615
|
-
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
|
|
22638
|
+
error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
|
|
22616
22639
|
fetchPolicy: opts && opts.fetchPolicy || 'network-only'
|
|
22617
22640
|
})];
|
|
22618
22641
|
case 3:
|
|
@@ -22654,7 +22677,7 @@
|
|
|
22654
22677
|
variables: {
|
|
22655
22678
|
data: json
|
|
22656
22679
|
},
|
|
22657
|
-
error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
|
|
22680
|
+
error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
|
|
22658
22681
|
update: function (proxy, _b) {
|
|
22659
22682
|
var data = _b.data;
|
|
22660
22683
|
var savedEntities = data && data.data;
|
|
@@ -22721,7 +22744,7 @@
|
|
|
22721
22744
|
variables: {
|
|
22722
22745
|
data: json
|
|
22723
22746
|
},
|
|
22724
|
-
error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
|
|
22747
|
+
error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
|
|
22725
22748
|
update: function (cache, _b) {
|
|
22726
22749
|
var data = _b.data;
|
|
22727
22750
|
// Update entity
|
|
@@ -22779,7 +22802,7 @@
|
|
|
22779
22802
|
refetchQueries: this.getRefetchQueriesForMutation(opts),
|
|
22780
22803
|
awaitRefetchQueries: opts && opts.awaitRefetchQueries,
|
|
22781
22804
|
variables: { ids: ids },
|
|
22782
|
-
error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
|
|
22805
|
+
error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
|
|
22783
22806
|
update: function (cache, res) {
|
|
22784
22807
|
// Remove from cache
|
|
22785
22808
|
if (_this.watchQueriesUpdatePolicy === 'update-cache') {
|
|
@@ -22832,7 +22855,7 @@
|
|
|
22832
22855
|
refetchQueries: this.getRefetchQueriesForMutation(opts),
|
|
22833
22856
|
awaitRefetchQueries: opts && opts.awaitRefetchQueries,
|
|
22834
22857
|
variables: { id: id },
|
|
22835
|
-
error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
|
|
22858
|
+
error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
|
|
22836
22859
|
update: function (proxy, res) {
|
|
22837
22860
|
// Remove from cache
|
|
22838
22861
|
if (_this.watchQueriesUpdatePolicy === 'update-cache') {
|
|
@@ -22871,7 +22894,7 @@
|
|
|
22871
22894
|
query: opts && opts.query || this.subscriptions.listenChanges,
|
|
22872
22895
|
variables: variables,
|
|
22873
22896
|
error: {
|
|
22874
|
-
code: ErrorCodes.SUBSCRIBE_DATA_ERROR,
|
|
22897
|
+
code: ErrorCodes$2.SUBSCRIBE_DATA_ERROR,
|
|
22875
22898
|
message: 'ERROR.SUBSCRIBE_DATA_ERROR'
|
|
22876
22899
|
}
|
|
22877
22900
|
})
|
|
@@ -23080,7 +23103,7 @@
|
|
|
23080
23103
|
if (this._debug)
|
|
23081
23104
|
invalidRows.forEach(function (row) { return AppTableUtils.logRowErrors(row, "[table-datasource] " + _this._logTypeName + " row #" + row.id); });
|
|
23082
23105
|
// Stop with an error
|
|
23083
|
-
throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
23106
|
+
throw { code: ErrorCodes$2.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
23084
23107
|
}
|
|
23085
23108
|
this._editingRowCount = 0;
|
|
23086
23109
|
data = void 0;
|
|
@@ -23154,14 +23177,10 @@
|
|
|
23154
23177
|
this._stopWatching$.next();
|
|
23155
23178
|
};
|
|
23156
23179
|
EntitiesTableDataSource.prototype.waitIdle = function (debounceTimeMs) {
|
|
23157
|
-
return
|
|
23158
|
-
|
|
23159
|
-
|
|
23160
|
-
|
|
23161
|
-
.pipe(operators.debounceTime(debounceTimeMs || 100) // if not started yet, wait
|
|
23162
|
-
))];
|
|
23163
|
-
});
|
|
23164
|
-
});
|
|
23180
|
+
return firstFalsePromise(this.loadingSubject
|
|
23181
|
+
.asObservable()
|
|
23182
|
+
.pipe(operators.debounceTime(debounceTimeMs || 100) // if not started yet, wait
|
|
23183
|
+
));
|
|
23165
23184
|
};
|
|
23166
23185
|
EntitiesTableDataSource.prototype.confirmCreate = function (row) {
|
|
23167
23186
|
if (!_super_1.prototype.confirmCreate.call(this, row))
|
|
@@ -23912,7 +23931,7 @@
|
|
|
23912
23931
|
if (previousRow && (previousRow.id === -1) && ((_a = previousRow.validator) === null || _a === void 0 ? void 0 : _a.invalid) && !((_b = previousRow.validator) === null || _b === void 0 ? void 0 : _b.dirty)) {
|
|
23913
23932
|
this.deleteNewRow(event, previousRow);
|
|
23914
23933
|
// Wait deletion is done, then edit previous row (by id, because of reloading)
|
|
23915
|
-
|
|
23934
|
+
this.waitIdle()
|
|
23916
23935
|
.then(function () { return _this.editRowById(event, row.id, { focusColumn: _this.lastUserColumn }); });
|
|
23917
23936
|
return true;
|
|
23918
23937
|
}
|
|
@@ -24038,14 +24057,14 @@
|
|
|
24038
24057
|
case 0:
|
|
24039
24058
|
opts = Object.assign({ keepEditing: this.keepEditedRowOnSave }, opts);
|
|
24040
24059
|
if (this.readOnly) {
|
|
24041
|
-
throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
|
|
24060
|
+
throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
|
|
24042
24061
|
}
|
|
24043
24062
|
this.resetError();
|
|
24044
24063
|
// Keep edited row id (should be done BEFORE confirmEditCreate() )
|
|
24045
24064
|
this.previouslyEditedRowId = opts.keepEditing && ((_a = this.editedRow) === null || _a === void 0 ? void 0 : _a.editing) ? this.editedRow.id : undefined;
|
|
24046
24065
|
previouslyEditedData = isNotNil(this.previouslyEditedRowId) && this.editedRow.currentData || ((_b = this.singleSelectedRow) === null || _b === void 0 ? void 0 : _b.currentData);
|
|
24047
24066
|
if (!this.confirmEditCreate()) {
|
|
24048
|
-
throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
24067
|
+
throw { code: ErrorCodes$2.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
24049
24068
|
}
|
|
24050
24069
|
// Mark as saving
|
|
24051
24070
|
this.markAsSaving();
|
|
@@ -24198,7 +24217,7 @@
|
|
|
24198
24217
|
switch (_d.label) {
|
|
24199
24218
|
case 0:
|
|
24200
24219
|
if (this.readOnly) {
|
|
24201
|
-
throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
|
|
24220
|
+
throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
|
|
24202
24221
|
}
|
|
24203
24222
|
if (event === null || event === void 0 ? void 0 : event.defaultPrevented)
|
|
24204
24223
|
return [2 /*return*/, 0]; // SKip
|
|
@@ -24258,34 +24277,54 @@
|
|
|
24258
24277
|
});
|
|
24259
24278
|
};
|
|
24260
24279
|
AppTable.prototype.selectRowById = function (id) {
|
|
24261
|
-
|
|
24262
|
-
|
|
24263
|
-
return
|
|
24264
|
-
|
|
24265
|
-
|
|
24266
|
-
|
|
24280
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
24281
|
+
var row;
|
|
24282
|
+
return __generator(this, function (_d) {
|
|
24283
|
+
switch (_d.label) {
|
|
24284
|
+
case 0:
|
|
24285
|
+
if (id === undefined)
|
|
24286
|
+
return [2 /*return*/, false];
|
|
24287
|
+
return [4 /*yield*/, this.waitIdle()];
|
|
24288
|
+
case 1:
|
|
24289
|
+
_d.sent();
|
|
24290
|
+
row = this.dataSource.getRow(id);
|
|
24291
|
+
return [2 /*return*/, this.clickRow(null, row)];
|
|
24292
|
+
}
|
|
24293
|
+
});
|
|
24294
|
+
});
|
|
24267
24295
|
};
|
|
24268
24296
|
/**
|
|
24269
24297
|
* Try to select row by data. Will use dataEquals() (that call EntityUtils.equals()) to find same row's data
|
|
24270
24298
|
* @param data
|
|
24271
24299
|
*/
|
|
24272
24300
|
AppTable.prototype.selectRowByData = function (data) {
|
|
24273
|
-
|
|
24274
|
-
|
|
24275
|
-
|
|
24276
|
-
|
|
24277
|
-
|
|
24278
|
-
|
|
24279
|
-
|
|
24301
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
24302
|
+
var row;
|
|
24303
|
+
var _this = this;
|
|
24304
|
+
return __generator(this, function (_d) {
|
|
24305
|
+
switch (_d.label) {
|
|
24306
|
+
case 0:
|
|
24307
|
+
if (data === undefined)
|
|
24308
|
+
return [2 /*return*/, Promise.resolve(false)];
|
|
24309
|
+
return [4 /*yield*/, this.waitIdle()];
|
|
24310
|
+
case 1:
|
|
24311
|
+
_d.sent();
|
|
24312
|
+
return [4 /*yield*/, this.dataSource.getRows()];
|
|
24313
|
+
case 2:
|
|
24314
|
+
row = ((_d.sent()) || [])
|
|
24315
|
+
.find(function (row) { return _this.equals(row.currentData, data); });
|
|
24316
|
+
return [2 /*return*/, row && this.clickRow(null, row)];
|
|
24317
|
+
}
|
|
24318
|
+
});
|
|
24319
|
+
});
|
|
24280
24320
|
};
|
|
24281
24321
|
AppTable.prototype.clickRow = function (event, row) {
|
|
24282
24322
|
var _this = this;
|
|
24283
|
-
var _a;
|
|
24284
24323
|
if (this.loading) {
|
|
24285
24324
|
// Wait while loading, and loop
|
|
24286
24325
|
if (this.debug)
|
|
24287
24326
|
console.debug("[table] Waiting before apply clickRow() (datasource is busy)...");
|
|
24288
|
-
|
|
24327
|
+
this.waitIdle().then(function () { return _this.clickRow(event, row); });
|
|
24289
24328
|
return false;
|
|
24290
24329
|
}
|
|
24291
24330
|
// DEBUG
|
|
@@ -24311,6 +24350,9 @@
|
|
|
24311
24350
|
AppTable.prototype.moveRow = function (id, direction) {
|
|
24312
24351
|
this.dataSource.move(id, direction);
|
|
24313
24352
|
};
|
|
24353
|
+
AppTable.prototype.waitIdle = function () {
|
|
24354
|
+
return firstFalsePromise(this.loadingSubject);
|
|
24355
|
+
};
|
|
24314
24356
|
AppTable.prototype.openSelectColumnsModal = function (event) {
|
|
24315
24357
|
return __awaiter(this, void 0, void 0, function () {
|
|
24316
24358
|
var columns, hasTopModal, modal, data, userColumns;
|
|
@@ -24362,7 +24404,7 @@
|
|
|
24362
24404
|
setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
24363
24405
|
return __generator(this, function (_d) {
|
|
24364
24406
|
switch (_d.label) {
|
|
24365
|
-
case 0: return [4 /*yield*/,
|
|
24407
|
+
case 0: return [4 /*yield*/, this.waitIdle()];
|
|
24366
24408
|
case 1:
|
|
24367
24409
|
_d.sent();
|
|
24368
24410
|
event.target.complete();
|
|
@@ -25866,7 +25908,7 @@
|
|
|
25866
25908
|
case 4:
|
|
25867
25909
|
data = _b.sent();
|
|
25868
25910
|
if (!data)
|
|
25869
|
-
throw { code: ErrorCodes.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
|
|
25911
|
+
throw { code: ErrorCodes$2.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
|
|
25870
25912
|
this._usageMode = this.computeUsageMode(data);
|
|
25871
25913
|
return [4 /*yield*/, this.onEntityLoaded(data, opts)];
|
|
25872
25914
|
case 5:
|
|
@@ -25923,7 +25965,7 @@
|
|
|
25923
25965
|
idChanged = isNotNil(data.id)
|
|
25924
25966
|
&& this.previousDataId !== undefined // Ignore if first loading (=undefined)
|
|
25925
25967
|
&& this.previousDataId !== data.id;
|
|
25926
|
-
opts = Object.assign({ updateRoute: this._autoUpdateRoute && idChanged && !this.loading, openTabIndex: this._autoOpenNextTab && idChanged &&
|
|
25968
|
+
opts = Object.assign({ updateRoute: this._autoUpdateRoute && idChanged && !this.loading, openTabIndex: this._autoOpenNextTab && idChanged && this.computeNextTabIndex() }, opts);
|
|
25927
25969
|
this.data = data;
|
|
25928
25970
|
this.previousDataId = data.id || null;
|
|
25929
25971
|
promiseOrVoid = this.setValue(data);
|
|
@@ -26266,6 +26308,9 @@
|
|
|
26266
26308
|
this.error = userMessage;
|
|
26267
26309
|
};
|
|
26268
26310
|
/* -- protected methods -- */
|
|
26311
|
+
AppEntityEditor.prototype.computeNextTabIndex = function () {
|
|
26312
|
+
return this.selectedTabIndex + 1 < this.tabCount ? this.selectedTabIndex + 1 : undefined;
|
|
26313
|
+
};
|
|
26269
26314
|
AppEntityEditor.prototype.unload = function () {
|
|
26270
26315
|
return __awaiter(this, void 0, void 0, function () {
|
|
26271
26316
|
return __generator(this, function (_b) {
|
|
@@ -26596,10 +26641,10 @@
|
|
|
26596
26641
|
exports.UserEventFilter = __decorate([
|
|
26597
26642
|
EntityClass({ typename: 'UserEventVO' })
|
|
26598
26643
|
], exports.UserEventFilter);
|
|
26599
|
-
var SaveQuery = core.gql(templateObject_1$
|
|
26600
|
-
var LoadAllQuery = core.gql(templateObject_2$
|
|
26601
|
-
var DeleteByIdsMutation = core.gql(templateObject_3$
|
|
26602
|
-
var LoadAllWithContentQuery = core.gql(templateObject_4$
|
|
26644
|
+
var SaveQuery = core.gql(templateObject_1$1 || (templateObject_1$1 = __makeTemplateObject(["\n mutation SaveUserEvent($data: UserEventVOInput){\n data: saveUserEvent(userEvent: $data){\n ...UserEventFragment\n }\n }\n ", "\n"], ["\n mutation SaveUserEvent($data: UserEventVOInput){\n data: saveUserEvent(userEvent: $data){\n ...UserEventFragment\n }\n }\n ", "\n"])), SocialFragments.userEvent);
|
|
26645
|
+
var LoadAllQuery = core.gql(templateObject_2$1 || (templateObject_2$1 = __makeTemplateObject(["\n query UserEvents($filter: UserEventFilterVOInput, $page: PageInput){\n data: userEvents(filter: $filter, page: $page){\n ...LightUserEventFragment\n }\n }\n ", "\n"], ["\n query UserEvents($filter: UserEventFilterVOInput, $page: PageInput){\n data: userEvents(filter: $filter, page: $page){\n ...LightUserEventFragment\n }\n }\n ", "\n"])), SocialFragments.lightUserEvent);
|
|
26646
|
+
var DeleteByIdsMutation = core.gql(templateObject_3$1 || (templateObject_3$1 = __makeTemplateObject(["\n mutation DeleteUserEvents($ids:[Int]){\n deleteUserEvents(ids: $ids)\n }\n"], ["\n mutation DeleteUserEvents($ids:[Int]){\n deleteUserEvents(ids: $ids)\n }\n"])));
|
|
26647
|
+
var LoadAllWithContentQuery = core.gql(templateObject_4$1 || (templateObject_4$1 = __makeTemplateObject(["\n query UserEventsWithContent($filter: UserEventFilterVOInput, $page: PageInput){\n data: userEvents(filter: $filter, page: $page){\n ...UserEventFragment\n }\n }\n ", "\n"], ["\n query UserEventsWithContent($filter: UserEventFilterVOInput, $page: PageInput){\n data: userEvents(filter: $filter, page: $page){\n ...UserEventFragment\n }\n }\n ", "\n"])), SocialFragments.userEvent);
|
|
26603
26648
|
var UserEventService = /** @class */ (function (_super) {
|
|
26604
26649
|
__extends(UserEventService, _super);
|
|
26605
26650
|
function UserEventService(graphql, accountService, network, translate, toastController, environment) {
|
|
@@ -26920,7 +26965,7 @@
|
|
|
26920
26965
|
};
|
|
26921
26966
|
return UserEventService;
|
|
26922
26967
|
}(BaseGraphqlService));
|
|
26923
|
-
UserEventService.ɵprov =
|
|
26968
|
+
UserEventService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function UserEventService_Factory() { return new UserEventService(i0__namespace.ɵɵinject(GraphqlService), i0__namespace.ɵɵinject(AccountService), i0__namespace.ɵɵinject(NetworkService), i0__namespace.ɵɵinject(i1__namespace$1.TranslateService), i0__namespace.ɵɵinject(i1__namespace$4.ToastController), i0__namespace.ɵɵinject(ENVIRONMENT)); }, token: UserEventService, providedIn: "root" });
|
|
26924
26969
|
UserEventService.decorators = [
|
|
26925
26970
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
26926
26971
|
];
|
|
@@ -26932,7 +26977,7 @@
|
|
|
26932
26977
|
{ type: i1$5.ToastController },
|
|
26933
26978
|
{ type: undefined, decorators: [{ type: i0.Inject, args: [ENVIRONMENT,] }] }
|
|
26934
26979
|
]; };
|
|
26935
|
-
var templateObject_1$
|
|
26980
|
+
var templateObject_1$1, templateObject_2$1, templateObject_3$1, templateObject_4$1;
|
|
26936
26981
|
|
|
26937
26982
|
var ICONS_MAP = {
|
|
26938
26983
|
DEBUG_DATA: { matIcon: 'bug_report' },
|
|
@@ -27195,16 +27240,16 @@
|
|
|
27195
27240
|
], exports.PersonFilter);
|
|
27196
27241
|
|
|
27197
27242
|
var PersonFragments = {
|
|
27198
|
-
person: core.gql(templateObject_1
|
|
27243
|
+
person: core.gql(templateObject_1 || (templateObject_1 = __makeTemplateObject(["fragment PersonFragment on PersonVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n username\n usernameExtranet\n department {\n id\n label\n name\n logo\n __typename\n }\n __typename\n }"], ["fragment PersonFragment on PersonVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n username\n usernameExtranet\n department {\n id\n label\n name\n logo\n __typename\n }\n __typename\n }"])))
|
|
27199
27244
|
};
|
|
27200
27245
|
// Load persons query
|
|
27201
27246
|
var PersonQueries = {
|
|
27202
|
-
loadAll: core.gql(templateObject_2
|
|
27203
|
-
loadAllWithTotal: core.gql(templateObject_3
|
|
27247
|
+
loadAll: core.gql(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n query Persons($offset: Int, $size: Int, $sortBy: String, $sortDirection: String, $filter: PersonFilterVOInput){\n data: persons(filter: $filter, offset: $offset, size: $size, sortBy: $sortBy, sortDirection: $sortDirection){\n ...PersonFragment\n }\n }\n ", ""], ["\n query Persons($offset: Int, $size: Int, $sortBy: String, $sortDirection: String, $filter: PersonFilterVOInput){\n data: persons(filter: $filter, offset: $offset, size: $size, sortBy: $sortBy, sortDirection: $sortDirection){\n ...PersonFragment\n }\n }\n ", ""])), PersonFragments.person),
|
|
27248
|
+
loadAllWithTotal: core.gql(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n query PersonsWithTotal($offset: Int, $size: Int, $sortBy: String, $sortDirection: String, $filter: PersonFilterVOInput){\n data: persons(filter: $filter, offset: $offset, size: $size, sortBy: $sortBy, sortDirection: $sortDirection){\n ...PersonFragment\n }\n total: personsCount(filter: $filter)\n }\n ", ""], ["\n query PersonsWithTotal($offset: Int, $size: Int, $sortBy: String, $sortDirection: String, $filter: PersonFilterVOInput){\n data: persons(filter: $filter, offset: $offset, size: $size, sortBy: $sortBy, sortDirection: $sortDirection){\n ...PersonFragment\n }\n total: personsCount(filter: $filter)\n }\n ", ""])), PersonFragments.person)
|
|
27204
27249
|
};
|
|
27205
27250
|
var PersonMutations = {
|
|
27206
|
-
saveAll: core.gql(templateObject_4
|
|
27207
|
-
deleteAll: core.gql(templateObject_5
|
|
27251
|
+
saveAll: core.gql(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n mutation savePersons($data:[PersonVOInput]){\n data: savePersons(persons: $data){\n ...PersonFragment\n }\n }\n ", ""], ["\n mutation savePersons($data:[PersonVOInput]){\n data: savePersons(persons: $data){\n ...PersonFragment\n }\n }\n ", ""])), PersonFragments.person),
|
|
27252
|
+
deleteAll: core.gql(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n mutation deletePersons($ids:[Int]){\n deletePersons(ids: $ids)\n }"], ["\n mutation deletePersons($ids:[Int]){\n deletePersons(ids: $ids)\n }"])))
|
|
27208
27253
|
};
|
|
27209
27254
|
var PersonService = /** @class */ (function (_super_1) {
|
|
27210
27255
|
__extends(PersonService, _super_1);
|
|
@@ -27328,7 +27373,7 @@
|
|
|
27328
27373
|
};
|
|
27329
27374
|
return PersonService;
|
|
27330
27375
|
}(BaseEntityService));
|
|
27331
|
-
PersonService.ɵprov =
|
|
27376
|
+
PersonService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function PersonService_Factory() { return new PersonService(i0__namespace.ɵɵinject(GraphqlService), i0__namespace.ɵɵinject(PlatformService), i0__namespace.ɵɵinject(NetworkService), i0__namespace.ɵɵinject(EntitiesStorage)); }, token: PersonService, providedIn: "root" });
|
|
27332
27377
|
PersonService.decorators = [
|
|
27333
27378
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
27334
27379
|
];
|
|
@@ -27338,7 +27383,7 @@
|
|
|
27338
27383
|
{ type: NetworkService },
|
|
27339
27384
|
{ type: EntitiesStorage }
|
|
27340
27385
|
]; };
|
|
27341
|
-
var templateObject_1
|
|
27386
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
|
|
27342
27387
|
|
|
27343
27388
|
var PersonValidatorService = /** @class */ (function () {
|
|
27344
27389
|
function PersonValidatorService(formBuilder, accountValidatorService) {
|
|
@@ -27361,7 +27406,7 @@
|
|
|
27361
27406
|
};
|
|
27362
27407
|
return PersonValidatorService;
|
|
27363
27408
|
}());
|
|
27364
|
-
PersonValidatorService.ɵprov =
|
|
27409
|
+
PersonValidatorService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(i0__namespace.ɵɵinject(i1__namespace$6.FormBuilder), i0__namespace.ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
|
|
27365
27410
|
PersonValidatorService.decorators = [
|
|
27366
27411
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
27367
27412
|
];
|
|
@@ -27584,16 +27629,16 @@
|
|
|
27584
27629
|
];
|
|
27585
27630
|
AdminModule.ctorParameters = function () { return []; };
|
|
27586
27631
|
|
|
27587
|
-
var ɵ0
|
|
27632
|
+
var ɵ0 = {
|
|
27588
27633
|
profile: 'ADMIN'
|
|
27589
27634
|
};
|
|
27590
|
-
var routes
|
|
27635
|
+
var routes = [
|
|
27591
27636
|
{
|
|
27592
27637
|
path: 'users',
|
|
27593
27638
|
pathMatch: 'full',
|
|
27594
27639
|
component: UsersPage,
|
|
27595
27640
|
canActivate: [AuthGuardService],
|
|
27596
|
-
data: ɵ0
|
|
27641
|
+
data: ɵ0
|
|
27597
27642
|
}
|
|
27598
27643
|
];
|
|
27599
27644
|
var AdminRoutingModule = /** @class */ (function () {
|
|
@@ -27606,13 +27651,13 @@
|
|
|
27606
27651
|
imports: [
|
|
27607
27652
|
SharedRoutingModule,
|
|
27608
27653
|
AdminModule,
|
|
27609
|
-
i3.RouterModule.forChild(routes
|
|
27654
|
+
i3.RouterModule.forChild(routes)
|
|
27610
27655
|
],
|
|
27611
27656
|
exports: [i3.RouterModule]
|
|
27612
27657
|
},] }
|
|
27613
27658
|
];
|
|
27614
27659
|
|
|
27615
|
-
var ErrorCodes
|
|
27660
|
+
var ErrorCodes = {
|
|
27616
27661
|
LOAD_PERSONS_ERROR: 100,
|
|
27617
27662
|
SAVE_PERSONS_ERROR: 101,
|
|
27618
27663
|
DELETE_PERSONS_ERROR: 102,
|
|
@@ -27722,7 +27767,7 @@
|
|
|
27722
27767
|
exports.EntityStore = EntityStore;
|
|
27723
27768
|
exports.EntityUtils = EntityUtils;
|
|
27724
27769
|
exports.Environment = Environment;
|
|
27725
|
-
exports.ErrorCodes = ErrorCodes
|
|
27770
|
+
exports.ErrorCodes = ErrorCodes;
|
|
27726
27771
|
exports.EvenPipe = EvenPipe;
|
|
27727
27772
|
exports.FileService = FileService;
|
|
27728
27773
|
exports.FileSizePipe = FileSizePipe;
|
|
@@ -27732,7 +27777,7 @@
|
|
|
27732
27777
|
exports.FormErrorAdapter = FormErrorAdapter;
|
|
27733
27778
|
exports.FormErrorTranslatePipe = FormErrorTranslatePipe;
|
|
27734
27779
|
exports.FormFieldValuesHolder = FormFieldValuesHolder;
|
|
27735
|
-
exports.Fragments = Fragments
|
|
27780
|
+
exports.Fragments = Fragments;
|
|
27736
27781
|
exports.GraphqlService = GraphqlService;
|
|
27737
27782
|
exports.HAMMER_PRESS_TIME = HAMMER_PRESS_TIME;
|
|
27738
27783
|
exports.HAMMER_TAP_TIME = HAMMER_TAP_TIME;
|
|
@@ -27980,17 +28025,17 @@
|
|
|
27980
28025
|
exports.waitFor = waitFor;
|
|
27981
28026
|
exports.waitIdle = waitIdle;
|
|
27982
28027
|
exports.waitWhilePending = waitWhilePending;
|
|
27983
|
-
exports
|
|
27984
|
-
exports
|
|
27985
|
-
exports
|
|
27986
|
-
exports
|
|
27987
|
-
exports
|
|
27988
|
-
exports
|
|
27989
|
-
exports
|
|
27990
|
-
exports
|
|
27991
|
-
exports
|
|
28028
|
+
exports["ɵ0"] = ɵ0$5;
|
|
28029
|
+
exports["ɵa"] = CustomReuseStrategy;
|
|
28030
|
+
exports["ɵb"] = MatNumpadDomService;
|
|
28031
|
+
exports["ɵc"] = isFocusableElement;
|
|
28032
|
+
exports["ɵd"] = RegisterForm;
|
|
28033
|
+
exports["ɵe"] = AccountValidatorService;
|
|
28034
|
+
exports["ɵf"] = RegisterModal;
|
|
28035
|
+
exports["ɵg"] = UserSettingsValidatorService;
|
|
28036
|
+
exports["ɵh"] = LocalSettingsValidatorService;
|
|
27992
28037
|
|
|
27993
28038
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
27994
28039
|
|
|
27995
|
-
}))
|
|
28040
|
+
}));
|
|
27996
28041
|
//# sourceMappingURL=sumaris-net.ngx-components.umd.js.map
|