@sumaris-net/ngx-components 1.22.12 → 1.23.0-rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/sumaris-net.ngx-components.umd.js +510 -436
- 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 +104 -98
- package/esm2015/src/app/core/table/memory-table.class.js +3 -3
- package/esm2015/src/app/core/table/table.class.js +3 -3
- package/esm2015/src/app/core/table/testing/table.testing.js +16 -21
- 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 +422 -368
- 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 +17 -25
- package/src/app/core/table/memory-table.class.d.ts +2 -2
- 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
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('rxjs/internal/operators'), 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
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', 'rxjs/internal/operators', '@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[
|
|
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, operators$1, 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';
|
|
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.rxjs["internal/operators"], 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, operators$1, 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'
|
|
@@ -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,128 @@
|
|
|
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
|
};
|
|
26057
26125
|
EntitiesTableDataSource.prototype.getRows = function () {
|
|
26058
|
-
return
|
|
26126
|
+
return this.rowsSubject.getValue();
|
|
26059
26127
|
};
|
|
26060
|
-
EntitiesTableDataSource.prototype.
|
|
26128
|
+
EntitiesTableDataSource.prototype.createNew = function (insertAt) {
|
|
26061
26129
|
var _super = Object.create(null, {
|
|
26062
26130
|
createNew: { get: function () { return _super_1.prototype.createNew; } }
|
|
26063
26131
|
});
|
|
26132
|
+
var _a;
|
|
26064
26133
|
return __awaiter(this, void 0, void 0, function () {
|
|
26065
|
-
var row,
|
|
26066
|
-
return __generator(this, function (
|
|
26067
|
-
switch (
|
|
26134
|
+
var row, err_2;
|
|
26135
|
+
return __generator(this, function (_b) {
|
|
26136
|
+
switch (_b.label) {
|
|
26068
26137
|
case 0:
|
|
26069
26138
|
if (this._creating)
|
|
26070
26139
|
return [2 /*return*/]; // Avoid multiple call (should never occur)
|
|
26071
26140
|
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;
|
|
26141
|
+
_b.label = 1;
|
|
26078
26142
|
case 1:
|
|
26079
|
-
|
|
26080
|
-
return [4 /*yield*/,
|
|
26143
|
+
_b.trys.push([1, , 7, 8]);
|
|
26144
|
+
return [4 /*yield*/, _super.createNew.call(this, insertAt)];
|
|
26081
26145
|
case 2:
|
|
26082
|
-
|
|
26083
|
-
|
|
26146
|
+
row = _b.sent();
|
|
26147
|
+
if (!row)
|
|
26148
|
+
return [2 /*return*/];
|
|
26149
|
+
if (!((_a = this.config) === null || _a === void 0 ? void 0 : _a.onRowCreated)) return [3 /*break*/, 6];
|
|
26150
|
+
_b.label = 3;
|
|
26084
26151
|
case 3:
|
|
26085
|
-
|
|
26086
|
-
|
|
26087
|
-
return [3 /*break*/, 4];
|
|
26152
|
+
_b.trys.push([3, 5, , 6]);
|
|
26153
|
+
return [4 /*yield*/, this.config.onRowCreated(row)];
|
|
26088
26154
|
case 4:
|
|
26155
|
+
_b.sent();
|
|
26156
|
+
return [3 /*break*/, 6];
|
|
26157
|
+
case 5:
|
|
26158
|
+
err_2 = _b.sent();
|
|
26159
|
+
// Log, then continue
|
|
26160
|
+
console.error(err_2 && err_2.message || err_2, err_2);
|
|
26161
|
+
return [3 /*break*/, 6];
|
|
26162
|
+
case 6:
|
|
26089
26163
|
this._editingRowCount++;
|
|
26164
|
+
return [2 /*return*/, row];
|
|
26165
|
+
case 7:
|
|
26090
26166
|
this._creating = false;
|
|
26091
|
-
return [
|
|
26167
|
+
return [7 /*endfinally*/];
|
|
26168
|
+
case 8: return [2 /*return*/];
|
|
26092
26169
|
}
|
|
26093
26170
|
});
|
|
26094
26171
|
});
|
|
26095
26172
|
};
|
|
26096
26173
|
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
|
-
});
|
|
26174
|
+
var rows = this.getRows();
|
|
26175
|
+
return this.getDataFromRows(rows);
|
|
26108
26176
|
};
|
|
26109
26177
|
EntitiesTableDataSource.prototype.fetchMore = function (opts) {
|
|
26110
26178
|
var _super = Object.create(null, {
|
|
26111
26179
|
updateDatasource: { get: function () { return _super_1.prototype.updateDatasource; } }
|
|
26112
26180
|
});
|
|
26113
26181
|
return __awaiter(this, void 0, void 0, function () {
|
|
26114
|
-
var fetchMoreFn, res
|
|
26115
|
-
|
|
26116
|
-
|
|
26182
|
+
var fetchMoreFn, res;
|
|
26183
|
+
var _b;
|
|
26184
|
+
return __generator(this, function (_c) {
|
|
26185
|
+
switch (_c.label) {
|
|
26117
26186
|
case 0:
|
|
26118
26187
|
if (!this._fetchMoreFn)
|
|
26119
26188
|
return [2 /*return*/, false]; // Avoid multiple call
|
|
26120
26189
|
if (this._editingRowCount > 0) {
|
|
26121
|
-
console.warn(
|
|
26190
|
+
console.warn("Cannot fetch more " + this._entityName + " because " + this._editingRowCount + " row(s) still editing");
|
|
26122
26191
|
return [2 /*return*/];
|
|
26123
26192
|
}
|
|
26193
|
+
console.debug("Will fetching more row(s) still...");
|
|
26124
26194
|
fetchMoreFn = this._fetchMoreFn;
|
|
26125
26195
|
this._fetchMoreFn = null;
|
|
26126
26196
|
return [4 /*yield*/, fetchMoreFn()];
|
|
26127
26197
|
case 1:
|
|
26128
|
-
res =
|
|
26198
|
+
res = _c.sent();
|
|
26129
26199
|
// Skip if empty (no more data)
|
|
26130
|
-
if (
|
|
26200
|
+
if (isEmptyArray(res === null || res === void 0 ? void 0 : res.data))
|
|
26131
26201
|
return [2 /*return*/, false];
|
|
26132
|
-
|
|
26133
|
-
|
|
26134
|
-
existingData = _a.sent();
|
|
26135
|
-
_super.updateDatasource.call(this, existingData.concat.apply(existingData, __spread(res.data)), opts);
|
|
26202
|
+
// Update the data source
|
|
26203
|
+
_super.updateDatasource.call(this, (_b = (this.currentData || [])).concat.apply(_b, __spread(res.data)), opts);
|
|
26136
26204
|
// Remember fetchMore
|
|
26137
26205
|
this._fetchMoreFn = res.fetchMore;
|
|
26138
26206
|
return [2 /*return*/, true];
|
|
@@ -26159,8 +26227,8 @@
|
|
|
26159
26227
|
EntitiesTableDataSource.ctorParameters = function () { return [
|
|
26160
26228
|
{ type: Function },
|
|
26161
26229
|
{ type: undefined },
|
|
26162
|
-
{ type:
|
|
26163
|
-
{ type:
|
|
26230
|
+
{ type: undefined },
|
|
26231
|
+
{ type: undefined }
|
|
26164
26232
|
]; };
|
|
26165
26233
|
|
|
26166
26234
|
var SETTINGS_DISPLAY_COLUMNS = 'displayColumns';
|
|
@@ -27709,7 +27777,7 @@
|
|
|
27709
27777
|
case 0:
|
|
27710
27778
|
this.focusFirstColumn = true;
|
|
27711
27779
|
this.focusColumn = (opts === null || opts === void 0 ? void 0 : opts.focusColumn) || this.firstUserColumn;
|
|
27712
|
-
return [4 /*yield*/, this._dataSource.
|
|
27780
|
+
return [4 /*yield*/, this._dataSource.createNew(insertAt)];
|
|
27713
27781
|
case 1:
|
|
27714
27782
|
_e.sent();
|
|
27715
27783
|
this.editedRow = this._dataSource.getRow(-1);
|
|
@@ -27909,7 +27977,7 @@
|
|
|
27909
27977
|
return __generator(this, function (_e) {
|
|
27910
27978
|
switch (_e.label) {
|
|
27911
27979
|
case 0:
|
|
27912
|
-
markRowAsPristine = ((_a = this.dataSource) === null || _a === void 0 ? void 0 : _a.
|
|
27980
|
+
markRowAsPristine = ((_a = this.dataSource) === null || _a === void 0 ? void 0 : _a.config.restoreOriginalDataOnCancel) === true;
|
|
27913
27981
|
if (!markRowAsPristine) return [3 /*break*/, 2];
|
|
27914
27982
|
(_b = row.validator) === null || _b === void 0 ? void 0 : _b.markAsPristine();
|
|
27915
27983
|
if (!(!opts || opts.onlySelf !== true)) return [3 /*break*/, 2];
|
|
@@ -30284,7 +30352,7 @@
|
|
|
30284
30352
|
{ type: Function },
|
|
30285
30353
|
{ type: InMemoryEntitiesService },
|
|
30286
30354
|
{ type: ngxMaterialTable.ValidatorService },
|
|
30287
|
-
{ type:
|
|
30355
|
+
{ type: undefined },
|
|
30288
30356
|
{ type: undefined }
|
|
30289
30357
|
]; };
|
|
30290
30358
|
AppInMemoryTable.propDecorators = {
|
|
@@ -30301,7 +30369,7 @@
|
|
|
30301
30369
|
SUBSCRIBE_JOB_PROGRESSION_ERROR: 50010
|
|
30302
30370
|
};
|
|
30303
30371
|
|
|
30304
|
-
var moment$
|
|
30372
|
+
var moment$4 = momentImported__namespace;
|
|
30305
30373
|
var USER_EVENT_SERVICE = new i0.InjectionToken('UserEventService');
|
|
30306
30374
|
var AbstractUserEventService = /** @class */ (function (_super) {
|
|
30307
30375
|
__extends(AbstractUserEventService, _super);
|
|
@@ -30823,7 +30891,7 @@
|
|
|
30823
30891
|
};
|
|
30824
30892
|
AbstractUserEventService.prototype.resetCount = function () {
|
|
30825
30893
|
this._countSubject.next(undefined);
|
|
30826
|
-
this.resetCountDate = moment$
|
|
30894
|
+
this.resetCountDate = moment$4();
|
|
30827
30895
|
// restart listening count changes
|
|
30828
30896
|
this.startListenCountChanges();
|
|
30829
30897
|
};
|
|
@@ -30927,7 +30995,7 @@
|
|
|
30927
30995
|
if (!userEvents.length)
|
|
30928
30996
|
return [2 /*return*/];
|
|
30929
30997
|
// set read date
|
|
30930
|
-
userEvents.forEach(function (userEvent) { return userEvent.readDate = moment$
|
|
30998
|
+
userEvents.forEach(function (userEvent) { return userEvent.readDate = moment$4(); });
|
|
30931
30999
|
localEntities = userEvents.filter(function (userEvent) { return !userEvent.id || userEvent.id < 0; });
|
|
30932
31000
|
remoteEntities = userEvents.filter(function (userEvent) { return userEvent.id > 0; });
|
|
30933
31001
|
// save local entities
|
|
@@ -31973,7 +32041,7 @@
|
|
|
31973
32041
|
];
|
|
31974
32042
|
|
|
31975
32043
|
var Mutations = {
|
|
31976
|
-
send: core.gql(templateObject_1$
|
|
32044
|
+
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
32045
|
};
|
|
31978
32046
|
var MessageService = /** @class */ (function (_super) {
|
|
31979
32047
|
__extends(MessageService, _super);
|
|
@@ -32047,7 +32115,7 @@
|
|
|
32047
32115
|
};
|
|
32048
32116
|
return MessageService;
|
|
32049
32117
|
}(BaseGraphqlService));
|
|
32050
|
-
MessageService.ɵprov =
|
|
32118
|
+
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
32119
|
MessageService.decorators = [
|
|
32052
32120
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
32053
32121
|
];
|
|
@@ -32057,7 +32125,7 @@
|
|
|
32057
32125
|
{ type: i1$5.ToastController },
|
|
32058
32126
|
{ type: Environment, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [ENVIRONMENT,] }] }
|
|
32059
32127
|
]; };
|
|
32060
|
-
var templateObject_1$
|
|
32128
|
+
var templateObject_1$1;
|
|
32061
32129
|
|
|
32062
32130
|
var PersonFilter_1;
|
|
32063
32131
|
// @dynamic
|
|
@@ -32116,16 +32184,16 @@
|
|
|
32116
32184
|
], exports.PersonFilter);
|
|
32117
32185
|
|
|
32118
32186
|
var PersonFragments = {
|
|
32119
|
-
person: core.gql(templateObject_1
|
|
32187
|
+
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
32188
|
};
|
|
32121
32189
|
// Load persons query
|
|
32122
32190
|
var PersonQueries = {
|
|
32123
|
-
loadAll: core.gql(templateObject_2
|
|
32124
|
-
loadAllWithTotal: core.gql(templateObject_3
|
|
32191
|
+
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),
|
|
32192
|
+
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
32193
|
};
|
|
32126
32194
|
var PersonMutations = {
|
|
32127
|
-
saveAll: core.gql(templateObject_4
|
|
32128
|
-
deleteAll: core.gql(templateObject_5
|
|
32195
|
+
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),
|
|
32196
|
+
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
32197
|
};
|
|
32130
32198
|
var PersonService = /** @class */ (function (_super_1) {
|
|
32131
32199
|
__extends(PersonService, _super_1);
|
|
@@ -32246,7 +32314,7 @@
|
|
|
32246
32314
|
};
|
|
32247
32315
|
return PersonService;
|
|
32248
32316
|
}(BaseEntityService));
|
|
32249
|
-
PersonService.ɵprov =
|
|
32317
|
+
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
32318
|
PersonService.decorators = [
|
|
32251
32319
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
32252
32320
|
];
|
|
@@ -32256,7 +32324,7 @@
|
|
|
32256
32324
|
{ type: NetworkService },
|
|
32257
32325
|
{ type: EntitiesStorage }
|
|
32258
32326
|
]; };
|
|
32259
|
-
var templateObject_1
|
|
32327
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
|
|
32260
32328
|
|
|
32261
32329
|
var PersonValidatorService = /** @class */ (function () {
|
|
32262
32330
|
function PersonValidatorService(formBuilder, accountValidatorService) {
|
|
@@ -32279,7 +32347,7 @@
|
|
|
32279
32347
|
};
|
|
32280
32348
|
return PersonValidatorService;
|
|
32281
32349
|
}());
|
|
32282
|
-
PersonValidatorService.ɵprov =
|
|
32350
|
+
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
32351
|
PersonValidatorService.decorators = [
|
|
32284
32352
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
32285
32353
|
];
|
|
@@ -32542,17 +32610,17 @@
|
|
|
32542
32610
|
];
|
|
32543
32611
|
AdminModule.ctorParameters = function () { return []; };
|
|
32544
32612
|
|
|
32545
|
-
var ɵ0
|
|
32613
|
+
var ɵ0 = {
|
|
32546
32614
|
profile: 'ADMIN'
|
|
32547
32615
|
};
|
|
32548
|
-
var routes = [
|
|
32616
|
+
var routes$6 = [
|
|
32549
32617
|
{
|
|
32550
32618
|
path: 'users',
|
|
32551
32619
|
pathMatch: 'full',
|
|
32552
32620
|
component: UsersPage,
|
|
32553
32621
|
canActivate: [AuthGuardService],
|
|
32554
32622
|
canDeactivate: [ComponentDirtyGuard],
|
|
32555
|
-
data: ɵ0
|
|
32623
|
+
data: ɵ0
|
|
32556
32624
|
}
|
|
32557
32625
|
];
|
|
32558
32626
|
var AdminRoutingModule = /** @class */ (function () {
|
|
@@ -32565,30 +32633,30 @@
|
|
|
32565
32633
|
imports: [
|
|
32566
32634
|
SharedRoutingModule,
|
|
32567
32635
|
AdminModule,
|
|
32568
|
-
i3.RouterModule.forChild(routes)
|
|
32636
|
+
i3.RouterModule.forChild(routes$6)
|
|
32569
32637
|
],
|
|
32570
32638
|
exports: [i3.RouterModule]
|
|
32571
32639
|
},] }
|
|
32572
32640
|
];
|
|
32573
32641
|
|
|
32574
|
-
var EntityTestClass = /** @class */ (function () {
|
|
32642
|
+
var EntityTestClass$1 = /** @class */ (function () {
|
|
32575
32643
|
function EntityTestClass() {
|
|
32576
32644
|
}
|
|
32577
32645
|
return EntityTestClass;
|
|
32578
32646
|
}());
|
|
32579
|
-
var FAKE_ENTITIES = [
|
|
32647
|
+
var FAKE_ENTITIES$1 = [
|
|
32580
32648
|
{ id: 1, label: 'AAA', name: 'Item A', description: 'Very long description A', comments: 'Very very long comments... again for A' },
|
|
32581
32649
|
{ id: 2, label: 'BBB', name: 'Item B', description: 'Very long description B', comments: 'Very very long comments... again for B' },
|
|
32582
32650
|
{ id: 3, label: 'CCC', name: 'Item C', description: 'Very long description C', comments: 'Very very long comments... again for C' }
|
|
32583
32651
|
];
|
|
32584
|
-
function deepCopy(values, size) {
|
|
32652
|
+
function deepCopy$1(values, size) {
|
|
32585
32653
|
if (isNil(size)) {
|
|
32586
|
-
return (values || FAKE_ENTITIES).map(function (entity) { return Object.assign({}, entity); });
|
|
32654
|
+
return (values || FAKE_ENTITIES$1).map(function (entity) { return Object.assign({}, entity); });
|
|
32587
32655
|
}
|
|
32588
32656
|
var result = [];
|
|
32589
32657
|
var i = 1;
|
|
32590
32658
|
while (result.length < size) {
|
|
32591
|
-
result = result.concat((values || FAKE_ENTITIES).map(function (entity) {
|
|
32659
|
+
result = result.concat((values || FAKE_ENTITIES$1).map(function (entity) {
|
|
32592
32660
|
var name = entity.name + ' #' + i;
|
|
32593
32661
|
return Object.assign(Object.assign({}, entity), { id: i++, name: name });
|
|
32594
32662
|
}));
|
|
@@ -32598,7 +32666,7 @@
|
|
|
32598
32666
|
var AutocompleteTestPage = /** @class */ (function () {
|
|
32599
32667
|
function AutocompleteTestPage(formBuilder) {
|
|
32600
32668
|
this.formBuilder = formBuilder;
|
|
32601
|
-
this._items = deepCopy(FAKE_ENTITIES, 100);
|
|
32669
|
+
this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
|
|
32602
32670
|
this._$items = new rxjs.BehaviorSubject(undefined);
|
|
32603
32671
|
this.autocompleteFields = new MatAutocompleteConfigHolder();
|
|
32604
32672
|
this.memoryHide = false;
|
|
@@ -32644,7 +32712,7 @@
|
|
|
32644
32712
|
});
|
|
32645
32713
|
// From items
|
|
32646
32714
|
this.autocompleteFields.add('entity-items-large', {
|
|
32647
|
-
items: FAKE_ENTITIES.slice(),
|
|
32715
|
+
items: FAKE_ENTITIES$1.slice(),
|
|
32648
32716
|
attributes: ['label', 'name', 'description', 'comments'],
|
|
32649
32717
|
displayWith: this.entityToString
|
|
32650
32718
|
});
|
|
@@ -32680,14 +32748,14 @@
|
|
|
32680
32748
|
var _this = this;
|
|
32681
32749
|
return __generator(this, function (_a) {
|
|
32682
32750
|
data = {
|
|
32683
|
-
entity: deepCopy(FAKE_ENTITIES)[0],
|
|
32684
|
-
farEntity: deepCopy(FAKE_ENTITIES)[2],
|
|
32751
|
+
entity: deepCopy$1(FAKE_ENTITIES$1)[0],
|
|
32752
|
+
farEntity: deepCopy$1(FAKE_ENTITIES$1)[2],
|
|
32685
32753
|
// This item is NOT in the items list => i should be displayed anyway
|
|
32686
32754
|
missingEntity: {
|
|
32687
32755
|
id: -1, label: '??', name: 'Missing item'
|
|
32688
32756
|
},
|
|
32689
|
-
disableEntity: deepCopy(FAKE_ENTITIES)[2],
|
|
32690
|
-
entities: deepCopy(FAKE_ENTITIES)
|
|
32757
|
+
disableEntity: deepCopy$1(FAKE_ENTITIES$1)[2],
|
|
32758
|
+
entities: deepCopy$1(FAKE_ENTITIES$1)
|
|
32691
32759
|
};
|
|
32692
32760
|
this.form.setValue(data);
|
|
32693
32761
|
// Load observables
|
|
@@ -32859,13 +32927,13 @@
|
|
|
32859
32927
|
{ type: i1.FormBuilder }
|
|
32860
32928
|
]; };
|
|
32861
32929
|
|
|
32862
|
-
var moment$
|
|
32930
|
+
var moment$3 = momentImported__namespace;
|
|
32863
32931
|
var SwipeTestPage = /** @class */ (function () {
|
|
32864
32932
|
function SwipeTestPage(formBuilder, dateFormatPipe) {
|
|
32865
32933
|
this.formBuilder = formBuilder;
|
|
32866
32934
|
this.dateFormatPipe = dateFormatPipe;
|
|
32867
32935
|
this.$dates = new rxjs.BehaviorSubject(undefined);
|
|
32868
|
-
this._today = moment$
|
|
32936
|
+
this._today = moment$3().startOf('day');
|
|
32869
32937
|
this.form = formBuilder.group({
|
|
32870
32938
|
empty: [null, i1.Validators.required],
|
|
32871
32939
|
date: [null, i1.Validators.compose([i1.Validators.required, SharedValidators.validDate])],
|
|
@@ -32879,7 +32947,7 @@
|
|
|
32879
32947
|
var _this = this;
|
|
32880
32948
|
var dates = [];
|
|
32881
32949
|
for (var d = 0; d < 7; d++) {
|
|
32882
|
-
dates[d] = moment$
|
|
32950
|
+
dates[d] = moment$3(this._today).add(d - 3, 'day');
|
|
32883
32951
|
}
|
|
32884
32952
|
this.$dates.next(dates);
|
|
32885
32953
|
this.loadData();
|
|
@@ -32926,7 +32994,7 @@
|
|
|
32926
32994
|
{ type: DateFormatPipe }
|
|
32927
32995
|
]; };
|
|
32928
32996
|
|
|
32929
|
-
var moment$
|
|
32997
|
+
var moment$2 = momentImported__namespace;
|
|
32930
32998
|
var DateTimeTestPage = /** @class */ (function () {
|
|
32931
32999
|
function DateTimeTestPage(platform, formBuilder, cd) {
|
|
32932
33000
|
this.platform = platform;
|
|
@@ -32964,7 +33032,7 @@
|
|
|
32964
33032
|
var now, data;
|
|
32965
33033
|
var _this = this;
|
|
32966
33034
|
return __generator(this, function (_a) {
|
|
32967
|
-
now = moment$
|
|
33035
|
+
now = moment$2();
|
|
32968
33036
|
data = {
|
|
32969
33037
|
empty: null,
|
|
32970
33038
|
emptyRequired: null,
|
|
@@ -33034,12 +33102,12 @@
|
|
|
33034
33102
|
{ type: i0.ChangeDetectorRef }
|
|
33035
33103
|
]; };
|
|
33036
33104
|
|
|
33037
|
-
var EntityTestClass
|
|
33105
|
+
var EntityTestClass = /** @class */ (function () {
|
|
33038
33106
|
function EntityTestClass() {
|
|
33039
33107
|
}
|
|
33040
33108
|
return EntityTestClass;
|
|
33041
33109
|
}());
|
|
33042
|
-
var FAKE_ENTITIES
|
|
33110
|
+
var FAKE_ENTITIES = [
|
|
33043
33111
|
{ id: 1, label: 'AAA', name: 'Item A' },
|
|
33044
33112
|
{ id: 2, label: 'BBB', name: 'Item B' },
|
|
33045
33113
|
{ id: 3, label: 'CCC', name: 'Item C' },
|
|
@@ -33048,14 +33116,14 @@
|
|
|
33048
33116
|
{ id: 6, label: 'FFF', name: 'Item F' },
|
|
33049
33117
|
{ id: 7, label: 'GGG', name: 'Item G' }
|
|
33050
33118
|
];
|
|
33051
|
-
function deepCopy
|
|
33119
|
+
function deepCopy(values, size) {
|
|
33052
33120
|
if (isNil(size)) {
|
|
33053
|
-
return (values || FAKE_ENTITIES
|
|
33121
|
+
return (values || FAKE_ENTITIES).map(function (entity) { return Object.assign({}, entity); });
|
|
33054
33122
|
}
|
|
33055
33123
|
var result = [];
|
|
33056
33124
|
var i = 1;
|
|
33057
33125
|
while (result.length < size) {
|
|
33058
|
-
result = result.concat((values || FAKE_ENTITIES
|
|
33126
|
+
result = result.concat((values || FAKE_ENTITIES).map(function (entity) {
|
|
33059
33127
|
var name = entity.name + ' #' + i;
|
|
33060
33128
|
return Object.assign(Object.assign({}, entity), { id: i++, name: name });
|
|
33061
33129
|
}));
|
|
@@ -33065,7 +33133,7 @@
|
|
|
33065
33133
|
var ChipsTestPage = /** @class */ (function () {
|
|
33066
33134
|
function ChipsTestPage(formBuilder) {
|
|
33067
33135
|
this.formBuilder = formBuilder;
|
|
33068
|
-
this._items = deepCopy
|
|
33136
|
+
this._items = deepCopy(FAKE_ENTITIES, 100);
|
|
33069
33137
|
this._$items = new rxjs.BehaviorSubject(undefined);
|
|
33070
33138
|
this.autocompleteFields = new MatAutocompleteConfigHolder();
|
|
33071
33139
|
this.appearance = 'legacy';
|
|
@@ -33109,7 +33177,7 @@
|
|
|
33109
33177
|
var items, data;
|
|
33110
33178
|
var _this = this;
|
|
33111
33179
|
return __generator(this, function (_a) {
|
|
33112
|
-
items = deepCopy
|
|
33180
|
+
items = deepCopy(FAKE_ENTITIES);
|
|
33113
33181
|
data = {
|
|
33114
33182
|
entity: items.slice(0, 1),
|
|
33115
33183
|
entityInitial: items.slice(1, 2),
|
|
@@ -33246,7 +33314,7 @@
|
|
|
33246
33314
|
{ type: i1.FormBuilder }
|
|
33247
33315
|
]; };
|
|
33248
33316
|
|
|
33249
|
-
var moment$
|
|
33317
|
+
var moment$1 = momentImported__namespace;
|
|
33250
33318
|
var DateTestPage = /** @class */ (function () {
|
|
33251
33319
|
function DateTestPage(formBuilder, cd) {
|
|
33252
33320
|
this.formBuilder = formBuilder;
|
|
@@ -33283,7 +33351,7 @@
|
|
|
33283
33351
|
var now, nowAtMahe, data;
|
|
33284
33352
|
var _this = this;
|
|
33285
33353
|
return __generator(this, function (_a) {
|
|
33286
|
-
now = moment$
|
|
33354
|
+
now = moment$1();
|
|
33287
33355
|
nowAtMahe = now.clone().tz(this.timezone).startOf('day');
|
|
33288
33356
|
data = {
|
|
33289
33357
|
empty: null,
|
|
@@ -33365,7 +33433,7 @@
|
|
|
33365
33433
|
{ label: 'Shared directives', divider: true },
|
|
33366
33434
|
{ label: 'Badge icon directive', page: '/testing/shared/badge-icon' }
|
|
33367
33435
|
];
|
|
33368
|
-
var routes$
|
|
33436
|
+
var routes$5 = [
|
|
33369
33437
|
{
|
|
33370
33438
|
path: '',
|
|
33371
33439
|
pathMatch: 'full',
|
|
@@ -33425,7 +33493,7 @@
|
|
|
33425
33493
|
i1.ReactiveFormsModule,
|
|
33426
33494
|
SharedMaterialModule,
|
|
33427
33495
|
i1$2.TranslateModule.forChild(),
|
|
33428
|
-
i3.RouterModule.forChild(routes$
|
|
33496
|
+
i3.RouterModule.forChild(routes$5)
|
|
33429
33497
|
],
|
|
33430
33498
|
declarations: [
|
|
33431
33499
|
DateTimeTestPage,
|
|
@@ -33487,7 +33555,7 @@
|
|
|
33487
33555
|
{ type: i1$2.TranslateService }
|
|
33488
33556
|
]; };
|
|
33489
33557
|
|
|
33490
|
-
var routes$
|
|
33558
|
+
var routes$4 = [
|
|
33491
33559
|
{
|
|
33492
33560
|
path: 'toast',
|
|
33493
33561
|
pathMatch: 'full',
|
|
@@ -33505,7 +33573,7 @@
|
|
|
33505
33573
|
i1$4.CommonModule,
|
|
33506
33574
|
i1$5.IonicModule,
|
|
33507
33575
|
i1$2.TranslateModule.forChild(),
|
|
33508
|
-
i3.RouterModule.forChild(routes$
|
|
33576
|
+
i3.RouterModule.forChild(routes$4)
|
|
33509
33577
|
],
|
|
33510
33578
|
declarations: [
|
|
33511
33579
|
ToastTestingPage
|
|
@@ -33831,26 +33899,33 @@
|
|
|
33831
33899
|
console.debug('[test-table] Updating data...');
|
|
33832
33900
|
this.markAsLoading();
|
|
33833
33901
|
if (isNil(this.data)) {
|
|
33834
|
-
this.data = this.generateData(0,
|
|
33902
|
+
this.data = this.generateData(0, TableTestPage.maxRowCount);
|
|
33835
33903
|
}
|
|
33836
33904
|
this.dataService.setValue(this.data, { emitEvent: false });
|
|
33837
33905
|
this.onRefresh.emit();
|
|
33838
|
-
if (this.infiniteScroll) {
|
|
33839
|
-
this.infiniteScroll.disabled = !this.infiniteScroll || this.data.length >= TableTestPage.maxRowCount;
|
|
33840
|
-
}
|
|
33841
33906
|
};
|
|
33842
|
-
TableTestPage.prototype.
|
|
33843
|
-
|
|
33844
|
-
|
|
33845
|
-
|
|
33846
|
-
|
|
33847
|
-
|
|
33848
|
-
|
|
33849
|
-
|
|
33850
|
-
|
|
33851
|
-
|
|
33907
|
+
TableTestPage.prototype.fetchMore = function (event) {
|
|
33908
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
33909
|
+
var fetched;
|
|
33910
|
+
return __generator(this, function (_a) {
|
|
33911
|
+
switch (_a.label) {
|
|
33912
|
+
case 0:
|
|
33913
|
+
console.debug('[table-test] Loading more...', event);
|
|
33914
|
+
return [4 /*yield*/, this._dataSource.fetchMore()];
|
|
33915
|
+
case 1:
|
|
33916
|
+
fetched = _a.sent();
|
|
33917
|
+
if (!(fetched && (event === null || event === void 0 ? void 0 : event.target) && event.target.complete)) return [3 /*break*/, 3];
|
|
33918
|
+
return [4 /*yield*/, this.waitIdle()];
|
|
33919
|
+
case 2:
|
|
33920
|
+
_a.sent();
|
|
33921
|
+
event.target.complete();
|
|
33922
|
+
_a.label = 3;
|
|
33923
|
+
case 3: return [2 /*return*/];
|
|
33924
|
+
}
|
|
33925
|
+
});
|
|
33926
|
+
});
|
|
33852
33927
|
};
|
|
33853
|
-
TableTestPage.prototype.save = function () {
|
|
33928
|
+
TableTestPage.prototype.save = function (opts) {
|
|
33854
33929
|
var _super = Object.create(null, {
|
|
33855
33930
|
save: { get: function () { return _super_1.prototype.save; } }
|
|
33856
33931
|
});
|
|
@@ -33858,7 +33933,7 @@
|
|
|
33858
33933
|
var saved;
|
|
33859
33934
|
return __generator(this, function (_a) {
|
|
33860
33935
|
switch (_a.label) {
|
|
33861
|
-
case 0: return [4 /*yield*/, _super.save.call(this)];
|
|
33936
|
+
case 0: return [4 /*yield*/, _super.save.call(this, opts)];
|
|
33862
33937
|
case 1:
|
|
33863
33938
|
saved = _a.sent();
|
|
33864
33939
|
if (saved) {
|
|
@@ -33930,7 +34005,7 @@
|
|
|
33930
34005
|
TableTestPage.decorators = [
|
|
33931
34006
|
{ type: i0.Component, args: [{
|
|
33932
34007
|
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",
|
|
34008
|
+
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
34009
|
providers: [
|
|
33935
34010
|
{
|
|
33936
34011
|
provide: AppValidatorService,
|
|
@@ -34027,7 +34102,7 @@
|
|
|
34027
34102
|
{ type: i1$5.PopoverController }
|
|
34028
34103
|
]; };
|
|
34029
34104
|
|
|
34030
|
-
var routes$
|
|
34105
|
+
var routes$2 = [
|
|
34031
34106
|
{
|
|
34032
34107
|
path: 'text-popover',
|
|
34033
34108
|
pathMatch: 'full',
|
|
@@ -34045,7 +34120,7 @@
|
|
|
34045
34120
|
i1$4.CommonModule,
|
|
34046
34121
|
i1$5.IonicModule,
|
|
34047
34122
|
i1$2.TranslateModule.forChild(),
|
|
34048
|
-
i3.RouterModule.forChild(routes$
|
|
34123
|
+
i3.RouterModule.forChild(routes$2)
|
|
34049
34124
|
],
|
|
34050
34125
|
declarations: [
|
|
34051
34126
|
TextPopoverTestingPage
|
|
@@ -34062,7 +34137,7 @@
|
|
|
34062
34137
|
{ label: 'Table', page: '/testing/core/table' },
|
|
34063
34138
|
{ label: 'Text popover', page: '/testing/core/text-popover' }
|
|
34064
34139
|
];
|
|
34065
|
-
var routes$
|
|
34140
|
+
var routes$1 = [
|
|
34066
34141
|
{
|
|
34067
34142
|
path: '',
|
|
34068
34143
|
pathMatch: 'full',
|
|
@@ -34089,7 +34164,7 @@
|
|
|
34089
34164
|
imports: [
|
|
34090
34165
|
i1$4.CommonModule,
|
|
34091
34166
|
i1$2.TranslateModule.forChild(),
|
|
34092
|
-
i3.RouterModule.forChild(routes$
|
|
34167
|
+
i3.RouterModule.forChild(routes$1),
|
|
34093
34168
|
// Sub modules
|
|
34094
34169
|
TableTestingModule,
|
|
34095
34170
|
TextPopoverTestingModule
|
|
@@ -34444,7 +34519,7 @@
|
|
|
34444
34519
|
{ type: Environment, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [ENVIRONMENT,] }] }
|
|
34445
34520
|
]; };
|
|
34446
34521
|
|
|
34447
|
-
var moment
|
|
34522
|
+
var moment = momentImported__namespace;
|
|
34448
34523
|
var UserEventTestingPage = /** @class */ (function () {
|
|
34449
34524
|
function UserEventTestingPage(userEventService, router, alertController, translateService) {
|
|
34450
34525
|
var _this = this;
|
|
@@ -34510,7 +34585,7 @@
|
|
|
34510
34585
|
type: 'message',
|
|
34511
34586
|
level: 'INFO',
|
|
34512
34587
|
message: 'message test message test message test message test message test message test message test message test',
|
|
34513
|
-
creationDate: moment
|
|
34588
|
+
creationDate: moment(),
|
|
34514
34589
|
}));
|
|
34515
34590
|
};
|
|
34516
34591
|
UserEventTestingPage.prototype.addError = function () {
|
|
@@ -34520,7 +34595,7 @@
|
|
|
34520
34595
|
type: 'upload',
|
|
34521
34596
|
level: 'ERROR',
|
|
34522
34597
|
message: 'message error',
|
|
34523
|
-
creationDate: moment
|
|
34598
|
+
creationDate: moment(),
|
|
34524
34599
|
}));
|
|
34525
34600
|
};
|
|
34526
34601
|
UserEventTestingPage.prototype.addWarning = function () {
|
|
@@ -34530,7 +34605,7 @@
|
|
|
34530
34605
|
type: 'download',
|
|
34531
34606
|
level: 'WARNING',
|
|
34532
34607
|
message: 'message warning',
|
|
34533
|
-
creationDate: moment
|
|
34608
|
+
creationDate: moment(),
|
|
34534
34609
|
}));
|
|
34535
34610
|
};
|
|
34536
34611
|
UserEventTestingPage.prototype.addDebug = function () {
|
|
@@ -34540,7 +34615,7 @@
|
|
|
34540
34615
|
type: 'debug',
|
|
34541
34616
|
level: 'DEBUG',
|
|
34542
34617
|
message: 'message DEBUG',
|
|
34543
|
-
creationDate: moment
|
|
34618
|
+
creationDate: moment(),
|
|
34544
34619
|
}));
|
|
34545
34620
|
};
|
|
34546
34621
|
UserEventTestingPage.prototype.addNotificationWithLink = function () {
|
|
@@ -34551,7 +34626,7 @@
|
|
|
34551
34626
|
type: 'message',
|
|
34552
34627
|
level: 'INFO',
|
|
34553
34628
|
message: 'message with link',
|
|
34554
|
-
creationDate: moment
|
|
34629
|
+
creationDate: moment(),
|
|
34555
34630
|
actions: [{
|
|
34556
34631
|
name: 'click here',
|
|
34557
34632
|
iconRef: {
|
|
@@ -34569,7 +34644,7 @@
|
|
|
34569
34644
|
type: 'message',
|
|
34570
34645
|
level: 'INFO',
|
|
34571
34646
|
message: 'message with action',
|
|
34572
|
-
creationDate: moment
|
|
34647
|
+
creationDate: moment(),
|
|
34573
34648
|
actions: [
|
|
34574
34649
|
{
|
|
34575
34650
|
name: 'click here',
|
|
@@ -34643,7 +34718,7 @@
|
|
|
34643
34718
|
type: 'message',
|
|
34644
34719
|
level: 'INFO',
|
|
34645
34720
|
message: 'message with action',
|
|
34646
|
-
creationDate: moment
|
|
34721
|
+
creationDate: moment(),
|
|
34647
34722
|
actions: [
|
|
34648
34723
|
{
|
|
34649
34724
|
default: true,
|
|
@@ -34701,7 +34776,7 @@
|
|
|
34701
34776
|
{ label: 'User event', page: '/testing/social/user-event' },
|
|
34702
34777
|
{ label: 'Job progression', page: '/testing/social/job-progression' }
|
|
34703
34778
|
];
|
|
34704
|
-
var routes
|
|
34779
|
+
var routes = [
|
|
34705
34780
|
{
|
|
34706
34781
|
path: 'job-progression',
|
|
34707
34782
|
pathMatch: 'full',
|
|
@@ -34723,7 +34798,7 @@
|
|
|
34723
34798
|
imports: [
|
|
34724
34799
|
i1$4.CommonModule,
|
|
34725
34800
|
i1$2.TranslateModule.forChild(),
|
|
34726
|
-
i3.RouterModule.forChild(routes
|
|
34801
|
+
i3.RouterModule.forChild(routes),
|
|
34727
34802
|
JobTestingModule,
|
|
34728
34803
|
UserEventTestingModule
|
|
34729
34804
|
],
|
|
@@ -34783,7 +34858,6 @@
|
|
|
34783
34858
|
exports.AppTabEditor = AppTabEditor;
|
|
34784
34859
|
exports.AppTabEditorOptions = AppTabEditorOptions;
|
|
34785
34860
|
exports.AppTable = AppTable;
|
|
34786
|
-
exports.AppTableDataSourceOptions = AppTableDataSourceOptions;
|
|
34787
34861
|
exports.AppTableUtils = AppTableUtils;
|
|
34788
34862
|
exports.AppUserEventNotificationIcon = AppUserEventNotificationIcon;
|
|
34789
34863
|
exports.AppValidatorService = AppValidatorService;
|
|
@@ -34867,7 +34941,7 @@
|
|
|
34867
34941
|
exports.FormGetGroupPipe = FormGetGroupPipe;
|
|
34868
34942
|
exports.FormGetPipe = FormGetPipe;
|
|
34869
34943
|
exports.FormGetValuePipe = FormGetValuePipe;
|
|
34870
|
-
exports.Fragments = Fragments
|
|
34944
|
+
exports.Fragments = Fragments;
|
|
34871
34945
|
exports.GraphqlService = GraphqlService;
|
|
34872
34946
|
exports.HAMMER_PRESS_TIME = HAMMER_PRESS_TIME;
|
|
34873
34947
|
exports.HAMMER_TAP_TIME = HAMMER_TAP_TIME;
|
|
@@ -35185,25 +35259,25 @@
|
|
|
35185
35259
|
exports.waitForTrue = waitForTrue;
|
|
35186
35260
|
exports.waitIdle = waitIdle;
|
|
35187
35261
|
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
|
|
35262
|
+
exports["ɵ0"] = ɵ0$c;
|
|
35263
|
+
exports["ɵa"] = CustomReuseStrategy;
|
|
35264
|
+
exports["ɵb"] = MatNumpadDomService;
|
|
35265
|
+
exports["ɵc"] = isFocusableElement;
|
|
35266
|
+
exports["ɵd"] = RegisterForm;
|
|
35267
|
+
exports["ɵe"] = AccountValidatorService;
|
|
35268
|
+
exports["ɵf"] = RegisterModal;
|
|
35269
|
+
exports["ɵg"] = UserSettingsValidatorService;
|
|
35270
|
+
exports["ɵh"] = LocalSettingsValidatorService;
|
|
35271
|
+
exports["ɵi"] = AppUpdateOfflineModeCard;
|
|
35272
|
+
exports["ɵj"] = UserEventNotificationList;
|
|
35273
|
+
exports["ɵk"] = JobProgressionList;
|
|
35274
|
+
exports["ɵl"] = DateTestPage;
|
|
35275
|
+
exports["ɵm"] = NumpadTestPage;
|
|
35276
|
+
exports["ɵn"] = MatBadgeIconTestPage;
|
|
35277
|
+
exports["ɵo"] = ToastTestingModule;
|
|
35278
|
+
exports["ɵp"] = ToastTestingPage;
|
|
35205
35279
|
|
|
35206
35280
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
35207
35281
|
|
|
35208
|
-
}))
|
|
35282
|
+
}));
|
|
35209
35283
|
//# sourceMappingURL=sumaris-net.ngx-components.umd.js.map
|