@sumaris-net/ngx-components 1.22.12 → 1.23.0-rc3
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 +536 -457
- 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/services/local-settings.service.js +2 -2
- package/esm2015/src/app/core/services/platform.service.js +4 -2
- package/esm2015/src/app/core/table/entities-table-datasource.class.js +108 -98
- package/esm2015/src/app/core/table/memory-table.class.js +3 -3
- package/esm2015/src/app/core/table/table.class.js +12 -8
- package/esm2015/src/app/core/table/testing/table.testing.js +16 -21
- package/esm2015/src/app/shared/file/images.utils.js +2 -2
- package/esm2015/src/app/shared/functions.js +11 -1
- package/esm2015/src/app/shared/services/memory-entity-service.class.js +44 -18
- package/fesm2015/sumaris-net.ngx-components.js +436 -375
- package/fesm2015/sumaris-net.ngx-components.js.map +1 -1
- package/package.json +1 -1
- package/src/app/core/table/entities-table-datasource.class.d.ts +20 -25
- package/src/app/core/table/memory-table.class.d.ts +2 -2
- package/src/app/core/table/table.class.d.ts +2 -0
- package/src/app/core/table/testing/table.testing.d.ts +5 -3
- package/src/app/shared/functions.d.ts +6 -0
- package/src/app/shared/services/memory-entity-service.class.d.ts +2 -1
- package/sumaris-net.ngx-components.metadata.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
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('@angular/animations'), 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/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('
|
|
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', '@angular/animations', '@ngx-translate/core', '@ionic/angular', 'moment', '@angular/material-moment-adapter', '@ionic-native/keyboard/ngx', 'angular2-text-mask', 'ngx-material-timepicker', '@angular/material/datepicker', '@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', '
|
|
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, animations, i1$2, i1$5, momentImported, i1$1, ngx, angular2TextMask, ngxMaterialTimepicker, datepicker, divider, tooltip, chips, i3, i1$6, i2$1, ngxColorPicker, ngx$2, ngx$3, ngx$1, i2$2, i3$1, i4, uuidv4Imported,
|
|
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('@angular/animations'), 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/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('@angular/cdk/text-field'), require('@e-is/ngx-material-table'), require('@angular/cdk/collections'), require('ngx-jdenticon'), require('tweetnacl-util'), require('scrypt-async'), require('hammerjs'), require('moment-timezone')) :
|
|
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', '@angular/animations', '@ngx-translate/core', '@ionic/angular', 'moment', '@angular/material-moment-adapter', '@ionic-native/keyboard/ngx', 'angular2-text-mask', 'ngx-material-timepicker', '@angular/material/datepicker', '@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', '@angular/cdk/text-field', '@e-is/ngx-material-table', '@angular/cdk/collections', 'ngx-jdenticon', 'tweetnacl-util', 'scrypt-async', 'hammerjs', 'moment-timezone'], factory) :
|
|
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.ng.animations, 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.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["ionic-native"].downloader.ngx, global["ionic-native"]["status-bar"].ngx.index, global["ionic-native"].keyboard.ngx.index, global["ionic-native"]["in-app-browser"].ngx.index, global["ionic-native"].downloader.ngx.index, global.ng.cdk.textField, global["e-is"]["ngx-material-table"], global.ng.cdk.collections, global["ngx-jdenticon"], null, null, null, global["moment-timezone"]));
|
|
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, animations, i1$2, i1$5, momentImported, i1$1, ngx, angular2TextMask, ngxMaterialTimepicker, datepicker, 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, textField, ngxMaterialTable, collections, ngxJdenticon, tweetnaclUtil, scryptAsync, hammerjs, momentTZImported) { '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
|
var momentTZImported__namespace = /*#__PURE__*/_interopNamespace(momentTZImported);
|
|
35
58
|
|
|
36
59
|
var ENVIRONMENT = new i0.InjectionToken('ENV');
|
|
@@ -747,6 +770,7 @@
|
|
|
747
770
|
}
|
|
748
771
|
return false;
|
|
749
772
|
}
|
|
773
|
+
// @dynamic
|
|
750
774
|
var Beans = /** @class */ (function () {
|
|
751
775
|
function Beans() {
|
|
752
776
|
}
|
|
@@ -782,6 +806,15 @@
|
|
|
782
806
|
return isNotNil(value);
|
|
783
807
|
}) === -1;
|
|
784
808
|
};
|
|
809
|
+
Beans.collectById = function (array) {
|
|
810
|
+
return this.collectByProperty(array, 'id');
|
|
811
|
+
};
|
|
812
|
+
Beans.collectByProperty = function (array, propertyName) {
|
|
813
|
+
return (array || []).reduce(function (res, item) {
|
|
814
|
+
res['' + propertyName] = item;
|
|
815
|
+
return res;
|
|
816
|
+
}, {});
|
|
817
|
+
};
|
|
785
818
|
return Beans;
|
|
786
819
|
}());
|
|
787
820
|
|
|
@@ -1320,7 +1353,7 @@
|
|
|
1320
1353
|
}
|
|
1321
1354
|
return false;
|
|
1322
1355
|
};
|
|
1323
|
-
var ɵ0 = isIpad;
|
|
1356
|
+
var ɵ0$c = isIpad;
|
|
1324
1357
|
var isIOS = function (win) { return testUserAgent(win, /iPhone|iPod/i) || isIpad(win); };
|
|
1325
1358
|
var isAndroid = function (win) { return testUserAgent(win, /android|sink/i); };
|
|
1326
1359
|
var isCordova = function (win) {
|
|
@@ -1459,14 +1492,14 @@
|
|
|
1459
1492
|
};
|
|
1460
1493
|
return MatAutocompleteFieldUtils;
|
|
1461
1494
|
}());
|
|
1462
|
-
var noop = function (_) { };
|
|
1463
|
-
var ɵ0$
|
|
1495
|
+
var noop$8 = function (_) { };
|
|
1496
|
+
var ɵ0$b = noop$8;
|
|
1464
1497
|
var MatAutocompleteField = /** @class */ (function () {
|
|
1465
1498
|
function MatAutocompleteField(cd, formGroupDir) {
|
|
1466
1499
|
this.cd = cd;
|
|
1467
1500
|
this.formGroupDir = formGroupDir;
|
|
1468
|
-
this._onChangeCallback = noop;
|
|
1469
|
-
this._onTouchedCallback = noop;
|
|
1501
|
+
this._onChangeCallback = noop$8;
|
|
1502
|
+
this._onTouchedCallback = noop$8;
|
|
1470
1503
|
this.logPrefix = '[mat-autocomplete] ';
|
|
1471
1504
|
this.formControlName = null;
|
|
1472
1505
|
this.required = false;
|
|
@@ -2317,7 +2350,7 @@
|
|
|
2317
2350
|
};
|
|
2318
2351
|
return DateFormatPipe;
|
|
2319
2352
|
}());
|
|
2320
|
-
DateFormatPipe.ɵprov =
|
|
2353
|
+
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" });
|
|
2321
2354
|
DateFormatPipe.decorators = [
|
|
2322
2355
|
{ type: i0.Pipe, args: [{
|
|
2323
2356
|
name: 'dateFormat'
|
|
@@ -2329,7 +2362,7 @@
|
|
|
2329
2362
|
{ type: i1$2.TranslateService }
|
|
2330
2363
|
]; };
|
|
2331
2364
|
|
|
2332
|
-
var moment = momentImported__namespace;
|
|
2365
|
+
var moment$a = momentImported__namespace;
|
|
2333
2366
|
var DateDiffDurationPipe = /** @class */ (function () {
|
|
2334
2367
|
function DateDiffDurationPipe(dateAdapter, translate) {
|
|
2335
2368
|
var _this = this;
|
|
@@ -2346,11 +2379,11 @@
|
|
|
2346
2379
|
return this.format(startDate, endDate, args);
|
|
2347
2380
|
};
|
|
2348
2381
|
DateDiffDurationPipe.prototype.format = function (startDate, endDate, args) {
|
|
2349
|
-
var duration = moment.duration(endDate.diff(startDate));
|
|
2382
|
+
var duration = moment$a.duration(endDate.diff(startDate));
|
|
2350
2383
|
if (duration.asMinutes() < 0)
|
|
2351
2384
|
return '';
|
|
2352
2385
|
var withSeconds = args === null || args === void 0 ? void 0 : args.seconds;
|
|
2353
|
-
var timeDuration = moment(0)
|
|
2386
|
+
var timeDuration = moment$a(0)
|
|
2354
2387
|
.hour(duration.hours())
|
|
2355
2388
|
.minute(duration.minutes());
|
|
2356
2389
|
if (withSeconds) {
|
|
@@ -2361,7 +2394,7 @@
|
|
|
2361
2394
|
};
|
|
2362
2395
|
return DateDiffDurationPipe;
|
|
2363
2396
|
}());
|
|
2364
|
-
DateDiffDurationPipe.ɵprov =
|
|
2397
|
+
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" });
|
|
2365
2398
|
DateDiffDurationPipe.decorators = [
|
|
2366
2399
|
{ type: i0.Pipe, args: [{
|
|
2367
2400
|
name: 'dateDiffDuration'
|
|
@@ -2383,7 +2416,7 @@
|
|
|
2383
2416
|
};
|
|
2384
2417
|
return DateFromNowPipe;
|
|
2385
2418
|
}());
|
|
2386
|
-
DateFromNowPipe.ɵprov =
|
|
2419
|
+
DateFromNowPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(i0__namespace.ɵɵinject(i1__namespace.MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
|
|
2387
2420
|
DateFromNowPipe.decorators = [
|
|
2388
2421
|
{ type: i0.Pipe, args: [{
|
|
2389
2422
|
name: 'dateFromNow'
|
|
@@ -2452,7 +2485,7 @@
|
|
|
2452
2485
|
value *= -1;
|
|
2453
2486
|
}
|
|
2454
2487
|
}
|
|
2455
|
-
var degrees = roundFloat(value, opts.maxDecimals).toString();
|
|
2488
|
+
var degrees = roundFloat$1(value, opts.maxDecimals).toString();
|
|
2456
2489
|
// Add sign
|
|
2457
2490
|
var sign = negative ? '-' : '+';
|
|
2458
2491
|
if (opts.placeholderChar) {
|
|
@@ -2503,7 +2536,7 @@
|
|
|
2503
2536
|
}
|
|
2504
2537
|
var degrees = Math.trunc(value);
|
|
2505
2538
|
var minutes = Math.trunc((value - degrees) * 60);
|
|
2506
|
-
var seconds = roundFloat(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
|
|
2539
|
+
var seconds = roundFloat$1(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
|
|
2507
2540
|
while (seconds >= 60) {
|
|
2508
2541
|
seconds -= 60;
|
|
2509
2542
|
minutes += 1;
|
|
@@ -2571,7 +2604,7 @@
|
|
|
2571
2604
|
}
|
|
2572
2605
|
}
|
|
2573
2606
|
var degrees = Math.trunc(value);
|
|
2574
|
-
var minutes = roundFloat((value - degrees) * 60, opts.maxDecimals);
|
|
2607
|
+
var minutes = roundFloat$1((value - degrees) * 60, opts.maxDecimals);
|
|
2575
2608
|
while (minutes >= 60) {
|
|
2576
2609
|
minutes -= 60;
|
|
2577
2610
|
degrees += 1;
|
|
@@ -2622,15 +2655,15 @@
|
|
|
2622
2655
|
return NaN;
|
|
2623
2656
|
}
|
|
2624
2657
|
if (pattern === 'DD')
|
|
2625
|
-
return roundFloat(degrees, maxDecimals);
|
|
2658
|
+
return roundFloat$1(degrees, maxDecimals);
|
|
2626
2659
|
var minutes = (pattern === 'DDMMSS' || pattern === 'DDMM') && parts[1] && parseFloat(parts[1].replace(/,/g, '.')) || 0;
|
|
2627
2660
|
var seconds = (pattern === 'DDMMSS') && parts[2] && parseFloat(parts[2].replace(/,/g, '.')) || 0;
|
|
2628
2661
|
var direction = ((pattern === 'DDMMSS') && parts[3]) || ((pattern === 'DDMM') && parts[2]) || undefined;
|
|
2629
2662
|
var sign = (direction && (direction === 's' || direction === 'S' || direction === 'w' || direction === 'W')) ? -1 : 1;
|
|
2630
2663
|
degrees = sign * (degrees + minutes / 60 + seconds / (60 * 60));
|
|
2631
|
-
return roundFloat(degrees, maxDecimals);
|
|
2664
|
+
return roundFloat$1(degrees, maxDecimals);
|
|
2632
2665
|
}
|
|
2633
|
-
function roundFloat(input, maxDecimals) {
|
|
2666
|
+
function roundFloat$1(input, maxDecimals) {
|
|
2634
2667
|
if (maxDecimals > 0) {
|
|
2635
2668
|
var powDecimal = Math.pow(10, maxDecimals);
|
|
2636
2669
|
return Math.trunc(input * powDecimal + 0.5) / powDecimal;
|
|
@@ -2699,7 +2732,7 @@
|
|
|
2699
2732
|
};
|
|
2700
2733
|
return NumberFormatPipe;
|
|
2701
2734
|
}());
|
|
2702
|
-
NumberFormatPipe.ɵprov =
|
|
2735
|
+
NumberFormatPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
|
|
2703
2736
|
NumberFormatPipe.decorators = [
|
|
2704
2737
|
{ type: i0.Pipe, args: [{
|
|
2705
2738
|
name: 'numberFormat'
|
|
@@ -2742,7 +2775,7 @@
|
|
|
2742
2775
|
};
|
|
2743
2776
|
return HighlightPipe;
|
|
2744
2777
|
}());
|
|
2745
|
-
HighlightPipe.ɵprov =
|
|
2778
|
+
HighlightPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
|
|
2746
2779
|
HighlightPipe.decorators = [
|
|
2747
2780
|
{ type: i0.Pipe, args: [{
|
|
2748
2781
|
name: 'highlight'
|
|
@@ -2810,7 +2843,7 @@
|
|
|
2810
2843
|
{ type: i0.Pipe, args: [{ name: 'fileSize' },] }
|
|
2811
2844
|
];
|
|
2812
2845
|
|
|
2813
|
-
var moment$
|
|
2846
|
+
var moment$9 = momentImported__namespace;
|
|
2814
2847
|
var DATE_UNIX_TIMESTAMP = 'X';
|
|
2815
2848
|
var DATE_UNIX_MS_TIMESTAMP = 'x';
|
|
2816
2849
|
var MOMENT_NO_TIME_PROPERTY = '_hasNoTime';
|
|
@@ -2902,37 +2935,37 @@
|
|
|
2902
2935
|
return value;
|
|
2903
2936
|
if (typeof value === 'string' && value.length === 10) {
|
|
2904
2937
|
// Parse the input value, as a date only
|
|
2905
|
-
var dateOnly = moment$
|
|
2938
|
+
var dateOnly = moment$9(value, DATE_PATTERN);
|
|
2906
2939
|
if (dateOnly.isValid())
|
|
2907
2940
|
return DateUtils.markNoTime(dateOnly);
|
|
2908
2941
|
}
|
|
2909
2942
|
// Parse the input value, as a ISO date time
|
|
2910
|
-
var date = moment$
|
|
2943
|
+
var date = moment$9(value, DATE_ISO_PATTERN);
|
|
2911
2944
|
if (date.isValid())
|
|
2912
2945
|
return date;
|
|
2913
2946
|
// Not valid: trying to convert from unix timestamp
|
|
2914
2947
|
if (typeof value === 'string') {
|
|
2915
2948
|
console.warn('Wrong date format - Trying to convert from local time: ' + value);
|
|
2916
2949
|
if (value.length === 10) {
|
|
2917
|
-
return moment$
|
|
2950
|
+
return moment$9(value, DATE_UNIX_TIMESTAMP);
|
|
2918
2951
|
}
|
|
2919
2952
|
else if (value.length === 13) {
|
|
2920
|
-
return moment$
|
|
2953
|
+
return moment$9(value, DATE_UNIX_MS_TIMESTAMP);
|
|
2921
2954
|
}
|
|
2922
2955
|
}
|
|
2923
2956
|
console.warn('Unable to parse date: ' + value);
|
|
2924
2957
|
return undefined;
|
|
2925
2958
|
}
|
|
2926
2959
|
function fromUnixTimestamp(timeInSec) {
|
|
2927
|
-
return moment$
|
|
2960
|
+
return moment$9(timeInSec, DATE_UNIX_TIMESTAMP);
|
|
2928
2961
|
}
|
|
2929
2962
|
function fromUnixMsTimestamp(timeInMs) {
|
|
2930
|
-
return moment$
|
|
2963
|
+
return moment$9(timeInMs, DATE_UNIX_MS_TIMESTAMP);
|
|
2931
2964
|
}
|
|
2932
2965
|
function toDuration(value, unit) {
|
|
2933
2966
|
if (!value)
|
|
2934
2967
|
return undefined;
|
|
2935
|
-
var duration = moment$
|
|
2968
|
+
var duration = moment$9.duration(value, unit);
|
|
2936
2969
|
// fix 990+ ms
|
|
2937
2970
|
if (duration.milliseconds() >= 990) {
|
|
2938
2971
|
duration.add(1000 - duration.milliseconds(), 'ms');
|
|
@@ -2962,7 +2995,7 @@
|
|
|
2962
2995
|
};
|
|
2963
2996
|
return DurationPipe;
|
|
2964
2997
|
}());
|
|
2965
|
-
DurationPipe.ɵprov =
|
|
2998
|
+
DurationPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: DurationPipe, providedIn: "root" });
|
|
2966
2999
|
DurationPipe.decorators = [
|
|
2967
3000
|
{ type: i0.Pipe, args: [{
|
|
2968
3001
|
name: 'duration'
|
|
@@ -2986,7 +3019,7 @@
|
|
|
2986
3019
|
};
|
|
2987
3020
|
return MathAbsPipe;
|
|
2988
3021
|
}());
|
|
2989
|
-
MathAbsPipe.ɵprov =
|
|
3022
|
+
MathAbsPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
|
|
2990
3023
|
MathAbsPipe.decorators = [
|
|
2991
3024
|
{ type: i0.Pipe, args: [{
|
|
2992
3025
|
name: 'mathAbs'
|
|
@@ -3001,7 +3034,7 @@
|
|
|
3001
3034
|
};
|
|
3002
3035
|
return EvenPipe;
|
|
3003
3036
|
}());
|
|
3004
|
-
EvenPipe.ɵprov =
|
|
3037
|
+
EvenPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
|
|
3005
3038
|
EvenPipe.decorators = [
|
|
3006
3039
|
{ type: i0.Pipe, args: [{
|
|
3007
3040
|
name: 'even'
|
|
@@ -3016,7 +3049,7 @@
|
|
|
3016
3049
|
};
|
|
3017
3050
|
return OddPipe;
|
|
3018
3051
|
}());
|
|
3019
|
-
OddPipe.ɵprov =
|
|
3052
|
+
OddPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
|
|
3020
3053
|
OddPipe.decorators = [
|
|
3021
3054
|
{ type: i0.Pipe, args: [{
|
|
3022
3055
|
name: 'odd'
|
|
@@ -3148,7 +3181,7 @@
|
|
|
3148
3181
|
};
|
|
3149
3182
|
return MapGetPipe;
|
|
3150
3183
|
}());
|
|
3151
|
-
MapGetPipe.ɵprov =
|
|
3184
|
+
MapGetPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
|
|
3152
3185
|
MapGetPipe.decorators = [
|
|
3153
3186
|
{ type: i0.Pipe, args: [{
|
|
3154
3187
|
name: 'mapGet'
|
|
@@ -3165,7 +3198,7 @@
|
|
|
3165
3198
|
};
|
|
3166
3199
|
return MapKeysPipe;
|
|
3167
3200
|
}());
|
|
3168
|
-
MapKeysPipe.ɵprov =
|
|
3201
|
+
MapKeysPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
|
|
3169
3202
|
MapKeysPipe.decorators = [
|
|
3170
3203
|
{ type: i0.Pipe, args: [{
|
|
3171
3204
|
name: 'mapKeys'
|
|
@@ -3182,7 +3215,7 @@
|
|
|
3182
3215
|
};
|
|
3183
3216
|
return MapValuesPipe;
|
|
3184
3217
|
}());
|
|
3185
|
-
MapValuesPipe.ɵprov =
|
|
3218
|
+
MapValuesPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
|
|
3186
3219
|
MapValuesPipe.decorators = [
|
|
3187
3220
|
{ type: i0.Pipe, args: [{
|
|
3188
3221
|
name: 'mapValues'
|
|
@@ -3339,7 +3372,7 @@
|
|
|
3339
3372
|
};
|
|
3340
3373
|
return TranslateContextService;
|
|
3341
3374
|
}());
|
|
3342
|
-
TranslateContextService.ɵprov =
|
|
3375
|
+
TranslateContextService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: TranslateContextService, providedIn: "root" });
|
|
3343
3376
|
TranslateContextService.decorators = [
|
|
3344
3377
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
3345
3378
|
];
|
|
@@ -3402,7 +3435,7 @@
|
|
|
3402
3435
|
ngInit: [{ type: i0.Output }]
|
|
3403
3436
|
};
|
|
3404
3437
|
|
|
3405
|
-
var moment$
|
|
3438
|
+
var moment$8 = momentImported__namespace;
|
|
3406
3439
|
// @dynamic
|
|
3407
3440
|
var SharedValidators = /** @class */ (function () {
|
|
3408
3441
|
function SharedValidators() {
|
|
@@ -3485,7 +3518,7 @@
|
|
|
3485
3518
|
};
|
|
3486
3519
|
SharedValidators.validDate = function (control) {
|
|
3487
3520
|
var value = control.value;
|
|
3488
|
-
var date = !value || moment$
|
|
3521
|
+
var date = !value || moment$8.isMoment(value) ? value : moment$8(value, DATE_ISO_PATTERN);
|
|
3489
3522
|
if (date && (!date.isValid() || date.year() < 1970)) {
|
|
3490
3523
|
return { validDate: true };
|
|
3491
3524
|
}
|
|
@@ -4705,7 +4738,7 @@
|
|
|
4705
4738
|
};
|
|
4706
4739
|
return FormErrorTranslator;
|
|
4707
4740
|
}());
|
|
4708
|
-
FormErrorTranslator.ɵprov =
|
|
4741
|
+
FormErrorTranslator.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function FormErrorTranslator_Factory() { return new FormErrorTranslator(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService), i0__namespace.ɵɵinject(APP_FORM_ERROR_I18N_KEYS, 8)); }, token: FormErrorTranslator, providedIn: "root" });
|
|
4709
4742
|
FormErrorTranslator.decorators = [
|
|
4710
4743
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
4711
4744
|
];
|
|
@@ -4996,7 +5029,7 @@
|
|
|
4996
5029
|
});
|
|
4997
5030
|
return PropertyFormatPipe;
|
|
4998
5031
|
}());
|
|
4999
|
-
PropertyFormatPipe.ɵprov =
|
|
5032
|
+
PropertyFormatPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function PropertyFormatPipe_Factory() { return new PropertyFormatPipe(i0__namespace.ɵɵinject(DateFormatPipe), i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: PropertyFormatPipe, providedIn: "root" });
|
|
5000
5033
|
PropertyFormatPipe.decorators = [
|
|
5001
5034
|
{ type: i0.Pipe, args: [{
|
|
5002
5035
|
name: 'propertyFormat'
|
|
@@ -5380,9 +5413,9 @@
|
|
|
5380
5413
|
var hour = parseInt(durationParts[0] || '0');
|
|
5381
5414
|
var minute = parseInt(durationParts[1] || '0');
|
|
5382
5415
|
var value = hour + (minute + 0.5) / 60;
|
|
5383
|
-
return roundFloat
|
|
5416
|
+
return roundFloat(value, maxDecimals);
|
|
5384
5417
|
}
|
|
5385
|
-
function roundFloat
|
|
5418
|
+
function roundFloat(input, maxDecimals) {
|
|
5386
5419
|
if (maxDecimals > 0) {
|
|
5387
5420
|
var powDecimal = Math.pow(10, maxDecimals);
|
|
5388
5421
|
return Math.trunc(input * powDecimal + 0.5) / powDecimal;
|
|
@@ -5406,16 +5439,16 @@
|
|
|
5406
5439
|
DD: [/[+-]/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '°']
|
|
5407
5440
|
}
|
|
5408
5441
|
};
|
|
5409
|
-
var noop$
|
|
5442
|
+
var noop$7 = function () {
|
|
5410
5443
|
};
|
|
5411
|
-
var ɵ0$
|
|
5444
|
+
var ɵ0$a = noop$7;
|
|
5412
5445
|
var MatLatLongField = /** @class */ (function () {
|
|
5413
5446
|
function MatLatLongField(formBuilder, cd, formGroupDir) {
|
|
5414
5447
|
this.formBuilder = formBuilder;
|
|
5415
5448
|
this.cd = cd;
|
|
5416
5449
|
this.formGroupDir = formGroupDir;
|
|
5417
|
-
this._onChangeCallback = noop$
|
|
5418
|
-
this._onTouchedCallback = noop$
|
|
5450
|
+
this._onChangeCallback = noop$7;
|
|
5451
|
+
this._onTouchedCallback = noop$7;
|
|
5419
5452
|
this._subscription = new rxjs.Subscription();
|
|
5420
5453
|
this._disabling = false;
|
|
5421
5454
|
this._writing = false;
|
|
@@ -5775,14 +5808,14 @@
|
|
|
5775
5808
|
},] }
|
|
5776
5809
|
];
|
|
5777
5810
|
|
|
5778
|
-
var DEFAULT_VALUE_ACCESSOR = {
|
|
5811
|
+
var DEFAULT_VALUE_ACCESSOR$5 = {
|
|
5779
5812
|
provide: i1.NG_VALUE_ACCESSOR,
|
|
5780
5813
|
useExisting: i0.forwardRef(function () { return MatDate; }),
|
|
5781
5814
|
multi: true
|
|
5782
5815
|
};
|
|
5783
5816
|
var TEXT_MASK = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
|
|
5784
|
-
var noop$
|
|
5785
|
-
var ɵ0$
|
|
5817
|
+
var noop$6 = function () { };
|
|
5818
|
+
var ɵ0$9 = noop$6;
|
|
5786
5819
|
var MatDate = /** @class */ (function () {
|
|
5787
5820
|
function MatDate(dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
5788
5821
|
this.dateAdapter = dateAdapter;
|
|
@@ -5791,8 +5824,8 @@
|
|
|
5791
5824
|
this.cd = cd;
|
|
5792
5825
|
this.keyboard = keyboard;
|
|
5793
5826
|
this.formGroupDir = formGroupDir;
|
|
5794
|
-
this._onChangeCallback = noop$
|
|
5795
|
-
this._onTouchedCallback = noop$
|
|
5827
|
+
this._onChangeCallback = noop$6;
|
|
5828
|
+
this._onTouchedCallback = noop$6;
|
|
5796
5829
|
this._subscription = new rxjs.Subscription();
|
|
5797
5830
|
this._writing = true;
|
|
5798
5831
|
this._disabling = false;
|
|
@@ -6133,7 +6166,7 @@
|
|
|
6133
6166
|
selector: 'mat-date-field',
|
|
6134
6167
|
template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n [appearance]=\"appearance\"\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: datePattern} }}</ion-text>\n</mat-form-field>\n\n<!-- writable -->\n<ng-template #writable>\n <mat-form-field [floatLabel]=\"floatLabel\"\n [appearance]=\"appearance\">\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]=\"textControl\"\n [textMask]=\"{mask: mask, 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]=\"textControl\"\n (click)=\"openDatePickerIfMobile($event, datePicker)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n readonly>\n\n <!-- Hide the final input -->\n <input matInput type=\"text\" [formControl]=\"formControl\"\n hidden\n [matDatepicker]=\"datePicker\"\n [matDatepickerFilter]=\"datePickerFilter\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n <button type=\"button\" mat-icon-button tabindex=\"-1\" matSuffix\n (click)=\"openDatePicker($event, datePicker)\"\n [disabled]=\"formControl.disabled\">\n <div *ngIf=\"mobile; then iconDate; else iconDesktop\"></div>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clear()\"\n [hidden]=\"formControl.disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <!-- errors -->\n <mat-error *ngIf=\"formControl.touched && formControl.errors|mapKeys|arrayFirst; let errorKey\" [ngSwitch]=\"errorKey\">\n <span *ngSwitchCase=\"'required'\" translate>ERROR.FIELD_REQUIRED</span>\n <span *ngSwitchCase=\"'validDate'\" translate>ERROR.FIELD_NOT_VALID_DATE</span>\n <span *ngSwitchCase=\"'dateIsAfter'\">{{'ERROR.FIELD_NOT_VALID_DATE_AFTER' | translate: formControl.errors.dateIsAfter }}</span>\n <span *ngSwitchCase=\"'dateIsBefore'\">{{'ERROR.FIELD_NOT_VALID_DATE_BEFORE' | translate: formControl.errors.dateIsBefore }}</span>\n <span *ngSwitchCase=\"'dateRange'\" translate>ERROR.FIELD_NOT_VALID_DATE_RANGE</span>\n <span *ngSwitchCase=\"'dateMaxDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MAX_DURATION</span>\n <span *ngSwitchCase=\"'dateMinDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MIN_DURATION</span>\n <span *ngSwitchCase=\"'msg'\">{{(formControl.errors.msg?.key || formControl.errors.msg) | translate: formControl.errors.msg?.params}}</span>\n </mat-error>\n <ng-content select=\"mat-error\"></ng-content>\n\n <!-- mat hint -->\n <div class=\"mat-form-field-hint-wrapper\" [class.cdk-visually-hidden]=\"formControl.invalid\">\n <div class=\"mat-form-field-hint-spacer\"></div>\n <ng-content select=\"mat-hint\"></ng-content>\n </div>\n </mat-form-field>\n\n <mat-datepicker #datePicker\n [touchUi]=\"mobile\"\n [disabled]=\"formControl.disabled\"\n [startAt]=\"startDate\"\n ></mat-datepicker>\n\n\n\n</ng-template>\n\n<ng-template #iconDesktop>\n <mat-icon>keyboard_arrow_down</mat-icon>\n</ng-template>\n\n<ng-template #iconDate>\n <mat-icon>date_range</mat-icon>\n</ng-template>\n\n<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n",
|
|
6135
6168
|
providers: [
|
|
6136
|
-
DEFAULT_VALUE_ACCESSOR,
|
|
6169
|
+
DEFAULT_VALUE_ACCESSOR$5,
|
|
6137
6170
|
],
|
|
6138
6171
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
6139
6172
|
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%}"]
|
|
@@ -6168,16 +6201,16 @@
|
|
|
6168
6201
|
matInputs: [{ type: i0.ViewChildren, args: ['matInput',] }]
|
|
6169
6202
|
};
|
|
6170
6203
|
|
|
6171
|
-
var DEFAULT_VALUE_ACCESSOR$
|
|
6204
|
+
var DEFAULT_VALUE_ACCESSOR$4 = {
|
|
6172
6205
|
provide: i1.NG_VALUE_ACCESSOR,
|
|
6173
6206
|
useExisting: i0.forwardRef(function () { return MatDateTime; }),
|
|
6174
6207
|
multi: true
|
|
6175
6208
|
};
|
|
6176
|
-
var DAY_MASK = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
|
|
6209
|
+
var DAY_MASK$1 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
|
|
6177
6210
|
var HOUR_REGEXP = /^[012][0-9][:][012345][0-9]$/;
|
|
6178
|
-
var HOUR_MASK = [/[012]/, /\d/, ':', /[012345]/, /\d/];
|
|
6179
|
-
var noop$
|
|
6180
|
-
var ɵ0$
|
|
6211
|
+
var HOUR_MASK$1 = [/[012]/, /\d/, ':', /[012345]/, /\d/];
|
|
6212
|
+
var noop$5 = function () { };
|
|
6213
|
+
var ɵ0$8 = noop$5;
|
|
6181
6214
|
var MatDateTime = /** @class */ (function () {
|
|
6182
6215
|
function MatDateTime(dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
6183
6216
|
this.dateAdapter = dateAdapter;
|
|
@@ -6186,14 +6219,14 @@
|
|
|
6186
6219
|
this.cd = cd;
|
|
6187
6220
|
this.keyboard = keyboard;
|
|
6188
6221
|
this.formGroupDir = formGroupDir;
|
|
6189
|
-
this._onChangeCallback = noop$
|
|
6190
|
-
this._onTouchedCallback = noop$
|
|
6222
|
+
this._onChangeCallback = noop$5;
|
|
6223
|
+
this._onTouchedCallback = noop$5;
|
|
6191
6224
|
this._subscription = new rxjs.Subscription();
|
|
6192
6225
|
this._writing = true;
|
|
6193
6226
|
this._disabling = false;
|
|
6194
6227
|
this._readonly = false;
|
|
6195
|
-
this.dayMask = DAY_MASK;
|
|
6196
|
-
this.hourMask = HOUR_MASK;
|
|
6228
|
+
this.dayMask = DAY_MASK$1;
|
|
6229
|
+
this.hourMask = HOUR_MASK$1;
|
|
6197
6230
|
this.floatLabel = 'auto';
|
|
6198
6231
|
this.compact = false;
|
|
6199
6232
|
this.placeholderChar = DEFAULT_PLACEHOLDER_CHAR;
|
|
@@ -6558,7 +6591,7 @@
|
|
|
6558
6591
|
selector: 'mat-date-time-field',
|
|
6559
6592
|
template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n [appearance]=\"appearance\"\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 mat-form-field-{{appearance}}\">\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 [appearance]=\"appearance\"\n [class.mat-form-field-invalid]=\"formControl.touched && formControl.invalid\">\n\n <mat-label>{{placeholder}}</mat-label>\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"dayControl\"\n [textMask]=\"{mask: dayMask, keepCharPositions: true, placeholderChar: placeholderChar}\"\n [placeholder]=\"'COMMON.DATE_PLACEHOLDER'|translate\"\n (blur)=\"checkIfTouched()\"\n (keyup.arrowdown)=\"openDatePicker($event, datePicker)\"\n (keyup.escape)=\"preventEvent($event)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [appAutofocus]=\"autofocus\">\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"dayControl\"\n (click)=\"openDatePickerIfMobile($event, datePicker)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n readonly>\n\n <!-- Hide the final input -->\n <input matInput type=\"text\" [formControl]=\"formControl\"\n hidden\n [matDatepicker]=\"datePicker\"\n [matDatepickerFilter]=\"datePickerFilter\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n <button type=\"button\" mat-icon-button tabindex=\"-1\" matSuffix\n (click)=\"openDatePicker($event, datePicker)\"\n [disabled]=\"formControl.disabled\">\n <div *ngIf=\"mobile; then iconDate; else iconDesktop\"></div>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clear()\"\n [hidden]=\"formControl.disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-datepicker #datePicker\n [touchUi]=\"mobile\"\n [disabled]=\"formControl.disabled\"\n [startAt]=\"startDate\"></mat-datepicker>\n <div class=\"mat-form-field-subscript mat-form-field-subscript-wrapper\" >\n <!-- errors -->\n <ng-container [ngSwitch]=\"formControl.touched && formControl.errors|mapKeys|arrayFirst\">\n <mat-error *ngSwitchCase=\"'required'\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngSwitchCase=\"'validDate'\" translate>ERROR.FIELD_NOT_VALID_DATE_TIME</mat-error>\n <mat-error *ngSwitchCase=\"'dateIsAfter'\">{{'ERROR.FIELD_NOT_VALID_DATE_AFTER' | translate: formControl.errors.dateIsAfter }}</mat-error>\n <mat-error *ngSwitchCase=\"'dateIsBefore'\">{{'ERROR.FIELD_NOT_VALID_DATE_BEFORE' | translate: formControl.errors.dateIsBefore }}</mat-error>\n <mat-error *ngSwitchCase=\"'dateRange'\" translate>ERROR.FIELD_NOT_VALID_DATE_RANGE</mat-error>\n <mat-error *ngSwitchCase=\"'dateMaxDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MAX_DURATION</mat-error>\n <mat-error *ngSwitchCase=\"'dateMinDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MIN_DURATION</mat-error>\n <mat-error *ngSwitchCase=\"'msg'\">{{(formControl.errors.msg?.key || formControl.errors.msg) | translate: formControl.errors.msg?.params}}</mat-error>\n </ng-container>\n <ng-content select=\"mat-error\"></ng-content>\n\n <!-- mat hint -->\n <div class=\"mat-form-field-hint-wrapper\" [class.cdk-visually-hidden]=\"formControl.invalid\">\n <div class=\"mat-form-field-hint-spacer\"></div>\n <ng-content select=\"mat-hint\"></ng-content>\n </div>\n </div>\n\n </ion-col>\n\n <!-- hour -->\n <ion-col class=\"hour ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [appearance]=\"appearance\"\n [class.mat-form-field-invalid]=\"formControl.touched && (hourControl.invalid || formControl.invalid)\">\n <mat-label *ngIf=\"placeholder && floatLabel != 'never'\" translate>COMMON.TIME</mat-label>\n <input matInput #matInput type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"hourControl\"\n autocomplete=\"off\"\n min=\"0\" max=\"23\"\n [textMask]=\"{mask: hourMask, keepCharPositions: true, placeholderChar: placeholderChar, guide: true}\"\n [placeholder]=\"'COMMON.TIME_PLACEHOLDER'|translate\"\n [required]=\"required\"\n (keyup.arrowdown)=\"openTimePicker($event)\"\n (keyup.escape)=\"preventEvent($event)\"\n (blur)=\"checkIfTouched()\"\n [tabindex]=\"tabindex !== undefined ? tabindex+1 : undefined\">\n\n <input matInput #matInput type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"hourControl\"\n (click)=\"openTimePickerIfMobile($event)\"\n readonly>\n\n <input matInput type=\"text\"\n [formControl]=\"hourControl\"\n hidden\n [ngxTimepicker]=\"timePicker\"\n [format]=\"24\">\n\n <button matSuffix type=\"button\" mat-icon-button\n tabindex=\"-1\"\n *ngIf=\"!compact && !mobile\"\n [disabled]=\"formControl.disabled\"\n (click)=\"openTimePicker($event)\" >\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n <button matSuffix type=\"button\" mat-icon-button\n tabindex=\"-1\"\n *ngIf=\"!compact && mobile\"\n [disabled]=\"formControl.disabled\"\n (click)=\"openTimePickerIfMobile($event)\">\n <mat-icon>access_time</mat-icon>\n </button>\n\n <ngx-material-timepicker #timePicker [@.disabled]=\"true\"\n (timeSet)=\"onTimePickerChange($event)\"\n [ESC]=\"!mobile\"\n [defaultTime]=\"'00:00'\"\n [cancelBtnTmpl]=\"timePickerCancelButton\"\n [confirmBtnTmpl]=\"timePickerOkButton\"\n [preventOverlayClick]=\"mobile\"\n [enableKeyboardInput]=\"false\"\n [disableAnimation]=\"true\">\n <!-- cancel button -->\n <ng-template #timePickerCancelButton>\n <ion-button fill=\"clear\" color=\"dark\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n </ng-template>\n\n <!-- confirm button -->\n <ng-template #timePickerOkButton>\n <ion-button fill=\"solid\" color=\"tertiary\">\n <ion-label translate>COMMON.BTN_VALIDATE</ion-label>\n </ion-button>\n </ng-template>\n\n </ngx-material-timepicker>\n </mat-form-field>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n\n</ng-template>\n\n<ng-template #iconDesktop>\n <mat-icon>keyboard_arrow_down</mat-icon>\n</ng-template>\n\n<ng-template #iconDate>\n <mat-icon>date_range</mat-icon>\n</ng-template>\n\n<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n",
|
|
6560
6593
|
providers: [
|
|
6561
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
6594
|
+
DEFAULT_VALUE_ACCESSOR$4,
|
|
6562
6595
|
],
|
|
6563
6596
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
6564
6597
|
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}.mat-form-field-outline ion-col.day{min-width:153px}.mat-form-field-outline ion-col.hour{min-width:100px;max-width:110px}.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%}"]
|
|
@@ -6593,15 +6626,15 @@
|
|
|
6593
6626
|
matInputs: [{ type: i0.ViewChildren, args: ['matInput',] }]
|
|
6594
6627
|
};
|
|
6595
6628
|
|
|
6596
|
-
var DEFAULT_VALUE_ACCESSOR$
|
|
6629
|
+
var DEFAULT_VALUE_ACCESSOR$3 = {
|
|
6597
6630
|
provide: i1.NG_VALUE_ACCESSOR,
|
|
6598
6631
|
useExisting: i0.forwardRef(function () { return MatDateShort; }),
|
|
6599
6632
|
multi: true
|
|
6600
6633
|
};
|
|
6601
|
-
var DAY_MASK
|
|
6634
|
+
var DAY_MASK = [/\d/, /\d/, /\d/, /\d/];
|
|
6602
6635
|
var noop$4 = function () {
|
|
6603
6636
|
};
|
|
6604
|
-
var ɵ0$
|
|
6637
|
+
var ɵ0$7 = noop$4;
|
|
6605
6638
|
var MatDateShort = /** @class */ (function () {
|
|
6606
6639
|
function MatDateShort(dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
6607
6640
|
this.dateAdapter = dateAdapter;
|
|
@@ -6614,7 +6647,7 @@
|
|
|
6614
6647
|
this._onTouchedCallback = noop$4;
|
|
6615
6648
|
this.writing = true;
|
|
6616
6649
|
this.disabling = false;
|
|
6617
|
-
this.dayMask = DAY_MASK
|
|
6650
|
+
this.dayMask = DAY_MASK;
|
|
6618
6651
|
this.disabled = false;
|
|
6619
6652
|
this.floatLabel = 'auto';
|
|
6620
6653
|
this.readonly = false;
|
|
@@ -6891,7 +6924,7 @@
|
|
|
6891
6924
|
selector: 'mat-date-short-field',
|
|
6892
6925
|
template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly else writable\"\n [floatLabel]=\"floatLabel\"\n [appearance]=\"appearance\"\n class=\"mat-form-field-disabled\">\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <input matInput hidden type=\"text\" readonly=\"true\" [formControl]=\"formControl\">\n <ion-text>{{formControl.value|dateFormat: {pattern: displayPattern} }}</ion-text>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n</mat-form-field>\n\n<ng-template #writable>\n <mat-form-field [floatLabel]=\"floatLabel\"\n [appearance]=\"appearance\">\n\n <mat-label>{{placeholder}}</mat-label>\n\n <div matPrefix><ng-content select=\"[matPrefix]\"></ng-content></div>\n\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"dayControl\"\n [textMask]=\"{mask: dayMask, keepCharPositions: true, placeholderChar: placeholderChar}\"\n [placeholder]=\"'COMMON.DATE_YEAR_PLACEHOLDER'|translate\"\n (blur)=\"checkIfTouched()\"\n (keyup.arrowdown)=\"openDatePicker($event, datePicker1)\"\n (keyup.escape)=\"preventEvent($event)\"\n (click)=\"matInput.select()\"\n [required]=\"required\"\n [tabindex]=\"tabindex\">\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"dayControl\"\n (click)=\"openDatePickerIfMobile($event, datePicker1)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n readonly>\n\n <!-- Hide the final control -->\n <input matInput type=\"text\"\n [formControl]=\"formControl\"\n hidden\n [matDatepicker]=\"datePicker1\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n (click)=\"openDatePicker($event, datePicker1)\"\n [disabled]=\"formControl.disabled\">\n <div *ngIf=\"mobile; then iconDate; else iconDesktop\"></div>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"writeValue(null)\"\n [hidden]=\"formControl.disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <mat-error *ngIf=\"formControl.touched && formControl.errors|mapKeys|arrayFirst; let errorKey\" [ngSwitch]=\"errorKey\">\n <span *ngSwitchCase=\"'required'\" translate>ERROR.FIELD_REQUIRED</span>\n <span *ngSwitchCase=\"'validDate'\" translate>ERROR.FIELD_NOT_VALID_DATE</span>\n <span *ngSwitchCase=\"'dateIsAfter'\">{{'ERROR.FIELD_NOT_VALID_DATE_AFTER' | translate: formControl.errors.dateIsAfter }}</span>\n <span *ngSwitchCase=\"'dateRange'\" translate>ERROR.FIELD_NOT_VALID_DATE_RANGE</span>\n <span *ngSwitchCase=\"'dateMaxDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MAX_DURATION</span>\n <span *ngSwitchCase=\"'dateMinDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MIN_DURATION</span>\n <span *ngSwitchCase=\"'msg'\">{{(formControl.errors.msg?.key || formControl.errors.msg) | translate: formControl.errors.msg?.params}}</span>\n </mat-error>\n <ng-content select=\"mat-error\"></ng-content>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n </mat-form-field>\n\n <mat-datepicker #datePicker1\n startView=\"multi-year\"\n [touchUi]=\"mobile\"\n [disabled]=\"formControl.disabled\"\n (yearSelected)=\"closeDatePicker($event, datePicker1)\"\n [startAt]=\"startDate\"></mat-datepicker>\n\n <ng-template #iconDesktop>\n <mat-icon>keyboard_arrow_down</mat-icon>\n </ng-template>\n\n <ng-template #iconDate>\n <mat-icon>date_range</mat-icon>\n </ng-template>\n\n</ng-template>\n\n<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n\n<ng-template #matSuffixTemplate>\n <ng-content select=\"[matSuffix]\"></ng-content>\n</ng-template>\n",
|
|
6893
6926
|
providers: [
|
|
6894
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
6927
|
+
DEFAULT_VALUE_ACCESSOR$3,
|
|
6895
6928
|
],
|
|
6896
6929
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
6897
6930
|
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%}"]
|
|
@@ -6963,16 +6996,16 @@
|
|
|
6963
6996
|
},] }
|
|
6964
6997
|
];
|
|
6965
6998
|
|
|
6966
|
-
var DEFAULT_VALUE_ACCESSOR$
|
|
6999
|
+
var DEFAULT_VALUE_ACCESSOR$2 = {
|
|
6967
7000
|
provide: i1.NG_VALUE_ACCESSOR,
|
|
6968
7001
|
useExisting: i0.forwardRef(function () { return MatDuration; }),
|
|
6969
7002
|
multi: true
|
|
6970
7003
|
};
|
|
6971
7004
|
var HOUR_TIME_PATTERN = /[0-9]\d\d:[0-5]\d/;
|
|
6972
|
-
var HOUR_MASK
|
|
6973
|
-
var noop$
|
|
7005
|
+
var HOUR_MASK = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
|
|
7006
|
+
var noop$3 = function () {
|
|
6974
7007
|
};
|
|
6975
|
-
var ɵ0$6 = noop$
|
|
7008
|
+
var ɵ0$6 = noop$3;
|
|
6976
7009
|
var MatDuration = /** @class */ (function () {
|
|
6977
7010
|
function MatDuration(platform, dateAdapter, translate, formBuilder, cd, formGroupDir) {
|
|
6978
7011
|
this.dateAdapter = dateAdapter;
|
|
@@ -6981,11 +7014,11 @@
|
|
|
6981
7014
|
this.cd = cd;
|
|
6982
7015
|
this.formGroupDir = formGroupDir;
|
|
6983
7016
|
this._subscription = new rxjs.Subscription();
|
|
6984
|
-
this._onChangeCallback = noop$
|
|
6985
|
-
this._onTouchedCallback = noop$
|
|
7017
|
+
this._onChangeCallback = noop$3;
|
|
7018
|
+
this._onTouchedCallback = noop$3;
|
|
6986
7019
|
this.writing = true;
|
|
6987
7020
|
this.disabling = false;
|
|
6988
|
-
this.hourMask = HOUR_MASK
|
|
7021
|
+
this.hourMask = HOUR_MASK;
|
|
6989
7022
|
this.disabled = false;
|
|
6990
7023
|
this.floatLabel = 'auto';
|
|
6991
7024
|
this.readonly = false;
|
|
@@ -7178,7 +7211,7 @@
|
|
|
7178
7211
|
selector: 'mat-duration-field',
|
|
7179
7212
|
template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly else writable\"\n [floatLabel]=\"floatLabel\"\n [appearance]=\"appearance\"\n class=\"mat-form-field-disabled\">\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 [appearance]=\"appearance\"\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",
|
|
7180
7213
|
providers: [
|
|
7181
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
7214
|
+
DEFAULT_VALUE_ACCESSOR$2,
|
|
7182
7215
|
],
|
|
7183
7216
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
7184
7217
|
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%}"]
|
|
@@ -7239,22 +7272,22 @@
|
|
|
7239
7272
|
},] }
|
|
7240
7273
|
];
|
|
7241
7274
|
|
|
7242
|
-
var DEFAULT_VALUE_ACCESSOR$
|
|
7275
|
+
var DEFAULT_VALUE_ACCESSOR$1 = {
|
|
7243
7276
|
provide: i1.NG_VALUE_ACCESSOR,
|
|
7244
7277
|
useExisting: i0.forwardRef(function () { return MatBooleanField; }),
|
|
7245
7278
|
multi: true
|
|
7246
7279
|
};
|
|
7247
|
-
var noop$
|
|
7280
|
+
var noop$2 = function () {
|
|
7248
7281
|
};
|
|
7249
|
-
var ɵ0$
|
|
7282
|
+
var ɵ0$5 = noop$2;
|
|
7250
7283
|
var MatBooleanField = /** @class */ (function () {
|
|
7251
7284
|
function MatBooleanField(translate, formBuilder, cd, formGroupDir) {
|
|
7252
7285
|
this.translate = translate;
|
|
7253
7286
|
this.formBuilder = formBuilder;
|
|
7254
7287
|
this.cd = cd;
|
|
7255
7288
|
this.formGroupDir = formGroupDir;
|
|
7256
|
-
this._onChangeCallback = noop$
|
|
7257
|
-
this._onTouchedCallback = noop$
|
|
7289
|
+
this._onChangeCallback = noop$2;
|
|
7290
|
+
this._onTouchedCallback = noop$2;
|
|
7258
7291
|
this._writing = false;
|
|
7259
7292
|
this.showRadio = false;
|
|
7260
7293
|
this.disabled = false;
|
|
@@ -7429,7 +7462,7 @@
|
|
|
7429
7462
|
selector: 'mat-boolean-field',
|
|
7430
7463
|
template: "<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled {{classList}}\">\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n <input matInput hidden type=\"text\" readonly\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <ion-text>{{(value == null ? 'COMMON.EMPTY_OPTION' : (value === true ? yesLabel : noLabel)) | translate }}</ion-text>\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n</mat-form-field>\n\n<ng-template #writable>\n <ng-container [ngSwitch]=\"style\">\n\n <!-- Radio -->\n <mat-form-field *ngSwitchCase=\"'radio'\"\n [floatLabel]=\"showRadio && (!floatLabel || floatLabel === 'auto') ? 'always': floatLabel\"\n [appearance]=\"appearance\"\n class=\"mat-boolean-field mat-boolean-field-radio {{classList}}\">\n <mat-label *ngIf=\"placeholder && floatLabel!=='never'\">\n {{placeholder}}\n <span [hidden]=\"showRadio\">({{yesLabel|translate}}/{{'COMMON.NO'|translate}})</span>\n </mat-label>\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n <input matInput #fakeInput type=\"text\" readonly=\"true\"\n [formControl]=\"formControl\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showRadio\"\n [tabindex]=\"tabindex\">\n\n <!-- radio button -->\n <mat-radio-group [hidden]=\"!showRadio\"\n [formControl]=\"formControl\"\n (change)=\"onRadioValueChanged($event)\">\n <mat-radio-button #yesButton [value]=\"true\">\n <span>{{yesLabel|translate}}</span>\n </mat-radio-button> \n <mat-radio-button #noButton [value]=\"false\">\n <span>{{noLabel|translate}}</span>\n </mat-radio-button>\n </mat-radio-group>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n </mat-form-field>\n\n <!-- Checkbox -->\n <mat-form-field *ngSwitchCase=\"'checkbox'\"\n [floatLabel]=\"floatLabel\"\n [appearance]=\"appearance\"\n class=\"mat-boolean-field mat-boolean-field-checkbox {{classList}}\">\n <mat-label *ngIf=\"placeholder && !showRadio\">\n {{placeholder}}\n </mat-label>\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n <input matInput #matInput\n [formControl]=\"formControl\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showRadio\"\n [tabindex]=\"tabindex\">\n\n <ion-label> </ion-label>\n\n <!-- checkbox, when compact -->\n <mat-checkbox #checkboxButton\n [formControl]=\"formControl\"\n (change)=\"onCheckboxValueChanged($event)\"\n [indeterminate]=\"value===null\"\n [hidden]=\"!showRadio\"\n [tabindex]=\"tabindex\">\n </mat-checkbox>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n </mat-form-field>\n\n <!-- Buttons -->\n <mat-form-field *ngSwitchCase=\"'button'\"\n [floatLabel]=\"floatLabel === 'never' ? 'never' : 'always'\"\n [appearance]=\"appearance\"\n class=\"mat-boolean-field mat-boolean-field-button {{classList}}\">\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n <input matInput type=\"text\" hidden\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [required]=\"required\">\n <div class=\"mat-form-field-buttons\"\n [style.--buttons-col-count]=\"buttonsColCount\"\n *ngIf=\"!formControl.disabled; else disabledLabel\">\n <!-- yes -->\n <ion-button class=\"mat-form-field-button\"\n [tabindex]=\"_tabindex\"\n (click)=\"writeValue(true, $event)\"\n (keyup.enter)=\"writeValue(true, $event)\"\n [color]=\"_value == null ? 'tertiary' : (_value === true) ? 'accent' : 'light'\">\n <ion-icon *ngIf=\"showButtonIcons && yesIcon; let icon\" slot=\"start\" [name]=\"icon\"></ion-icon>\n {{yesLabel|translate}}\n </ion-button>\n\n <!-- No button -->\n <ion-button class=\"mat-form-field-button\"\n [tabindex]=\"_tabindex !== undefined ? (_tabindex + 1) : undefined\"\n (click)=\"writeValue(false, $event)\"\n (keyup.enter)=\"writeValue(false, $event)\"\n [color]=\"_value == null ? 'tertiary' : (_value === false) ? 'accent' : 'light'\">\n <ion-icon *ngIf=\"showButtonIcons && noIcon; let icon\" slot=\"start\" [name]=\"icon\"></ion-icon>\n {{noLabel|translate}}\n </ion-button>\n </div>\n <ng-template #disabledLabel>\n <ion-label><i translate>COMMON.EMPTY_OPTION</i></ion-label>\n </ng-template>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n\n </mat-form-field>\n </ng-container>\n\n</ng-template>\n\n\n<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n<ng-template #matSuffixTemplate>\n <ng-content select=\"[matSuffix]\"></ng-content>\n</ng-template>\n",
|
|
7431
7464
|
providers: [
|
|
7432
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
7465
|
+
DEFAULT_VALUE_ACCESSOR$1
|
|
7433
7466
|
],
|
|
7434
7467
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
7435
7468
|
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}"]
|
|
@@ -7517,6 +7550,7 @@
|
|
|
7517
7550
|
return MatNumpadEvent;
|
|
7518
7551
|
}(KeyboardEvent));
|
|
7519
7552
|
|
|
7553
|
+
exports.AnimationState = void 0;
|
|
7520
7554
|
(function (AnimationState) {
|
|
7521
7555
|
AnimationState["ENTER"] = "enter";
|
|
7522
7556
|
AnimationState["ENTER_INPUT"] = "enter-input";
|
|
@@ -7684,7 +7718,7 @@
|
|
|
7684
7718
|
};
|
|
7685
7719
|
return MatNumpadDomService;
|
|
7686
7720
|
}());
|
|
7687
|
-
MatNumpadDomService.ɵprov =
|
|
7721
|
+
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" });
|
|
7688
7722
|
MatNumpadDomService.decorators = [
|
|
7689
7723
|
{ type: i0.Injectable, args: [{
|
|
7690
7724
|
providedIn: 'root'
|
|
@@ -8090,7 +8124,7 @@
|
|
|
8090
8124
|
},] }
|
|
8091
8125
|
];
|
|
8092
8126
|
|
|
8093
|
-
var DEFAULT_VALUE_ACCESSOR
|
|
8127
|
+
var DEFAULT_VALUE_ACCESSOR = {
|
|
8094
8128
|
provide: i1.NG_VALUE_ACCESSOR,
|
|
8095
8129
|
useExisting: i0.forwardRef(function () { return MatSwipeField; }),
|
|
8096
8130
|
multi: true
|
|
@@ -8410,7 +8444,7 @@
|
|
|
8410
8444
|
{ type: i0.Component, args: [{
|
|
8411
8445
|
selector: 'mat-swipe-field',
|
|
8412
8446
|
template: "<mat-form-field [floatLabel]=\"showSlides && (!floatLabel || floatLabel === 'auto') ? 'always': floatLabel\"\n [appearance]=\"appearance\"\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",
|
|
8413
|
-
providers: [DEFAULT_VALUE_ACCESSOR
|
|
8447
|
+
providers: [DEFAULT_VALUE_ACCESSOR],
|
|
8414
8448
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
8415
8449
|
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}"]
|
|
8416
8450
|
},] }
|
|
@@ -8472,14 +8506,14 @@
|
|
|
8472
8506
|
},] }
|
|
8473
8507
|
];
|
|
8474
8508
|
|
|
8475
|
-
var noop$
|
|
8476
|
-
var ɵ0$
|
|
8509
|
+
var noop$1 = function () { };
|
|
8510
|
+
var ɵ0$4 = noop$1;
|
|
8477
8511
|
var MatChipsField = /** @class */ (function () {
|
|
8478
8512
|
function MatChipsField(cd, formGroupDir) {
|
|
8479
8513
|
this.cd = cd;
|
|
8480
8514
|
this.formGroupDir = formGroupDir;
|
|
8481
|
-
this._onChangeCallback = noop$
|
|
8482
|
-
this._onTouchedCallback = noop$
|
|
8515
|
+
this._onChangeCallback = noop$1;
|
|
8516
|
+
this._onTouchedCallback = noop$1;
|
|
8483
8517
|
this.logPrefix = '[mat-chips] ';
|
|
8484
8518
|
this.formControlName = null;
|
|
8485
8519
|
this.required = false;
|
|
@@ -9450,7 +9484,7 @@
|
|
|
9450
9484
|
};
|
|
9451
9485
|
return ProgressBarService;
|
|
9452
9486
|
}());
|
|
9453
|
-
ProgressBarService.ɵprov =
|
|
9487
|
+
ProgressBarService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
|
|
9454
9488
|
ProgressBarService.decorators = [
|
|
9455
9489
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
9456
9490
|
];
|
|
@@ -9497,7 +9531,7 @@
|
|
|
9497
9531
|
};
|
|
9498
9532
|
return AppGestureConfig;
|
|
9499
9533
|
}(i1$6.HammerGestureConfig));
|
|
9500
|
-
AppGestureConfig.ɵprov =
|
|
9534
|
+
AppGestureConfig.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
|
|
9501
9535
|
AppGestureConfig.decorators = [
|
|
9502
9536
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
9503
9537
|
];
|
|
@@ -9781,7 +9815,7 @@
|
|
|
9781
9815
|
};
|
|
9782
9816
|
return MatPaginatorI18n;
|
|
9783
9817
|
}(paginator.MatPaginatorIntl));
|
|
9784
|
-
MatPaginatorI18n.ɵprov =
|
|
9818
|
+
MatPaginatorI18n.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
|
|
9785
9819
|
MatPaginatorI18n.decorators = [
|
|
9786
9820
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
9787
9821
|
];
|
|
@@ -9873,17 +9907,17 @@
|
|
|
9873
9907
|
return rgbArrayToHex(rgb.map(function (v) { return 255 - v; }));
|
|
9874
9908
|
}
|
|
9875
9909
|
|
|
9876
|
-
var noop
|
|
9910
|
+
var noop = function () {
|
|
9877
9911
|
};
|
|
9878
|
-
var ɵ0$
|
|
9912
|
+
var ɵ0$3 = noop;
|
|
9879
9913
|
var AppFormField = /** @class */ (function () {
|
|
9880
9914
|
function AppFormField(translate, cd, injector, formGroupDir) {
|
|
9881
9915
|
this.translate = translate;
|
|
9882
9916
|
this.cd = cd;
|
|
9883
9917
|
this.injector = injector;
|
|
9884
9918
|
this.formGroupDir = formGroupDir;
|
|
9885
|
-
this._onChangeCallback = noop
|
|
9886
|
-
this._onTouchedCallback = noop
|
|
9919
|
+
this._onChangeCallback = noop;
|
|
9920
|
+
this._onTouchedCallback = noop;
|
|
9887
9921
|
this.readonly = false;
|
|
9888
9922
|
this.compact = false;
|
|
9889
9923
|
this.floatLabel = 'auto';
|
|
@@ -10441,7 +10475,7 @@
|
|
|
10441
10475
|
};
|
|
10442
10476
|
return AudioProvider;
|
|
10443
10477
|
}(StartableService));
|
|
10444
|
-
AudioProvider.ɵprov =
|
|
10478
|
+
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" });
|
|
10445
10479
|
AudioProvider.decorators = [
|
|
10446
10480
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
10447
10481
|
];
|
|
@@ -10551,7 +10585,7 @@
|
|
|
10551
10585
|
};
|
|
10552
10586
|
return Hotkeys;
|
|
10553
10587
|
}());
|
|
10554
|
-
Hotkeys.ɵprov =
|
|
10588
|
+
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), i0__namespace.ɵɵinject(i1__namespace$4.PopoverController)); }, token: Hotkeys, providedIn: "root" });
|
|
10555
10589
|
Hotkeys.decorators = [
|
|
10556
10590
|
{ type: i0.Injectable, args: [{
|
|
10557
10591
|
providedIn: 'root'
|
|
@@ -10656,7 +10690,7 @@
|
|
|
10656
10690
|
reader.readAsDataURL(file);
|
|
10657
10691
|
// Resize image, if need
|
|
10658
10692
|
if (opts) {
|
|
10659
|
-
return $progress.pipe(operators
|
|
10693
|
+
return $progress.pipe(operators.mergeMap(function (event) { return __awaiter(_this, void 0, void 0, function () {
|
|
10660
10694
|
var body;
|
|
10661
10695
|
return __generator(this, function (_a) {
|
|
10662
10696
|
switch (_a.label) {
|
|
@@ -10801,7 +10835,7 @@
|
|
|
10801
10835
|
return ImagesUtils;
|
|
10802
10836
|
}());
|
|
10803
10837
|
|
|
10804
|
-
var uuidv4 = uuidv4Imported__namespace;
|
|
10838
|
+
var uuidv4$1 = uuidv4Imported__namespace;
|
|
10805
10839
|
var FileService = /** @class */ (function () {
|
|
10806
10840
|
function FileService(platform,
|
|
10807
10841
|
//private transfer: FileTransfer,
|
|
@@ -10847,7 +10881,7 @@
|
|
|
10847
10881
|
lastSlashIndex = fileUrl.lastIndexOf('/');
|
|
10848
10882
|
if (lastSlashIndex === -1)
|
|
10849
10883
|
throw new Error('Invalid URL: ' + fileUrl);
|
|
10850
|
-
fileName = lastSlashIndex < (fileUrl.length - 1) && fileUrl.substring(lastSlashIndex + 1) || uuidv4();
|
|
10884
|
+
fileName = lastSlashIndex < (fileUrl.length - 1) && fileUrl.substring(lastSlashIndex + 1) || uuidv4$1();
|
|
10851
10885
|
if (!(outputType === 'fileUrl' && this.canUseFileSystem)) return [3 /*break*/, 4];
|
|
10852
10886
|
console.warn("WARN: [file] Downloading image {" + fileUrl + "} in local filesystem...");
|
|
10853
10887
|
targetFilePath = this._imageDirectory + fileName;
|
|
@@ -10910,7 +10944,7 @@
|
|
|
10910
10944
|
};
|
|
10911
10945
|
return FileService;
|
|
10912
10946
|
}());
|
|
10913
|
-
FileService.ɵprov =
|
|
10947
|
+
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" });
|
|
10914
10948
|
FileService.decorators = [
|
|
10915
10949
|
{ type: i0.Injectable, args: [{
|
|
10916
10950
|
providedIn: 'root',
|
|
@@ -11077,7 +11111,7 @@
|
|
|
11077
11111
|
Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
|
|
11078
11112
|
|
|
11079
11113
|
var scrypt = require('scrypt-async');
|
|
11080
|
-
var sha256 = require('hash.js/lib/hash/sha/256');
|
|
11114
|
+
var sha256$1 = require('hash.js/lib/hash/sha/256');
|
|
11081
11115
|
var sha512 = require('hash.js/lib/hash/sha/512');
|
|
11082
11116
|
var nacl = {
|
|
11083
11117
|
sign: tweetnacl.sign,
|
|
@@ -11183,7 +11217,7 @@
|
|
|
11183
11217
|
* Hash (using SHA256) a message
|
|
11184
11218
|
*/
|
|
11185
11219
|
CryptoService.prototype.sha256 = function (message) {
|
|
11186
|
-
return sha256().update(message).digest('hex');
|
|
11220
|
+
return sha256$1().update(message).digest('hex');
|
|
11187
11221
|
};
|
|
11188
11222
|
/**
|
|
11189
11223
|
* Hash (using SHA512) a message
|
|
@@ -11197,7 +11231,7 @@
|
|
|
11197
11231
|
};
|
|
11198
11232
|
return CryptoService;
|
|
11199
11233
|
}());
|
|
11200
|
-
CryptoService.ɵprov =
|
|
11234
|
+
CryptoService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
|
|
11201
11235
|
CryptoService.decorators = [
|
|
11202
11236
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
11203
11237
|
];
|
|
@@ -12069,7 +12103,7 @@
|
|
|
12069
12103
|
onRefresh: [{ type: i0.Input }]
|
|
12070
12104
|
};
|
|
12071
12105
|
|
|
12072
|
-
var moment$
|
|
12106
|
+
var moment$7 = momentImported__namespace;
|
|
12073
12107
|
var SETTINGS_STORAGE_KEY = 'settings';
|
|
12074
12108
|
var SETTINGS_TRANSIENT_PROPERTIES = ['mobile', 'touchUi' /*deprecated*/];
|
|
12075
12109
|
// fixme: this constant points to static environment
|
|
@@ -12137,7 +12171,7 @@
|
|
|
12137
12171
|
var _a;
|
|
12138
12172
|
if (isNil((_a = this._data) === null || _a === void 0 ? void 0 : _a.mobile)) {
|
|
12139
12173
|
console.warn("[settings] Accessing to property 'mobile' BEFORE service started! Please use ready()");
|
|
12140
|
-
|
|
12174
|
+
this._data.mobile = isMobile(window);
|
|
12141
12175
|
}
|
|
12142
12176
|
return this._data.mobile;
|
|
12143
12177
|
},
|
|
@@ -12371,11 +12405,11 @@
|
|
|
12371
12405
|
if (!feature) {
|
|
12372
12406
|
feature = {
|
|
12373
12407
|
name: featureName.toLowerCase(),
|
|
12374
|
-
lastSyncDate: moment$
|
|
12408
|
+
lastSyncDate: moment$7().toISOString()
|
|
12375
12409
|
};
|
|
12376
12410
|
}
|
|
12377
12411
|
else {
|
|
12378
|
-
feature.lastSyncDate = moment$
|
|
12412
|
+
feature.lastSyncDate = moment$7().toISOString();
|
|
12379
12413
|
}
|
|
12380
12414
|
this.saveOfflineFeature(feature);
|
|
12381
12415
|
};
|
|
@@ -12569,7 +12603,7 @@
|
|
|
12569
12603
|
if (!page || !page.title || !page.path)
|
|
12570
12604
|
throw Error('Missing required argument \'page\', \'page.path\' or \'page.title\'');
|
|
12571
12605
|
// Set time
|
|
12572
|
-
page.time = page.time || moment$
|
|
12606
|
+
page.time = page.time || moment$7();
|
|
12573
12607
|
// Clean the title (remove <small> tags)
|
|
12574
12608
|
if (!opts || opts.removeTitleSmallTag !== false) {
|
|
12575
12609
|
var tagIndex = page.title.indexOf('</small>');
|
|
@@ -12586,7 +12620,7 @@
|
|
|
12586
12620
|
};
|
|
12587
12621
|
return LocalSettingsService;
|
|
12588
12622
|
}(StartableService));
|
|
12589
|
-
LocalSettingsService.ɵprov =
|
|
12623
|
+
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" });
|
|
12590
12624
|
LocalSettingsService.decorators = [
|
|
12591
12625
|
{ type: i0.Injectable, args: [{
|
|
12592
12626
|
providedIn: 'root'
|
|
@@ -13467,7 +13501,7 @@
|
|
|
13467
13501
|
};
|
|
13468
13502
|
return NetworkService;
|
|
13469
13503
|
}(StartableService));
|
|
13470
|
-
NetworkService.ɵprov =
|
|
13504
|
+
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" });
|
|
13471
13505
|
NetworkService.decorators = [
|
|
13472
13506
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
13473
13507
|
];
|
|
@@ -14691,7 +14725,7 @@
|
|
|
14691
14725
|
}(StartableService));
|
|
14692
14726
|
EntitiesStorage.TRASH_PREFIX = 'Trash#';
|
|
14693
14727
|
EntitiesStorage.REMOTE_PREFIX = 'Remote#';
|
|
14694
|
-
EntitiesStorage.ɵprov =
|
|
14728
|
+
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" });
|
|
14695
14729
|
EntitiesStorage.decorators = [
|
|
14696
14730
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
14697
14731
|
];
|
|
@@ -14847,10 +14881,10 @@
|
|
|
14847
14881
|
function referentialsToString(values, properties, separator) {
|
|
14848
14882
|
return (values || []).map(function (v) { return referentialToString(v, properties); }).join(separator || ', ');
|
|
14849
14883
|
}
|
|
14850
|
-
var ɵ0$
|
|
14884
|
+
var ɵ0$2 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
|
|
14851
14885
|
var StatusList = Object.freeze([
|
|
14852
14886
|
{
|
|
14853
|
-
id: ɵ0$
|
|
14887
|
+
id: ɵ0$2,
|
|
14854
14888
|
icon: 'checkmark',
|
|
14855
14889
|
label: 'REFERENTIAL.STATUS_ENUM.ENABLE'
|
|
14856
14890
|
},
|
|
@@ -15153,7 +15187,7 @@
|
|
|
15153
15187
|
(data.lastName || '')) || '';
|
|
15154
15188
|
}
|
|
15155
15189
|
|
|
15156
|
-
var uuidv4
|
|
15190
|
+
var uuidv4 = uuidv4Imported__namespace;
|
|
15157
15191
|
var _global = typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : {});
|
|
15158
15192
|
var NativeWebSocket = _global.WebSocket || _global.MozWebSocket;
|
|
15159
15193
|
/**
|
|
@@ -15197,7 +15231,7 @@
|
|
|
15197
15231
|
// Skip if not tracked
|
|
15198
15232
|
if (!context || !context.tracked)
|
|
15199
15233
|
return forward(operation);
|
|
15200
|
-
var id = context.serializationKey || uuidv4
|
|
15234
|
+
var id = context.serializationKey || uuidv4();
|
|
15201
15235
|
console.debug("[apollo-tracker-link] Watching tracked query {" + operation.operationName + "#" + id + "}");
|
|
15202
15236
|
// Clean context, before calling JSON.stringify (remove unused attributes)
|
|
15203
15237
|
var cleanContext = Object.assign(Object.assign({}, context), { optimisticResponse: null, cache: null });
|
|
@@ -15830,14 +15864,14 @@
|
|
|
15830
15864
|
mutationLinks = void 0;
|
|
15831
15865
|
// Add queue to store tracked queries, when offline
|
|
15832
15866
|
if (enableTrackMutationQueries) {
|
|
15833
|
-
serializingLink = new SerializingLink__default[
|
|
15867
|
+
serializingLink = new SerializingLink__default["default"]();
|
|
15834
15868
|
trackerLink = createTrackerLink({
|
|
15835
15869
|
storage: storage,
|
|
15836
15870
|
onNetworkStatusChange: this._networkStatusChanged$,
|
|
15837
15871
|
debounce: 1000,
|
|
15838
15872
|
debug: true
|
|
15839
15873
|
});
|
|
15840
|
-
queueLink_1 = new QueueLink__default[
|
|
15874
|
+
queueLink_1 = new QueueLink__default["default"]();
|
|
15841
15875
|
this.registerSubscription(this._networkStatusChanged$
|
|
15842
15876
|
.subscribe(function (type) {
|
|
15843
15877
|
// Network is offline: start buffering into queue
|
|
@@ -15852,7 +15886,7 @@
|
|
|
15852
15886
|
}
|
|
15853
15887
|
}));
|
|
15854
15888
|
mutationLinks = [
|
|
15855
|
-
loggerLink__default[
|
|
15889
|
+
loggerLink__default["default"],
|
|
15856
15890
|
queueLink_1,
|
|
15857
15891
|
trackerLink,
|
|
15858
15892
|
queueLink_1,
|
|
@@ -16035,7 +16069,7 @@
|
|
|
16035
16069
|
};
|
|
16036
16070
|
return GraphqlService;
|
|
16037
16071
|
}(StartableService));
|
|
16038
|
-
GraphqlService.ɵprov =
|
|
16072
|
+
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" });
|
|
16039
16073
|
GraphqlService.decorators = [
|
|
16040
16074
|
{ type: i0.Injectable, args: [{
|
|
16041
16075
|
providedIn: 'root'
|
|
@@ -16052,7 +16086,7 @@
|
|
|
16052
16086
|
{ type: undefined, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [APP_GRAPHQL_TYPE_POLICIES,] }] }
|
|
16053
16087
|
]; };
|
|
16054
16088
|
|
|
16055
|
-
var sha256
|
|
16089
|
+
var sha256 = require('hash.js/lib/hash/sha/256');
|
|
16056
16090
|
var BaseGraphqlServiceOptions = /** @class */ (function () {
|
|
16057
16091
|
function BaseGraphqlServiceOptions() {
|
|
16058
16092
|
}
|
|
@@ -16222,8 +16256,8 @@
|
|
|
16222
16256
|
};
|
|
16223
16257
|
/* -- protected methods -- */
|
|
16224
16258
|
BaseGraphqlService.prototype.computeMutableWatchQueryId = function (opts) {
|
|
16225
|
-
var queryName = opts.queryName || sha256
|
|
16226
|
-
var variablesKey = opts.variables && sha256
|
|
16259
|
+
var queryName = opts.queryName || sha256().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
|
|
16260
|
+
var variablesKey = opts.variables && sha256().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
|
|
16227
16261
|
return [queryName, opts.arrayFieldName, variablesKey].join('|');
|
|
16228
16262
|
};
|
|
16229
16263
|
BaseGraphqlService.prototype.findMutableWatchQueries = function (opts) {
|
|
@@ -16296,19 +16330,19 @@
|
|
|
16296
16330
|
/* ------------------------------------
|
|
16297
16331
|
* GraphQL queries
|
|
16298
16332
|
* ------------------------------------*/
|
|
16299
|
-
var Fragments = {
|
|
16300
|
-
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 ...UserSettingsFragment\n }\n department {\n id\n label\n name\n __typename\n }\n __typename\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 ...UserSettingsFragment\n }\n department {\n id\n label\n name\n __typename\n }\n __typename\n }"]))),
|
|
16301
|
-
settings: core.gql(templateObject_2 || (templateObject_2 = __makeTemplateObject(["fragment UserSettingsFragment on UserSettingsVO {\n id\n locale\n latLongFormat\n content\n nonce\n updateDate\n __typename\n }"], ["fragment UserSettingsFragment on UserSettingsVO {\n id\n locale\n latLongFormat\n content\n nonce\n updateDate\n __typename\n }"])))
|
|
16333
|
+
var Fragments$1 = {
|
|
16334
|
+
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 ...UserSettingsFragment\n }\n department {\n id\n label\n name\n __typename\n }\n __typename\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 ...UserSettingsFragment\n }\n department {\n id\n label\n name\n __typename\n }\n __typename\n }"]))),
|
|
16335
|
+
settings: core.gql(templateObject_2$2 || (templateObject_2$2 = __makeTemplateObject(["fragment UserSettingsFragment on UserSettingsVO {\n id\n locale\n latLongFormat\n content\n nonce\n updateDate\n __typename\n }"], ["fragment UserSettingsFragment on UserSettingsVO {\n id\n locale\n latLongFormat\n content\n nonce\n updateDate\n __typename\n }"])))
|
|
16302
16336
|
};
|
|
16303
16337
|
// Load account query
|
|
16304
|
-
var LoadQuery = core.gql(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n query Account {\n data: account {\n ...AccountFragment\n }\n }\n ", "\n ", "\n"], ["\n query Account {\n data: account {\n ...AccountFragment\n }\n }\n ", "\n ", "\n"])), Fragments.account, Fragments.settings);
|
|
16338
|
+
var LoadQuery$1 = core.gql(templateObject_3$2 || (templateObject_3$2 = __makeTemplateObject(["\n query Account {\n data: account {\n ...AccountFragment\n }\n }\n ", "\n ", "\n"], ["\n query Account {\n data: account {\n ...AccountFragment\n }\n }\n ", "\n ", "\n"])), Fragments$1.account, Fragments$1.settings);
|
|
16305
16339
|
// Check email query
|
|
16306
|
-
var IsEmailExistsQuery = core.gql(templateObject_4 || (templateObject_4 = __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"])));
|
|
16340
|
+
var IsEmailExistsQuery = core.gql(templateObject_4$2 || (templateObject_4$2 = __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"])));
|
|
16307
16341
|
// Save (create or update) account mutation
|
|
16308
16342
|
var AccountMutations = {
|
|
16309
|
-
save: core.gql(templateObject_5 || (templateObject_5 = __makeTemplateObject([" mutation SaveAccount($data:AccountVOInput){\n data: saveAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n ", ""], [" mutation SaveAccount($data:AccountVOInput){\n data: saveAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n ", ""])), Fragments.account, Fragments.settings),
|
|
16310
|
-
create: core.gql(templateObject_6 || (templateObject_6 = __makeTemplateObject(["mutation CreateAccount($data:AccountVOInput){\n data: createAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n ", ""], ["mutation CreateAccount($data:AccountVOInput){\n data: createAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n ", ""])), Fragments.account, Fragments.settings),
|
|
16311
|
-
saveSettings: core.gql(templateObject_7 || (templateObject_7 = __makeTemplateObject(["mutation SaveSettings($data:UserSettingsVOInput){\n data: saveSettings(settings: $data){\n ...UserSettingsFragment\n }\n }\n ", ""], ["mutation SaveSettings($data:UserSettingsVOInput){\n data: saveSettings(settings: $data){\n ...UserSettingsFragment\n }\n }\n ", ""])), Fragments.settings)
|
|
16343
|
+
save: core.gql(templateObject_5$2 || (templateObject_5$2 = __makeTemplateObject([" mutation SaveAccount($data:AccountVOInput){\n data: saveAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n ", ""], [" mutation SaveAccount($data:AccountVOInput){\n data: saveAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n ", ""])), Fragments$1.account, Fragments$1.settings),
|
|
16344
|
+
create: core.gql(templateObject_6 || (templateObject_6 = __makeTemplateObject(["mutation CreateAccount($data:AccountVOInput){\n data: createAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n ", ""], ["mutation CreateAccount($data:AccountVOInput){\n data: createAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n ", ""])), Fragments$1.account, Fragments$1.settings),
|
|
16345
|
+
saveSettings: core.gql(templateObject_7 || (templateObject_7 = __makeTemplateObject(["mutation SaveSettings($data:UserSettingsVOInput){\n data: saveSettings(settings: $data){\n ...UserSettingsFragment\n }\n }\n ", ""], ["mutation SaveSettings($data:UserSettingsVOInput){\n data: saveSettings(settings: $data){\n ...UserSettingsFragment\n }\n }\n ", ""])), Fragments$1.settings)
|
|
16312
16346
|
};
|
|
16313
16347
|
// Sent confirmation email
|
|
16314
16348
|
var SendConfirmEmailMutation = core.gql(templateObject_8 || (templateObject_8 = __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"])));
|
|
@@ -16929,7 +16963,7 @@
|
|
|
16929
16963
|
_b.label = 3;
|
|
16930
16964
|
case 3: return [3 /*break*/, 6];
|
|
16931
16965
|
case 4: return [4 /*yield*/, this.graphql.query({
|
|
16932
|
-
query: LoadQuery,
|
|
16966
|
+
query: LoadQuery$1,
|
|
16933
16967
|
error: { code: ErrorCodes.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
|
|
16934
16968
|
fetchPolicy: opts && opts.fetchPolicy || 'no-cache' || undefined
|
|
16935
16969
|
})];
|
|
@@ -17575,7 +17609,7 @@
|
|
|
17575
17609
|
};
|
|
17576
17610
|
return AccountService;
|
|
17577
17611
|
}(BaseGraphqlService));
|
|
17578
|
-
AccountService.ɵprov =
|
|
17612
|
+
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(i1__namespace$1.TranslateService, 8), i0__namespace.ɵɵinject(i1__namespace$4.ToastController, 8), i0__namespace.ɵɵinject(ENVIRONMENT)); }, token: AccountService, providedIn: "root" });
|
|
17579
17613
|
AccountService.decorators = [
|
|
17580
17614
|
{ type: i0.Injectable, args: [{ providedIn: 'root', deps: [ENVIRONMENT] },] }
|
|
17581
17615
|
];
|
|
@@ -17590,7 +17624,7 @@
|
|
|
17590
17624
|
{ type: i1$5.ToastController, decorators: [{ type: i0.Optional }] },
|
|
17591
17625
|
{ type: undefined, decorators: [{ type: i0.Inject, args: [ENVIRONMENT,] }] }
|
|
17592
17626
|
]; };
|
|
17593
|
-
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12;
|
|
17627
|
+
var templateObject_1$4, templateObject_2$2, templateObject_3$2, templateObject_4$2, templateObject_5$2, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12;
|
|
17594
17628
|
|
|
17595
17629
|
var Software_1, Configuration_1;
|
|
17596
17630
|
// @dynamic
|
|
@@ -17848,12 +17882,12 @@
|
|
|
17848
17882
|
/* ------------------------------------
|
|
17849
17883
|
* GraphQL queries
|
|
17850
17884
|
* ------------------------------------*/
|
|
17851
|
-
var Fragments
|
|
17852
|
-
config: core.gql(templateObject_1$
|
|
17885
|
+
var Fragments = {
|
|
17886
|
+
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 "])))
|
|
17853
17887
|
};
|
|
17854
|
-
var LoadQuery
|
|
17888
|
+
var LoadQuery = core.gql(templateObject_2$1 || (templateObject_2$1 = __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);
|
|
17855
17889
|
// Save (create or update) account mutation
|
|
17856
|
-
var SaveMutation = core.gql(templateObject_3$1 || (templateObject_3$1 = __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
|
|
17890
|
+
var SaveMutation = core.gql(templateObject_3$1 || (templateObject_3$1 = __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);
|
|
17857
17891
|
var ClearCache = core.gql(templateObject_4$1 || (templateObject_4$1 = __makeTemplateObject(["\n query ClearCache($name: String) {\n clearCache(name: $name)\n }\n"], ["\n query ClearCache($name: String) {\n clearCache(name: $name)\n }\n"])));
|
|
17858
17892
|
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"])));
|
|
17859
17893
|
var APP_CONFIG_OPTIONS = new i0.InjectionToken('defaultOptions');
|
|
@@ -17914,7 +17948,7 @@
|
|
|
17914
17948
|
case 0:
|
|
17915
17949
|
now = Date.now();
|
|
17916
17950
|
console.debug('[config] Loading Pod configuration...');
|
|
17917
|
-
query = opts && opts.query || LoadQuery
|
|
17951
|
+
query = opts && opts.query || LoadQuery;
|
|
17918
17952
|
variables = opts && opts.variables || undefined;
|
|
17919
17953
|
return [4 /*yield*/, this.graphql.query({
|
|
17920
17954
|
query: query,
|
|
@@ -18220,7 +18254,7 @@
|
|
|
18220
18254
|
};
|
|
18221
18255
|
return ConfigService;
|
|
18222
18256
|
}(BaseGraphqlService));
|
|
18223
|
-
ConfigService.ɵprov =
|
|
18257
|
+
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(AccountService), i0__namespace.ɵɵinject(ENVIRONMENT), i0__namespace.ɵɵinject(APP_CONFIG_OPTIONS, 8)); }, token: ConfigService, providedIn: "root" });
|
|
18224
18258
|
ConfigService.decorators = [
|
|
18225
18259
|
{ type: i0.Injectable, args: [{
|
|
18226
18260
|
providedIn: 'root',
|
|
@@ -18239,7 +18273,7 @@
|
|
|
18239
18273
|
{ type: undefined, decorators: [{ type: i0.Inject, args: [ENVIRONMENT,] }] },
|
|
18240
18274
|
{ type: undefined, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [APP_CONFIG_OPTIONS,] }] }
|
|
18241
18275
|
]; };
|
|
18242
|
-
var templateObject_1$
|
|
18276
|
+
var templateObject_1$3, templateObject_2$1, templateObject_3$1, templateObject_4$1, templateObject_5$1;
|
|
18243
18277
|
|
|
18244
18278
|
var UploadFilePopover = /** @class */ (function () {
|
|
18245
18279
|
function UploadFilePopover(popoverController, translate, cd) {
|
|
@@ -18517,7 +18551,7 @@
|
|
|
18517
18551
|
return UriUtils;
|
|
18518
18552
|
}());
|
|
18519
18553
|
|
|
18520
|
-
var moment$
|
|
18554
|
+
var moment$6 = momentImported__namespace;
|
|
18521
18555
|
var AndroidOsEnvironment = Object.freeze({
|
|
18522
18556
|
DIRECTORY_DOWNLOADS: 'Download',
|
|
18523
18557
|
DIRECTORY_DOWNLOADS_OLD: 'Downloads',
|
|
@@ -18554,6 +18588,8 @@
|
|
|
18554
18588
|
PlatformService.prototype.is = function (platformName) {
|
|
18555
18589
|
switch (platformName) {
|
|
18556
18590
|
case 'mobile':
|
|
18591
|
+
// Exclude Windows touch screens - see sumaris-app issues #323 and #346
|
|
18592
|
+
return isMobile(window);
|
|
18557
18593
|
case 'mobileweb':
|
|
18558
18594
|
// Exclude Windows touch screens - see sumaris-app issues #323 and #346
|
|
18559
18595
|
return this.platform.is(platformName) && !isWindows(window);
|
|
@@ -18815,16 +18851,16 @@
|
|
|
18815
18851
|
}
|
|
18816
18852
|
// config moment lib
|
|
18817
18853
|
try {
|
|
18818
|
-
moment$
|
|
18854
|
+
moment$6.locale(event.lang);
|
|
18819
18855
|
console.debug('[platform] Use locale {' + event.lang + '}');
|
|
18820
18856
|
}
|
|
18821
18857
|
// If error, fallback to en
|
|
18822
18858
|
catch (err) {
|
|
18823
|
-
moment$
|
|
18859
|
+
moment$6.locale('en');
|
|
18824
18860
|
console.warn('[platform] Unknown local for moment lib. Using default [en]');
|
|
18825
18861
|
}
|
|
18826
18862
|
// Config date adapter
|
|
18827
|
-
_this.dateAdapter.setLocale(moment$
|
|
18863
|
+
_this.dateAdapter.setLocale(moment$6.locale());
|
|
18828
18864
|
}
|
|
18829
18865
|
});
|
|
18830
18866
|
this.settings.onChange.subscribe(function (data) {
|
|
@@ -19076,7 +19112,7 @@
|
|
|
19076
19112
|
};
|
|
19077
19113
|
return PlatformService;
|
|
19078
19114
|
}(StartableService));
|
|
19079
|
-
PlatformService.ɵprov =
|
|
19115
|
+
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" });
|
|
19080
19116
|
PlatformService.decorators = [
|
|
19081
19117
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
19082
19118
|
];
|
|
@@ -19168,7 +19204,7 @@
|
|
|
19168
19204
|
};
|
|
19169
19205
|
return MatStepperI18n;
|
|
19170
19206
|
}(stepper.MatStepperIntl));
|
|
19171
|
-
MatStepperI18n.ɵprov =
|
|
19207
|
+
MatStepperI18n.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(i0__namespace.ɵɵinject(i1__namespace$1.TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
|
|
19172
19208
|
MatStepperI18n.decorators = [
|
|
19173
19209
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
19174
19210
|
];
|
|
@@ -20839,43 +20875,44 @@
|
|
|
20839
20875
|
}
|
|
20840
20876
|
this.dirty = false;
|
|
20841
20877
|
};
|
|
20842
|
-
InMemoryEntitiesService.prototype.
|
|
20843
|
-
|
|
20844
|
-
|
|
20845
|
-
|
|
20846
|
-
|
|
20847
|
-
|
|
20848
|
-
}
|
|
20849
|
-
return this._onChange
|
|
20850
|
-
.pipe(operators.filter(isNotNil), operators.mergeMap(function (_) { return waitFor(function () { return !_this._saving; }); }), operators.mergeMap(function (_) { return __awaiter(_this, void 0, void 0, function () {
|
|
20851
|
-
var excludedDataByFilter, excludedDataByPagination, data, promiseOrData, _b, total;
|
|
20852
|
-
return __generator(this, function (_c) {
|
|
20853
|
-
switch (_c.label) {
|
|
20878
|
+
InMemoryEntitiesService.prototype.loadAll = function (offset, size, sortBy, sortDirection, filter, opts) {
|
|
20879
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
20880
|
+
var excludedDataByFilter, excludedDataByPagination, data, total, res, nextOffset_1;
|
|
20881
|
+
var _this = this;
|
|
20882
|
+
return __generator(this, function (_b) {
|
|
20883
|
+
switch (_b.label) {
|
|
20854
20884
|
case 0:
|
|
20855
|
-
|
|
20856
|
-
|
|
20885
|
+
offset = offset >= 0 ? offset : 0;
|
|
20886
|
+
size = size >= 0 ? size : -1;
|
|
20887
|
+
if (!!this.data) return [3 /*break*/, 2];
|
|
20888
|
+
console.warn('[memory-data-service] Waiting value to be set...');
|
|
20889
|
+
return [4 /*yield*/, firstNotNilPromise(this._onChange)];
|
|
20857
20890
|
case 1:
|
|
20858
|
-
|
|
20859
|
-
|
|
20860
|
-
return [2 /*return*/, { data: [], total: 0 }];
|
|
20861
|
-
}
|
|
20862
|
-
data = this._sortFn(this.data || [], sortBy, sortDirection);
|
|
20863
|
-
if (!this._onLoad) return [3 /*break*/, 5];
|
|
20864
|
-
promiseOrData = this._onLoad(data);
|
|
20865
|
-
if (!((promiseOrData instanceof Promise))) return [3 /*break*/, 3];
|
|
20866
|
-
return [4 /*yield*/, promiseOrData];
|
|
20891
|
+
_b.sent();
|
|
20892
|
+
_b.label = 2;
|
|
20867
20893
|
case 2:
|
|
20868
|
-
|
|
20869
|
-
return [
|
|
20894
|
+
if (!this._saving) return [3 /*break*/, 4];
|
|
20895
|
+
return [4 /*yield*/, waitFor(function () { return !_this._saving; })];
|
|
20870
20896
|
case 3:
|
|
20871
|
-
_b
|
|
20872
|
-
|
|
20897
|
+
_b.sent();
|
|
20898
|
+
_b.label = 4;
|
|
20873
20899
|
case 4:
|
|
20874
|
-
|
|
20875
|
-
|
|
20900
|
+
excludedDataByFilter = [];
|
|
20901
|
+
_b.label = 5;
|
|
20876
20902
|
case 5:
|
|
20903
|
+
_b.trys.push([5, , 8, 9]);
|
|
20904
|
+
if (!this.data.length) {
|
|
20905
|
+
return [2 /*return*/, { data: [], total: 0 }];
|
|
20906
|
+
}
|
|
20907
|
+
data = this._sortFn(this.data || [], sortBy, sortDirection);
|
|
20908
|
+
if (!this._onLoad) return [3 /*break*/, 7];
|
|
20909
|
+
return [4 /*yield*/, this._onLoad(data)];
|
|
20910
|
+
case 6:
|
|
20911
|
+
data = _b.sent();
|
|
20912
|
+
_b.label = 7;
|
|
20913
|
+
case 7:
|
|
20877
20914
|
// Apply filter (will update hiddenData)
|
|
20878
|
-
data = this.filter(data,
|
|
20915
|
+
data = this.filter(data, filter, excludedDataByFilter);
|
|
20879
20916
|
total = data.length;
|
|
20880
20917
|
// If page size=0 (e.g. only need total)
|
|
20881
20918
|
if (size === 0) {
|
|
@@ -20916,15 +20953,40 @@
|
|
|
20916
20953
|
if (data === this.data) {
|
|
20917
20954
|
data = data.slice();
|
|
20918
20955
|
}
|
|
20919
|
-
|
|
20920
|
-
|
|
20956
|
+
res = { data: data, total: total };
|
|
20957
|
+
nextOffset_1 = (offset || 0) + size;
|
|
20958
|
+
if (nextOffset_1 < total) {
|
|
20959
|
+
res.fetchMore = function () { return _this.loadAll(nextOffset_1, size, sortBy, sortDirection, filter, opts)
|
|
20960
|
+
.then(function (res) {
|
|
20961
|
+
var _a;
|
|
20962
|
+
// Update hidden data (remove new fetched item)
|
|
20963
|
+
if ((_a = res.data) === null || _a === void 0 ? void 0 : _a.length) {
|
|
20964
|
+
_this._hiddenData = _this._hiddenData.filter(function (item) { return !res.data.includes(item); });
|
|
20965
|
+
}
|
|
20966
|
+
return res;
|
|
20967
|
+
}); };
|
|
20968
|
+
}
|
|
20969
|
+
return [2 /*return*/, res];
|
|
20970
|
+
case 8:
|
|
20921
20971
|
// Remember hidden data
|
|
20922
|
-
|
|
20972
|
+
if (offset === 0) {
|
|
20973
|
+
this._hiddenData = !excludedDataByPagination ? excludedDataByFilter : excludedDataByFilter.concat.apply(excludedDataByFilter, __spread(excludedDataByPagination));
|
|
20974
|
+
}
|
|
20923
20975
|
return [7 /*endfinally*/];
|
|
20924
|
-
case
|
|
20976
|
+
case 9: return [2 /*return*/];
|
|
20925
20977
|
}
|
|
20926
20978
|
});
|
|
20927
|
-
});
|
|
20979
|
+
});
|
|
20980
|
+
};
|
|
20981
|
+
InMemoryEntitiesService.prototype.watchAll = function (offset, size, sortBy, sortDirection, filterData, options) {
|
|
20982
|
+
var _this = this;
|
|
20983
|
+
offset = offset >= 0 ? offset : 0;
|
|
20984
|
+
size = size >= 0 ? size : -1;
|
|
20985
|
+
if (!this.data) {
|
|
20986
|
+
console.warn('[memory-data-service] Waiting value to be set...');
|
|
20987
|
+
}
|
|
20988
|
+
return this._onChange
|
|
20989
|
+
.pipe(operators.filter(isNotNil), operators.mergeMap(function (_) { return _this.loadAll(offset, size, sortBy, sortDirection, filterData, options); }));
|
|
20928
20990
|
};
|
|
20929
20991
|
InMemoryEntitiesService.prototype.saveAll = function (data, options) {
|
|
20930
20992
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -21432,7 +21494,7 @@
|
|
|
21432
21494
|
return 1;
|
|
21433
21495
|
}
|
|
21434
21496
|
}
|
|
21435
|
-
var ɵ0$
|
|
21497
|
+
var ɵ0$1 = function (defaultStateSize) { return [
|
|
21436
21498
|
Math.round((rgbArrayMap.red[0] - 50) / defaultStateSize),
|
|
21437
21499
|
Math.round((255 - rgbArrayMap.red[1]) / defaultStateSize),
|
|
21438
21500
|
Math.round((255 - rgbArrayMap.red[2]) / defaultStateSize)
|
|
@@ -21440,7 +21502,7 @@
|
|
|
21440
21502
|
var SCALE_OPTIONS_DEFAULT = {
|
|
21441
21503
|
startColor: rgbArrayMap.red,
|
|
21442
21504
|
startStates: [0, 2, 3],
|
|
21443
|
-
startStepsFn: ɵ0$
|
|
21505
|
+
startStepsFn: ɵ0$1
|
|
21444
21506
|
};
|
|
21445
21507
|
/**
|
|
21446
21508
|
* Internal function, that create a colors scale, using iteration
|
|
@@ -22397,7 +22459,7 @@
|
|
|
22397
22459
|
};
|
|
22398
22460
|
return UserSettingsValidatorService;
|
|
22399
22461
|
}(AppValidatorService));
|
|
22400
|
-
UserSettingsValidatorService.ɵprov =
|
|
22462
|
+
UserSettingsValidatorService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(i0__namespace.ɵɵinject(i1__namespace$6.FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
|
|
22401
22463
|
UserSettingsValidatorService.decorators = [
|
|
22402
22464
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
22403
22465
|
];
|
|
@@ -22445,7 +22507,7 @@
|
|
|
22445
22507
|
};
|
|
22446
22508
|
return AccountValidatorService;
|
|
22447
22509
|
}(AppValidatorService));
|
|
22448
|
-
AccountValidatorService.ɵprov =
|
|
22510
|
+
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" });
|
|
22449
22511
|
AccountValidatorService.decorators = [
|
|
22450
22512
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
22451
22513
|
];
|
|
@@ -22792,7 +22854,7 @@
|
|
|
22792
22854
|
};
|
|
22793
22855
|
return MenuService;
|
|
22794
22856
|
}());
|
|
22795
|
-
MenuService.ɵprov =
|
|
22857
|
+
MenuService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
|
|
22796
22858
|
MenuService.decorators = [
|
|
22797
22859
|
{ type: i0.Injectable, args: [{
|
|
22798
22860
|
providedIn: 'root'
|
|
@@ -23158,7 +23220,7 @@
|
|
|
23158
23220
|
};
|
|
23159
23221
|
return LocalSettingsValidatorService;
|
|
23160
23222
|
}(AppValidatorService));
|
|
23161
|
-
LocalSettingsValidatorService.ɵprov =
|
|
23223
|
+
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" });
|
|
23162
23224
|
LocalSettingsValidatorService.decorators = [
|
|
23163
23225
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
23164
23226
|
];
|
|
@@ -23938,7 +24000,7 @@
|
|
|
23938
24000
|
};
|
|
23939
24001
|
return IsOnFieldModePipe;
|
|
23940
24002
|
}());
|
|
23941
|
-
IsOnFieldModePipe.ɵprov =
|
|
24003
|
+
IsOnFieldModePipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
|
|
23942
24004
|
IsOnFieldModePipe.decorators = [
|
|
23943
24005
|
{ type: i0.Pipe, args: [{
|
|
23944
24006
|
name: 'isOnField'
|
|
@@ -23953,7 +24015,7 @@
|
|
|
23953
24015
|
};
|
|
23954
24016
|
return IsNotOnFieldModePipe;
|
|
23955
24017
|
}());
|
|
23956
|
-
IsNotOnFieldModePipe.ɵprov =
|
|
24018
|
+
IsNotOnFieldModePipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
|
|
23957
24019
|
IsNotOnFieldModePipe.decorators = [
|
|
23958
24020
|
{ type: i0.Pipe, args: [{
|
|
23959
24021
|
name: 'isNotOnField'
|
|
@@ -23971,7 +24033,7 @@
|
|
|
23971
24033
|
};
|
|
23972
24034
|
return PersonToStringPipe;
|
|
23973
24035
|
}());
|
|
23974
|
-
PersonToStringPipe.ɵprov =
|
|
24036
|
+
PersonToStringPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
|
|
23975
24037
|
PersonToStringPipe.decorators = [
|
|
23976
24038
|
{ type: i0.Pipe, args: [{
|
|
23977
24039
|
name: 'personToString'
|
|
@@ -24399,7 +24461,7 @@
|
|
|
24399
24461
|
};
|
|
24400
24462
|
return IsLoginAccountPipe;
|
|
24401
24463
|
}());
|
|
24402
|
-
IsLoginAccountPipe.ɵprov =
|
|
24464
|
+
IsLoginAccountPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
|
|
24403
24465
|
IsLoginAccountPipe.decorators = [
|
|
24404
24466
|
{ type: i0.Pipe, args: [{
|
|
24405
24467
|
name: 'isLogin'
|
|
@@ -24414,7 +24476,7 @@
|
|
|
24414
24476
|
};
|
|
24415
24477
|
return AccountToStringPipe;
|
|
24416
24478
|
}());
|
|
24417
|
-
AccountToStringPipe.ɵprov =
|
|
24479
|
+
AccountToStringPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
|
|
24418
24480
|
AccountToStringPipe.decorators = [
|
|
24419
24481
|
{ type: i0.Pipe, args: [{
|
|
24420
24482
|
name: 'accountToString'
|
|
@@ -24432,7 +24494,7 @@
|
|
|
24432
24494
|
};
|
|
24433
24495
|
return DepartmentToStringPipe;
|
|
24434
24496
|
}());
|
|
24435
|
-
DepartmentToStringPipe.ɵprov =
|
|
24497
|
+
DepartmentToStringPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
|
|
24436
24498
|
DepartmentToStringPipe.decorators = [
|
|
24437
24499
|
{ type: i0.Pipe, args: [{
|
|
24438
24500
|
name: 'departmentToString'
|
|
@@ -25198,7 +25260,7 @@
|
|
|
25198
25260
|
};
|
|
25199
25261
|
return AuthGuardService;
|
|
25200
25262
|
}());
|
|
25201
|
-
AuthGuardService.ɵprov =
|
|
25263
|
+
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" });
|
|
25202
25264
|
AuthGuardService.decorators = [
|
|
25203
25265
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
25204
25266
|
];
|
|
@@ -25749,11 +25811,6 @@
|
|
|
25749
25811
|
return AppTableUtils;
|
|
25750
25812
|
}());
|
|
25751
25813
|
|
|
25752
|
-
var AppTableDataSourceOptions = /** @class */ (function () {
|
|
25753
|
-
function AppTableDataSourceOptions() {
|
|
25754
|
-
}
|
|
25755
|
-
return AppTableDataSourceOptions;
|
|
25756
|
-
}());
|
|
25757
25814
|
// @dynamic
|
|
25758
25815
|
// eslint-disable-next-line @angular-eslint/directive-class-suffix
|
|
25759
25816
|
var EntitiesTableDataSource = /** @class */ (function (_super_1) {
|
|
@@ -25767,36 +25824,24 @@
|
|
|
25767
25824
|
* @param validatorService Service that create instances of the FormGroup used to validate row fields.
|
|
25768
25825
|
* @param config Additional configuration for table.
|
|
25769
25826
|
*/
|
|
25770
|
-
function EntitiesTableDataSource(dataType, dataService, validatorService,
|
|
25771
|
-
var _this = _super_1.call(this, [], dataType, validatorService,
|
|
25827
|
+
function EntitiesTableDataSource(dataType, dataService, validatorService, options) {
|
|
25828
|
+
var _this = _super_1.call(this, [], dataType, validatorService, Object.assign({ dataServiceOptions: {}, debug: (options === null || options === void 0 ? void 0 : options.suppressErrors) === false, keepOriginalDataAfterConfirm: false }, options)) || this;
|
|
25772
25829
|
_this.dataService = dataService;
|
|
25773
25830
|
_this._creating = false;
|
|
25774
25831
|
_this._saving = false;
|
|
25775
|
-
_this._useValidator = false;
|
|
25776
25832
|
_this._stopWatching$ = new rxjs.Subject();
|
|
25777
25833
|
_this._editingRowCount = 0;
|
|
25778
25834
|
_this._fetchMoreFn = null;
|
|
25779
25835
|
_this.loadingSubject = new rxjs.BehaviorSubject(undefined);
|
|
25780
|
-
_this.
|
|
25781
|
-
_this._useValidator = isNotNil(validatorService);
|
|
25782
|
-
_this._logTypeName = removeEnd((new dataType()).__typename || 'UnknownVO', 'VO');
|
|
25783
|
-
// For DEV ONLY
|
|
25784
|
-
_this._debug = _this._options.debug === true;
|
|
25836
|
+
_this._entityName = removeEnd((new dataType()).__typename || 'UnknownVO', 'VO');
|
|
25785
25837
|
return _this;
|
|
25786
25838
|
}
|
|
25787
25839
|
Object.defineProperty(EntitiesTableDataSource.prototype, "serviceOptions", {
|
|
25788
25840
|
get: function () {
|
|
25789
|
-
return this.
|
|
25841
|
+
return this.config.dataServiceOptions;
|
|
25790
25842
|
},
|
|
25791
25843
|
set: function (value) {
|
|
25792
|
-
this.
|
|
25793
|
-
},
|
|
25794
|
-
enumerable: false,
|
|
25795
|
-
configurable: true
|
|
25796
|
-
});
|
|
25797
|
-
Object.defineProperty(EntitiesTableDataSource.prototype, "options", {
|
|
25798
|
-
get: function () {
|
|
25799
|
-
return this._options;
|
|
25844
|
+
this.config.dataServiceOptions = value;
|
|
25800
25845
|
},
|
|
25801
25846
|
enumerable: false,
|
|
25802
25847
|
configurable: true
|
|
@@ -25831,10 +25876,10 @@
|
|
|
25831
25876
|
return this.dataService.watchAll(offset, size, sortBy, sortDirection, filter, this.serviceOptions)
|
|
25832
25877
|
.pipe(operators.catchError(function (err) { return _this.handleError(err, 'ERROR.LOAD_DATA_ERROR'); }), operators.map(function (res) {
|
|
25833
25878
|
if (_this._saving) {
|
|
25834
|
-
console.info("[table-datasource] Received " + _this.
|
|
25879
|
+
console.info("[table-datasource] Received " + _this._entityName + " data (from service), but still saving: skip");
|
|
25835
25880
|
}
|
|
25836
25881
|
else if (_this._editingRowCount > 0) {
|
|
25837
|
-
console.warn("[table-datasource] Received " + _this.
|
|
25882
|
+
console.warn("[table-datasource] Received " + _this._entityName + " data, while " + _this._editingRowCount + " rows still editing: skip; Please check save() implementation in the table!");
|
|
25838
25883
|
}
|
|
25839
25884
|
else {
|
|
25840
25885
|
_this.updateDatasource((res.data || []));
|
|
@@ -25847,12 +25892,24 @@
|
|
|
25847
25892
|
// ⚠ Notice: Don't put any operator after takeUntil to avoid potential subscription leaks
|
|
25848
25893
|
);
|
|
25849
25894
|
};
|
|
25895
|
+
EntitiesTableDataSource.prototype.updateDatasourceFromRows = function (rows) {
|
|
25896
|
+
var _a;
|
|
25897
|
+
// Avoid to update dataSourceSubject, when not need
|
|
25898
|
+
if ((_a = this.datasourceSubject.observers) === null || _a === void 0 ? void 0 : _a.length) {
|
|
25899
|
+
if (!this.config.suppressErrors)
|
|
25900
|
+
console.warn('[table-datasource] Update datasource subject. Please prefer using \'rowsSubject\' instead of \'datasourceSubject\'');
|
|
25901
|
+
_super_1.prototype.updateDatasourceFromRows.call(this, rows);
|
|
25902
|
+
}
|
|
25903
|
+
else {
|
|
25904
|
+
console.debug('[table-datasource] Skipping datasourceSubject update (not used yet).');
|
|
25905
|
+
}
|
|
25906
|
+
};
|
|
25850
25907
|
EntitiesTableDataSource.prototype.save = function () {
|
|
25851
25908
|
return __awaiter(this, void 0, void 0, function () {
|
|
25852
25909
|
var onlyDirtyRows, rows, invalidRows, data, dataToSave_1, error_1;
|
|
25853
25910
|
var _this = this;
|
|
25854
|
-
return __generator(this, function (
|
|
25855
|
-
switch (
|
|
25911
|
+
return __generator(this, function (_b) {
|
|
25912
|
+
switch (_b.label) {
|
|
25856
25913
|
case 0:
|
|
25857
25914
|
if (toBoolean(this.serviceOptions.readOnly, false)) {
|
|
25858
25915
|
console.error('[table-datasource] Enable to save, because serviceOptions.readOnly=true');
|
|
@@ -25860,32 +25917,30 @@
|
|
|
25860
25917
|
}
|
|
25861
25918
|
// Saving twice (should never occur)
|
|
25862
25919
|
if (this._saving) {
|
|
25863
|
-
console.warn("[table-datasource] Trying to save " + this.
|
|
25920
|
+
console.warn("[table-datasource] Trying to save " + this._entityName + " rows twice. Skip");
|
|
25864
25921
|
return [2 /*return*/, false];
|
|
25865
25922
|
}
|
|
25866
25923
|
this._saving = true;
|
|
25867
25924
|
this.markAsLoading();
|
|
25868
25925
|
onlyDirtyRows = toBoolean(this.serviceOptions.saveOnlyDirtyRows, false);
|
|
25869
|
-
|
|
25926
|
+
_b.label = 1;
|
|
25870
25927
|
case 1:
|
|
25871
|
-
|
|
25872
|
-
if (this.
|
|
25873
|
-
console.debug("[table-datasource] Saving " + this.
|
|
25874
|
-
|
|
25875
|
-
case 2:
|
|
25876
|
-
rows = _a.sent();
|
|
25928
|
+
_b.trys.push([1, 3, 4, 5]);
|
|
25929
|
+
if (this.config.debug)
|
|
25930
|
+
console.debug("[table-datasource] Saving " + this._entityName + " rows... {onlyDirty: " + onlyDirtyRows + "}");
|
|
25931
|
+
rows = this.getRows();
|
|
25877
25932
|
invalidRows = rows.filter(function (row) { return row.editing && !row.confirmEditCreate(); });
|
|
25878
25933
|
// Cannot finish some rows: error
|
|
25879
25934
|
if (invalidRows.length) {
|
|
25880
25935
|
// log errors
|
|
25881
|
-
if (this.
|
|
25882
|
-
invalidRows.forEach(function (row) { return AppTableUtils.logRowErrors(row, "[table-datasource] " + _this.
|
|
25936
|
+
if (this.config.debug)
|
|
25937
|
+
invalidRows.forEach(function (row) { return AppTableUtils.logRowErrors(row, "[table-datasource] " + _this._entityName + " row #" + row.id); });
|
|
25883
25938
|
// Stop with an error
|
|
25884
25939
|
throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
25885
25940
|
}
|
|
25886
25941
|
this._editingRowCount = 0;
|
|
25887
25942
|
data = void 0;
|
|
25888
|
-
if (this.
|
|
25943
|
+
if (this.validatorService) {
|
|
25889
25944
|
dataToSave_1 = [];
|
|
25890
25945
|
data = rows.map(function (row) {
|
|
25891
25946
|
var currentData = new _this.dataConstructor();
|
|
@@ -25906,46 +25961,42 @@
|
|
|
25906
25961
|
}
|
|
25907
25962
|
// If no data to save: exit
|
|
25908
25963
|
if (onlyDirtyRows && !dataToSave_1.length) {
|
|
25909
|
-
if (this.
|
|
25910
|
-
console.debug("[table-datasource] No " + this.
|
|
25964
|
+
if (this.config.debug)
|
|
25965
|
+
console.debug("[table-datasource] No " + this._entityName + " data to save. Skip");
|
|
25911
25966
|
return [2 /*return*/, false];
|
|
25912
25967
|
}
|
|
25913
|
-
if (this.
|
|
25914
|
-
console.debug("[table-datasource] Asking service to save this " + this.
|
|
25968
|
+
if (this.config.debug)
|
|
25969
|
+
console.debug("[table-datasource] Asking service to save this " + this._entityName + " data:", dataToSave_1);
|
|
25915
25970
|
return [4 /*yield*/, this.dataService.saveAll(dataToSave_1, this.serviceOptions)];
|
|
25916
|
-
case
|
|
25917
|
-
|
|
25918
|
-
if (this.
|
|
25919
|
-
console.debug("[table-datasource] Saving " + this.
|
|
25971
|
+
case 2:
|
|
25972
|
+
_b.sent();
|
|
25973
|
+
if (this.config.debug)
|
|
25974
|
+
console.debug("[table-datasource] Saving " + this._entityName + " data [OK]");
|
|
25920
25975
|
// LP 23/03/2021: update datasource is necessary but can be changed to a refetch() on QueryRef (must be created and registered in GraphqlService.watchQuery)
|
|
25921
25976
|
this.updateDatasource(data, { emitEvent: false });
|
|
25922
25977
|
return [2 /*return*/, true];
|
|
25923
|
-
case
|
|
25924
|
-
error_1 =
|
|
25925
|
-
if (this.
|
|
25978
|
+
case 3:
|
|
25979
|
+
error_1 = _b.sent();
|
|
25980
|
+
if (this.config.debug)
|
|
25926
25981
|
console.error('[table-datasource] Error while saving: ' + error_1 && error_1.message || error_1);
|
|
25927
25982
|
throw error_1;
|
|
25928
|
-
case
|
|
25983
|
+
case 4:
|
|
25929
25984
|
this._saving = false;
|
|
25930
25985
|
this.markAsLoaded();
|
|
25931
25986
|
return [7 /*endfinally*/];
|
|
25932
|
-
case
|
|
25987
|
+
case 5: return [2 /*return*/];
|
|
25933
25988
|
}
|
|
25934
25989
|
});
|
|
25935
25990
|
});
|
|
25936
25991
|
};
|
|
25937
25992
|
EntitiesTableDataSource.prototype.updateDatasource = function (data, opts) {
|
|
25938
|
-
if (this.
|
|
25993
|
+
if (this.config.debug)
|
|
25939
25994
|
console.debug("[table-datasource] Updating datasource with data:", data);
|
|
25940
25995
|
_super_1.prototype.updateDatasource.call(this, data, opts);
|
|
25941
25996
|
if (!opts || opts.emitEvent !== false) {
|
|
25942
25997
|
this.markAsLoaded();
|
|
25943
25998
|
}
|
|
25944
25999
|
};
|
|
25945
|
-
// Overwrite default signature
|
|
25946
|
-
EntitiesTableDataSource.prototype.createNew = function (insertAt) {
|
|
25947
|
-
this.asyncCreateNew(insertAt);
|
|
25948
|
-
};
|
|
25949
26000
|
EntitiesTableDataSource.prototype.connect = function (collectionViewer) {
|
|
25950
26001
|
// DEBUG console.debug("[entities-datasource] connect");
|
|
25951
26002
|
return _super_1.prototype.connect.call(this, collectionViewer);
|
|
@@ -25967,38 +26018,37 @@
|
|
|
25967
26018
|
console.warn('[table-datasource] Row still has {editing: true} after confirmCreate()! Force editing to false');
|
|
25968
26019
|
row.validator.disable({ onlySelf: true, emitEvent: false });
|
|
25969
26020
|
}
|
|
26021
|
+
this._editingRowCount--;
|
|
25970
26022
|
return true;
|
|
25971
26023
|
};
|
|
25972
26024
|
EntitiesTableDataSource.prototype.confirmEdit = function (row) {
|
|
25973
26025
|
if (!_super_1.prototype.confirmEdit.call(this, row))
|
|
25974
26026
|
return false;
|
|
25975
26027
|
if (row.editing && row.validator) {
|
|
25976
|
-
console.warn('[table-datasource] Row still has {editing: true} after
|
|
26028
|
+
console.warn('[table-datasource] Row still has {editing: true} after confirmEdit()! Force editing to false');
|
|
25977
26029
|
row.validator.disable({ onlySelf: true, emitEvent: false });
|
|
25978
26030
|
}
|
|
26031
|
+
this._editingRowCount--;
|
|
25979
26032
|
return true;
|
|
25980
26033
|
};
|
|
25981
26034
|
EntitiesTableDataSource.prototype.startEdit = function (row) {
|
|
25982
|
-
if (this
|
|
25983
|
-
|
|
25984
|
-
row.
|
|
26035
|
+
if (!_super_1.prototype.startEdit.call(this, row))
|
|
26036
|
+
return false;
|
|
26037
|
+
if (!row.editing && row.validator) {
|
|
26038
|
+
console.warn('[table-datasource] Row still has {editing: false} after startEdit()! Force editing');
|
|
26039
|
+
row.validator.enable({ onlySelf: true, emitEvent: false });
|
|
26040
|
+
}
|
|
25985
26041
|
this._editingRowCount++;
|
|
25986
26042
|
};
|
|
25987
|
-
EntitiesTableDataSource.prototype.cancelOrDelete = function (row) {
|
|
25988
|
-
if (this._debug)
|
|
25989
|
-
console.debug('[table-datasource] Cancelling or deleting row', row);
|
|
25990
|
-
row.cancelOrDelete();
|
|
25991
|
-
this._editingRowCount--;
|
|
25992
|
-
};
|
|
25993
26043
|
EntitiesTableDataSource.prototype.handleError = function (error, message) {
|
|
25994
26044
|
var errorMsg = error && error.message || error;
|
|
25995
|
-
console.error("[table-datasource] Service " + this.
|
|
26045
|
+
console.error("[table-datasource] Service " + this._entityName + " sent error: " + errorMsg, error);
|
|
25996
26046
|
this.markAsLoaded();
|
|
25997
26047
|
throw new Error(message || errorMsg);
|
|
25998
26048
|
};
|
|
25999
|
-
EntitiesTableDataSource.prototype.
|
|
26049
|
+
EntitiesTableDataSource.prototype.handleServiceError = function (error) {
|
|
26000
26050
|
var errorMsg = error && error.message || error;
|
|
26001
|
-
console.error("[table-datasource] Service " + this.
|
|
26051
|
+
console.error("[table-datasource] Service " + this._entityName + " sent error: " + errorMsg, error);
|
|
26002
26052
|
this.markAsLoaded();
|
|
26003
26053
|
throw error;
|
|
26004
26054
|
};
|
|
@@ -26013,9 +26063,11 @@
|
|
|
26013
26063
|
console.error("[table-datasource] Row to delete with id=" + id + " not found");
|
|
26014
26064
|
return;
|
|
26015
26065
|
}
|
|
26066
|
+
if (row.editing)
|
|
26067
|
+
this._editingRowCount--;
|
|
26016
26068
|
this.loadingSubject.next(true);
|
|
26017
26069
|
this.dataService.deleteAll([row.currentData], this.serviceOptions)
|
|
26018
|
-
.catch(function (err) { return _this.
|
|
26070
|
+
.catch(function (err) { return _this.handleServiceError(err); })
|
|
26019
26071
|
.then(function () {
|
|
26020
26072
|
setTimeout(function () {
|
|
26021
26073
|
// make sure row has been deleted (because GrapQHl cache remove can failed)
|
|
@@ -26027,112 +26079,133 @@
|
|
|
26027
26079
|
});
|
|
26028
26080
|
};
|
|
26029
26081
|
EntitiesTableDataSource.prototype.deleteAll = function (rows) {
|
|
26030
|
-
var
|
|
26031
|
-
|
|
26032
|
-
|
|
26033
|
-
|
|
26034
|
-
|
|
26035
|
-
|
|
26036
|
-
|
|
26037
|
-
|
|
26038
|
-
|
|
26039
|
-
|
|
26040
|
-
|
|
26041
|
-
|
|
26042
|
-
|
|
26043
|
-
|
|
26044
|
-
|
|
26045
|
-
|
|
26046
|
-
|
|
26047
|
-
|
|
26048
|
-
|
|
26049
|
-
|
|
26050
|
-
|
|
26051
|
-
|
|
26052
|
-
|
|
26053
|
-
|
|
26054
|
-
|
|
26082
|
+
var _super = Object.create(null, {
|
|
26083
|
+
delete: { get: function () { return _super_1.prototype.delete; } }
|
|
26084
|
+
});
|
|
26085
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
26086
|
+
var data, rowsById, rowNotDeleted, err_1;
|
|
26087
|
+
var _this = this;
|
|
26088
|
+
return __generator(this, function (_b) {
|
|
26089
|
+
switch (_b.label) {
|
|
26090
|
+
case 0:
|
|
26091
|
+
this.markAsLoading();
|
|
26092
|
+
data = this.getDataFromRows(rows);
|
|
26093
|
+
rowsById = Beans.collectById(rows);
|
|
26094
|
+
_b.label = 1;
|
|
26095
|
+
case 1:
|
|
26096
|
+
_b.trys.push([1, 3, 4, 5]);
|
|
26097
|
+
// Call service deletion
|
|
26098
|
+
return [4 /*yield*/, this.dataService.deleteAll(data, this.serviceOptions)];
|
|
26099
|
+
case 2:
|
|
26100
|
+
// Call service deletion
|
|
26101
|
+
_b.sent();
|
|
26102
|
+
rowNotDeleted = this.getRows().map(function (row) { return rows.find(function (r) { return r === row; }); });
|
|
26103
|
+
// Apply missing deletion
|
|
26104
|
+
if (isNotEmptyArray(rowNotDeleted)) {
|
|
26105
|
+
console.warn("[table-datasource] Force deletion of " + rowNotDeleted.length + " rows (Is service update the cache ?)");
|
|
26106
|
+
rowNotDeleted
|
|
26107
|
+
// Start from the end
|
|
26108
|
+
.sort(function (a, b) { return a.id > b.id ? -1 : 1; })
|
|
26109
|
+
.forEach(function (r) { return _super.delete.call(_this, r.id); });
|
|
26110
|
+
}
|
|
26111
|
+
return [3 /*break*/, 5];
|
|
26112
|
+
case 3:
|
|
26113
|
+
err_1 = _b.sent();
|
|
26114
|
+
// Handle sservice error
|
|
26115
|
+
this.handleServiceError(err_1);
|
|
26116
|
+
return [3 /*break*/, 5];
|
|
26117
|
+
case 4:
|
|
26118
|
+
this.loadingSubject.next(false);
|
|
26119
|
+
return [7 /*endfinally*/];
|
|
26120
|
+
case 5: return [2 /*return*/];
|
|
26121
|
+
}
|
|
26122
|
+
});
|
|
26055
26123
|
});
|
|
26056
26124
|
};
|
|
26125
|
+
EntitiesTableDataSource.prototype.getRow = function (id) {
|
|
26126
|
+
return _super_1.prototype.getRow.call(this, id);
|
|
26127
|
+
};
|
|
26057
26128
|
EntitiesTableDataSource.prototype.getRows = function () {
|
|
26058
|
-
return
|
|
26129
|
+
return this.rowsSubject.getValue();
|
|
26059
26130
|
};
|
|
26060
|
-
EntitiesTableDataSource.prototype.
|
|
26131
|
+
EntitiesTableDataSource.prototype.createNew = function (insertAt, options) {
|
|
26132
|
+
if (options === void 0) { options = { editing: true }; }
|
|
26061
26133
|
var _super = Object.create(null, {
|
|
26062
26134
|
createNew: { get: function () { return _super_1.prototype.createNew; } }
|
|
26063
26135
|
});
|
|
26136
|
+
var _a;
|
|
26064
26137
|
return __awaiter(this, void 0, void 0, function () {
|
|
26065
|
-
var row,
|
|
26066
|
-
return __generator(this, function (
|
|
26067
|
-
switch (
|
|
26138
|
+
var row, err_2;
|
|
26139
|
+
return __generator(this, function (_b) {
|
|
26140
|
+
switch (_b.label) {
|
|
26068
26141
|
case 0:
|
|
26069
26142
|
if (this._creating)
|
|
26070
26143
|
return [2 /*return*/]; // Avoid multiple call (should never occur)
|
|
26071
26144
|
this._creating = true;
|
|
26072
|
-
|
|
26073
|
-
row = this.getRow(-1);
|
|
26074
|
-
if (!(row && this._options && this._options.onRowCreated)) return [3 /*break*/, 4];
|
|
26075
|
-
res = this._options.onRowCreated(row);
|
|
26076
|
-
if (!(res instanceof Promise)) return [3 /*break*/, 4];
|
|
26077
|
-
_a.label = 1;
|
|
26145
|
+
_b.label = 1;
|
|
26078
26146
|
case 1:
|
|
26079
|
-
|
|
26080
|
-
return [4 /*yield*/,
|
|
26147
|
+
_b.trys.push([1, , 7, 8]);
|
|
26148
|
+
return [4 /*yield*/, _super.createNew.call(this, insertAt, options)];
|
|
26081
26149
|
case 2:
|
|
26082
|
-
|
|
26083
|
-
|
|
26150
|
+
row = _b.sent();
|
|
26151
|
+
if (!row)
|
|
26152
|
+
return [2 /*return*/];
|
|
26153
|
+
if (!((_a = this.config) === null || _a === void 0 ? void 0 : _a.onRowCreated)) return [3 /*break*/, 6];
|
|
26154
|
+
_b.label = 3;
|
|
26084
26155
|
case 3:
|
|
26085
|
-
|
|
26086
|
-
|
|
26087
|
-
return [3 /*break*/, 4];
|
|
26156
|
+
_b.trys.push([3, 5, , 6]);
|
|
26157
|
+
return [4 /*yield*/, this.config.onRowCreated(row)];
|
|
26088
26158
|
case 4:
|
|
26089
|
-
|
|
26159
|
+
_b.sent();
|
|
26160
|
+
return [3 /*break*/, 6];
|
|
26161
|
+
case 5:
|
|
26162
|
+
err_2 = _b.sent();
|
|
26163
|
+
// Log, then continue
|
|
26164
|
+
console.error(err_2 && err_2.message || err_2, err_2);
|
|
26165
|
+
return [3 /*break*/, 6];
|
|
26166
|
+
case 6:
|
|
26167
|
+
if (row.editing)
|
|
26168
|
+
this._editingRowCount++;
|
|
26169
|
+
return [2 /*return*/, row];
|
|
26170
|
+
case 7:
|
|
26090
26171
|
this._creating = false;
|
|
26091
|
-
return [
|
|
26172
|
+
return [7 /*endfinally*/];
|
|
26173
|
+
case 8: return [2 /*return*/];
|
|
26092
26174
|
}
|
|
26093
26175
|
});
|
|
26094
26176
|
});
|
|
26095
26177
|
};
|
|
26096
26178
|
EntitiesTableDataSource.prototype.getData = function () {
|
|
26097
|
-
|
|
26098
|
-
|
|
26099
|
-
return __generator(this, function (_a) {
|
|
26100
|
-
switch (_a.label) {
|
|
26101
|
-
case 0: return [4 /*yield*/, this.getRows()];
|
|
26102
|
-
case 1:
|
|
26103
|
-
rows = _a.sent();
|
|
26104
|
-
return [2 /*return*/, this.getDataFromRows(rows)];
|
|
26105
|
-
}
|
|
26106
|
-
});
|
|
26107
|
-
});
|
|
26179
|
+
var rows = this.getRows();
|
|
26180
|
+
return this.getDataFromRows(rows);
|
|
26108
26181
|
};
|
|
26109
26182
|
EntitiesTableDataSource.prototype.fetchMore = function (opts) {
|
|
26110
26183
|
var _super = Object.create(null, {
|
|
26111
26184
|
updateDatasource: { get: function () { return _super_1.prototype.updateDatasource; } }
|
|
26112
26185
|
});
|
|
26113
26186
|
return __awaiter(this, void 0, void 0, function () {
|
|
26114
|
-
var fetchMoreFn, res
|
|
26115
|
-
|
|
26116
|
-
|
|
26187
|
+
var fetchMoreFn, res;
|
|
26188
|
+
var _b;
|
|
26189
|
+
return __generator(this, function (_c) {
|
|
26190
|
+
switch (_c.label) {
|
|
26117
26191
|
case 0:
|
|
26118
26192
|
if (!this._fetchMoreFn)
|
|
26119
26193
|
return [2 /*return*/, false]; // Avoid multiple call
|
|
26120
26194
|
if (this._editingRowCount > 0) {
|
|
26121
|
-
console.warn(
|
|
26195
|
+
console.warn("Cannot fetch more " + this._entityName + " because " + this._editingRowCount + " row(s) still editing");
|
|
26122
26196
|
return [2 /*return*/];
|
|
26123
26197
|
}
|
|
26198
|
+
console.debug("Will fetching more row(s) still...");
|
|
26124
26199
|
fetchMoreFn = this._fetchMoreFn;
|
|
26125
26200
|
this._fetchMoreFn = null;
|
|
26126
26201
|
return [4 /*yield*/, fetchMoreFn()];
|
|
26127
26202
|
case 1:
|
|
26128
|
-
res =
|
|
26203
|
+
res = _c.sent();
|
|
26129
26204
|
// Skip if empty (no more data)
|
|
26130
|
-
if (
|
|
26205
|
+
if (isEmptyArray(res === null || res === void 0 ? void 0 : res.data))
|
|
26131
26206
|
return [2 /*return*/, false];
|
|
26132
|
-
|
|
26133
|
-
|
|
26134
|
-
existingData = _a.sent();
|
|
26135
|
-
_super.updateDatasource.call(this, existingData.concat.apply(existingData, __spread(res.data)), opts);
|
|
26207
|
+
// Update the data source
|
|
26208
|
+
_super.updateDatasource.call(this, (_b = (this.currentData || [])).concat.apply(_b, __spread(res.data)), opts);
|
|
26136
26209
|
// Remember fetchMore
|
|
26137
26210
|
this._fetchMoreFn = res.fetchMore;
|
|
26138
26211
|
return [2 /*return*/, true];
|
|
@@ -26159,8 +26232,8 @@
|
|
|
26159
26232
|
EntitiesTableDataSource.ctorParameters = function () { return [
|
|
26160
26233
|
{ type: Function },
|
|
26161
26234
|
{ type: undefined },
|
|
26162
|
-
{ type:
|
|
26163
|
-
{ type:
|
|
26235
|
+
{ type: undefined },
|
|
26236
|
+
{ type: undefined }
|
|
26164
26237
|
]; };
|
|
26165
26238
|
|
|
26166
26239
|
var SETTINGS_DISPLAY_COLUMNS = 'displayColumns';
|
|
@@ -26804,7 +26877,7 @@
|
|
|
26804
26877
|
if (id < 0)
|
|
26805
26878
|
return [2 /*return*/];
|
|
26806
26879
|
if (!(id >= this.visibleRowCount)) return [3 /*break*/, 1];
|
|
26807
|
-
this.addRow(event, undefined, opts);
|
|
26880
|
+
this.addRow(event, undefined, Object.assign(Object.assign({}, opts), { editing: true }));
|
|
26808
26881
|
return [3 /*break*/, 3];
|
|
26809
26882
|
case 1: return [4 /*yield*/, this.dataSource.getRow(id)];
|
|
26810
26883
|
case 2:
|
|
@@ -27704,22 +27777,27 @@
|
|
|
27704
27777
|
};
|
|
27705
27778
|
AppTable.prototype.addRowToTable = function (insertAt, opts) {
|
|
27706
27779
|
return __awaiter(this, void 0, void 0, function () {
|
|
27780
|
+
var row;
|
|
27707
27781
|
return __generator(this, function (_e) {
|
|
27708
27782
|
switch (_e.label) {
|
|
27709
27783
|
case 0:
|
|
27710
27784
|
this.focusFirstColumn = true;
|
|
27711
27785
|
this.focusColumn = (opts === null || opts === void 0 ? void 0 : opts.focusColumn) || this.firstUserColumn;
|
|
27712
|
-
return [4 /*yield*/, this._dataSource.
|
|
27786
|
+
return [4 /*yield*/, this._dataSource.createNew(insertAt, Object.assign({ editing: true }, opts))];
|
|
27713
27787
|
case 1:
|
|
27714
|
-
_e.sent();
|
|
27715
|
-
|
|
27788
|
+
row = _e.sent();
|
|
27789
|
+
if (!row)
|
|
27790
|
+
return [2 /*return*/, undefined];
|
|
27716
27791
|
// Emit start editing event
|
|
27717
|
-
|
|
27792
|
+
if (row.editing) {
|
|
27793
|
+
this.editedRow = row;
|
|
27794
|
+
this.onStartEditingRow.emit(this.editedRow);
|
|
27795
|
+
}
|
|
27718
27796
|
this.totalRowCount++;
|
|
27719
27797
|
this.visibleRowCount++;
|
|
27720
27798
|
this.markAsDirty({ emitEvent: false /*markForCheck() is called just after*/ });
|
|
27721
27799
|
this.markForCheck();
|
|
27722
|
-
return [2 /*return*/,
|
|
27800
|
+
return [2 /*return*/, row];
|
|
27723
27801
|
}
|
|
27724
27802
|
});
|
|
27725
27803
|
});
|
|
@@ -27909,7 +27987,7 @@
|
|
|
27909
27987
|
return __generator(this, function (_e) {
|
|
27910
27988
|
switch (_e.label) {
|
|
27911
27989
|
case 0:
|
|
27912
|
-
markRowAsPristine = ((_a = this.dataSource) === null || _a === void 0 ? void 0 : _a.
|
|
27990
|
+
markRowAsPristine = ((_a = this.dataSource) === null || _a === void 0 ? void 0 : _a.config.restoreOriginalDataOnCancel) === true;
|
|
27913
27991
|
if (!markRowAsPristine) return [3 /*break*/, 2];
|
|
27914
27992
|
(_b = row.validator) === null || _b === void 0 ? void 0 : _b.markAsPristine();
|
|
27915
27993
|
if (!(!opts || opts.onlySelf !== true)) return [3 /*break*/, 2];
|
|
@@ -27926,18 +28004,13 @@
|
|
|
27926
28004
|
return __awaiter(this, void 0, void 0, function () {
|
|
27927
28005
|
var rows, pristine;
|
|
27928
28006
|
return __generator(this, function (_e) {
|
|
27929
|
-
|
|
27930
|
-
|
|
27931
|
-
|
|
27932
|
-
|
|
27933
|
-
|
|
27934
|
-
|
|
27935
|
-
|
|
27936
|
-
pristine = (rows || []).findIndex(function (row) { var _a; return (_a = row.validator) === null || _a === void 0 ? void 0 : _a.dirty; }) === -1;
|
|
27937
|
-
if (pristine)
|
|
27938
|
-
this.markAsPristine(opts);
|
|
27939
|
-
return [2 /*return*/];
|
|
27940
|
-
}
|
|
28007
|
+
if (!this.dirty)
|
|
28008
|
+
return [2 /*return*/]; // Already pristine
|
|
28009
|
+
rows = this._dataSource.getRows();
|
|
28010
|
+
pristine = (rows || []).findIndex(function (row) { var _a; return (_a = row.validator) === null || _a === void 0 ? void 0 : _a.dirty; }) === -1;
|
|
28011
|
+
if (pristine)
|
|
28012
|
+
this.markAsPristine(opts);
|
|
28013
|
+
return [2 /*return*/];
|
|
27941
28014
|
});
|
|
27942
28015
|
});
|
|
27943
28016
|
};
|
|
@@ -30284,7 +30357,7 @@
|
|
|
30284
30357
|
{ type: Function },
|
|
30285
30358
|
{ type: InMemoryEntitiesService },
|
|
30286
30359
|
{ type: ngxMaterialTable.ValidatorService },
|
|
30287
|
-
{ type:
|
|
30360
|
+
{ type: undefined },
|
|
30288
30361
|
{ type: undefined }
|
|
30289
30362
|
]; };
|
|
30290
30363
|
AppInMemoryTable.propDecorators = {
|
|
@@ -30301,7 +30374,7 @@
|
|
|
30301
30374
|
SUBSCRIBE_JOB_PROGRESSION_ERROR: 50010
|
|
30302
30375
|
};
|
|
30303
30376
|
|
|
30304
|
-
var moment$
|
|
30377
|
+
var moment$4 = momentImported__namespace;
|
|
30305
30378
|
var USER_EVENT_SERVICE = new i0.InjectionToken('UserEventService');
|
|
30306
30379
|
var AbstractUserEventService = /** @class */ (function (_super) {
|
|
30307
30380
|
__extends(AbstractUserEventService, _super);
|
|
@@ -30823,7 +30896,7 @@
|
|
|
30823
30896
|
};
|
|
30824
30897
|
AbstractUserEventService.prototype.resetCount = function () {
|
|
30825
30898
|
this._countSubject.next(undefined);
|
|
30826
|
-
this.resetCountDate = moment$
|
|
30899
|
+
this.resetCountDate = moment$4();
|
|
30827
30900
|
// restart listening count changes
|
|
30828
30901
|
this.startListenCountChanges();
|
|
30829
30902
|
};
|
|
@@ -30927,7 +31000,7 @@
|
|
|
30927
31000
|
if (!userEvents.length)
|
|
30928
31001
|
return [2 /*return*/];
|
|
30929
31002
|
// set read date
|
|
30930
|
-
userEvents.forEach(function (userEvent) { return userEvent.readDate = moment$
|
|
31003
|
+
userEvents.forEach(function (userEvent) { return userEvent.readDate = moment$4(); });
|
|
30931
31004
|
localEntities = userEvents.filter(function (userEvent) { return !userEvent.id || userEvent.id < 0; });
|
|
30932
31005
|
remoteEntities = userEvents.filter(function (userEvent) { return userEvent.id > 0; });
|
|
30933
31006
|
// save local entities
|
|
@@ -31973,7 +32046,7 @@
|
|
|
31973
32046
|
];
|
|
31974
32047
|
|
|
31975
32048
|
var Mutations = {
|
|
31976
|
-
send: core.gql(templateObject_1$
|
|
32049
|
+
send: core.gql(templateObject_1$1 || (templateObject_1$1 = __makeTemplateObject(["mutation SendMessage($data: MessageVOInput){\n done: sendMessage(message: $data)\n }"], ["mutation SendMessage($data: MessageVOInput){\n done: sendMessage(message: $data)\n }"])))
|
|
31977
32050
|
};
|
|
31978
32051
|
var MessageService = /** @class */ (function (_super) {
|
|
31979
32052
|
__extends(MessageService, _super);
|
|
@@ -32047,7 +32120,7 @@
|
|
|
32047
32120
|
};
|
|
32048
32121
|
return MessageService;
|
|
32049
32122
|
}(BaseGraphqlService));
|
|
32050
|
-
MessageService.ɵprov =
|
|
32123
|
+
MessageService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MessageService_Factory() { return new MessageService(i0__namespace.ɵɵinject(GraphqlService), i0__namespace.ɵɵinject(i1__namespace$1.TranslateService), i0__namespace.ɵɵinject(i1__namespace$4.ToastController), i0__namespace.ɵɵinject(ENVIRONMENT, 8)); }, token: MessageService, providedIn: "root" });
|
|
32051
32124
|
MessageService.decorators = [
|
|
32052
32125
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
32053
32126
|
];
|
|
@@ -32057,7 +32130,7 @@
|
|
|
32057
32130
|
{ type: i1$5.ToastController },
|
|
32058
32131
|
{ type: Environment, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [ENVIRONMENT,] }] }
|
|
32059
32132
|
]; };
|
|
32060
|
-
var templateObject_1$
|
|
32133
|
+
var templateObject_1$1;
|
|
32061
32134
|
|
|
32062
32135
|
var PersonFilter_1;
|
|
32063
32136
|
// @dynamic
|
|
@@ -32116,16 +32189,16 @@
|
|
|
32116
32189
|
], exports.PersonFilter);
|
|
32117
32190
|
|
|
32118
32191
|
var PersonFragments = {
|
|
32119
|
-
person: core.gql(templateObject_1
|
|
32192
|
+
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 }"])))
|
|
32120
32193
|
};
|
|
32121
32194
|
// Load persons query
|
|
32122
32195
|
var PersonQueries = {
|
|
32123
|
-
loadAll: core.gql(templateObject_2
|
|
32124
|
-
loadAllWithTotal: core.gql(templateObject_3
|
|
32196
|
+
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),
|
|
32197
|
+
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)
|
|
32125
32198
|
};
|
|
32126
32199
|
var PersonMutations = {
|
|
32127
|
-
saveAll: core.gql(templateObject_4
|
|
32128
|
-
deleteAll: core.gql(templateObject_5
|
|
32200
|
+
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),
|
|
32201
|
+
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 }"])))
|
|
32129
32202
|
};
|
|
32130
32203
|
var PersonService = /** @class */ (function (_super_1) {
|
|
32131
32204
|
__extends(PersonService, _super_1);
|
|
@@ -32246,7 +32319,7 @@
|
|
|
32246
32319
|
};
|
|
32247
32320
|
return PersonService;
|
|
32248
32321
|
}(BaseEntityService));
|
|
32249
|
-
PersonService.ɵprov =
|
|
32322
|
+
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" });
|
|
32250
32323
|
PersonService.decorators = [
|
|
32251
32324
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
32252
32325
|
];
|
|
@@ -32256,7 +32329,7 @@
|
|
|
32256
32329
|
{ type: NetworkService },
|
|
32257
32330
|
{ type: EntitiesStorage }
|
|
32258
32331
|
]; };
|
|
32259
|
-
var templateObject_1
|
|
32332
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
|
|
32260
32333
|
|
|
32261
32334
|
var PersonValidatorService = /** @class */ (function () {
|
|
32262
32335
|
function PersonValidatorService(formBuilder, accountValidatorService) {
|
|
@@ -32279,7 +32352,7 @@
|
|
|
32279
32352
|
};
|
|
32280
32353
|
return PersonValidatorService;
|
|
32281
32354
|
}());
|
|
32282
|
-
PersonValidatorService.ɵprov =
|
|
32355
|
+
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" });
|
|
32283
32356
|
PersonValidatorService.decorators = [
|
|
32284
32357
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
32285
32358
|
];
|
|
@@ -32542,17 +32615,17 @@
|
|
|
32542
32615
|
];
|
|
32543
32616
|
AdminModule.ctorParameters = function () { return []; };
|
|
32544
32617
|
|
|
32545
|
-
var ɵ0
|
|
32618
|
+
var ɵ0 = {
|
|
32546
32619
|
profile: 'ADMIN'
|
|
32547
32620
|
};
|
|
32548
|
-
var routes = [
|
|
32621
|
+
var routes$6 = [
|
|
32549
32622
|
{
|
|
32550
32623
|
path: 'users',
|
|
32551
32624
|
pathMatch: 'full',
|
|
32552
32625
|
component: UsersPage,
|
|
32553
32626
|
canActivate: [AuthGuardService],
|
|
32554
32627
|
canDeactivate: [ComponentDirtyGuard],
|
|
32555
|
-
data: ɵ0
|
|
32628
|
+
data: ɵ0
|
|
32556
32629
|
}
|
|
32557
32630
|
];
|
|
32558
32631
|
var AdminRoutingModule = /** @class */ (function () {
|
|
@@ -32565,30 +32638,30 @@
|
|
|
32565
32638
|
imports: [
|
|
32566
32639
|
SharedRoutingModule,
|
|
32567
32640
|
AdminModule,
|
|
32568
|
-
i3.RouterModule.forChild(routes)
|
|
32641
|
+
i3.RouterModule.forChild(routes$6)
|
|
32569
32642
|
],
|
|
32570
32643
|
exports: [i3.RouterModule]
|
|
32571
32644
|
},] }
|
|
32572
32645
|
];
|
|
32573
32646
|
|
|
32574
|
-
var EntityTestClass = /** @class */ (function () {
|
|
32647
|
+
var EntityTestClass$1 = /** @class */ (function () {
|
|
32575
32648
|
function EntityTestClass() {
|
|
32576
32649
|
}
|
|
32577
32650
|
return EntityTestClass;
|
|
32578
32651
|
}());
|
|
32579
|
-
var FAKE_ENTITIES = [
|
|
32652
|
+
var FAKE_ENTITIES$1 = [
|
|
32580
32653
|
{ id: 1, label: 'AAA', name: 'Item A', description: 'Very long description A', comments: 'Very very long comments... again for A' },
|
|
32581
32654
|
{ id: 2, label: 'BBB', name: 'Item B', description: 'Very long description B', comments: 'Very very long comments... again for B' },
|
|
32582
32655
|
{ id: 3, label: 'CCC', name: 'Item C', description: 'Very long description C', comments: 'Very very long comments... again for C' }
|
|
32583
32656
|
];
|
|
32584
|
-
function deepCopy(values, size) {
|
|
32657
|
+
function deepCopy$1(values, size) {
|
|
32585
32658
|
if (isNil(size)) {
|
|
32586
|
-
return (values || FAKE_ENTITIES).map(function (entity) { return Object.assign({}, entity); });
|
|
32659
|
+
return (values || FAKE_ENTITIES$1).map(function (entity) { return Object.assign({}, entity); });
|
|
32587
32660
|
}
|
|
32588
32661
|
var result = [];
|
|
32589
32662
|
var i = 1;
|
|
32590
32663
|
while (result.length < size) {
|
|
32591
|
-
result = result.concat((values || FAKE_ENTITIES).map(function (entity) {
|
|
32664
|
+
result = result.concat((values || FAKE_ENTITIES$1).map(function (entity) {
|
|
32592
32665
|
var name = entity.name + ' #' + i;
|
|
32593
32666
|
return Object.assign(Object.assign({}, entity), { id: i++, name: name });
|
|
32594
32667
|
}));
|
|
@@ -32598,7 +32671,7 @@
|
|
|
32598
32671
|
var AutocompleteTestPage = /** @class */ (function () {
|
|
32599
32672
|
function AutocompleteTestPage(formBuilder) {
|
|
32600
32673
|
this.formBuilder = formBuilder;
|
|
32601
|
-
this._items = deepCopy(FAKE_ENTITIES, 100);
|
|
32674
|
+
this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
|
|
32602
32675
|
this._$items = new rxjs.BehaviorSubject(undefined);
|
|
32603
32676
|
this.autocompleteFields = new MatAutocompleteConfigHolder();
|
|
32604
32677
|
this.memoryHide = false;
|
|
@@ -32644,7 +32717,7 @@
|
|
|
32644
32717
|
});
|
|
32645
32718
|
// From items
|
|
32646
32719
|
this.autocompleteFields.add('entity-items-large', {
|
|
32647
|
-
items: FAKE_ENTITIES.slice(),
|
|
32720
|
+
items: FAKE_ENTITIES$1.slice(),
|
|
32648
32721
|
attributes: ['label', 'name', 'description', 'comments'],
|
|
32649
32722
|
displayWith: this.entityToString
|
|
32650
32723
|
});
|
|
@@ -32680,14 +32753,14 @@
|
|
|
32680
32753
|
var _this = this;
|
|
32681
32754
|
return __generator(this, function (_a) {
|
|
32682
32755
|
data = {
|
|
32683
|
-
entity: deepCopy(FAKE_ENTITIES)[0],
|
|
32684
|
-
farEntity: deepCopy(FAKE_ENTITIES)[2],
|
|
32756
|
+
entity: deepCopy$1(FAKE_ENTITIES$1)[0],
|
|
32757
|
+
farEntity: deepCopy$1(FAKE_ENTITIES$1)[2],
|
|
32685
32758
|
// This item is NOT in the items list => i should be displayed anyway
|
|
32686
32759
|
missingEntity: {
|
|
32687
32760
|
id: -1, label: '??', name: 'Missing item'
|
|
32688
32761
|
},
|
|
32689
|
-
disableEntity: deepCopy(FAKE_ENTITIES)[2],
|
|
32690
|
-
entities: deepCopy(FAKE_ENTITIES)
|
|
32762
|
+
disableEntity: deepCopy$1(FAKE_ENTITIES$1)[2],
|
|
32763
|
+
entities: deepCopy$1(FAKE_ENTITIES$1)
|
|
32691
32764
|
};
|
|
32692
32765
|
this.form.setValue(data);
|
|
32693
32766
|
// Load observables
|
|
@@ -32859,13 +32932,13 @@
|
|
|
32859
32932
|
{ type: i1.FormBuilder }
|
|
32860
32933
|
]; };
|
|
32861
32934
|
|
|
32862
|
-
var moment$
|
|
32935
|
+
var moment$3 = momentImported__namespace;
|
|
32863
32936
|
var SwipeTestPage = /** @class */ (function () {
|
|
32864
32937
|
function SwipeTestPage(formBuilder, dateFormatPipe) {
|
|
32865
32938
|
this.formBuilder = formBuilder;
|
|
32866
32939
|
this.dateFormatPipe = dateFormatPipe;
|
|
32867
32940
|
this.$dates = new rxjs.BehaviorSubject(undefined);
|
|
32868
|
-
this._today = moment$
|
|
32941
|
+
this._today = moment$3().startOf('day');
|
|
32869
32942
|
this.form = formBuilder.group({
|
|
32870
32943
|
empty: [null, i1.Validators.required],
|
|
32871
32944
|
date: [null, i1.Validators.compose([i1.Validators.required, SharedValidators.validDate])],
|
|
@@ -32879,7 +32952,7 @@
|
|
|
32879
32952
|
var _this = this;
|
|
32880
32953
|
var dates = [];
|
|
32881
32954
|
for (var d = 0; d < 7; d++) {
|
|
32882
|
-
dates[d] = moment$
|
|
32955
|
+
dates[d] = moment$3(this._today).add(d - 3, 'day');
|
|
32883
32956
|
}
|
|
32884
32957
|
this.$dates.next(dates);
|
|
32885
32958
|
this.loadData();
|
|
@@ -32926,7 +32999,7 @@
|
|
|
32926
32999
|
{ type: DateFormatPipe }
|
|
32927
33000
|
]; };
|
|
32928
33001
|
|
|
32929
|
-
var moment$
|
|
33002
|
+
var moment$2 = momentImported__namespace;
|
|
32930
33003
|
var DateTimeTestPage = /** @class */ (function () {
|
|
32931
33004
|
function DateTimeTestPage(platform, formBuilder, cd) {
|
|
32932
33005
|
this.platform = platform;
|
|
@@ -32964,7 +33037,7 @@
|
|
|
32964
33037
|
var now, data;
|
|
32965
33038
|
var _this = this;
|
|
32966
33039
|
return __generator(this, function (_a) {
|
|
32967
|
-
now = moment$
|
|
33040
|
+
now = moment$2();
|
|
32968
33041
|
data = {
|
|
32969
33042
|
empty: null,
|
|
32970
33043
|
emptyRequired: null,
|
|
@@ -33034,12 +33107,12 @@
|
|
|
33034
33107
|
{ type: i0.ChangeDetectorRef }
|
|
33035
33108
|
]; };
|
|
33036
33109
|
|
|
33037
|
-
var EntityTestClass
|
|
33110
|
+
var EntityTestClass = /** @class */ (function () {
|
|
33038
33111
|
function EntityTestClass() {
|
|
33039
33112
|
}
|
|
33040
33113
|
return EntityTestClass;
|
|
33041
33114
|
}());
|
|
33042
|
-
var FAKE_ENTITIES
|
|
33115
|
+
var FAKE_ENTITIES = [
|
|
33043
33116
|
{ id: 1, label: 'AAA', name: 'Item A' },
|
|
33044
33117
|
{ id: 2, label: 'BBB', name: 'Item B' },
|
|
33045
33118
|
{ id: 3, label: 'CCC', name: 'Item C' },
|
|
@@ -33048,14 +33121,14 @@
|
|
|
33048
33121
|
{ id: 6, label: 'FFF', name: 'Item F' },
|
|
33049
33122
|
{ id: 7, label: 'GGG', name: 'Item G' }
|
|
33050
33123
|
];
|
|
33051
|
-
function deepCopy
|
|
33124
|
+
function deepCopy(values, size) {
|
|
33052
33125
|
if (isNil(size)) {
|
|
33053
|
-
return (values || FAKE_ENTITIES
|
|
33126
|
+
return (values || FAKE_ENTITIES).map(function (entity) { return Object.assign({}, entity); });
|
|
33054
33127
|
}
|
|
33055
33128
|
var result = [];
|
|
33056
33129
|
var i = 1;
|
|
33057
33130
|
while (result.length < size) {
|
|
33058
|
-
result = result.concat((values || FAKE_ENTITIES
|
|
33131
|
+
result = result.concat((values || FAKE_ENTITIES).map(function (entity) {
|
|
33059
33132
|
var name = entity.name + ' #' + i;
|
|
33060
33133
|
return Object.assign(Object.assign({}, entity), { id: i++, name: name });
|
|
33061
33134
|
}));
|
|
@@ -33065,7 +33138,7 @@
|
|
|
33065
33138
|
var ChipsTestPage = /** @class */ (function () {
|
|
33066
33139
|
function ChipsTestPage(formBuilder) {
|
|
33067
33140
|
this.formBuilder = formBuilder;
|
|
33068
|
-
this._items = deepCopy
|
|
33141
|
+
this._items = deepCopy(FAKE_ENTITIES, 100);
|
|
33069
33142
|
this._$items = new rxjs.BehaviorSubject(undefined);
|
|
33070
33143
|
this.autocompleteFields = new MatAutocompleteConfigHolder();
|
|
33071
33144
|
this.appearance = 'legacy';
|
|
@@ -33109,7 +33182,7 @@
|
|
|
33109
33182
|
var items, data;
|
|
33110
33183
|
var _this = this;
|
|
33111
33184
|
return __generator(this, function (_a) {
|
|
33112
|
-
items = deepCopy
|
|
33185
|
+
items = deepCopy(FAKE_ENTITIES);
|
|
33113
33186
|
data = {
|
|
33114
33187
|
entity: items.slice(0, 1),
|
|
33115
33188
|
entityInitial: items.slice(1, 2),
|
|
@@ -33246,7 +33319,7 @@
|
|
|
33246
33319
|
{ type: i1.FormBuilder }
|
|
33247
33320
|
]; };
|
|
33248
33321
|
|
|
33249
|
-
var moment$
|
|
33322
|
+
var moment$1 = momentImported__namespace;
|
|
33250
33323
|
var DateTestPage = /** @class */ (function () {
|
|
33251
33324
|
function DateTestPage(formBuilder, cd) {
|
|
33252
33325
|
this.formBuilder = formBuilder;
|
|
@@ -33283,7 +33356,7 @@
|
|
|
33283
33356
|
var now, nowAtMahe, data;
|
|
33284
33357
|
var _this = this;
|
|
33285
33358
|
return __generator(this, function (_a) {
|
|
33286
|
-
now = moment$
|
|
33359
|
+
now = moment$1();
|
|
33287
33360
|
nowAtMahe = now.clone().tz(this.timezone).startOf('day');
|
|
33288
33361
|
data = {
|
|
33289
33362
|
empty: null,
|
|
@@ -33365,7 +33438,7 @@
|
|
|
33365
33438
|
{ label: 'Shared directives', divider: true },
|
|
33366
33439
|
{ label: 'Badge icon directive', page: '/testing/shared/badge-icon' }
|
|
33367
33440
|
];
|
|
33368
|
-
var routes$
|
|
33441
|
+
var routes$5 = [
|
|
33369
33442
|
{
|
|
33370
33443
|
path: '',
|
|
33371
33444
|
pathMatch: 'full',
|
|
@@ -33425,7 +33498,7 @@
|
|
|
33425
33498
|
i1.ReactiveFormsModule,
|
|
33426
33499
|
SharedMaterialModule,
|
|
33427
33500
|
i1$2.TranslateModule.forChild(),
|
|
33428
|
-
i3.RouterModule.forChild(routes$
|
|
33501
|
+
i3.RouterModule.forChild(routes$5)
|
|
33429
33502
|
],
|
|
33430
33503
|
declarations: [
|
|
33431
33504
|
DateTimeTestPage,
|
|
@@ -33487,7 +33560,7 @@
|
|
|
33487
33560
|
{ type: i1$2.TranslateService }
|
|
33488
33561
|
]; };
|
|
33489
33562
|
|
|
33490
|
-
var routes$
|
|
33563
|
+
var routes$4 = [
|
|
33491
33564
|
{
|
|
33492
33565
|
path: 'toast',
|
|
33493
33566
|
pathMatch: 'full',
|
|
@@ -33505,7 +33578,7 @@
|
|
|
33505
33578
|
i1$4.CommonModule,
|
|
33506
33579
|
i1$5.IonicModule,
|
|
33507
33580
|
i1$2.TranslateModule.forChild(),
|
|
33508
|
-
i3.RouterModule.forChild(routes$
|
|
33581
|
+
i3.RouterModule.forChild(routes$4)
|
|
33509
33582
|
],
|
|
33510
33583
|
declarations: [
|
|
33511
33584
|
ToastTestingPage
|
|
@@ -33831,26 +33904,33 @@
|
|
|
33831
33904
|
console.debug('[test-table] Updating data...');
|
|
33832
33905
|
this.markAsLoading();
|
|
33833
33906
|
if (isNil(this.data)) {
|
|
33834
|
-
this.data = this.generateData(0,
|
|
33907
|
+
this.data = this.generateData(0, TableTestPage.maxRowCount);
|
|
33835
33908
|
}
|
|
33836
33909
|
this.dataService.setValue(this.data, { emitEvent: false });
|
|
33837
33910
|
this.onRefresh.emit();
|
|
33838
|
-
if (this.infiniteScroll) {
|
|
33839
|
-
this.infiniteScroll.disabled = !this.infiniteScroll || this.data.length >= TableTestPage.maxRowCount;
|
|
33840
|
-
}
|
|
33841
33911
|
};
|
|
33842
|
-
TableTestPage.prototype.
|
|
33843
|
-
|
|
33844
|
-
|
|
33845
|
-
|
|
33846
|
-
|
|
33847
|
-
|
|
33848
|
-
|
|
33849
|
-
|
|
33850
|
-
|
|
33851
|
-
|
|
33912
|
+
TableTestPage.prototype.fetchMore = function (event) {
|
|
33913
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
33914
|
+
var fetched;
|
|
33915
|
+
return __generator(this, function (_a) {
|
|
33916
|
+
switch (_a.label) {
|
|
33917
|
+
case 0:
|
|
33918
|
+
console.debug('[table-test] Loading more...', event);
|
|
33919
|
+
return [4 /*yield*/, this._dataSource.fetchMore()];
|
|
33920
|
+
case 1:
|
|
33921
|
+
fetched = _a.sent();
|
|
33922
|
+
if (!(fetched && (event === null || event === void 0 ? void 0 : event.target) && event.target.complete)) return [3 /*break*/, 3];
|
|
33923
|
+
return [4 /*yield*/, this.waitIdle()];
|
|
33924
|
+
case 2:
|
|
33925
|
+
_a.sent();
|
|
33926
|
+
event.target.complete();
|
|
33927
|
+
_a.label = 3;
|
|
33928
|
+
case 3: return [2 /*return*/];
|
|
33929
|
+
}
|
|
33930
|
+
});
|
|
33931
|
+
});
|
|
33852
33932
|
};
|
|
33853
|
-
TableTestPage.prototype.save = function () {
|
|
33933
|
+
TableTestPage.prototype.save = function (opts) {
|
|
33854
33934
|
var _super = Object.create(null, {
|
|
33855
33935
|
save: { get: function () { return _super_1.prototype.save; } }
|
|
33856
33936
|
});
|
|
@@ -33858,7 +33938,7 @@
|
|
|
33858
33938
|
var saved;
|
|
33859
33939
|
return __generator(this, function (_a) {
|
|
33860
33940
|
switch (_a.label) {
|
|
33861
|
-
case 0: return [4 /*yield*/, _super.save.call(this)];
|
|
33941
|
+
case 0: return [4 /*yield*/, _super.save.call(this, opts)];
|
|
33862
33942
|
case 1:
|
|
33863
33943
|
saved = _a.sent();
|
|
33864
33944
|
if (saved) {
|
|
@@ -33930,7 +34010,7 @@
|
|
|
33930
34010
|
TableTestPage.decorators = [
|
|
33931
34011
|
{ type: i0.Component, args: [{
|
|
33932
34012
|
selector: 'app-table-testing',
|
|
33933
|
-
template: "<app-toolbar color=\"primary\" [canGoBack]=\"true\" [backHref]=\"'/testing'\">\n <ion-buttons slot=\"end\">\n\n\n <ng-container *ngIf=\"!selection.hasValue(); else hasSelection\">\n <!-- Add -->\n <button mat-icon-button\n *ngIf=\"canEdit && !mobile\"\n [title]=\"'COMMON.BTN_ADD'|translate\"\n (click)=\"addRow()\">\n <mat-icon>add</mat-icon>\n </button>\n\n <!-- reset filter -->\n <button mat-icon-button (click)=\"resetFilter()\"\n *ngIf=\"filterCriteriaCount\">\n <mat-icon color=\"accent\">filter_list_alt</mat-icon>\n <mat-icon class=\"icon-secondary\" style=\"left: 16px; top: 5px; font-weight: bold;\">close</mat-icon>\n </button>\n\n <!-- show filter -->\n <button mat-icon-button (click)=\"filterExpansionPanel.toggle()\">\n <mat-icon *ngIf=\"filterCriteriaCount; else emptyFilter\"\n [matBadge]=\"filterCriteriaCount\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\"\n matBadgePosition=\"above after\">filter_list_alt\n </mat-icon>\n <ng-template #emptyFilter>\n <mat-icon>filter_list_alt</mat-icon>\n </ng-template>\n </button>\n\n <!-- start/stop timer to auto-load data -->\n <ion-button *ngIf=\"!timer\" (click)=\"startTimer()\">Start reload</ion-button>\n <ion-button *ngIf=\"timer\" (click)=\"stopTimer()\" color=\"accent\">Stop reload</ion-button>\n </ng-container>\n\n <!-- if row selection -->\n <ng-template #hasSelection>\n\n <!-- delete -->\n <button mat-icon-button\n *ngIf=\"canEdit\" [title]=\"'COMMON.BTN_DELETE'|translate\"\n (click)=\"deleteSelection($event)\">\n <mat-icon>delete</mat-icon>\n </button>\n\n <!-- duplicate -->\n <button mat-icon-button\n *ngIf=\"canEdit && selection.selected | isArrayLength: {equals: 1}\"\n [title]=\"'COMMON.BTN_DUPLICATE'|translate\"\n (click)=\"duplicateRow($event, selection.selected[0])\">\n <mat-icon>file_copy</mat-icon>\n </button>\n </ng-template>\n </ion-buttons>\n</app-toolbar>\n<ion-content class=\"ion-no-padding\">\n\n <ion-refresher slot=\"fixed\" *ngIf=\"mobile\" (ionRefresh)=\"doRefresh($event)\">\n <ion-refresher-content></ion-refresher-content>\n </ion-refresher>\n\n <!-- error -->\n <ion-item *ngIf=\"mobile && error\" lines=\"none\" @slideUpDownAnimation>\n <ion-icon color=\"danger\" slot=\"start\" name=\"alert-circle\"></ion-icon>\n <ion-label color=\"danger\" class=\"error\" [innerHTML]=\"error|translate\"></ion-label>\n </ion-item>\n\n <!-- search -->\n <mat-expansion-panel #filterExpansionPanel class=\"filter-panel filter-panel-floating\">\n <form class=\"form-container ion-padding-top\" [formGroup]=\"filterForm\" (ngSubmit)=\"applyFilterAndClosePanel($event)\">\n\n <ion-grid>\n <ion-row>\n <ion-col>\n <!-- search text -->\n <mat-form-field>\n <ion-icon matPrefix name=\"search\"></ion-icon>\n <input matInput\n formControlName=\"searchText\"\n autocomplete=\"off\"\n [placeholder]=\"'TABLE.TESTING.SEARCH_TEXT'|translate\">\n <button mat-icon-button matSuffix tabindex=\"-1\"\n type=\"button\"\n (click)=\"clearControlValue($event, filterForm.controls.searchText)\"\n [hidden]=\"filterForm.controls.searchText.disabled || !filterForm.controls.searchText.value\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </ion-col>\n </ion-row>\n </ion-grid>\n </form>\n\n <mat-action-row>\n <!-- Counter -->\n <ion-label [hidden]=\"(loadingSubject|async) || filterForm.dirty\"\n [color]=\"empty && 'danger'\"\n class=\"ion-padding\">\n {{ (totalRowCount ? 'COMMON.RESULT_COUNT' : 'COMMON.NO_RESULT') | translate: {\n count: (totalRowCount |\n numberFormat)\n } }}\n </ion-label>\n\n <div class=\"toolbar-spacer\"></div>\n\n <!-- Close panel -->\n <ion-button mat-button fill=\"clear\" color=\"dark\"\n (click)=\"filterExpansionPanel.close()\"\n [disabled]=\"loadingSubject|async\">\n <ion-text translate>COMMON.BTN_CLOSE</ion-text>\n </ion-button>\n\n <!-- Search button -->\n <ion-button mat-button\n [color]=\"filterForm.dirty ? 'tertiary' : 'dark'\"\n [fill]=\"filterForm.dirty ? 'solid' : 'clear'\"\n (click)=\"applyFilterAndClosePanel($event)\">\n <ion-text translate>COMMON.BTN_APPLY</ion-text>\n </ion-button>\n </mat-action-row>\n </mat-expansion-panel>\n\n <!-- table -->\n <div [class.table-container]=\"!enableInfiniteScroll\">\n <table #table mat-table matSort matSortDisableClear\n [dataSource]=\"dataSource\"\n [matSortActive]=\"defaultSortBy\"\n [matSortDirection]=\"defaultSortDirection\"\n [trackBy]=\"trackByFn\">\n\n <!-- group header cells -->\n\n <ng-container matColumnDef=\"top-start\" [sticky]=\"useSticky\">\n <th mat-header-cell *matHeaderCellDef [class.cdk-visually-hidden]=\"!canEdit\" [attr.colspan]=\"2\">\n <!-- start spacer -->\n </th>\n </ng-container>\n\n <ng-container matColumnDef=\"group-1\">\n <th mat-header-cell *matHeaderCellDef [attr.colspan]=\"3\" style=\"background-color: whitesmoke; margin-bottom: -1px;\">\n <ion-label translate>{{i18nColumnPrefix + 'GROUP_1'}}</ion-label>\n </th>\n </ng-container>\n\n <ng-container matColumnDef=\"group-2\">\n <th mat-header-cell *matHeaderCellDef [attr.colspan]=\"3\">\n <ion-label translate>{{i18nColumnPrefix + 'GROUP_2'}}</ion-label>\n </th>\n </ng-container>\n\n <ng-container matColumnDef=\"top-end\" >\n <th mat-header-cell *matHeaderCellDef>\n <!-- end spacer -->\n </th>\n </ng-container>\n\n <ng-container matColumnDef=\"select\" [sticky]=\"useSticky\" [class.mat-column-sticky]=\"useSticky\">\n <th mat-header-cell *matHeaderCellDef [class.cdk-visually-hidden]=\"!canEdit\">\n <mat-checkbox (change)=\"$event ? masterToggle() : null\" [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\">\n </mat-checkbox>\n </th>\n <td mat-cell *matCellDef=\"let row\" [class.cdk-visually-hidden]=\"!canEdit\">\n <mat-checkbox (click)=\"$event.stopPropagation()\" (change)=\"$event ? selection.toggle(row) : null\" [checked]=\"selection.isSelected(row)\">\n </mat-checkbox>\n </td>\n </ng-container>\n\n <!-- Id column -->\n <ng-container matColumnDef=\"id\" [sticky]=\"useSticky\" [class.mat-column-sticky]=\"useSticky\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ion-label>#</ion-label>\n </th>\n <td mat-cell *matCellDef=\"let row\">{{ row.currentData?.id }}</td>\n </ng-container>\n\n <!-- Label column -->\n <ng-container matColumnDef=\"label\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ion-label translate>TABLE.TESTING.LABEL</ion-label>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <mat-form-field floatLabel=\"never\">\n <input matInput\n [formControl]=\"row.validator.controls['label']\"\n [placeholder]=\"'TABLE.TESTING.LABEL'|translate\"\n [appAutofocus]=\"row.editing && focusColumn === 'label'\"\n [readonly]=\"!row.editing\">\n <mat-error *ngIf=\"row.validator.controls['label'].hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n </td>\n </ng-container>\n\n <!-- Name column -->\n <ng-container matColumnDef=\"name\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ion-label translate>TABLE.TESTING.NAME</ion-label>\n </th>\n <td mat-cell *matCellDef=\"let row\" [class.mat-form-field-disabled]=\"!row.editing\">\n <mat-form-field floatLabel=\"never\">\n <input matInput [formControl]=\"row.validator?.controls.name\" [placeholder]=\"'TABLE.TESTING.NAME'|translate\"\n [readonly]=\"!row.editing\">\n <mat-error *ngIf=\"row.validator?.controls.name.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n </td>\n </ng-container>\n\n <!-- Level column -->\n <ng-container matColumnDef=\"levelId\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ion-label translate>TABLE.TESTING.LEVEL_ID</ion-label>\n </th>\n <td mat-cell *matCellDef=\"let row\" [class.mat-form-field-disabled]=\"!row.editing\">\n <mat-autocomplete-field floatLabel=\"never\"\n [formControl]=\"row.validator.controls.levelId\"\n [config]=\"autocompleteFields.level\"\n [readonly]=\"!row.editing\"\n required>\n </mat-autocomplete-field>\n </td>\n </ng-container>\n\n <!-- Status column -->\n <ng-container matColumnDef=\"statusId\">\n <th mat-header-cell *matHeaderCellDef>\n <span translate>USER.STATUS</span>\n </th>\n <td mat-cell *matCellDef=\"let row\" [class.mat-form-field-disabled]=\"!row.editing\">\n <mat-form-field floatLabel=\"never\">\n <ion-icon matPrefix *ngIf=\"row.validator.controls['statusId'].value >=0\" [name]=\"statusById[row.validator.controls['statusId'].value]?.icon\"></ion-icon>\n\n <mat-select [formControl]=\"row.validator.controls['statusId']\" [placeholder]=\"i18nColumnPrefix + 'STATUS_ID'|translate\">\n <mat-select-trigger>\n <span *ngIf=\"row.validator.controls['statusId'].value >=0\">\n {{ statusById[row.validator.controls['statusId'].value]?.label | translate}}</span>\n </mat-select-trigger>\n <mat-option *ngFor=\"let item of statusList\" [value]=\"item.id\">\n <ion-icon [name]=\"item.icon\"></ion-icon>\n {{ item.label |translate }}\n </mat-option>\n </mat-select>\n <mat-error *ngIf=\"row.validator.controls['statusId'].hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n </td>\n </ng-container>\n\n\n <!-- Creation date column -->\n <ng-container matColumnDef=\"updateDate\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ion-label translate>TABLE.TESTING.UPDATE_DATE</ion-label>\n </th>\n <td mat-cell *matCellDef=\"let row\" class=\"mat-form-field-disabled\">\n <ion-text class=\"ion-text-end\" color=\"medium\" *ngIf=\"row.id!==-1\">\n <small [matTooltip]=\"'TABLE.TESTING.CREATION_DATE'|translate\" *ngIf=\"row.currentData.creationDate; let creationDate\">\n <ion-icon name=\"calendar\"></ion-icon>\n {{ creationDate | dateFormat: {time: true} }}\n </small><br/>\n <small [matTooltip]=\"'TABLE.TESTING.UPDATE_DATE'|translate\" *ngIf=\"row.currentData.updateDate; let updateDate\">\n <ion-icon name=\"time-outline\"></ion-icon>\n {{ updateDate | dateFormat: {time: true} }}\n </small>\n </ion-text>\n </td>\n </ng-container>\n\n <!-- Comment column -->\n <ng-container matColumnDef=\"comments\">\n <th mat-header-cell *matHeaderCellDef>\n <ion-label translate>TABLE.TESTING.COMMENTS</ion-label>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <mat-form-field floatLabel=\"never\" *ngIf=\"row.editing; else iconComment\">\n <!--<textarea matInput [formControl]=\"row.validator?.controls.comments\"\n [placeholder]=\"'TABLE.TESTING.COMMENTS'|translate\"\n [readonly]=\"!row.editing\"></textarea>-->\n\n <input type=\"text\" matInput [formControl]=\"row.validator?.controls.comments\"\n [placeholder]=\"'TABLE.TESTING.COMMENTS'|translate\"\n [readonly]=\"!row.editing\"\n [appAutofocus]=\"row.editing && focusColumn === 'comments'\">\n </mat-form-field>\n\n <ng-template #iconComment>\n <mat-icon class=\"comment\"\n *ngIf=\"row.validator?.controls.comments.value\"\n [title]=\"row.validator?.controls.comments.value\"></mat-icon>\n </ng-template>\n </td>\n </ng-container>\n\n <!-- Actions buttons column -->\n <app-actions-column [stickyEnd]=\"true\" [canCancel]=\"false\"\n (optionsClick)=\"openSelectColumnsModal($event)\"\n (cancelOrDeleteClick)=\"cancelOrDelete($event.event, $event.row)\"\n (confirmAndAddClick)=\"confirmAndAdd($event.event, $event.row)\"\n (backward)=\"confirmAndBackward($event.event, $event.row)\"\n (forward)=\"confirmAndForward($event.event, $event.row)\"\n [cellTemplate]=\"cellInjection\">\n\n <!-- cell injection-->\n <ng-template #cellInjection let-row>\n <span *ngIf=\"row.editing && !row.validator.dirty\">-</span>\n </ng-template>\n\n </app-actions-column>\n\n <tr mat-header-row *matHeaderRowDef=\"groupColumns;\" class=\"mat-toolbar\"></tr>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"\n [class.mat-row-selected]=\"row.editing\"\n [class.mat-row-error]=\"row.validator?.invalid\"\n [class.mat-row-disabled]=\"!row.editing\"\n [class.mat-row-dirty]=\"row.validator?.dirty\"\n (click)=\"clickRow($event, row)\"\n (keydown.escape)=\"escapeEditingRow($event)\"\n [cdkTrapFocus]=\"row.validator?.invalid\"></tr>\n </table>\n\n <ng-container *ngIf=\"loadingSubject|async; else noResult\">\n <ion-item>\n <ion-skeleton-text animated></ion-skeleton-text>\n </ion-item>\n </ng-container>\n\n <ng-template #noResult>\n <ion-item *ngIf=\"totalRowCount === 0\">\n <ion-text color=\"danger\" class=\"text-italic\" translate>COMMON.NO_RESULT</ion-text>\n </ion-item>\n </ng-template>\n\n <ion-infinite-scroll *ngIf=\"enableInfiniteScroll\"\n [threshold]=\"mobile ? '10%' : '2%'\" position=\"bottom\"\n (ionInfinite)=\"loadMore($event)\">\n <ion-infinite-scroll-content\n loadingSpinner=\"circles\"\n [loadingText]=\"'COMMON.LOADING_DOTS'|translate\">\n </ion-infinite-scroll-content>\n </ion-infinite-scroll>\n </div>\n</ion-content>\n\n<ion-footer>\n <!-- Paginator -->\n <mat-paginator *ngIf=\"!enableInfiniteScroll\"\n [length]=\"totalRowCount\" [pageSize]=\"defaultPageSize\" [pageSizeOptions]=\"defaultPageSizeOptions\"\n class=\"mat-paginator-footer\"\n showFirstLastButtons>\n </mat-paginator>\n\n <app-form-buttons-bar *ngIf=\"canEdit && !mobile\"\n (onCancel)=\"load()\"\n (onSave)=\"save()\" [disabled]=\"(loadingSubject|async) || !dirty\">\n <!-- error -->\n <ion-item *ngIf=\"error$|async\" lines=\"none\">\n <ion-icon color=\"danger\" slot=\"start\" name=\"alert-circle\"></ion-icon>\n <ion-label color=\"danger\" [innerHTML]=\"error|translate\"></ion-label>\n </ion-item>\n </app-form-buttons-bar>\n</ion-footer>\n\n<ion-fab slot=\"fixed\" vertical=\"bottom\" horizontal=\"end\"\n *ngIf=\"canEdit && mobile\">\n <ion-fab-button color=\"tertiary\" (click)=\"addRow($event)\">\n <ion-icon name=\"add\"></ion-icon>\n </ion-fab-button>\n</ion-fab>\n",
|
|
34013
|
+
template: "<app-toolbar color=\"primary\" [canGoBack]=\"true\"\n [hasValidate]=\"!(loadingSubject|async) && dirty\"\n (onValidate)=\"save()\"\n [backHref]=\"'/testing'\">\n <ion-buttons slot=\"end\">\n\n\n <ng-container *ngIf=\"!selection.hasValue(); else hasSelection\">\n <!-- Add -->\n <button mat-icon-button\n *ngIf=\"canEdit && !mobile\"\n [title]=\"'COMMON.BTN_ADD'|translate\"\n (click)=\"addRow()\">\n <mat-icon>add</mat-icon>\n </button>\n\n <!-- reset filter -->\n <button mat-icon-button (click)=\"resetFilter()\"\n *ngIf=\"filterCriteriaCount\">\n <mat-icon color=\"accent\">filter_list_alt</mat-icon>\n <mat-icon class=\"icon-secondary\" style=\"left: 16px; top: 5px; font-weight: bold;\">close</mat-icon>\n </button>\n\n <!-- show filter -->\n <button mat-icon-button (click)=\"filterExpansionPanel.toggle()\">\n <mat-icon *ngIf=\"filterCriteriaCount; else emptyFilter\"\n [matBadge]=\"filterCriteriaCount\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\"\n matBadgePosition=\"above after\">filter_list_alt\n </mat-icon>\n <ng-template #emptyFilter>\n <mat-icon>filter_list_alt</mat-icon>\n </ng-template>\n </button>\n\n <!-- start/stop timer to auto-load data -->\n <ion-button *ngIf=\"!timer\" (click)=\"startTimer()\">Start reload</ion-button>\n <ion-button *ngIf=\"timer\" (click)=\"stopTimer()\" color=\"accent\">Stop reload</ion-button>\n </ng-container>\n\n <!-- if row selection -->\n <ng-template #hasSelection>\n\n <!-- delete -->\n <button mat-icon-button\n *ngIf=\"canEdit\" [title]=\"'COMMON.BTN_DELETE'|translate\"\n (click)=\"deleteSelection($event)\">\n <mat-icon>delete</mat-icon>\n </button>\n\n <!-- duplicate -->\n <button mat-icon-button\n *ngIf=\"canEdit && selection.selected | isArrayLength: {equals: 1}\"\n [title]=\"'COMMON.BTN_DUPLICATE'|translate\"\n (click)=\"duplicateRow($event, selection.selected[0])\">\n <mat-icon>file_copy</mat-icon>\n </button>\n </ng-template>\n </ion-buttons>\n</app-toolbar>\n<ion-content class=\"ion-no-padding\">\n\n <ion-refresher slot=\"fixed\" *ngIf=\"mobile\" (ionRefresh)=\"doRefresh($event)\">\n <ion-refresher-content></ion-refresher-content>\n </ion-refresher>\n\n <!-- error -->\n <ion-item *ngIf=\"mobile && error\" lines=\"none\" @slideUpDownAnimation>\n <ion-icon color=\"danger\" slot=\"start\" name=\"alert-circle\"></ion-icon>\n <ion-label color=\"danger\" class=\"error\" [innerHTML]=\"error|translate\"></ion-label>\n </ion-item>\n\n <!-- search -->\n <mat-expansion-panel #filterExpansionPanel class=\"filter-panel filter-panel-floating\">\n <form class=\"form-container ion-padding-top\" [formGroup]=\"filterForm\" (ngSubmit)=\"applyFilterAndClosePanel($event)\">\n\n <ion-grid>\n <ion-row>\n <ion-col>\n <!-- search text -->\n <mat-form-field>\n <ion-icon matPrefix name=\"search\"></ion-icon>\n <input matInput\n formControlName=\"searchText\"\n autocomplete=\"off\"\n [placeholder]=\"'TABLE.TESTING.SEARCH_TEXT'|translate\">\n <button mat-icon-button matSuffix tabindex=\"-1\"\n type=\"button\"\n (click)=\"clearControlValue($event, filterForm.controls.searchText)\"\n [hidden]=\"filterForm.controls.searchText.disabled || !filterForm.controls.searchText.value\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </ion-col>\n </ion-row>\n </ion-grid>\n </form>\n\n <mat-action-row>\n <!-- Counter -->\n <ion-label [hidden]=\"(loadingSubject|async) || filterForm.dirty\"\n [color]=\"empty && 'danger'\"\n class=\"ion-padding\">\n {{ (totalRowCount ? 'COMMON.RESULT_COUNT' : 'COMMON.NO_RESULT') | translate: {\n count: (totalRowCount |\n numberFormat)\n } }}\n </ion-label>\n\n <div class=\"toolbar-spacer\"></div>\n\n <!-- Close panel -->\n <ion-button mat-button fill=\"clear\" color=\"dark\"\n (click)=\"filterExpansionPanel.close()\"\n [disabled]=\"loadingSubject|async\">\n <ion-text translate>COMMON.BTN_CLOSE</ion-text>\n </ion-button>\n\n <!-- Search button -->\n <ion-button mat-button\n [color]=\"filterForm.dirty ? 'tertiary' : 'dark'\"\n [fill]=\"filterForm.dirty ? 'solid' : 'clear'\"\n (click)=\"applyFilterAndClosePanel($event)\">\n <ion-text translate>COMMON.BTN_APPLY</ion-text>\n </ion-button>\n </mat-action-row>\n </mat-expansion-panel>\n\n <!-- table -->\n <div [class.table-container]=\"!enableInfiniteScroll\">\n <table #table mat-table matSort matSortDisableClear\n [dataSource]=\"dataSource\"\n [matSortActive]=\"defaultSortBy\"\n [matSortDirection]=\"defaultSortDirection\"\n [trackBy]=\"trackByFn\">\n\n <!-- group header cells -->\n\n <ng-container matColumnDef=\"top-start\" [sticky]=\"useSticky\">\n <th mat-header-cell *matHeaderCellDef [class.cdk-visually-hidden]=\"!canEdit\" [attr.colspan]=\"2\">\n <!-- start spacer -->\n </th>\n </ng-container>\n\n <ng-container matColumnDef=\"group-1\">\n <th mat-header-cell *matHeaderCellDef [attr.colspan]=\"3\" style=\"background-color: whitesmoke; margin-bottom: -1px;\">\n <ion-label translate>{{i18nColumnPrefix + 'GROUP_1'}}</ion-label>\n </th>\n </ng-container>\n\n <ng-container matColumnDef=\"group-2\">\n <th mat-header-cell *matHeaderCellDef [attr.colspan]=\"3\">\n <ion-label translate>{{i18nColumnPrefix + 'GROUP_2'}}</ion-label>\n </th>\n </ng-container>\n\n <ng-container matColumnDef=\"top-end\" >\n <th mat-header-cell *matHeaderCellDef>\n <!-- end spacer -->\n </th>\n </ng-container>\n\n <ng-container matColumnDef=\"select\" [sticky]=\"useSticky\" [class.mat-column-sticky]=\"useSticky\">\n <th mat-header-cell *matHeaderCellDef [class.cdk-visually-hidden]=\"!canEdit\">\n <mat-checkbox (change)=\"$event ? masterToggle() : null\" [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\">\n </mat-checkbox>\n </th>\n <td mat-cell *matCellDef=\"let row\" [class.cdk-visually-hidden]=\"!canEdit\">\n <mat-checkbox (click)=\"$event.stopPropagation()\" (change)=\"$event ? selection.toggle(row) : null\" [checked]=\"selection.isSelected(row)\">\n </mat-checkbox>\n </td>\n </ng-container>\n\n <!-- Id column -->\n <ng-container matColumnDef=\"id\" [sticky]=\"useSticky\" [class.mat-column-sticky]=\"useSticky\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ion-label>#</ion-label>\n </th>\n <td mat-cell *matCellDef=\"let row\">{{ row.currentData?.id }}</td>\n </ng-container>\n\n <!-- Label column -->\n <ng-container matColumnDef=\"label\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ion-label translate>TABLE.TESTING.LABEL</ion-label>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <mat-form-field floatLabel=\"never\">\n <input matInput\n [formControl]=\"row.validator.controls['label']\"\n [placeholder]=\"'TABLE.TESTING.LABEL'|translate\"\n [appAutofocus]=\"row.editing && focusColumn === 'label'\"\n [readonly]=\"!row.editing\">\n <mat-error *ngIf=\"row.validator.controls['label'].hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n </td>\n </ng-container>\n\n <!-- Name column -->\n <ng-container matColumnDef=\"name\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ion-label translate>TABLE.TESTING.NAME</ion-label>\n </th>\n <td mat-cell *matCellDef=\"let row\" [class.mat-form-field-disabled]=\"!row.editing\">\n <mat-form-field floatLabel=\"never\">\n <input matInput [formControl]=\"row.validator?.controls.name\" [placeholder]=\"'TABLE.TESTING.NAME'|translate\"\n [readonly]=\"!row.editing\">\n <mat-error *ngIf=\"row.validator?.controls.name.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n </td>\n </ng-container>\n\n <!-- Level column -->\n <ng-container matColumnDef=\"levelId\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ion-label translate>TABLE.TESTING.LEVEL_ID</ion-label>\n </th>\n <td mat-cell *matCellDef=\"let row\" [class.mat-form-field-disabled]=\"!row.editing\">\n <mat-autocomplete-field floatLabel=\"never\"\n [formControl]=\"row.validator.controls.levelId\"\n [config]=\"autocompleteFields.level\"\n [readonly]=\"!row.editing\"\n required>\n </mat-autocomplete-field>\n </td>\n </ng-container>\n\n <!-- Status column -->\n <ng-container matColumnDef=\"statusId\">\n <th mat-header-cell *matHeaderCellDef>\n <span translate>USER.STATUS</span>\n </th>\n <td mat-cell *matCellDef=\"let row\" [class.mat-form-field-disabled]=\"!row.editing\">\n <mat-form-field floatLabel=\"never\">\n <ion-icon matPrefix *ngIf=\"row.validator.controls['statusId'].value >=0\" [name]=\"statusById[row.validator.controls['statusId'].value]?.icon\"></ion-icon>\n\n <mat-select [formControl]=\"row.validator.controls['statusId']\" [placeholder]=\"i18nColumnPrefix + 'STATUS_ID'|translate\">\n <mat-select-trigger>\n <span *ngIf=\"row.validator.controls['statusId'].value >=0\">\n {{ statusById[row.validator.controls['statusId'].value]?.label | translate}}</span>\n </mat-select-trigger>\n <mat-option *ngFor=\"let item of statusList\" [value]=\"item.id\">\n <ion-icon [name]=\"item.icon\"></ion-icon>\n {{ item.label |translate }}\n </mat-option>\n </mat-select>\n <mat-error *ngIf=\"row.validator.controls['statusId'].hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n </td>\n </ng-container>\n\n\n <!-- Creation date column -->\n <ng-container matColumnDef=\"updateDate\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ion-label translate>TABLE.TESTING.UPDATE_DATE</ion-label>\n </th>\n <td mat-cell *matCellDef=\"let row\" class=\"mat-form-field-disabled\">\n <ion-text class=\"ion-text-end\" color=\"medium\" *ngIf=\"row.id!==-1\">\n <small [matTooltip]=\"'TABLE.TESTING.CREATION_DATE'|translate\" *ngIf=\"row.currentData.creationDate; let creationDate\">\n <ion-icon name=\"calendar\"></ion-icon>\n {{ creationDate | dateFormat: {time: true} }}\n </small><br/>\n <small [matTooltip]=\"'TABLE.TESTING.UPDATE_DATE'|translate\" *ngIf=\"row.currentData.updateDate; let updateDate\">\n <ion-icon name=\"time-outline\"></ion-icon>\n {{ updateDate | dateFormat: {time: true} }}\n </small>\n </ion-text>\n </td>\n </ng-container>\n\n <!-- Comment column -->\n <ng-container matColumnDef=\"comments\">\n <th mat-header-cell *matHeaderCellDef>\n <ion-label translate>TABLE.TESTING.COMMENTS</ion-label>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <mat-form-field floatLabel=\"never\" *ngIf=\"row.editing; else iconComment\">\n <!--<textarea matInput [formControl]=\"row.validator?.controls.comments\"\n [placeholder]=\"'TABLE.TESTING.COMMENTS'|translate\"\n [readonly]=\"!row.editing\"></textarea>-->\n\n <input type=\"text\" matInput [formControl]=\"row.validator?.controls.comments\"\n [placeholder]=\"'TABLE.TESTING.COMMENTS'|translate\"\n [readonly]=\"!row.editing\"\n [appAutofocus]=\"row.editing && focusColumn === 'comments'\">\n </mat-form-field>\n\n <ng-template #iconComment>\n <mat-icon class=\"comment\"\n *ngIf=\"row.validator?.controls.comments.value\"\n [title]=\"row.validator?.controls.comments.value\"></mat-icon>\n </ng-template>\n </td>\n </ng-container>\n\n <!-- Actions buttons column -->\n <app-actions-column [stickyEnd]=\"true\" [canCancel]=\"false\"\n (optionsClick)=\"openSelectColumnsModal($event)\"\n (cancelOrDeleteClick)=\"cancelOrDelete($event.event, $event.row)\"\n (confirmAndAddClick)=\"confirmAndAdd($event.event, $event.row)\"\n (backward)=\"confirmAndBackward($event.event, $event.row)\"\n (forward)=\"confirmAndForward($event.event, $event.row)\"\n [cellTemplate]=\"cellInjection\">\n\n <!-- cell injection-->\n <ng-template #cellInjection let-row>\n <span *ngIf=\"row.editing && !row.validator.dirty\">-</span>\n </ng-template>\n\n </app-actions-column>\n\n <tr mat-header-row *matHeaderRowDef=\"groupColumns;\" class=\"mat-toolbar\"></tr>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"\n [class.mat-row-selected]=\"row.editing\"\n [class.mat-row-error]=\"row.validator?.invalid\"\n [class.mat-row-disabled]=\"!row.editing\"\n [class.mat-row-dirty]=\"row.validator?.dirty\"\n (click)=\"clickRow($event, row)\"\n (keydown.escape)=\"escapeEditingRow($event)\"\n [cdkTrapFocus]=\"row.validator?.invalid\"></tr>\n </table>\n\n <ng-container *ngIf=\"loadingSubject|async; else noResult\">\n <ion-item>\n <ion-skeleton-text animated></ion-skeleton-text>\n </ion-item>\n </ng-container>\n\n <ng-template #noResult>\n <ion-item *ngIf=\"totalRowCount === 0\">\n <ion-text color=\"danger\" class=\"text-italic\" translate>COMMON.NO_RESULT</ion-text>\n </ion-item>\n </ng-template>\n\n <ion-infinite-scroll *ngIf=\"enableInfiniteScroll\"\n [threshold]=\"mobile ? '10%' : '2%'\" position=\"bottom\"\n (ionInfinite)=\"fetchMore($event)\">\n <ion-infinite-scroll-content\n loadingSpinner=\"circles\"\n [loadingText]=\"'COMMON.LOADING_DOTS'|translate\">\n </ion-infinite-scroll-content>\n </ion-infinite-scroll>\n </div>\n</ion-content>\n\n<ion-footer>\n <!-- Paginator -->\n <mat-paginator *ngIf=\"!enableInfiniteScroll\"\n [length]=\"totalRowCount\" [pageSize]=\"defaultPageSize\" [pageSizeOptions]=\"defaultPageSizeOptions\"\n class=\"mat-paginator-footer\"\n showFirstLastButtons>\n </mat-paginator>\n\n <app-form-buttons-bar *ngIf=\"canEdit && !mobile\"\n (onCancel)=\"load()\"\n (onSave)=\"save()\"\n [disabled]=\"(loadingSubject|async) || !dirty\">\n <!-- error -->\n <ion-item *ngIf=\"error$|async\" lines=\"none\">\n <ion-icon color=\"danger\" slot=\"start\" name=\"alert-circle\"></ion-icon>\n <ion-label color=\"danger\" [innerHTML]=\"error|translate\"></ion-label>\n </ion-item>\n </app-form-buttons-bar>\n</ion-footer>\n\n<ion-fab slot=\"fixed\" vertical=\"bottom\" horizontal=\"end\"\n *ngIf=\"canEdit && mobile\">\n <ion-fab-button color=\"tertiary\" (click)=\"addRow($event)\">\n <ion-icon name=\"add\"></ion-icon>\n </ion-fab-button>\n</ion-fab>\n",
|
|
33934
34014
|
providers: [
|
|
33935
34015
|
{
|
|
33936
34016
|
provide: AppValidatorService,
|
|
@@ -34027,7 +34107,7 @@
|
|
|
34027
34107
|
{ type: i1$5.PopoverController }
|
|
34028
34108
|
]; };
|
|
34029
34109
|
|
|
34030
|
-
var routes$
|
|
34110
|
+
var routes$2 = [
|
|
34031
34111
|
{
|
|
34032
34112
|
path: 'text-popover',
|
|
34033
34113
|
pathMatch: 'full',
|
|
@@ -34045,7 +34125,7 @@
|
|
|
34045
34125
|
i1$4.CommonModule,
|
|
34046
34126
|
i1$5.IonicModule,
|
|
34047
34127
|
i1$2.TranslateModule.forChild(),
|
|
34048
|
-
i3.RouterModule.forChild(routes$
|
|
34128
|
+
i3.RouterModule.forChild(routes$2)
|
|
34049
34129
|
],
|
|
34050
34130
|
declarations: [
|
|
34051
34131
|
TextPopoverTestingPage
|
|
@@ -34062,7 +34142,7 @@
|
|
|
34062
34142
|
{ label: 'Table', page: '/testing/core/table' },
|
|
34063
34143
|
{ label: 'Text popover', page: '/testing/core/text-popover' }
|
|
34064
34144
|
];
|
|
34065
|
-
var routes$
|
|
34145
|
+
var routes$1 = [
|
|
34066
34146
|
{
|
|
34067
34147
|
path: '',
|
|
34068
34148
|
pathMatch: 'full',
|
|
@@ -34089,7 +34169,7 @@
|
|
|
34089
34169
|
imports: [
|
|
34090
34170
|
i1$4.CommonModule,
|
|
34091
34171
|
i1$2.TranslateModule.forChild(),
|
|
34092
|
-
i3.RouterModule.forChild(routes$
|
|
34172
|
+
i3.RouterModule.forChild(routes$1),
|
|
34093
34173
|
// Sub modules
|
|
34094
34174
|
TableTestingModule,
|
|
34095
34175
|
TextPopoverTestingModule
|
|
@@ -34444,7 +34524,7 @@
|
|
|
34444
34524
|
{ type: Environment, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [ENVIRONMENT,] }] }
|
|
34445
34525
|
]; };
|
|
34446
34526
|
|
|
34447
|
-
var moment
|
|
34527
|
+
var moment = momentImported__namespace;
|
|
34448
34528
|
var UserEventTestingPage = /** @class */ (function () {
|
|
34449
34529
|
function UserEventTestingPage(userEventService, router, alertController, translateService) {
|
|
34450
34530
|
var _this = this;
|
|
@@ -34510,7 +34590,7 @@
|
|
|
34510
34590
|
type: 'message',
|
|
34511
34591
|
level: 'INFO',
|
|
34512
34592
|
message: 'message test message test message test message test message test message test message test message test',
|
|
34513
|
-
creationDate: moment
|
|
34593
|
+
creationDate: moment(),
|
|
34514
34594
|
}));
|
|
34515
34595
|
};
|
|
34516
34596
|
UserEventTestingPage.prototype.addError = function () {
|
|
@@ -34520,7 +34600,7 @@
|
|
|
34520
34600
|
type: 'upload',
|
|
34521
34601
|
level: 'ERROR',
|
|
34522
34602
|
message: 'message error',
|
|
34523
|
-
creationDate: moment
|
|
34603
|
+
creationDate: moment(),
|
|
34524
34604
|
}));
|
|
34525
34605
|
};
|
|
34526
34606
|
UserEventTestingPage.prototype.addWarning = function () {
|
|
@@ -34530,7 +34610,7 @@
|
|
|
34530
34610
|
type: 'download',
|
|
34531
34611
|
level: 'WARNING',
|
|
34532
34612
|
message: 'message warning',
|
|
34533
|
-
creationDate: moment
|
|
34613
|
+
creationDate: moment(),
|
|
34534
34614
|
}));
|
|
34535
34615
|
};
|
|
34536
34616
|
UserEventTestingPage.prototype.addDebug = function () {
|
|
@@ -34540,7 +34620,7 @@
|
|
|
34540
34620
|
type: 'debug',
|
|
34541
34621
|
level: 'DEBUG',
|
|
34542
34622
|
message: 'message DEBUG',
|
|
34543
|
-
creationDate: moment
|
|
34623
|
+
creationDate: moment(),
|
|
34544
34624
|
}));
|
|
34545
34625
|
};
|
|
34546
34626
|
UserEventTestingPage.prototype.addNotificationWithLink = function () {
|
|
@@ -34551,7 +34631,7 @@
|
|
|
34551
34631
|
type: 'message',
|
|
34552
34632
|
level: 'INFO',
|
|
34553
34633
|
message: 'message with link',
|
|
34554
|
-
creationDate: moment
|
|
34634
|
+
creationDate: moment(),
|
|
34555
34635
|
actions: [{
|
|
34556
34636
|
name: 'click here',
|
|
34557
34637
|
iconRef: {
|
|
@@ -34569,7 +34649,7 @@
|
|
|
34569
34649
|
type: 'message',
|
|
34570
34650
|
level: 'INFO',
|
|
34571
34651
|
message: 'message with action',
|
|
34572
|
-
creationDate: moment
|
|
34652
|
+
creationDate: moment(),
|
|
34573
34653
|
actions: [
|
|
34574
34654
|
{
|
|
34575
34655
|
name: 'click here',
|
|
@@ -34643,7 +34723,7 @@
|
|
|
34643
34723
|
type: 'message',
|
|
34644
34724
|
level: 'INFO',
|
|
34645
34725
|
message: 'message with action',
|
|
34646
|
-
creationDate: moment
|
|
34726
|
+
creationDate: moment(),
|
|
34647
34727
|
actions: [
|
|
34648
34728
|
{
|
|
34649
34729
|
default: true,
|
|
@@ -34701,7 +34781,7 @@
|
|
|
34701
34781
|
{ label: 'User event', page: '/testing/social/user-event' },
|
|
34702
34782
|
{ label: 'Job progression', page: '/testing/social/job-progression' }
|
|
34703
34783
|
];
|
|
34704
|
-
var routes
|
|
34784
|
+
var routes = [
|
|
34705
34785
|
{
|
|
34706
34786
|
path: 'job-progression',
|
|
34707
34787
|
pathMatch: 'full',
|
|
@@ -34723,7 +34803,7 @@
|
|
|
34723
34803
|
imports: [
|
|
34724
34804
|
i1$4.CommonModule,
|
|
34725
34805
|
i1$2.TranslateModule.forChild(),
|
|
34726
|
-
i3.RouterModule.forChild(routes
|
|
34806
|
+
i3.RouterModule.forChild(routes),
|
|
34727
34807
|
JobTestingModule,
|
|
34728
34808
|
UserEventTestingModule
|
|
34729
34809
|
],
|
|
@@ -34783,7 +34863,6 @@
|
|
|
34783
34863
|
exports.AppTabEditor = AppTabEditor;
|
|
34784
34864
|
exports.AppTabEditorOptions = AppTabEditorOptions;
|
|
34785
34865
|
exports.AppTable = AppTable;
|
|
34786
|
-
exports.AppTableDataSourceOptions = AppTableDataSourceOptions;
|
|
34787
34866
|
exports.AppTableUtils = AppTableUtils;
|
|
34788
34867
|
exports.AppUserEventNotificationIcon = AppUserEventNotificationIcon;
|
|
34789
34868
|
exports.AppValidatorService = AppValidatorService;
|
|
@@ -34867,7 +34946,7 @@
|
|
|
34867
34946
|
exports.FormGetGroupPipe = FormGetGroupPipe;
|
|
34868
34947
|
exports.FormGetPipe = FormGetPipe;
|
|
34869
34948
|
exports.FormGetValuePipe = FormGetValuePipe;
|
|
34870
|
-
exports.Fragments = Fragments
|
|
34949
|
+
exports.Fragments = Fragments;
|
|
34871
34950
|
exports.GraphqlService = GraphqlService;
|
|
34872
34951
|
exports.HAMMER_PRESS_TIME = HAMMER_PRESS_TIME;
|
|
34873
34952
|
exports.HAMMER_TAP_TIME = HAMMER_TAP_TIME;
|
|
@@ -35185,25 +35264,25 @@
|
|
|
35185
35264
|
exports.waitForTrue = waitForTrue;
|
|
35186
35265
|
exports.waitIdle = waitIdle;
|
|
35187
35266
|
exports.waitWhilePending = waitWhilePending;
|
|
35188
|
-
exports
|
|
35189
|
-
exports
|
|
35190
|
-
exports
|
|
35191
|
-
exports
|
|
35192
|
-
exports
|
|
35193
|
-
exports
|
|
35194
|
-
exports
|
|
35195
|
-
exports
|
|
35196
|
-
exports
|
|
35197
|
-
exports
|
|
35198
|
-
exports
|
|
35199
|
-
exports
|
|
35200
|
-
exports
|
|
35201
|
-
exports
|
|
35202
|
-
exports
|
|
35203
|
-
exports
|
|
35204
|
-
exports
|
|
35267
|
+
exports["ɵ0"] = ɵ0$c;
|
|
35268
|
+
exports["ɵa"] = CustomReuseStrategy;
|
|
35269
|
+
exports["ɵb"] = MatNumpadDomService;
|
|
35270
|
+
exports["ɵc"] = isFocusableElement;
|
|
35271
|
+
exports["ɵd"] = RegisterForm;
|
|
35272
|
+
exports["ɵe"] = AccountValidatorService;
|
|
35273
|
+
exports["ɵf"] = RegisterModal;
|
|
35274
|
+
exports["ɵg"] = UserSettingsValidatorService;
|
|
35275
|
+
exports["ɵh"] = LocalSettingsValidatorService;
|
|
35276
|
+
exports["ɵi"] = AppUpdateOfflineModeCard;
|
|
35277
|
+
exports["ɵj"] = UserEventNotificationList;
|
|
35278
|
+
exports["ɵk"] = JobProgressionList;
|
|
35279
|
+
exports["ɵl"] = DateTestPage;
|
|
35280
|
+
exports["ɵm"] = NumpadTestPage;
|
|
35281
|
+
exports["ɵn"] = MatBadgeIconTestPage;
|
|
35282
|
+
exports["ɵo"] = ToastTestingModule;
|
|
35283
|
+
exports["ɵp"] = ToastTestingPage;
|
|
35205
35284
|
|
|
35206
35285
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
35207
35286
|
|
|
35208
|
-
}))
|
|
35287
|
+
}));
|
|
35209
35288
|
//# sourceMappingURL=sumaris-net.ngx-components.umd.js.map
|