@sumaris-net/ngx-components 0.22.0 → 0.23.2-beta
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/ngx-sumaris-components.umd.js +326 -313
- package/bundles/ngx-sumaris-components.umd.js.map +1 -1
- package/bundles/ngx-sumaris-components.umd.min.js +2 -2
- package/bundles/ngx-sumaris-components.umd.min.js.map +1 -1
- package/doc/changelog.md +4 -0
- package/esm2015/src/app/admin/users/list/users.js +1 -1
- package/esm2015/src/app/core/form/form-buttons-bar.component.js +2 -1
- package/esm2015/src/app/core/form/form.utils.js +3 -3
- package/esm2015/src/app/core/form/list.form.js +11 -2
- package/esm2015/src/app/core/services/local-settings.service.js +2 -2
- package/esm2015/src/app/core/table/table.class.js +6 -11
- package/esm2015/src/app/shared/functions.js +6 -5
- package/esm2015/src/app/shared/material/autocomplete/material.autocomplete.js +45 -12
- package/esm2015/src/app/shared/material/autocomplete/testing/autocomplete.test.js +2 -2
- package/esm2015/src/app/shared/material/boolean/material.boolean.js +1 -1
- package/fesm2015/ngx-sumaris-components.js +323 -300
- package/fesm2015/ngx-sumaris-components.js.map +1 -1
- package/ngx-sumaris-components.metadata.json +1 -1
- package/package.json +1 -1
- package/src/app/core/form/list.form.d.ts +3 -0
- package/src/app/core/table/table.class.d.ts +1 -3
- package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +7 -2
- package/src/assets/i18n/fr.json +1 -0
|
@@ -26,35 +26,11 @@
|
|
|
26
26
|
return Object.freeze(n);
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
|
|
30
|
-
var i1__namespace$3 = /*#__PURE__*/_interopNamespace(i1$4);
|
|
31
|
-
var i1__namespace$2 = /*#__PURE__*/_interopNamespace(i1$3);
|
|
32
|
-
var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2);
|
|
33
|
-
var i1__namespace$6 = /*#__PURE__*/_interopNamespace(i1);
|
|
34
|
-
var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1$2);
|
|
35
|
-
var i1__namespace$4 = /*#__PURE__*/_interopNamespace(i1$5);
|
|
36
29
|
var momentImported__namespace = /*#__PURE__*/_interopNamespace(momentImported);
|
|
37
|
-
var i1__namespace = /*#__PURE__*/_interopNamespace(i1$1);
|
|
38
|
-
var i3__namespace$3 = /*#__PURE__*/_interopNamespace(i3);
|
|
39
|
-
var i1__namespace$5 = /*#__PURE__*/_interopNamespace(i1$6);
|
|
40
|
-
var i2__namespace$2 = /*#__PURE__*/_interopNamespace(i2$1);
|
|
41
|
-
var i2__namespace = /*#__PURE__*/_interopNamespace(i2$2);
|
|
42
|
-
var i3__namespace = /*#__PURE__*/_interopNamespace(i3$1);
|
|
43
|
-
var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
|
|
44
30
|
var uuidv4Imported__namespace = /*#__PURE__*/_interopNamespace(uuidv4Imported);
|
|
45
|
-
var i3__namespace$1 = /*#__PURE__*/_interopNamespace(i3$2);
|
|
46
|
-
var i6__namespace = /*#__PURE__*/_interopNamespace(i6);
|
|
47
|
-
var i9__namespace = /*#__PURE__*/_interopNamespace(i9);
|
|
48
|
-
var i10__namespace = /*#__PURE__*/_interopNamespace(i10);
|
|
49
|
-
var i2__namespace$4 = /*#__PURE__*/_interopNamespace(i2$4);
|
|
50
|
-
var i2__namespace$3 = /*#__PURE__*/_interopNamespace(i2$3);
|
|
51
31
|
var QueueLink__default = /*#__PURE__*/_interopDefaultLegacy(QueueLink);
|
|
52
32
|
var SerializingLink__default = /*#__PURE__*/_interopDefaultLegacy(SerializingLink);
|
|
53
33
|
var loggerLink__default = /*#__PURE__*/_interopDefaultLegacy(loggerLink);
|
|
54
|
-
var i3__namespace$2 = /*#__PURE__*/_interopNamespace(i3$3);
|
|
55
|
-
var i14__namespace = /*#__PURE__*/_interopNamespace(i14);
|
|
56
|
-
var i15__namespace = /*#__PURE__*/_interopNamespace(i15);
|
|
57
|
-
var i17__namespace = /*#__PURE__*/_interopNamespace(i17);
|
|
58
34
|
|
|
59
35
|
var ENVIRONMENT = new i0.InjectionToken('ENV');
|
|
60
36
|
var Environment = /** @class */ (function () {
|
|
@@ -536,10 +512,11 @@
|
|
|
536
512
|
items = items.filter(function (v) { return !opts.excludedIds.includes(+v['id']); });
|
|
537
513
|
}
|
|
538
514
|
// Sort
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
515
|
+
items = items.sort(propertiesPathComparator(keys));
|
|
516
|
+
// const sortAttribute = keys && keys[0]
|
|
517
|
+
// if (sortAttribute) {
|
|
518
|
+
// items = sort(items, sortAttribute);
|
|
519
|
+
// }
|
|
543
520
|
// Truncate if need
|
|
544
521
|
var total = (items === null || items === void 0 ? void 0 : items.length) || 0;
|
|
545
522
|
if (opts) {
|
|
@@ -1162,19 +1139,19 @@
|
|
|
1162
1139
|
};
|
|
1163
1140
|
return MatAutocompleteConfigHolder;
|
|
1164
1141
|
}());
|
|
1165
|
-
var DEFAULT_VALUE_ACCESSOR
|
|
1142
|
+
var DEFAULT_VALUE_ACCESSOR = {
|
|
1166
1143
|
provide: i1.NG_VALUE_ACCESSOR,
|
|
1167
1144
|
useExisting: i0.forwardRef(function () { return MatAutocompleteField; }),
|
|
1168
1145
|
multi: true
|
|
1169
1146
|
};
|
|
1170
|
-
var noop
|
|
1171
|
-
var ɵ0
|
|
1147
|
+
var noop = function () { };
|
|
1148
|
+
var ɵ0 = noop;
|
|
1172
1149
|
var MatAutocompleteField = /** @class */ (function () {
|
|
1173
1150
|
function MatAutocompleteField(cd, formGroupDir) {
|
|
1174
1151
|
this.cd = cd;
|
|
1175
1152
|
this.formGroupDir = formGroupDir;
|
|
1176
|
-
this._onChangeCallback = noop
|
|
1177
|
-
this._onTouchedCallback = noop
|
|
1153
|
+
this._onChangeCallback = noop;
|
|
1154
|
+
this._onTouchedCallback = noop;
|
|
1178
1155
|
this._subscription = new rxjs.Subscription();
|
|
1179
1156
|
this._filter$ = new rxjs.BehaviorSubject(undefined);
|
|
1180
1157
|
this._reload$ = new rxjs.Subject();
|
|
@@ -1202,6 +1179,8 @@
|
|
|
1202
1179
|
this.onBlur = new i0.EventEmitter();
|
|
1203
1180
|
this.onFocus = new i0.EventEmitter();
|
|
1204
1181
|
this.onDropButtonClick = new i0.EventEmitter(true);
|
|
1182
|
+
this.onKeydownEscape = new i0.EventEmitter();
|
|
1183
|
+
this.onKeyupEnter = new i0.EventEmitter();
|
|
1205
1184
|
}
|
|
1206
1185
|
Object.defineProperty(MatAutocompleteField.prototype, "itemCount", {
|
|
1207
1186
|
get: function () {
|
|
@@ -1356,7 +1335,7 @@
|
|
|
1356
1335
|
// No suggestFn: filter on the given items
|
|
1357
1336
|
if (!this.suggestFn) {
|
|
1358
1337
|
var suggestFromArrayFn_1 = function (value, filter) { return __awaiter(_this, void 0, void 0, function () {
|
|
1359
|
-
return __generator(this, function (
|
|
1338
|
+
return __generator(this, function (_e) {
|
|
1360
1339
|
// DEBUG
|
|
1361
1340
|
//console.debug(this.logPrefix + " Calling suggestFromArray with value=", value);
|
|
1362
1341
|
return [2 /*return*/, suggestFromArray(this.$inputItems.value, value, Object.assign({ searchAttributes: this.displayAttributes }, filter))];
|
|
@@ -1364,8 +1343,8 @@
|
|
|
1364
1343
|
}); };
|
|
1365
1344
|
// Wait (once) that items are loaded, then call suggest from array fn
|
|
1366
1345
|
this.suggestFn = function (value, filter) { return __awaiter(_this, void 0, void 0, function () {
|
|
1367
|
-
return __generator(this, function (
|
|
1368
|
-
switch (
|
|
1346
|
+
return __generator(this, function (_e) {
|
|
1347
|
+
switch (_e.label) {
|
|
1369
1348
|
case 0:
|
|
1370
1349
|
if (!isNil(this.$inputItems.value)) return [3 /*break*/, 2];
|
|
1371
1350
|
// DEBUG
|
|
@@ -1374,8 +1353,8 @@
|
|
|
1374
1353
|
case 1:
|
|
1375
1354
|
// DEBUG
|
|
1376
1355
|
//console.debug(this.logPrefix + " Waiting items to be set...");
|
|
1377
|
-
|
|
1378
|
-
|
|
1356
|
+
_e.sent();
|
|
1357
|
+
_e.label = 2;
|
|
1379
1358
|
case 2:
|
|
1380
1359
|
this.suggestFn = suggestFromArrayFn_1;
|
|
1381
1360
|
return [2 /*return*/, this.suggestFn(value, filter)]; // Loop
|
|
@@ -1494,6 +1473,15 @@
|
|
|
1494
1473
|
.pipe(operators.distinctUntilChanged())
|
|
1495
1474
|
// Update component state
|
|
1496
1475
|
.subscribe(function () { return _this.checkIfTouched(); }));
|
|
1476
|
+
this._subscription.add(this.onKeydownEscape.subscribe(function (event) {
|
|
1477
|
+
if (_this.isOpen) {
|
|
1478
|
+
event === null || event === void 0 ? void 0 : event.stopPropagation();
|
|
1479
|
+
event === null || event === void 0 ? void 0 : event.preventDefault();
|
|
1480
|
+
// DEBUG
|
|
1481
|
+
//console.debug(this.logPrefix + " Closing the panel (keydown.escape)");
|
|
1482
|
+
_this.closePanel();
|
|
1483
|
+
}
|
|
1484
|
+
}));
|
|
1497
1485
|
};
|
|
1498
1486
|
MatAutocompleteField.prototype.ngOnDestroy = function () {
|
|
1499
1487
|
this._subscription.unsubscribe();
|
|
@@ -1505,6 +1493,8 @@
|
|
|
1505
1493
|
this.onClick.complete();
|
|
1506
1494
|
this.onBlur.complete();
|
|
1507
1495
|
this.onFocus.complete();
|
|
1496
|
+
this.onKeydownEscape.complete();
|
|
1497
|
+
this.onKeyupEnter.complete();
|
|
1508
1498
|
this._implicitValue = undefined;
|
|
1509
1499
|
this.formControl = null;
|
|
1510
1500
|
this.displayWith = null;
|
|
@@ -1518,8 +1508,8 @@
|
|
|
1518
1508
|
this._onTouchedCallback = null;
|
|
1519
1509
|
this._onFetchMoreCallback = null;
|
|
1520
1510
|
// Destroy the 'autocomplete' instance, to avoid memory leak
|
|
1521
|
-
if (this.
|
|
1522
|
-
this.
|
|
1511
|
+
if (this.matAutocomplete) {
|
|
1512
|
+
this.matAutocomplete.ngOnDestroy();
|
|
1523
1513
|
}
|
|
1524
1514
|
};
|
|
1525
1515
|
/**
|
|
@@ -1545,8 +1535,8 @@
|
|
|
1545
1535
|
};
|
|
1546
1536
|
MatAutocompleteField.prototype.setDisabledState = function (isDisabled) {
|
|
1547
1537
|
var _a;
|
|
1548
|
-
if (isDisabled && ((_a = this.
|
|
1549
|
-
|
|
1538
|
+
if (isDisabled && ((_a = this.matAutocomplete) === null || _a === void 0 ? void 0 : _a.isOpen)) {
|
|
1539
|
+
this.closePanel();
|
|
1550
1540
|
}
|
|
1551
1541
|
this.cd.markForCheck();
|
|
1552
1542
|
};
|
|
@@ -1645,7 +1635,7 @@
|
|
|
1645
1635
|
};
|
|
1646
1636
|
MatAutocompleteField.prototype._initAutocompleteInfiniteScroll = function (threshold) {
|
|
1647
1637
|
var _this = this;
|
|
1648
|
-
if (!this.
|
|
1638
|
+
if (!this.matAutocomplete)
|
|
1649
1639
|
return; // Skip
|
|
1650
1640
|
// DEBUG
|
|
1651
1641
|
//console.debug(this.logPrefix + ' Init autocomplete scroll listener');
|
|
@@ -1653,12 +1643,12 @@
|
|
|
1653
1643
|
this._openedSubscription.unsubscribe();
|
|
1654
1644
|
this._subscription.remove(this._openedSubscription);
|
|
1655
1645
|
}
|
|
1656
|
-
var opened$ = this.
|
|
1646
|
+
var opened$ = this.matAutocomplete._isOpen
|
|
1657
1647
|
? rxjs.timer(0)
|
|
1658
|
-
: this.
|
|
1648
|
+
: this.matAutocomplete.opened.pipe(operators.debounceTime(200));
|
|
1659
1649
|
var scrollEnd$ = opened$
|
|
1660
1650
|
.pipe(operators.map(function (_) { return _this.getAutocompletePanel(); }), operators.filter(isNotNil), operators.switchMap(function (panel) { return fromScrollEndEvent(panel, threshold)
|
|
1661
|
-
.pipe(operators.takeUntil(_this.
|
|
1651
|
+
.pipe(operators.takeUntil(_this.matAutocomplete.closed)); }));
|
|
1662
1652
|
// Trigger fetch more, end end scroll reached
|
|
1663
1653
|
this._openedSubscription = scrollEnd$
|
|
1664
1654
|
.subscribe(function () { return _this._fetchMore$.emit(); });
|
|
@@ -1688,15 +1678,35 @@
|
|
|
1688
1678
|
// Register subscription
|
|
1689
1679
|
this._subscription.add(this._openedSubscription);
|
|
1690
1680
|
};
|
|
1681
|
+
Object.defineProperty(MatAutocompleteField.prototype, "isOpen", {
|
|
1682
|
+
get: function () {
|
|
1683
|
+
var _a, _b;
|
|
1684
|
+
return (this.searchable && ((_a = this.matAutocomplete) === null || _a === void 0 ? void 0 : _a.isOpen))
|
|
1685
|
+
|| ((_b = this.matSelect) === null || _b === void 0 ? void 0 : _b.panelOpen)
|
|
1686
|
+
|| false;
|
|
1687
|
+
},
|
|
1688
|
+
enumerable: false,
|
|
1689
|
+
configurable: true
|
|
1690
|
+
});
|
|
1691
|
+
MatAutocompleteField.prototype.closePanel = function () {
|
|
1692
|
+
var _a, _b, _c, _d;
|
|
1693
|
+
if ((_a = this.matAutocomplete) === null || _a === void 0 ? void 0 : _a.isOpen) {
|
|
1694
|
+
(_b = this.matAutocompleteTrigger) === null || _b === void 0 ? void 0 : _b.closePanel();
|
|
1695
|
+
return;
|
|
1696
|
+
}
|
|
1697
|
+
if ((_c = this.matSelect) === null || _c === void 0 ? void 0 : _c.panelOpen) {
|
|
1698
|
+
(_d = this.matSelect) === null || _d === void 0 ? void 0 : _d.close();
|
|
1699
|
+
}
|
|
1700
|
+
};
|
|
1691
1701
|
/* -- private method -- */
|
|
1692
1702
|
MatAutocompleteField.prototype.suggest = function (value, filter) {
|
|
1693
1703
|
return __awaiter(this, void 0, void 0, function () {
|
|
1694
1704
|
var res, data, total, fetchMore;
|
|
1695
|
-
return __generator(this, function (
|
|
1696
|
-
switch (
|
|
1705
|
+
return __generator(this, function (_e) {
|
|
1706
|
+
switch (_e.label) {
|
|
1697
1707
|
case 0: return [4 /*yield*/, this.suggestFn(value, filter)];
|
|
1698
1708
|
case 1:
|
|
1699
|
-
res =
|
|
1709
|
+
res = _e.sent();
|
|
1700
1710
|
// DEBUG
|
|
1701
1711
|
//console.debug(this.logPrefix + ' Filtered items by suggestFn:', value, res);
|
|
1702
1712
|
if (!res) {
|
|
@@ -1723,9 +1733,9 @@
|
|
|
1723
1733
|
};
|
|
1724
1734
|
MatAutocompleteField.prototype.fetchMore = function () {
|
|
1725
1735
|
return __awaiter(this, void 0, void 0, function () {
|
|
1726
|
-
var fetchMoreFn,
|
|
1727
|
-
return __generator(this, function (
|
|
1728
|
-
switch (
|
|
1736
|
+
var fetchMoreFn, _e, data, total, fetchMore;
|
|
1737
|
+
return __generator(this, function (_f) {
|
|
1738
|
+
switch (_f.label) {
|
|
1729
1739
|
case 0:
|
|
1730
1740
|
if (!this._onFetchMoreCallback)
|
|
1731
1741
|
return [2 /*return*/, []];
|
|
@@ -1733,7 +1743,7 @@
|
|
|
1733
1743
|
this._onFetchMoreCallback = undefined;
|
|
1734
1744
|
return [4 /*yield*/, fetchMoreFn()];
|
|
1735
1745
|
case 1:
|
|
1736
|
-
|
|
1746
|
+
_e = _f.sent(), data = _e.data, total = _e.total, fetchMore = _e.fetchMore;
|
|
1737
1747
|
this._itemCount = total || this._itemCount;
|
|
1738
1748
|
this._onFetchMoreCallback = fetchMore;
|
|
1739
1749
|
this._moreItemsCount = Math.max(0, this._moreItemsCount - data.length); // Borne min = 0
|
|
@@ -1762,7 +1772,7 @@
|
|
|
1762
1772
|
};
|
|
1763
1773
|
MatAutocompleteField.prototype.getAutocompletePanel = function () {
|
|
1764
1774
|
var _a, _b;
|
|
1765
|
-
var ele = (_b = (_a = this.
|
|
1775
|
+
var ele = (_b = (_a = this.matAutocomplete) === null || _a === void 0 ? void 0 : _a.options.last) === null || _b === void 0 ? void 0 : _b._getHostElement().parentElement;
|
|
1766
1776
|
if (!ele) {
|
|
1767
1777
|
// DEBUG
|
|
1768
1778
|
console.warn(this.logPrefix + ' Unable to find the autocomplete div...');
|
|
@@ -1797,8 +1807,8 @@
|
|
|
1797
1807
|
{ type: i0.Component, args: [{
|
|
1798
1808
|
// eslint-disable-next-line @angular-eslint/component-selector
|
|
1799
1809
|
selector: 'mat-autocomplete-field',
|
|
1800
|
-
template: "<ion-grid class=\"ion-no-padding\">\n <ion-row>\n <ion-col class=\"ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-disabled]=\"disabled\"\n [title]=\"displayValue\">\n\n <div matPrefix><ng-content select=\"[matPrefix]\"></ng-content></div>\n\n <!-- readonly -->\n <ng-container *ngIf=\"_readonly; else writable\">\n <input matInput hidden type=\"text\"\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\" readonly>\n <ion-text>{{displayWith(value)}}</ion-text>\n </ng-container>\n\n <ng-template #writable>\n\n <!-- Basic select -->\n <mat-select #matSelect\n *ngIf=\"!searchable; else searchableTemplate\"\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\"\n [tabindex]=\"_tabindex\"\n [panelClass]=\"classList\"\n [style.width]=\"panelWidth\"\n (focus)=\"filterMatSelectFocusEvent($event)\"\n (blur)=\"filterMatSelectBlurEvent($event)\"\n [compareWith]=\"compareWith\"\n [multiple]=\"multiple\"\n [required]=\"required\">\n <mat-select-trigger>{{ displayWith(value) }}</mat-select-trigger>\n\n <!-- header -->\n <ion-row class=\"mat-autocomplete-header ion-no-padding\">\n <ion-col *ngFor=\"let attr of displayAttributes; index as i; last as isLast\" [size]=\"displayColumnSizes[i]\" >\n <ion-label [innerHTML]=\"displayColumnNames[i] | translate\"></ion-label>\n </ion-col>\n </ion-row>\n\n <!-- None option -->\n <mat-option *ngIf=\"!required\" class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding\">\n <ion-col class=\"ion-no-padding\">\n <ion-label><i translate>COMMON.EMPTY_OPTION</i></ion-label>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <ng-container *ngIf=\"$filteredItems | async; let items\">\n <!-- No item option -->\n <mat-option *ngIf=\"items | isEmptyArray\" class=\"ion-padding text-italic\" disabled>\n <ion-label>{{noResultMessage | translate}}</ion-label>\n </mat-option>\n\n <!-- options -->\n <mat-option *ngFor=\"let item of items\" [value]=\"item\" class=\"ion-no-padding\">\n <ion-row [classList]=\"item.classList\">\n <ion-col *ngFor=\"let path of displayAttributes; index as i;\"\n [size]=\"displayColumnSizes[i]\">\n <ion-text>{{item | propertyGet: path }}</ion-text>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <!-- More item -->\n <mat-option *ngIf=\"_moreItemsCount\" (ngInit)=\"_initMatSelectInfiniteScroll()\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-container>\n </mat-select>\n </ng-template>\n\n <!--\n NOTE :\n - \"selectInputContent($event) || onFocus.emit($event)\" : call onFocus only when to the input is empty (nothing to select)\n -->\n <ng-template #searchableTemplate>\n <input matInput #matInputText type=\"text\"\n [matAutocomplete]=\"
|
|
1801
|
-
providers: [DEFAULT_VALUE_ACCESSOR
|
|
1810
|
+
template: "<ion-grid class=\"ion-no-padding\">\n <ion-row>\n <ion-col class=\"ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-disabled]=\"disabled\"\n [title]=\"displayValue\">\n\n <div matPrefix><ng-content select=\"[matPrefix]\"></ng-content></div>\n\n <!-- readonly -->\n <ng-container *ngIf=\"_readonly; else writable\">\n <input matInput hidden type=\"text\"\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\" readonly>\n <ion-text>{{displayWith(value)}}</ion-text>\n </ng-container>\n\n <ng-template #writable>\n\n <!-- Basic select -->\n <mat-select #matSelect\n *ngIf=\"!searchable; else searchableTemplate\"\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\"\n [tabindex]=\"_tabindex\"\n [panelClass]=\"classList\"\n [style.width]=\"panelWidth\"\n (focus)=\"filterMatSelectFocusEvent($event)\"\n (blur)=\"filterMatSelectBlurEvent($event)\"\n (keydown.escape)=\"onKeydownEscape.emit($event)\"\n [compareWith]=\"compareWith\"\n [multiple]=\"multiple\"\n [required]=\"required\">\n <mat-select-trigger>{{ displayWith(value) }}</mat-select-trigger>\n\n <!-- header -->\n <ion-row class=\"mat-autocomplete-header ion-no-padding\">\n <ion-col *ngFor=\"let attr of displayAttributes; index as i; last as isLast\" [size]=\"displayColumnSizes[i]\" >\n <ion-label [innerHTML]=\"displayColumnNames[i] | translate\"></ion-label>\n </ion-col>\n </ion-row>\n\n <!-- None option -->\n <mat-option *ngIf=\"!required\" class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding\">\n <ion-col class=\"ion-no-padding\">\n <ion-label><i translate>COMMON.EMPTY_OPTION</i></ion-label>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <ng-container *ngIf=\"$filteredItems | async; let items\">\n <!-- No item option -->\n <mat-option *ngIf=\"items | isEmptyArray\" class=\"ion-padding text-italic\" disabled>\n <ion-label>{{noResultMessage | translate}}</ion-label>\n </mat-option>\n\n <!-- options -->\n <mat-option *ngFor=\"let item of items\" [value]=\"item\" class=\"ion-no-padding\">\n <ion-row [classList]=\"item.classList\">\n <ion-col *ngFor=\"let path of displayAttributes; index as i;\"\n [size]=\"displayColumnSizes[i]\">\n <ion-text>{{item | propertyGet: path }}</ion-text>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <!-- More item -->\n <mat-option *ngIf=\"_moreItemsCount\" (ngInit)=\"_initMatSelectInfiniteScroll()\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-container>\n </mat-select>\n </ng-template>\n\n <!--\n NOTE :\n - \"selectInputContent($event) || onFocus.emit($event)\" : call onFocus only when to the input is empty (nothing to select)\n -->\n <ng-template #searchableTemplate>\n <input matInput #matInputText type=\"text\"\n [matAutocomplete]=\"autocomplete\"\n [matAutocompletePosition]=\"matAutocompletePosition\"\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [appAutofocus]=\"autofocus\"\n [tabindex]=\"_tabindex\"\n [required]=\"required\"\n (click)=\"onClick.emit($event)\"\n (focus)=\"filterInputTextFocusInEvent($event)\"\n (blur)=\"filterInputTextBlurEvent($event)\"\n (keydown.escape)=\"onKeydownEscape.emit($event)\"\n (keyup.enter)=\"onKeyupEnter.emit($event)\"\n (keyup.arrowdown)=\"!autocomplete.opened && onDropButtonClick.emit($event)\">\n\n <!-- autocomplete -->\n <mat-autocomplete #autocomplete=\"matAutocomplete\"\n autoActiveFirstOption\n [displayWith]=\"displayWith\"\n [class]=\"classList\"\n [class.cdk-visually-hidden]=\"!searchable\"\n [panelWidth]=\"panelWidth\">\n\n <ion-row class=\"mat-autocomplete-header ion-no-padding\">\n <ion-col *ngFor=\"let attr of displayAttributes; index as i; last as last\" [size]=\"displayColumnSizes[i]\" >\n <ion-label [innerHTML]=\"displayColumnNames[i] | translate\"></ion-label>\n <ion-text color=\"light\" *ngIf=\"last && itemCount; let count \" class=\"ion-float-end ion-padding-end\"><i>{{'COMMON.RESULT_COUNT'|translate: {count: count} }}</i></ion-text>\n </ion-col>\n </ion-row>\n\n <ng-container *ngIf=\"$filteredItems | async; else loadingTemplate; let items\">\n <!-- No item option -->\n <mat-option *ngIf=\"items | isEmptyArray\" class=\"ion-padding text-italic\" disabled>\n <ion-label>{{noResultMessage | translate}}</ion-label>\n </mat-option>\n\n <mat-option *ngFor=\"let item of items\" [value]=\"item\" class=\"ion-no-padding\" >\n <ion-row [classList]=\"item.classList\">\n <ion-col *ngFor=\"let path of displayAttributes; index as i;\"\n [size]=\"displayColumnSizes[i]\">\n <ion-text [innerHTML]=\"item | propertyGet: path | highlight: { search: formControl.value, withAccent: highlightAccent }\"></ion-text>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <!-- More item -->\n <mat-option *ngIf=\"_moreItemsCount\" (ngInit)=\"_initAutocompleteInfiniteScroll()\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-container>\n\n <!-- Loading spinner -->\n <ng-template #loadingTemplate>\n <mat-option *ngIf=\"(matInputText.value | strLength) >= suggestLengthThreshold; else waitMoreCharacterTemplate\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-template>\n\n <!-- Need more characters -->\n <ng-template #waitMoreCharacterTemplate>\n <mat-option class=\"ion-padding text-italic\" disabled>\n <ion-label>\n {{'INFO.PLEASE_TYPE_MORE_CHARACTERS'|translate:{minLength: suggestLengthThreshold} }}\n </ion-label>\n </mat-option>\n </ng-template>\n </mat-autocomplete>\n\n </ng-template>\n\n\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"searchable\"\n (click)=\"onDropButtonClick.emit($event)\"\n [hidden]=\"disabled\">\n <mat-icon class=\"large select-arrow\">arrow_drop_down</mat-icon>\n </button>\n <button matSuffix type=\"button\" mat-icon-button tabindex=\"-1\"\n *ngIf=\"enabled && mobile && !searchable && !multiple\"\n [title]=\"'COMMON.BTN_SEARCH'|translate\"\n (click)=\"toggleSearch($event)\">\n <mat-icon>search</mat-icon>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clearValue($event)\"\n [hidden]=\"disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <ng-content matSuffix select=\"[matSuffix]\"></ng-content>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('entity')\" translate>ERROR.FIELD_INVALID</mat-error>\n <ng-content select=\"[matError]\"></ng-content>\n\n </mat-form-field>\n </ion-col>\n <ion-col size=\"auto\" class=\"ion-align-self-center\">\n <ng-content select=\"[matAfter]\"></ng-content>\n </ion-col>\n </ion-row>\n\n</ion-grid>\n",
|
|
1811
|
+
providers: [DEFAULT_VALUE_ACCESSOR],
|
|
1802
1812
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
1803
1813
|
styles: [":host{display:inline-block;position:relative}:host.ion-text-wrap ion-label{white-space:normal!important}button[hidden]{display:none}mat-icon.select-arrow{color:rgba(0,0,0,.47);font-size:150%}.fact-scroll-viewport{height:100%;width:100%}.fact-item{height:54px;display:flex}.fact-item .fact-date{min-width:100px;text-align:center;font-size:24pt}.fact-item .fact-date,.fact-item .fact-text{height:100%;align-items:center;justify-content:center;display:flex}.fact-item .fact-text{border-radius:10px}cdk-virtual-scroll-viewport{border:1px solid #000}cdk-virtual-scroll-viewport li{list-style:none}"]
|
|
1804
1814
|
},] }
|
|
@@ -1847,9 +1857,12 @@
|
|
|
1847
1857
|
onBlur: [{ type: i0.Output, args: ['blur',] }],
|
|
1848
1858
|
onFocus: [{ type: i0.Output, args: ['focus',] }],
|
|
1849
1859
|
onDropButtonClick: [{ type: i0.Output, args: ['dropButtonClick',] }],
|
|
1860
|
+
onKeydownEscape: [{ type: i0.Output, args: ['keydown.escape',] }],
|
|
1861
|
+
onKeyupEnter: [{ type: i0.Output, args: ['keyup.enter',] }],
|
|
1850
1862
|
matSelect: [{ type: i0.ViewChild, args: ['matSelect',] }],
|
|
1851
1863
|
matInputText: [{ type: i0.ViewChild, args: ['matInputText',] }],
|
|
1852
|
-
|
|
1864
|
+
matAutocomplete: [{ type: i0.ViewChild, args: [autocomplete.MatAutocomplete,] }],
|
|
1865
|
+
matAutocompleteTrigger: [{ type: i0.ViewChild, args: [autocomplete.MatAutocompleteTrigger,] }]
|
|
1853
1866
|
};
|
|
1854
1867
|
|
|
1855
1868
|
var DateFormatPipe = /** @class */ (function () {
|
|
@@ -1873,7 +1886,7 @@
|
|
|
1873
1886
|
};
|
|
1874
1887
|
return DateFormatPipe;
|
|
1875
1888
|
}());
|
|
1876
|
-
DateFormatPipe.ɵprov =
|
|
1889
|
+
DateFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DateFormatPipe_Factory() { return new DateFormatPipe(i0.ɵɵinject(i1$1.MomentDateAdapter), i0.ɵɵinject(i1$2.TranslateService)); }, token: DateFormatPipe, providedIn: "root" });
|
|
1877
1890
|
DateFormatPipe.decorators = [
|
|
1878
1891
|
{ type: i0.Pipe, args: [{
|
|
1879
1892
|
name: 'dateFormat'
|
|
@@ -1885,7 +1898,7 @@
|
|
|
1885
1898
|
{ type: i1$2.TranslateService }
|
|
1886
1899
|
]; };
|
|
1887
1900
|
|
|
1888
|
-
var moment
|
|
1901
|
+
var moment = momentImported__namespace;
|
|
1889
1902
|
var DateDiffDurationPipe = /** @class */ (function () {
|
|
1890
1903
|
function DateDiffDurationPipe(dateAdapter, translate) {
|
|
1891
1904
|
var _this = this;
|
|
@@ -1902,10 +1915,10 @@
|
|
|
1902
1915
|
return this.format(startDate, endDate);
|
|
1903
1916
|
};
|
|
1904
1917
|
DateDiffDurationPipe.prototype.format = function (startDate, endDate) {
|
|
1905
|
-
var duration = moment
|
|
1918
|
+
var duration = moment.duration(endDate.diff(startDate));
|
|
1906
1919
|
if (duration.asMinutes() < 0)
|
|
1907
1920
|
return '';
|
|
1908
|
-
var timeDuration = moment
|
|
1921
|
+
var timeDuration = moment(0)
|
|
1909
1922
|
.hour(duration.hours())
|
|
1910
1923
|
.minute(duration.minutes());
|
|
1911
1924
|
var days = Math.floor(duration.asDays());
|
|
@@ -1913,7 +1926,7 @@
|
|
|
1913
1926
|
};
|
|
1914
1927
|
return DateDiffDurationPipe;
|
|
1915
1928
|
}());
|
|
1916
|
-
DateDiffDurationPipe.ɵprov =
|
|
1929
|
+
DateDiffDurationPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DateDiffDurationPipe_Factory() { return new DateDiffDurationPipe(i0.ɵɵinject(i1$3.DateAdapter), i0.ɵɵinject(i1$2.TranslateService)); }, token: DateDiffDurationPipe, providedIn: "root" });
|
|
1917
1930
|
DateDiffDurationPipe.decorators = [
|
|
1918
1931
|
{ type: i0.Pipe, args: [{
|
|
1919
1932
|
name: 'dateDiffDuration'
|
|
@@ -1935,7 +1948,7 @@
|
|
|
1935
1948
|
};
|
|
1936
1949
|
return DateFromNowPipe;
|
|
1937
1950
|
}());
|
|
1938
|
-
DateFromNowPipe.ɵprov =
|
|
1951
|
+
DateFromNowPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(i0.ɵɵinject(i1$1.MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
|
|
1939
1952
|
DateFromNowPipe.decorators = [
|
|
1940
1953
|
{ type: i0.Pipe, args: [{
|
|
1941
1954
|
name: 'dateFromNow'
|
|
@@ -2004,7 +2017,7 @@
|
|
|
2004
2017
|
value *= -1;
|
|
2005
2018
|
}
|
|
2006
2019
|
}
|
|
2007
|
-
var degrees = roundFloat
|
|
2020
|
+
var degrees = roundFloat(value, opts.maxDecimals).toString();
|
|
2008
2021
|
// Add sign
|
|
2009
2022
|
var sign = negative ? '-' : '+';
|
|
2010
2023
|
if (opts.placeholderChar) {
|
|
@@ -2055,7 +2068,7 @@
|
|
|
2055
2068
|
}
|
|
2056
2069
|
var degrees = Math.trunc(value);
|
|
2057
2070
|
var minutes = Math.trunc((value - degrees) * 60);
|
|
2058
|
-
var seconds = roundFloat
|
|
2071
|
+
var seconds = roundFloat(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
|
|
2059
2072
|
while (seconds >= 60) {
|
|
2060
2073
|
seconds -= 60;
|
|
2061
2074
|
minutes += 1;
|
|
@@ -2123,7 +2136,7 @@
|
|
|
2123
2136
|
}
|
|
2124
2137
|
}
|
|
2125
2138
|
var degrees = Math.trunc(value);
|
|
2126
|
-
var minutes = roundFloat
|
|
2139
|
+
var minutes = roundFloat((value - degrees) * 60, opts.maxDecimals);
|
|
2127
2140
|
while (minutes >= 60) {
|
|
2128
2141
|
minutes -= 60;
|
|
2129
2142
|
degrees += 1;
|
|
@@ -2174,15 +2187,15 @@
|
|
|
2174
2187
|
return NaN;
|
|
2175
2188
|
}
|
|
2176
2189
|
if (pattern === 'DD')
|
|
2177
|
-
return roundFloat
|
|
2190
|
+
return roundFloat(degrees, maxDecimals);
|
|
2178
2191
|
var minutes = (pattern === 'DDMMSS' || pattern === 'DDMM') && parts[1] && parseFloat(parts[1].replace(/,/g, '.')) || 0;
|
|
2179
2192
|
var seconds = (pattern === 'DDMMSS') && parts[2] && parseFloat(parts[2].replace(/,/g, '.')) || 0;
|
|
2180
2193
|
var direction = ((pattern === 'DDMMSS') && parts[3]) || ((pattern === 'DDMM') && parts[2]) || undefined;
|
|
2181
2194
|
var sign = (direction && (direction === 's' || direction === 'S' || direction === 'w' || direction === 'W')) ? -1 : 1;
|
|
2182
2195
|
degrees = sign * (degrees + minutes / 60 + seconds / (60 * 60));
|
|
2183
|
-
return roundFloat
|
|
2196
|
+
return roundFloat(degrees, maxDecimals);
|
|
2184
2197
|
}
|
|
2185
|
-
function roundFloat
|
|
2198
|
+
function roundFloat(input, maxDecimals) {
|
|
2186
2199
|
if (maxDecimals > 0) {
|
|
2187
2200
|
var powDecimal = Math.pow(10, maxDecimals);
|
|
2188
2201
|
return Math.trunc(input * powDecimal + 0.5) / powDecimal;
|
|
@@ -2205,7 +2218,7 @@
|
|
|
2205
2218
|
};
|
|
2206
2219
|
return LatLongFormatPipe;
|
|
2207
2220
|
}());
|
|
2208
|
-
LatLongFormatPipe.ɵprov =
|
|
2221
|
+
LatLongFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
|
|
2209
2222
|
LatLongFormatPipe.decorators = [
|
|
2210
2223
|
{ type: i0.Pipe, args: [{
|
|
2211
2224
|
name: 'latLongFormat'
|
|
@@ -2218,7 +2231,7 @@
|
|
|
2218
2231
|
}
|
|
2219
2232
|
return LatitudeFormatPipe;
|
|
2220
2233
|
}());
|
|
2221
|
-
LatitudeFormatPipe.ɵprov =
|
|
2234
|
+
LatitudeFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
|
|
2222
2235
|
LatitudeFormatPipe.decorators = [
|
|
2223
2236
|
{ type: i0.Pipe, args: [{
|
|
2224
2237
|
name: 'latitudeFormat'
|
|
@@ -2231,7 +2244,7 @@
|
|
|
2231
2244
|
}
|
|
2232
2245
|
return LongitudeFormatPipe;
|
|
2233
2246
|
}());
|
|
2234
|
-
LongitudeFormatPipe.ɵprov =
|
|
2247
|
+
LongitudeFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
|
|
2235
2248
|
LongitudeFormatPipe.decorators = [
|
|
2236
2249
|
{ type: i0.Pipe, args: [{
|
|
2237
2250
|
name: 'longitudeFormat'
|
|
@@ -2254,7 +2267,7 @@
|
|
|
2254
2267
|
};
|
|
2255
2268
|
return NumberFormatPipe;
|
|
2256
2269
|
}());
|
|
2257
|
-
NumberFormatPipe.ɵprov =
|
|
2270
|
+
NumberFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
|
|
2258
2271
|
NumberFormatPipe.decorators = [
|
|
2259
2272
|
{ type: i0.Pipe, args: [{
|
|
2260
2273
|
name: 'numberFormat'
|
|
@@ -2297,7 +2310,7 @@
|
|
|
2297
2310
|
};
|
|
2298
2311
|
return HighlightPipe;
|
|
2299
2312
|
}());
|
|
2300
|
-
HighlightPipe.ɵprov =
|
|
2313
|
+
HighlightPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
|
|
2301
2314
|
HighlightPipe.decorators = [
|
|
2302
2315
|
{ type: i0.Pipe, args: [{
|
|
2303
2316
|
name: 'highlight'
|
|
@@ -2365,7 +2378,7 @@
|
|
|
2365
2378
|
{ type: i0.Pipe, args: [{ name: 'fileSize' },] }
|
|
2366
2379
|
];
|
|
2367
2380
|
|
|
2368
|
-
var moment$
|
|
2381
|
+
var moment$1 = momentImported__namespace;
|
|
2369
2382
|
var DATE_UNIX_TIMESTAMP = 'X';
|
|
2370
2383
|
var DATE_UNIX_MS_TIMESTAMP = 'x';
|
|
2371
2384
|
var DateUtils = /** @class */ (function () {
|
|
@@ -2400,32 +2413,32 @@
|
|
|
2400
2413
|
if (!value || momentImported.isMoment(value))
|
|
2401
2414
|
return value;
|
|
2402
2415
|
// Parse the input value, as a ISO date time
|
|
2403
|
-
var date = moment$
|
|
2416
|
+
var date = moment$1(value, DATE_ISO_PATTERN);
|
|
2404
2417
|
if (date.isValid())
|
|
2405
2418
|
return date;
|
|
2406
2419
|
// Not valid: trying to convert from unix timestamp
|
|
2407
2420
|
if (typeof value === 'string') {
|
|
2408
2421
|
console.warn('Wrong date format - Trying to convert from local time: ' + value);
|
|
2409
2422
|
if (value.length === 10) {
|
|
2410
|
-
return moment$
|
|
2423
|
+
return moment$1(value, DATE_UNIX_TIMESTAMP);
|
|
2411
2424
|
}
|
|
2412
2425
|
else if (value.length === 13) {
|
|
2413
|
-
return moment$
|
|
2426
|
+
return moment$1(value, DATE_UNIX_MS_TIMESTAMP);
|
|
2414
2427
|
}
|
|
2415
2428
|
}
|
|
2416
2429
|
console.warn('Unable to parse date: ' + value);
|
|
2417
2430
|
return undefined;
|
|
2418
2431
|
}
|
|
2419
2432
|
function fromUnixTimestamp(timeInSec) {
|
|
2420
|
-
return moment$
|
|
2433
|
+
return moment$1(timeInSec, DATE_UNIX_TIMESTAMP);
|
|
2421
2434
|
}
|
|
2422
2435
|
function fromUnixMsTimestamp(timeInMs) {
|
|
2423
|
-
return moment$
|
|
2436
|
+
return moment$1(timeInMs, DATE_UNIX_MS_TIMESTAMP);
|
|
2424
2437
|
}
|
|
2425
2438
|
function toDuration(value, unit) {
|
|
2426
2439
|
if (!value)
|
|
2427
2440
|
return undefined;
|
|
2428
|
-
var duration = moment$
|
|
2441
|
+
var duration = moment$1.duration(value, unit);
|
|
2429
2442
|
// fix 990+ ms
|
|
2430
2443
|
if (duration.milliseconds() >= 990) {
|
|
2431
2444
|
duration.add(1000 - duration.milliseconds(), 'ms');
|
|
@@ -2455,7 +2468,7 @@
|
|
|
2455
2468
|
};
|
|
2456
2469
|
return DurationPipe;
|
|
2457
2470
|
}());
|
|
2458
|
-
DurationPipe.ɵprov =
|
|
2471
|
+
DurationPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(i0.ɵɵinject(i1$2.TranslateService)); }, token: DurationPipe, providedIn: "root" });
|
|
2459
2472
|
DurationPipe.decorators = [
|
|
2460
2473
|
{ type: i0.Pipe, args: [{
|
|
2461
2474
|
name: 'duration'
|
|
@@ -2479,7 +2492,7 @@
|
|
|
2479
2492
|
};
|
|
2480
2493
|
return MathAbsPipe;
|
|
2481
2494
|
}());
|
|
2482
|
-
MathAbsPipe.ɵprov =
|
|
2495
|
+
MathAbsPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
|
|
2483
2496
|
MathAbsPipe.decorators = [
|
|
2484
2497
|
{ type: i0.Pipe, args: [{
|
|
2485
2498
|
name: 'mathAbs'
|
|
@@ -2494,7 +2507,7 @@
|
|
|
2494
2507
|
};
|
|
2495
2508
|
return EvenPipe;
|
|
2496
2509
|
}());
|
|
2497
|
-
EvenPipe.ɵprov =
|
|
2510
|
+
EvenPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
|
|
2498
2511
|
EvenPipe.decorators = [
|
|
2499
2512
|
{ type: i0.Pipe, args: [{
|
|
2500
2513
|
name: 'even'
|
|
@@ -2509,7 +2522,7 @@
|
|
|
2509
2522
|
};
|
|
2510
2523
|
return OddPipe;
|
|
2511
2524
|
}());
|
|
2512
|
-
OddPipe.ɵprov =
|
|
2525
|
+
OddPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
|
|
2513
2526
|
OddPipe.decorators = [
|
|
2514
2527
|
{ type: i0.Pipe, args: [{
|
|
2515
2528
|
name: 'odd'
|
|
@@ -2641,7 +2654,7 @@
|
|
|
2641
2654
|
};
|
|
2642
2655
|
return MapGetPipe;
|
|
2643
2656
|
}());
|
|
2644
|
-
MapGetPipe.ɵprov =
|
|
2657
|
+
MapGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
|
|
2645
2658
|
MapGetPipe.decorators = [
|
|
2646
2659
|
{ type: i0.Pipe, args: [{
|
|
2647
2660
|
name: 'mapGet'
|
|
@@ -2658,7 +2671,7 @@
|
|
|
2658
2671
|
};
|
|
2659
2672
|
return MapKeysPipe;
|
|
2660
2673
|
}());
|
|
2661
|
-
MapKeysPipe.ɵprov =
|
|
2674
|
+
MapKeysPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
|
|
2662
2675
|
MapKeysPipe.decorators = [
|
|
2663
2676
|
{ type: i0.Pipe, args: [{
|
|
2664
2677
|
name: 'mapKeys'
|
|
@@ -2675,7 +2688,7 @@
|
|
|
2675
2688
|
};
|
|
2676
2689
|
return MapValuesPipe;
|
|
2677
2690
|
}());
|
|
2678
|
-
MapValuesPipe.ɵprov =
|
|
2691
|
+
MapValuesPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
|
|
2679
2692
|
MapValuesPipe.decorators = [
|
|
2680
2693
|
{ type: i0.Pipe, args: [{
|
|
2681
2694
|
name: 'mapValues'
|
|
@@ -2691,7 +2704,7 @@
|
|
|
2691
2704
|
};
|
|
2692
2705
|
return IsNotNilOrBlankPipe;
|
|
2693
2706
|
}());
|
|
2694
|
-
IsNotNilOrBlankPipe.ɵprov =
|
|
2707
|
+
IsNotNilOrBlankPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
|
|
2695
2708
|
IsNotNilOrBlankPipe.decorators = [
|
|
2696
2709
|
{ type: i0.Pipe, args: [{
|
|
2697
2710
|
name: 'isNotNilOrBlank'
|
|
@@ -2706,7 +2719,7 @@
|
|
|
2706
2719
|
};
|
|
2707
2720
|
return IsNilOrBlankPipe;
|
|
2708
2721
|
}());
|
|
2709
|
-
IsNilOrBlankPipe.ɵprov =
|
|
2722
|
+
IsNilOrBlankPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
|
|
2710
2723
|
IsNilOrBlankPipe.decorators = [
|
|
2711
2724
|
{ type: i0.Pipe, args: [{
|
|
2712
2725
|
name: 'isNilOrBlank'
|
|
@@ -2721,7 +2734,7 @@
|
|
|
2721
2734
|
};
|
|
2722
2735
|
return ToStringPipe;
|
|
2723
2736
|
}());
|
|
2724
|
-
ToStringPipe.ɵprov =
|
|
2737
|
+
ToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
|
|
2725
2738
|
ToStringPipe.decorators = [
|
|
2726
2739
|
{ type: i0.Pipe, args: [{
|
|
2727
2740
|
name: 'toString'
|
|
@@ -2736,7 +2749,7 @@
|
|
|
2736
2749
|
};
|
|
2737
2750
|
return StrLengthPipe;
|
|
2738
2751
|
}());
|
|
2739
|
-
StrLengthPipe.ɵprov =
|
|
2752
|
+
StrLengthPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
|
|
2740
2753
|
StrLengthPipe.decorators = [
|
|
2741
2754
|
{ type: i0.Pipe, args: [{
|
|
2742
2755
|
name: 'strLength'
|
|
@@ -2789,7 +2802,7 @@
|
|
|
2789
2802
|
};
|
|
2790
2803
|
return TranslateContextService;
|
|
2791
2804
|
}());
|
|
2792
|
-
TranslateContextService.ɵprov =
|
|
2805
|
+
TranslateContextService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(i0.ɵɵinject(i1$2.TranslateService)); }, token: TranslateContextService, providedIn: "root" });
|
|
2793
2806
|
TranslateContextService.decorators = [
|
|
2794
2807
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
2795
2808
|
];
|
|
@@ -2806,7 +2819,7 @@
|
|
|
2806
2819
|
};
|
|
2807
2820
|
return TranslateContextPipe;
|
|
2808
2821
|
}());
|
|
2809
|
-
TranslateContextPipe.ɵprov =
|
|
2822
|
+
TranslateContextPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslateContextPipe_Factory() { return new TranslateContextPipe(i0.ɵɵinject(TranslateContextService)); }, token: TranslateContextPipe, providedIn: "root" });
|
|
2810
2823
|
TranslateContextPipe.decorators = [
|
|
2811
2824
|
{ type: i0.Pipe, args: [{
|
|
2812
2825
|
name: 'translateContext'
|
|
@@ -2826,7 +2839,7 @@
|
|
|
2826
2839
|
};
|
|
2827
2840
|
return TranslatablePipe;
|
|
2828
2841
|
}());
|
|
2829
|
-
TranslatablePipe.ɵprov =
|
|
2842
|
+
TranslatablePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslatablePipe_Factory() { return new TranslatablePipe(); }, token: TranslatablePipe, providedIn: "root" });
|
|
2830
2843
|
TranslatablePipe.decorators = [
|
|
2831
2844
|
{ type: i0.Pipe, args: [{
|
|
2832
2845
|
name: 'translatable'
|
|
@@ -2846,7 +2859,7 @@
|
|
|
2846
2859
|
};
|
|
2847
2860
|
return PropertyGetPipe;
|
|
2848
2861
|
}());
|
|
2849
|
-
PropertyGetPipe.ɵprov =
|
|
2862
|
+
PropertyGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
|
|
2850
2863
|
PropertyGetPipe.decorators = [
|
|
2851
2864
|
{ type: i0.Pipe, args: [{
|
|
2852
2865
|
name: 'propertyGet'
|
|
@@ -3103,14 +3116,14 @@
|
|
|
3103
3116
|
},] }
|
|
3104
3117
|
];
|
|
3105
3118
|
|
|
3106
|
-
var moment$
|
|
3119
|
+
var moment$2 = momentImported__namespace;
|
|
3107
3120
|
// @dynamic
|
|
3108
3121
|
var SharedValidators = /** @class */ (function () {
|
|
3109
3122
|
function SharedValidators() {
|
|
3110
3123
|
}
|
|
3111
3124
|
SharedValidators.validDate = function (control) {
|
|
3112
3125
|
var value = control.value;
|
|
3113
|
-
var date = !value || moment$
|
|
3126
|
+
var date = !value || moment$2.isMoment(value) ? value : moment$2(control.value, DATE_ISO_PATTERN);
|
|
3114
3127
|
if (date && (!date.isValid() || date.year() < 1970)) {
|
|
3115
3128
|
return { validDate: true };
|
|
3116
3129
|
}
|
|
@@ -3581,9 +3594,9 @@
|
|
|
3581
3594
|
var hour = parseInt(durationParts[0] || '0');
|
|
3582
3595
|
var minute = parseInt(durationParts[1] || '0');
|
|
3583
3596
|
var value = hour + (minute + 0.5) / 60;
|
|
3584
|
-
return roundFloat(value, maxDecimals);
|
|
3597
|
+
return roundFloat$1(value, maxDecimals);
|
|
3585
3598
|
}
|
|
3586
|
-
function roundFloat(input, maxDecimals) {
|
|
3599
|
+
function roundFloat$1(input, maxDecimals) {
|
|
3587
3600
|
if (maxDecimals > 0) {
|
|
3588
3601
|
var powDecimal = Math.pow(10, maxDecimals);
|
|
3589
3602
|
return Math.trunc(input * powDecimal + 0.5) / powDecimal;
|
|
@@ -3607,9 +3620,9 @@
|
|
|
3607
3620
|
DD: [/[+-]/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '°']
|
|
3608
3621
|
}
|
|
3609
3622
|
};
|
|
3610
|
-
var noop$
|
|
3623
|
+
var noop$1 = function () {
|
|
3611
3624
|
};
|
|
3612
|
-
var ɵ0$
|
|
3625
|
+
var ɵ0$1 = noop$1;
|
|
3613
3626
|
var MatLatLongField = /** @class */ (function () {
|
|
3614
3627
|
function MatLatLongField(platform, translate, formBuilder, cd, formGroupDir) {
|
|
3615
3628
|
this.platform = platform;
|
|
@@ -3617,8 +3630,8 @@
|
|
|
3617
3630
|
this.formBuilder = formBuilder;
|
|
3618
3631
|
this.cd = cd;
|
|
3619
3632
|
this.formGroupDir = formGroupDir;
|
|
3620
|
-
this._onChangeCallback = noop$
|
|
3621
|
-
this._onTouchedCallback = noop$
|
|
3633
|
+
this._onChangeCallback = noop$1;
|
|
3634
|
+
this._onTouchedCallback = noop$1;
|
|
3622
3635
|
this._subscription = new rxjs.Subscription();
|
|
3623
3636
|
this.disabling = false;
|
|
3624
3637
|
this.writing = false;
|
|
@@ -3971,14 +3984,14 @@
|
|
|
3971
3984
|
},] }
|
|
3972
3985
|
];
|
|
3973
3986
|
|
|
3974
|
-
var DEFAULT_VALUE_ACCESSOR$
|
|
3987
|
+
var DEFAULT_VALUE_ACCESSOR$1 = {
|
|
3975
3988
|
provide: i1.NG_VALUE_ACCESSOR,
|
|
3976
3989
|
useExisting: i0.forwardRef(function () { return MatDate; }),
|
|
3977
3990
|
multi: true
|
|
3978
3991
|
};
|
|
3979
|
-
var DAY_MASK
|
|
3980
|
-
var noop$
|
|
3981
|
-
var ɵ0$
|
|
3992
|
+
var DAY_MASK = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
|
|
3993
|
+
var noop$2 = function () { };
|
|
3994
|
+
var ɵ0$2 = noop$2;
|
|
3982
3995
|
var MatDate = /** @class */ (function () {
|
|
3983
3996
|
function MatDate(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
3984
3997
|
this.dateAdapter = dateAdapter;
|
|
@@ -3987,12 +4000,12 @@
|
|
|
3987
4000
|
this.cd = cd;
|
|
3988
4001
|
this.keyboard = keyboard;
|
|
3989
4002
|
this.formGroupDir = formGroupDir;
|
|
3990
|
-
this._onChangeCallback = noop$
|
|
3991
|
-
this._onTouchedCallback = noop$
|
|
4003
|
+
this._onChangeCallback = noop$2;
|
|
4004
|
+
this._onTouchedCallback = noop$2;
|
|
3992
4005
|
this._subscription = new rxjs.Subscription();
|
|
3993
4006
|
this.writing = true;
|
|
3994
4007
|
this.disabling = false;
|
|
3995
|
-
this.dayMask = DAY_MASK
|
|
4008
|
+
this.dayMask = DAY_MASK;
|
|
3996
4009
|
this.disabled = false;
|
|
3997
4010
|
this.floatLabel = 'auto';
|
|
3998
4011
|
this.readonly = false;
|
|
@@ -4261,7 +4274,7 @@
|
|
|
4261
4274
|
selector: 'mat-date-field',
|
|
4262
4275
|
template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly else writable\">\n <input matInput hidden type=\"text\" readonly=\"true\" [formControl]=\"formControl\">\n <ion-text>{{formControl.value|dateFormat: {pattern: displayPattern} }}</ion-text>\n</mat-form-field>\n\n<ng-template #writable>\n <mat-form-field [floatLabel]=\"floatLabel\">\n\n <mat-label>{{placeholder}}</mat-label>\n\n <div matPrefix><ng-content select=\"[matPrefix]\"></ng-content></div>\n\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"dayControl\"\n [textMask]=\"{mask: dayMask, keepCharPositions: true, placeholderChar: placeholderChar}\"\n [placeholder]=\"'COMMON.DATE_PLACEHOLDER'|translate\"\n (blur)=\"checkIfTouched()\"\n (keyup.arrowdown)=\"openDatePicker($event, datePicker)\"\n (keyup.escape)=\"preventEvent($event)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [appAutofocus]=\"autofocus\">\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"dayControl\"\n (click)=\"openDatePickerIfMobile($event, datePicker)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n readonly>\n\n <!-- Hide the final control -->\n <input matInput type=\"text\"\n [formControl]=\"formControl\"\n hidden\n [matDatepicker]=\"datePicker\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n (click)=\"openDatePicker($event, datePicker)\"\n [disabled]=\"formControl.disabled\">\n <div *ngIf=\"mobile; then iconDate; else iconDesktop\"></div>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"writeValue(null)\"\n [hidden]=\"formControl.disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('validDate')\" translate>ERROR.FIELD_NOT_VALID_DATE</mat-error>\n <mat-error *ngIf=\"formControl.hasError('dateIsAfter')\">{{'ERROR.FIELD_NOT_VALID_DATE_AFTER' | translate: formControl.errors.dateIsAfter }}</mat-error>\n <mat-error *ngIf=\"formControl.hasError('dateRange')\" translate>ERROR.FIELD_NOT_VALID_DATE_RANGE</mat-error>\n <mat-error *ngIf=\"!formControl.hasError('dateRange') && formControl.hasError('dateMaxDuration')\" translate>ERROR.FIELD_NOT_VALID_DATE_MAX_DURATION</mat-error>\n <mat-error *ngIf=\"!formControl.hasError('dateRange') && formControl.hasError('dateMinDuration')\" translate>ERROR.FIELD_NOT_VALID_DATE_MIN_DURATION</mat-error>\n <mat-error *ngIf=\"formControl.hasError('msg')\">{{formControl.errors.msg}}</mat-error>\n </mat-form-field>\n\n <mat-datepicker #datePicker\n [touchUi]=\"mobile\"\n [disabled]=\"formControl.disabled\"\n [startAt]=\"startDate\"></mat-datepicker>\n\n <ng-template #iconDesktop>\n <mat-icon>keyboard_arrow_down</mat-icon>\n </ng-template>\n\n <ng-template #iconDate>\n <mat-icon>date_range</mat-icon>\n </ng-template>\n\n</ng-template>\n\n",
|
|
4263
4276
|
providers: [
|
|
4264
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
4277
|
+
DEFAULT_VALUE_ACCESSOR$1,
|
|
4265
4278
|
],
|
|
4266
4279
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
4267
4280
|
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%}"]
|
|
@@ -4294,17 +4307,17 @@
|
|
|
4294
4307
|
matInputs: [{ type: i0.ViewChildren, args: ['matInput',] }]
|
|
4295
4308
|
};
|
|
4296
4309
|
|
|
4297
|
-
var DEFAULT_VALUE_ACCESSOR$
|
|
4310
|
+
var DEFAULT_VALUE_ACCESSOR$2 = {
|
|
4298
4311
|
provide: i1.NG_VALUE_ACCESSOR,
|
|
4299
4312
|
useExisting: i0.forwardRef(function () { return MatDateTime; }),
|
|
4300
4313
|
multi: true
|
|
4301
4314
|
};
|
|
4302
4315
|
var DAY_MASK$1 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
|
|
4303
4316
|
var HOUR_REGEXP = /^[012][0-9][:][012345][0-9]$/;
|
|
4304
|
-
var HOUR_MASK
|
|
4305
|
-
var noop$
|
|
4317
|
+
var HOUR_MASK = [/[012]/, /\d/, ':', /[012345]/, /\d/];
|
|
4318
|
+
var noop$3 = function () {
|
|
4306
4319
|
};
|
|
4307
|
-
var ɵ0$
|
|
4320
|
+
var ɵ0$3 = noop$3;
|
|
4308
4321
|
var MatDateTime = /** @class */ (function () {
|
|
4309
4322
|
function MatDateTime(platform, dateAdapter, translate, formBuilder, keyboard, cd, formGroupDir) {
|
|
4310
4323
|
this.platform = platform;
|
|
@@ -4314,14 +4327,14 @@
|
|
|
4314
4327
|
this.keyboard = keyboard;
|
|
4315
4328
|
this.cd = cd;
|
|
4316
4329
|
this.formGroupDir = formGroupDir;
|
|
4317
|
-
this._onChangeCallback = noop$
|
|
4318
|
-
this._onTouchedCallback = noop$
|
|
4330
|
+
this._onChangeCallback = noop$3;
|
|
4331
|
+
this._onTouchedCallback = noop$3;
|
|
4319
4332
|
this._subscription = new rxjs.Subscription();
|
|
4320
4333
|
this.writing = true;
|
|
4321
4334
|
this.disabling = false;
|
|
4322
4335
|
this._onDestroy = new i0.EventEmitter();
|
|
4323
4336
|
this.dayMask = DAY_MASK$1;
|
|
4324
|
-
this.hourMask = HOUR_MASK
|
|
4337
|
+
this.hourMask = HOUR_MASK;
|
|
4325
4338
|
this.floatLabel = 'auto';
|
|
4326
4339
|
this.readonly = false;
|
|
4327
4340
|
this.compact = false;
|
|
@@ -4668,7 +4681,7 @@
|
|
|
4668
4681
|
selector: 'mat-date-time-field',
|
|
4669
4682
|
template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled\">\n <input matInput hidden type=\"text\"\n readonly\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <ion-text>{{formControl.value|dateFormat: {pattern: displayPattern} }}</ion-text>\n</mat-form-field>\n\n<!-- writable + time -->\n<ng-template #writable >\n <ion-grid class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding no-wrap\" nowrap>\n\n <!-- day -->\n <ion-col class=\"day ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-invalid]=\"formControl.touched && formControl.invalid\">\n\n <mat-label>{{placeholder}}</mat-label>\n\n <div matPrefix><ng-content select=\"[matPrefix]\"></ng-content></div>\n\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"dateFormControl\"\n [textMask]=\"{mask: dayMask, keepCharPositions: true, placeholderChar: placeholderChar}\"\n [placeholder]=\"'COMMON.DATE_PLACEHOLDER'|translate\"\n (blur)=\"checkIfTouched()\"\n (keyup.arrowdown)=\"openDatePicker($event, datePicker)\"\n (keyup.escape)=\"preventEvent($event)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [appAutofocus]=\"autofocus\">\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"dateFormControl\"\n (click)=\"openDatePickerIfMobile($event, datePicker)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n readonly>\n <input matInput type=\"text\" [formControl]=\"formControl\"\n hidden\n [matDatepicker]=\"datePicker\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n <button type=\"button\" mat-icon-button tabindex=\"-1\" matSuffix #datePickerButton2 (click)=\"openDatePicker($event, datePicker)\" [disabled]=\"formControl.disabled\">\n <div *ngIf=\"mobile; then iconDate; else iconDesktop\"></div>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clear()\"\n [hidden]=\"formControl.disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-datepicker #datePicker\n [touchUi]=\"mobile\"\n [disabled]=\"formControl.disabled\"\n [startAt]=\"startDate\"></mat-datepicker>\n <div class=\"mat-form-field-subscript mat-form-field-subscript-wrapper\" >\n <!-- errors -->\n <ng-container [ngSwitch]=\"formControl.touched && formControl.errors|mapKeys|arrayFirst\">\n <mat-error *ngSwitchCase=\"'required'\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngSwitchCase=\"'validDate'\" translate>ERROR.FIELD_NOT_VALID_DATE_TIME</mat-error>\n <mat-error *ngSwitchCase=\"'dateIsAfter'\">{{'ERROR.FIELD_NOT_VALID_DATE_AFTER' | translate: formControl.errors.dateIsAfter }}</mat-error>\n <mat-error *ngSwitchCase=\"'dateRange'\" translate>ERROR.FIELD_NOT_VALID_DATE_RANGE</mat-error>\n <mat-error *ngSwitchCase=\"'dateMaxDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MAX_DURATION</mat-error>\n <mat-error *ngSwitchCase=\"'dateMinDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MIN_DURATION</mat-error>\n <mat-error *ngSwitchCase=\"'msg'\">{{(formControl.errors.msg?.key || formControl.errors.msg) | translate: formControl.errors.msg?.params}}</mat-error>\n </ng-container>\n <ng-content select=\"mat-error\"></ng-content>\n\n <!-- mat hint -->\n <div class=\"mat-form-field-hint-wrapper\" [class.cdk-visually-hidden]=\"formControl.invalid\">\n <div class=\"mat-form-field-hint-spacer\"></div>\n <ng-content select=\"mat-hint\"></ng-content>\n </div>\n </div>\n\n </ion-col>\n\n <!-- hour -->\n <ion-col class=\"hour ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-invalid]=\"formControl.touched && (timeFormControl.invalid || formControl.invalid)\">\n <mat-label *ngIf=\"placeholder && floatLabel != 'never'\" translate>COMMON.TIME</mat-label>\n <input matInput #matInput type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"timeFormControl\"\n autocomplete=\"off\"\n min=\"0\" max=\"23\"\n [textMask]=\"{mask: hourMask, keepCharPositions: true, placeholderChar: placeholderChar, guide: true}\"\n [placeholder]=\"'COMMON.TIME_PLACEHOLDER'|translate\"\n [required]=\"required\"\n (keyup.arrowdown)=\"openTimePicker($event)\"\n (keyup.escape)=\"preventEvent($event)\"\n (blur)=\"checkIfTouched()\"\n [tabindex]=\"tabindex !== undefined ? tabindex+1 : undefined\">\n\n <input matInput #matInput type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"timeFormControl\"\n (click)=\"openTimePickerIfMobile($event)\"\n readonly>\n\n <input matInput type=\"text\"\n [formControl]=\"timeFormControl\"\n hidden\n [ngxTimepicker]=\"timePicker\"\n [format]=\"24\">\n\n <button matSuffix type=\"button\" mat-icon-button\n tabindex=\"-1\"\n *ngIf=\"!compact && !mobile\"\n [disabled]=\"formControl.disabled\"\n (click)=\"openTimePicker($event)\" >\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n <button matSuffix type=\"button\" mat-icon-button\n tabindex=\"-1\"\n *ngIf=\"!compact && mobile\"\n [disabled]=\"formControl.disabled\"\n (click)=\"openTimePickerIfMobile($event)\">\n <mat-icon>access_time</mat-icon>\n </button>\n\n <ngx-material-timepicker #timePicker [@.disabled]=\"true\"\n (timeSet)=\"onTimePickerChange($event)\"\n [ESC]=\"!mobile\"\n [defaultTime]=\"'00:00'\"\n [cancelBtnTmpl]=\"timePickerCancelButton\"\n [confirmBtnTmpl]=\"timePickerOkButton\"\n [preventOverlayClick]=\"mobile\"\n [enableKeyboardInput]=\"false\"\n [disableAnimation]=\"true\">\n <!-- cancel button -->\n <ng-template #timePickerCancelButton>\n <ion-button fill=\"clear\" color=\"dark\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n </ng-template>\n\n <!-- confirm button -->\n <ng-template #timePickerOkButton>\n <ion-button fill=\"solid\" color=\"tertiary\">\n <ion-label translate>COMMON.BTN_VALIDATE</ion-label>\n </ion-button>\n </ng-template>\n\n </ngx-material-timepicker>\n </mat-form-field>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n\n</ng-template>\n\n<ng-template #iconDesktop>\n <mat-icon>keyboard_arrow_down</mat-icon>\n</ng-template>\n\n<ng-template #iconDate>\n <mat-icon>date_range</mat-icon>\n</ng-template>\n",
|
|
4670
4683
|
providers: [
|
|
4671
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
4684
|
+
DEFAULT_VALUE_ACCESSOR$2,
|
|
4672
4685
|
],
|
|
4673
4686
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
4674
4687
|
styles: [":host{display:inline-block;width:100%;position:relative;--ion-grid-column-padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}mat-form-field .datetime-md{padding:0!important}ion-row.no-wrap{flex-wrap:nowrap}ion-col.day{min-width:100px}ion-col.day .mat-form-field-subscript-wrapper{overflow:visible;right:-64px;width:calc(100% + 64px)}ion-col.day .mat-form-field-subscript-wrapper .mat-form-field-hint-wrapper{display:flex}ion-col.day .mat-form-field-subscript-wrapper .mat-form-field-hint-wrapper .mat-form-field-hint-spacer{flex:1 0 1em}ion-col.hour{min-width:55px;max-width:65px}ion-col.hour mat-form-field{width:100%}ion-col.hour mat-form-field input[type=text],ion-col.hour mat-form-field mat-label{text-align:left;min-width:50px}mat-form-field.mat-form-field-disabled ion-col.day{min-width:100px}.hour .mat-form-field-label{max-width:40px}.hour mat-form-field.mat-form-field-should-float .mat-form-field-placeholder{max-width:inherit}mat-error{text-align:right;width:100%}"]
|
|
@@ -4707,10 +4720,10 @@
|
|
|
4707
4720
|
useExisting: i0.forwardRef(function () { return MatDateShort; }),
|
|
4708
4721
|
multi: true
|
|
4709
4722
|
};
|
|
4710
|
-
var DAY_MASK = [/\d/, /\d/, /\d/, /\d/];
|
|
4711
|
-
var noop$
|
|
4723
|
+
var DAY_MASK$2 = [/\d/, /\d/, /\d/, /\d/];
|
|
4724
|
+
var noop$4 = function () {
|
|
4712
4725
|
};
|
|
4713
|
-
var ɵ0$
|
|
4726
|
+
var ɵ0$4 = noop$4;
|
|
4714
4727
|
var MatDateShort = /** @class */ (function () {
|
|
4715
4728
|
function MatDateShort(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
4716
4729
|
this.dateAdapter = dateAdapter;
|
|
@@ -4719,11 +4732,11 @@
|
|
|
4719
4732
|
this.cd = cd;
|
|
4720
4733
|
this.keyboard = keyboard;
|
|
4721
4734
|
this.formGroupDir = formGroupDir;
|
|
4722
|
-
this._onChangeCallback = noop$
|
|
4723
|
-
this._onTouchedCallback = noop$
|
|
4735
|
+
this._onChangeCallback = noop$4;
|
|
4736
|
+
this._onTouchedCallback = noop$4;
|
|
4724
4737
|
this.writing = true;
|
|
4725
4738
|
this.disabling = false;
|
|
4726
|
-
this.dayMask = DAY_MASK;
|
|
4739
|
+
this.dayMask = DAY_MASK$2;
|
|
4727
4740
|
this.disabled = false;
|
|
4728
4741
|
this.floatLabel = 'auto';
|
|
4729
4742
|
this.readonly = false;
|
|
@@ -5071,16 +5084,16 @@
|
|
|
5071
5084
|
},] }
|
|
5072
5085
|
];
|
|
5073
5086
|
|
|
5074
|
-
var DEFAULT_VALUE_ACCESSOR$
|
|
5087
|
+
var DEFAULT_VALUE_ACCESSOR$4 = {
|
|
5075
5088
|
provide: i1.NG_VALUE_ACCESSOR,
|
|
5076
5089
|
useExisting: i0.forwardRef(function () { return MatDuration; }),
|
|
5077
5090
|
multi: true
|
|
5078
5091
|
};
|
|
5079
5092
|
var HOUR_TIME_PATTERN = /[0-9]\d\d:[0-5]\d/;
|
|
5080
|
-
var HOUR_MASK = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
|
|
5081
|
-
var noop$
|
|
5093
|
+
var HOUR_MASK$1 = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
|
|
5094
|
+
var noop$5 = function () {
|
|
5082
5095
|
};
|
|
5083
|
-
var ɵ0$5 = noop$
|
|
5096
|
+
var ɵ0$5 = noop$5;
|
|
5084
5097
|
var MatDuration = /** @class */ (function () {
|
|
5085
5098
|
function MatDuration(platform, dateAdapter, translate, formBuilder, cd, formGroupDir) {
|
|
5086
5099
|
this.dateAdapter = dateAdapter;
|
|
@@ -5089,11 +5102,11 @@
|
|
|
5089
5102
|
this.cd = cd;
|
|
5090
5103
|
this.formGroupDir = formGroupDir;
|
|
5091
5104
|
this._subscription = new rxjs.Subscription();
|
|
5092
|
-
this._onChangeCallback = noop$
|
|
5093
|
-
this._onTouchedCallback = noop$
|
|
5105
|
+
this._onChangeCallback = noop$5;
|
|
5106
|
+
this._onTouchedCallback = noop$5;
|
|
5094
5107
|
this.writing = true;
|
|
5095
5108
|
this.disabling = false;
|
|
5096
|
-
this.hourMask = HOUR_MASK;
|
|
5109
|
+
this.hourMask = HOUR_MASK$1;
|
|
5097
5110
|
this.disabled = false;
|
|
5098
5111
|
this.floatLabel = 'auto';
|
|
5099
5112
|
this.readonly = false;
|
|
@@ -5286,7 +5299,7 @@
|
|
|
5286
5299
|
selector: 'mat-duration-field',
|
|
5287
5300
|
template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly else writable\">\n <input matInput hidden type=\"text\" readonly=\"true\" [formControl]=\"formControl\">\n <ion-text>{{ formControl.value|duration }}</ion-text>\n</mat-form-field>\n\n<!-- writable -->\n<ng-template #writable>\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-disabled]=\"formControl.disabled\"\n [class.mat-form-field-invalid]=\"formControl.touched && formControl.invalid\">\n <mat-label *ngIf=\"placeholder && floatLabel != 'never'\" translate>COMMON.TIME</mat-label>\n\n <div matPrefix><ng-content select=\"[matPrefix]\"></ng-content></div>\n\n <input matInput #matInput type=\"text\"\n autocomplete=\"off\"\n [formControl]=\"textControl\"\n [textMask]=\"{mask: hourMask, keepCharPositions: true, placeholderChar: placeholderChar, guide: true}\"\n [placeholder]=\"'COMMON.DURATION_PLACEHOLDER'|translate\"\n [required]=\"required\"\n (keydown.tab)=\"moveCaretToSeparator($event, true)\"\n (keydown.shift.tab)=\"moveCaretToSeparator($event, false)\"\n (keyup.escape)=\"preventEvent($event)\"\n (blur)=\"checkIfTouched()\"\n [tabindex]=\"tabindex !== undefined ? tabindex+1 : undefined\">\n\n\n <!-- errors -->\n <mat-error *ngIf=\"!formControl.hasError('required') && textControl.hasError('pattern')\" translate>ERROR.FIELD_NOT_VALID_PATTERN</mat-error>\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('min')\">\n {{(compact ? 'ERROR.FIELD_MIN_COMPACT' : 'ERROR.FIELD_MIN') | translate:formControl.errors.min }}</mat-error>\n <mat-error *ngIf=\"formControl.hasError('max')\">\n {{(compact ? 'ERROR.FIELD_MAX_COMPACT' : 'ERROR.FIELD_MAX') | translate:formControl.errors.max }}</mat-error>\n\n <ng-content select=\"mat-error\"></ng-content>\n </mat-form-field>\n</ng-template>\n\n",
|
|
5288
5301
|
providers: [
|
|
5289
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
5302
|
+
DEFAULT_VALUE_ACCESSOR$4,
|
|
5290
5303
|
],
|
|
5291
5304
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
5292
5305
|
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%}"]
|
|
@@ -5346,22 +5359,22 @@
|
|
|
5346
5359
|
},] }
|
|
5347
5360
|
];
|
|
5348
5361
|
|
|
5349
|
-
var DEFAULT_VALUE_ACCESSOR$
|
|
5362
|
+
var DEFAULT_VALUE_ACCESSOR$5 = {
|
|
5350
5363
|
provide: i1.NG_VALUE_ACCESSOR,
|
|
5351
5364
|
useExisting: i0.forwardRef(function () { return MatBooleanField; }),
|
|
5352
5365
|
multi: true
|
|
5353
5366
|
};
|
|
5354
|
-
var noop$
|
|
5367
|
+
var noop$6 = function () {
|
|
5355
5368
|
};
|
|
5356
|
-
var ɵ0$
|
|
5369
|
+
var ɵ0$6 = noop$6;
|
|
5357
5370
|
var MatBooleanField = /** @class */ (function () {
|
|
5358
5371
|
function MatBooleanField(translate, formBuilder, cd, formGroupDir) {
|
|
5359
5372
|
this.translate = translate;
|
|
5360
5373
|
this.formBuilder = formBuilder;
|
|
5361
5374
|
this.cd = cd;
|
|
5362
5375
|
this.formGroupDir = formGroupDir;
|
|
5363
|
-
this._onChangeCallback = noop$
|
|
5364
|
-
this._onTouchedCallback = noop$
|
|
5376
|
+
this._onChangeCallback = noop$6;
|
|
5377
|
+
this._onTouchedCallback = noop$6;
|
|
5365
5378
|
this._writing = false;
|
|
5366
5379
|
this.showRadio = false;
|
|
5367
5380
|
this.disabled = false;
|
|
@@ -5547,10 +5560,10 @@
|
|
|
5547
5560
|
selector: 'mat-boolean-field',
|
|
5548
5561
|
template: "<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled {{classList}}\">\n <input matInput hidden type=\"text\" readonly\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <ion-text>{{(formControl.value == null && 'COMMON.EMPTY_OPTION' || (formControl.value === true && yesLabel) || noLabel) | translate }}</ion-text>\n</mat-form-field>\n\n<ng-template #writable>\n <ng-container [ngSwitch]=\"style\">\n\n <!-- Radio -->\n <mat-form-field *ngSwitchCase=\"'radio'\"\n [floatLabel]=\"showRadio && (!floatLabel || floatLabel === 'auto') ? 'always': floatLabel\"\n class=\"mat-boolean-field mat-boolean-field-radio {{classList}}\">\n <mat-label *ngIf=\"placeholder && floatLabel!=='never'\">\n {{placeholder}}\n <span [hidden]=\"showRadio\">({{yesLabel|translate}}/{{'COMMON.NO'|translate}})</span>\n </mat-label>\n\n <input matInput #fakeInput type=\"text\" readonly=\"true\"\n [formControl]=\"formControl\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showRadio\"\n [tabindex]=\"tabindex\">\n\n <!-- radio button -->\n <mat-radio-group [hidden]=\"!showRadio\"\n [formControl]=\"formControl\"\n (change)=\"onRadioValueChanged($event)\">\n <mat-radio-button #yesButton [value]=\"true\">\n <span>{{yesLabel|translate}}</span>\n </mat-radio-button> \n <mat-radio-button #noButton [value]=\"false\">\n <span>{{noLabel|translate}}</span>\n </mat-radio-button>\n </mat-radio-group>\n\n <div matSuffix #injectMatSuffix></div>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n\n <!-- Checkbox -->\n <mat-form-field *ngSwitchCase=\"'checkbox'\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-boolean-field mat-boolean-field-checkbox {{classList}}\">\n <mat-label *ngIf=\"placeholder && !showRadio\">\n {{placeholder}}\n </mat-label>\n\n <input matInput #matInput\n [formControl]=\"formControl\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showRadio\"\n [tabindex]=\"tabindex\">\n\n <ion-label> </ion-label>\n\n <!-- checkbox, when compact -->\n <mat-checkbox #checkboxButton\n [formControl]=\"formControl\"\n (change)=\"onCheckboxValueChanged($event)\"\n [indeterminate]=\"value===undefined\"\n [hidden]=\"!showRadio\"\n [tabindex]=\"tabindex\">\n </mat-checkbox>\n\n <div matSuffix #injectMatSuffix></div>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n\n <!-- Buttons -->\n <mat-form-field *ngSwitchCase=\"'button'\"\n [floatLabel]=\"floatLabel === 'never' ? 'never' : 'always'\"\n class=\"mat-boolean-field mat-boolean-field-button {{classList}}\">\n <input matInput type=\"text\" hidden\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [required]=\"required\">\n <div class=\"mat-form-field-buttons\"\n [style.--buttons-col-count]=\"buttonsColCount\"\n *ngIf=\"!formControl.disabled; else disabledLabel\">\n <!-- yes -->\n <ion-button class=\"mat-form-field-button\"\n [tabindex]=\"_tabindex\"\n (click)=\"writeValue(true, $event)\"\n (keyup.enter)=\"writeValue(true, $event)\"\n [color]=\"_value == null ? 'tertiary' : (_value === true) ? 'accent' : 'light'\">\n <ion-icon *ngIf=\"showButtonIcons && yesIcon; let icon\" slot=\"start\" [name]=\"icon\"></ion-icon>\n {{yesLabel|translate}}\n </ion-button>\n\n <!-- No button -->\n <ion-button class=\"mat-form-field-button\"\n [tabindex]=\"_tabindex !== undefined ? (_tabindex + 1) : undefined\"\n (click)=\"writeValue(false, $event)\"\n (keyup.enter)=\"writeValue(false, $event)\"\n [color]=\"_value == null ? 'tertiary' : (_value === false) ? 'accent' : 'light'\">\n <ion-icon *ngIf=\"showButtonIcons && noIcon; let icon\" slot=\"start\" [name]=\"icon\"></ion-icon>\n {{noLabel|translate}}\n </ion-button>\n </div>\n <ng-template #disabledLabel>\n <ion-label><i translate>COMMON.EMPTY_OPTION</i></ion-label>\n </ng-template>\n\n <div matSuffix #injectMatSuffix></div>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n </ng-container>\n\n <div class=\"cdk-visually-hidden\">\n <div #suffix><ng-content select=\"[matSuffix]\"></ng-content></div>\n </div>\n\n</ng-template>\n\n\n",
|
|
5549
5562
|
providers: [
|
|
5550
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
5563
|
+
DEFAULT_VALUE_ACCESSOR$5
|
|
5551
5564
|
],
|
|
5552
5565
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
5553
|
-
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:
|
|
5566
|
+
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}"]
|
|
5554
5567
|
},] }
|
|
5555
5568
|
];
|
|
5556
5569
|
MatBooleanField.ctorParameters = function () { return [
|
|
@@ -5636,7 +5649,6 @@
|
|
|
5636
5649
|
return MatNumpadEvent;
|
|
5637
5650
|
}(KeyboardEvent));
|
|
5638
5651
|
|
|
5639
|
-
exports.AnimationState = void 0;
|
|
5640
5652
|
(function (AnimationState) {
|
|
5641
5653
|
AnimationState["ENTER"] = "enter";
|
|
5642
5654
|
AnimationState["ENTER_INPUT"] = "enter-input";
|
|
@@ -5804,7 +5816,7 @@
|
|
|
5804
5816
|
};
|
|
5805
5817
|
return MatNumpadDomService;
|
|
5806
5818
|
}());
|
|
5807
|
-
MatNumpadDomService.ɵprov =
|
|
5819
|
+
MatNumpadDomService.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatNumpadDomService_Factory() { return new MatNumpadDomService(i0.ɵɵinject(i0.ComponentFactoryResolver), i0.ɵɵinject(i0.ApplicationRef), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i1$4.DOCUMENT, 8)); }, token: MatNumpadDomService, providedIn: "root" });
|
|
5808
5820
|
MatNumpadDomService.decorators = [
|
|
5809
5821
|
{ type: i0.Injectable, args: [{
|
|
5810
5822
|
providedIn: 'root'
|
|
@@ -6210,7 +6222,7 @@
|
|
|
6210
6222
|
},] }
|
|
6211
6223
|
];
|
|
6212
6224
|
|
|
6213
|
-
var DEFAULT_VALUE_ACCESSOR = {
|
|
6225
|
+
var DEFAULT_VALUE_ACCESSOR$6 = {
|
|
6214
6226
|
provide: i1.NG_VALUE_ACCESSOR,
|
|
6215
6227
|
useExisting: i0.forwardRef(function () { return MatSwipeField; }),
|
|
6216
6228
|
multi: true
|
|
@@ -6530,7 +6542,7 @@
|
|
|
6530
6542
|
{ type: i0.Component, args: [{
|
|
6531
6543
|
selector: 'mat-swipe-field',
|
|
6532
6544
|
template: "<mat-form-field [floatLabel]=\"showSlides && (!floatLabel || floatLabel === 'auto') ? 'always': floatLabel\"\n [class]=\"classList\"\n [class.mat-form-field-disabled]=\"disabled\">\n <mat-label *ngIf=\"placeholder && floatLabel!=='never'\">\n {{placeholder}}\n </mat-label>\n <input matInput #fakeInput type=\"text\"\n [formControl]=\"formControl\"\n [readonly]=\"true\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showSlides\"\n [tabindex]=\"tabindex\">\n\n <div class=\"slides-container\" [class.hidden]=\"!showSlides\">\n <ion-slides #slides\n [options]=\"slidesOptions\"\n (ionSlidesDidLoad)=\"slidesLoaded()\"\n (ionSlideReachStart)=\"reachStart(true)\"\n (ionSlideReachEnd)=\"reachEnd(true)\"\n (ionSlideNextEnd)=\"reachStart(false)\"\n (ionSlidePrevEnd)=\"reachEnd(false)\"\n (ionSlideDidChange)=\"slideChanged()\"\n >\n <ion-slide *ngFor=\"let item of $items | async\">\n <ion-label>{{ displayWith(item) }}</ion-label>\n </ion-slide>\n\n </ion-slides>\n </div>\n\n <button #prevButton\n mat-icon-button\n type=\"button\"\n class=\"button-prev\"\n [hidden]=\"!showSlides\"\n [disabled]=\"previousDisabled\"\n (click)=\"previous()\">\n <mat-icon>chevron_left</mat-icon>\n </button>\n <button #nextButton\n mat-icon-button\n type=\"button\"\n class=\"button-next\"\n [hidden]=\"!showSlides\"\n [disabled]=\"nextDisabled\"\n (click)=\"next()\">\n <mat-icon>chevron_right</mat-icon>\n </button>\n\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clearValue($event)\"\n [hidden]=\"disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('entity')\" translate>ERROR.FIELD_INVALID</mat-error>\n\n</mat-form-field>\n",
|
|
6533
|
-
providers: [DEFAULT_VALUE_ACCESSOR],
|
|
6545
|
+
providers: [DEFAULT_VALUE_ACCESSOR$6],
|
|
6534
6546
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
6535
6547
|
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}"]
|
|
6536
6548
|
},] }
|
|
@@ -7088,7 +7100,7 @@
|
|
|
7088
7100
|
};
|
|
7089
7101
|
return ProgressBarService;
|
|
7090
7102
|
}());
|
|
7091
|
-
ProgressBarService.ɵprov =
|
|
7103
|
+
ProgressBarService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
|
|
7092
7104
|
ProgressBarService.decorators = [
|
|
7093
7105
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
7094
7106
|
];
|
|
@@ -7135,7 +7147,7 @@
|
|
|
7135
7147
|
};
|
|
7136
7148
|
return AppGestureConfig;
|
|
7137
7149
|
}(i1$6.HammerGestureConfig));
|
|
7138
|
-
AppGestureConfig.ɵprov =
|
|
7150
|
+
AppGestureConfig.ɵprov = i0.ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
|
|
7139
7151
|
AppGestureConfig.decorators = [
|
|
7140
7152
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
7141
7153
|
];
|
|
@@ -7400,7 +7412,7 @@
|
|
|
7400
7412
|
};
|
|
7401
7413
|
return MatPaginatorI18n;
|
|
7402
7414
|
}(paginator.MatPaginatorIntl));
|
|
7403
|
-
MatPaginatorI18n.ɵprov =
|
|
7415
|
+
MatPaginatorI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(i0.ɵɵinject(i1$2.TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
|
|
7404
7416
|
MatPaginatorI18n.decorators = [
|
|
7405
7417
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
7406
7418
|
];
|
|
@@ -7492,17 +7504,17 @@
|
|
|
7492
7504
|
return rgbArrayToHex(rgb.map(function (v) { return 255 - v; }));
|
|
7493
7505
|
}
|
|
7494
7506
|
|
|
7495
|
-
var noop = function () {
|
|
7507
|
+
var noop$7 = function () {
|
|
7496
7508
|
};
|
|
7497
|
-
var ɵ0$
|
|
7509
|
+
var ɵ0$7 = noop$7;
|
|
7498
7510
|
var AppFormField = /** @class */ (function () {
|
|
7499
7511
|
function AppFormField(translate, cd, injector, formGroupDir) {
|
|
7500
7512
|
this.translate = translate;
|
|
7501
7513
|
this.cd = cd;
|
|
7502
7514
|
this.injector = injector;
|
|
7503
7515
|
this.formGroupDir = formGroupDir;
|
|
7504
|
-
this._onChangeCallback = noop;
|
|
7505
|
-
this._onTouchedCallback = noop;
|
|
7516
|
+
this._onChangeCallback = noop$7;
|
|
7517
|
+
this._onTouchedCallback = noop$7;
|
|
7506
7518
|
this.readonly = false;
|
|
7507
7519
|
this.compact = false;
|
|
7508
7520
|
this.floatLabel = 'auto';
|
|
@@ -7961,7 +7973,7 @@
|
|
|
7961
7973
|
};
|
|
7962
7974
|
return AudioProvider;
|
|
7963
7975
|
}());
|
|
7964
|
-
AudioProvider.ɵprov =
|
|
7976
|
+
AudioProvider.ɵprov = i0.ɵɵdefineInjectable({ factory: function AudioProvider_Factory() { return new AudioProvider(i0.ɵɵinject(i1$5.Platform), i0.ɵɵinject(i2$2.NativeAudio, 8), i0.ɵɵinject(i3$1.Vibration, 8), i0.ɵɵinject(i4.AudioManagement, 8)); }, token: AudioProvider, providedIn: "root" });
|
|
7965
7977
|
AudioProvider.decorators = [
|
|
7966
7978
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
7967
7979
|
];
|
|
@@ -8061,7 +8073,7 @@
|
|
|
8061
8073
|
};
|
|
8062
8074
|
return Hotkeys;
|
|
8063
8075
|
}());
|
|
8064
|
-
Hotkeys.ɵprov =
|
|
8076
|
+
Hotkeys.ɵprov = i0.ɵɵdefineInjectable({ factory: function Hotkeys_Factory() { return new Hotkeys(i0.ɵɵinject(i1$6.EventManager), i0.ɵɵinject(i2.MatDialog), i0.ɵɵinject(i1$4.DOCUMENT), i0.ɵɵinject(i1$5.ModalController)); }, token: Hotkeys, providedIn: "root" });
|
|
8065
8077
|
Hotkeys.decorators = [
|
|
8066
8078
|
{ type: i0.Injectable, args: [{
|
|
8067
8079
|
providedIn: 'root'
|
|
@@ -8265,7 +8277,7 @@
|
|
|
8265
8277
|
return Base64ImageReader;
|
|
8266
8278
|
}());
|
|
8267
8279
|
|
|
8268
|
-
var uuidv4
|
|
8280
|
+
var uuidv4 = uuidv4Imported__namespace;
|
|
8269
8281
|
var FileService = /** @class */ (function () {
|
|
8270
8282
|
function FileService(platform,
|
|
8271
8283
|
//private transfer: FileTransfer,
|
|
@@ -8311,7 +8323,7 @@
|
|
|
8311
8323
|
lastSlashIndex = source.lastIndexOf('/');
|
|
8312
8324
|
if (lastSlashIndex === -1)
|
|
8313
8325
|
throw new Error('Invalid URL: ' + source);
|
|
8314
|
-
fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4
|
|
8326
|
+
fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4();
|
|
8315
8327
|
if (!(responseType === 'file' && this.canUseFileSystem)) return [3 /*break*/, 4];
|
|
8316
8328
|
console.warn("WARN: [file] Fetching image {" + source + "} in local file...");
|
|
8317
8329
|
targetFilePath = this._imageDirectory + fileName;
|
|
@@ -8374,7 +8386,7 @@
|
|
|
8374
8386
|
};
|
|
8375
8387
|
return FileService;
|
|
8376
8388
|
}());
|
|
8377
|
-
FileService.ɵprov =
|
|
8389
|
+
FileService.ɵprov = i0.ɵɵdefineInjectable({ factory: function FileService_Factory() { return new FileService(i0.ɵɵinject(i1$5.Platform), i0.ɵɵinject(i2$1.HttpClient), i0.ɵɵinject(ENVIRONMENT)); }, token: FileService, providedIn: "root" });
|
|
8378
8390
|
FileService.decorators = [
|
|
8379
8391
|
{ type: i0.Injectable, args: [{
|
|
8380
8392
|
providedIn: 'root',
|
|
@@ -8537,7 +8549,7 @@
|
|
|
8537
8549
|
Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
|
|
8538
8550
|
|
|
8539
8551
|
var scrypt = require('scrypt-async');
|
|
8540
|
-
var sha256
|
|
8552
|
+
var sha256 = require('hash.js/lib/hash/sha/256');
|
|
8541
8553
|
var sha512 = require('hash.js/lib/hash/sha/512');
|
|
8542
8554
|
var nacl = {
|
|
8543
8555
|
sign: tweetnacl.sign,
|
|
@@ -8643,7 +8655,7 @@
|
|
|
8643
8655
|
* Hash (using SHA256) a message
|
|
8644
8656
|
*/
|
|
8645
8657
|
CryptoService.prototype.sha256 = function (message) {
|
|
8646
|
-
return sha256
|
|
8658
|
+
return sha256().update(message).digest('hex');
|
|
8647
8659
|
};
|
|
8648
8660
|
/**
|
|
8649
8661
|
* Hash (using SHA512) a message
|
|
@@ -8657,7 +8669,7 @@
|
|
|
8657
8669
|
};
|
|
8658
8670
|
return CryptoService;
|
|
8659
8671
|
}());
|
|
8660
|
-
CryptoService.ɵprov =
|
|
8672
|
+
CryptoService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
|
|
8661
8673
|
CryptoService.decorators = [
|
|
8662
8674
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
8663
8675
|
];
|
|
@@ -9641,7 +9653,7 @@
|
|
|
9641
9653
|
.then(function () {
|
|
9642
9654
|
_this.data.mobile = isNotNil(_this.data.mobile) ? _this.data.mobile : _this.platform.is('mobile');
|
|
9643
9655
|
_this.data.touchUi = _this.data.mobile || _this.platform.is('phablet') || _this.platform.is('tablet');
|
|
9644
|
-
_this.data.usageMode = _this.
|
|
9656
|
+
_this.data.usageMode = _this.platform.is('android') ? 'FIELD' : 'DESK'; // FIELD by default if Android
|
|
9645
9657
|
})
|
|
9646
9658
|
.then(function () { return _this.restoreLocally(); })
|
|
9647
9659
|
.then(function (data) {
|
|
@@ -10070,7 +10082,7 @@
|
|
|
10070
10082
|
};
|
|
10071
10083
|
return LocalSettingsService;
|
|
10072
10084
|
}());
|
|
10073
|
-
LocalSettingsService.ɵprov =
|
|
10085
|
+
LocalSettingsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LocalSettingsService_Factory() { return new LocalSettingsService(i0.ɵɵinject(i1$2.TranslateService), i0.ɵɵinject(i1$5.Platform), i0.ɵɵinject(i3$2.Storage), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(APP_LOCAL_SETTINGS, 8), i0.ɵɵinject(APP_LOCAL_SETTINGS_OPTIONS, 8)); }, token: LocalSettingsService, providedIn: "root" });
|
|
10074
10086
|
LocalSettingsService.decorators = [
|
|
10075
10087
|
{ type: i0.Injectable, args: [{
|
|
10076
10088
|
providedIn: 'root',
|
|
@@ -10915,7 +10927,7 @@
|
|
|
10915
10927
|
};
|
|
10916
10928
|
return NetworkService;
|
|
10917
10929
|
}());
|
|
10918
|
-
NetworkService.ɵprov =
|
|
10930
|
+
NetworkService.ɵprov = i0.ɵɵdefineInjectable({ factory: function NetworkService_Factory() { return new NetworkService(i0.ɵɵinject(i1$4.DOCUMENT), i0.ɵɵinject(i1$5.Platform), i0.ɵɵinject(i1$5.ModalController), i0.ɵɵinject(CryptoService), i0.ɵɵinject(i3$2.Storage), i0.ɵɵinject(LocalSettingsService), i0.ɵɵinject(i6.CacheService), i0.ɵɵinject(i2$1.HttpClient), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(i9.Network, 8), i0.ɵɵinject(i10.SplashScreen, 8), i0.ɵɵinject(i1$2.TranslateService, 8), i0.ɵɵinject(i1$5.ToastController, 8)); }, token: NetworkService, providedIn: "root" });
|
|
10919
10931
|
NetworkService.decorators = [
|
|
10920
10932
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
10921
10933
|
];
|
|
@@ -10935,7 +10947,7 @@
|
|
|
10935
10947
|
{ type: i1$5.ToastController, decorators: [{ type: i0.Optional }] }
|
|
10936
10948
|
]; };
|
|
10937
10949
|
|
|
10938
|
-
var ErrorCodes
|
|
10950
|
+
var ErrorCodes = {
|
|
10939
10951
|
UNKNOWN_ERROR: 0,
|
|
10940
10952
|
LOAD_ACCOUNT_ERROR: 1,
|
|
10941
10953
|
BAD_PASSWORD: 2,
|
|
@@ -11343,7 +11355,7 @@
|
|
|
11343
11355
|
case 13:
|
|
11344
11356
|
err_1 = _a.sent();
|
|
11345
11357
|
console.error(err_1);
|
|
11346
|
-
throw { code: ErrorCodes
|
|
11358
|
+
throw { code: ErrorCodes.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err_1 };
|
|
11347
11359
|
case 14:
|
|
11348
11360
|
// Emit update event
|
|
11349
11361
|
if (!opts || opts.emitEvent !== false) {
|
|
@@ -12103,7 +12115,7 @@
|
|
|
12103
12115
|
}());
|
|
12104
12116
|
EntitiesStorage.TRASH_PREFIX = 'Trash#';
|
|
12105
12117
|
EntitiesStorage.REMOTE_PREFIX = 'Remote#';
|
|
12106
|
-
EntitiesStorage.ɵprov =
|
|
12118
|
+
EntitiesStorage.ɵprov = i0.ɵɵdefineInjectable({ factory: function EntitiesStorage_Factory() { return new EntitiesStorage(i0.ɵɵinject(i1$5.Platform), i0.ɵɵinject(ProgressBarService), i0.ɵɵinject(i3$2.Storage), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(APP_LOCAL_STORAGE_TYPE_POLICIES, 8)); }, token: EntitiesStorage, providedIn: "root" });
|
|
12107
12119
|
EntitiesStorage.decorators = [
|
|
12108
12120
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
12109
12121
|
];
|
|
@@ -12220,10 +12232,10 @@
|
|
|
12220
12232
|
function referentialsToString(values, properties, separator) {
|
|
12221
12233
|
return (values || []).map(function (v) { return referentialToString(v, properties); }).join(separator || ', ');
|
|
12222
12234
|
}
|
|
12223
|
-
var ɵ0$
|
|
12235
|
+
var ɵ0$8 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
|
|
12224
12236
|
var StatusList = Object.freeze([
|
|
12225
12237
|
{
|
|
12226
|
-
id: ɵ0$
|
|
12238
|
+
id: ɵ0$8,
|
|
12227
12239
|
icon: 'checkmark',
|
|
12228
12240
|
label: 'REFERENTIAL.STATUS_ENUM.ENABLE'
|
|
12229
12241
|
},
|
|
@@ -12526,7 +12538,7 @@
|
|
|
12526
12538
|
(data.lastName || '')) || '';
|
|
12527
12539
|
}
|
|
12528
12540
|
|
|
12529
|
-
var uuidv4 = uuidv4Imported__namespace;
|
|
12541
|
+
var uuidv4$1 = uuidv4Imported__namespace;
|
|
12530
12542
|
var _global = typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : {});
|
|
12531
12543
|
var NativeWebSocket = _global.WebSocket || _global.MozWebSocket;
|
|
12532
12544
|
/**
|
|
@@ -12570,7 +12582,7 @@
|
|
|
12570
12582
|
// Skip if not tracked
|
|
12571
12583
|
if (!context || !context.tracked)
|
|
12572
12584
|
return forward(operation);
|
|
12573
|
-
var id = context.serializationKey || uuidv4();
|
|
12585
|
+
var id = context.serializationKey || uuidv4$1();
|
|
12574
12586
|
console.debug("[apollo-tracker-link] Watching tracked query {" + operation.operationName + "#" + id + "}");
|
|
12575
12587
|
// Clean context, before calling JSON.stringify (remove unused attributes)
|
|
12576
12588
|
var cleanContext = Object.assign(Object.assign({}, context), { optimisticResponse: null, cache: null });
|
|
@@ -13381,7 +13393,7 @@
|
|
|
13381
13393
|
(err.networkError && ((err.networkError.error && this.toAppError(err.networkError.error))
|
|
13382
13394
|
|| this.toAppError(err.networkError)
|
|
13383
13395
|
|| (err.networkError.error && this.createAppErrorByCode(err.networkError.error.status))
|
|
13384
|
-
|| this.createAppErrorByCode(ErrorCodes
|
|
13396
|
+
|| this.createAppErrorByCode(ErrorCodes.UNKNOWN_NETWORK_ERROR)))
|
|
13385
13397
|
// If graphQL: try to convert the first error found
|
|
13386
13398
|
|| (err.graphQLErrors && err.graphQLErrors.length && this.toAppError(err.graphQLErrors[0]))
|
|
13387
13399
|
|| this.toAppError(err)
|
|
@@ -13389,7 +13401,7 @@
|
|
|
13389
13401
|
|| (err.graphQLErrors && err.graphQLErrors[0])
|
|
13390
13402
|
|| err;
|
|
13391
13403
|
console.error('[graphql] ' + (error && error.message || error), error.stack || '');
|
|
13392
|
-
if (error && error.code === ErrorCodes
|
|
13404
|
+
if (error && error.code === ErrorCodes.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
|
|
13393
13405
|
console.error('[graphql] original error: ' + err.networkError.message);
|
|
13394
13406
|
this.onNetworkError.next(error);
|
|
13395
13407
|
}
|
|
@@ -13425,7 +13437,7 @@
|
|
|
13425
13437
|
return 'ERROR.UNAUTHORIZED';
|
|
13426
13438
|
case ServerErrorCodes.FORBIDDEN:
|
|
13427
13439
|
return 'ERROR.FORBIDDEN';
|
|
13428
|
-
case ErrorCodes
|
|
13440
|
+
case ErrorCodes.UNKNOWN_NETWORK_ERROR:
|
|
13429
13441
|
return 'ERROR.UNKNOWN_NETWORK_ERROR';
|
|
13430
13442
|
case ServerErrorCodes.BAD_UPDATE_DATE:
|
|
13431
13443
|
return 'ERROR.BAD_UPDATE_DATE';
|
|
@@ -13470,7 +13482,7 @@
|
|
|
13470
13482
|
};
|
|
13471
13483
|
return GraphqlService;
|
|
13472
13484
|
}());
|
|
13473
|
-
GraphqlService.ɵprov =
|
|
13485
|
+
GraphqlService.ɵprov = i0.ɵɵdefineInjectable({ factory: function GraphqlService_Factory() { return new GraphqlService(i0.ɵɵinject(i1$5.Platform), i0.ɵɵinject(i2$3.Apollo), i0.ɵɵinject(i3$3.HttpLink), i0.ɵɵinject(NetworkService), i0.ɵɵinject(i3$2.Storage), i0.ɵɵinject(CryptoService), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(APP_GRAPHQL_TYPE_POLICIES, 8)); }, token: GraphqlService, providedIn: "root" });
|
|
13474
13486
|
GraphqlService.decorators = [
|
|
13475
13487
|
{ type: i0.Injectable, args: [{
|
|
13476
13488
|
providedIn: 'root'
|
|
@@ -13487,7 +13499,7 @@
|
|
|
13487
13499
|
{ type: undefined, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [APP_GRAPHQL_TYPE_POLICIES,] }] }
|
|
13488
13500
|
]; };
|
|
13489
13501
|
|
|
13490
|
-
var sha256 = require('hash.js/lib/hash/sha/256');
|
|
13502
|
+
var sha256$1 = require('hash.js/lib/hash/sha/256');
|
|
13491
13503
|
var BaseGraphqlServiceOptions = /** @class */ (function () {
|
|
13492
13504
|
function BaseGraphqlServiceOptions() {
|
|
13493
13505
|
}
|
|
@@ -13654,8 +13666,8 @@
|
|
|
13654
13666
|
};
|
|
13655
13667
|
/* -- protected methods -- */
|
|
13656
13668
|
BaseGraphqlService.prototype.computeMutableWatchQueryId = function (opts) {
|
|
13657
|
-
var queryName = opts.queryName || sha256().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
|
|
13658
|
-
var variablesKey = opts.variables && sha256().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
|
|
13669
|
+
var queryName = opts.queryName || sha256$1().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
|
|
13670
|
+
var variablesKey = opts.variables && sha256$1().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
|
|
13659
13671
|
return [queryName, opts.arrayFieldName, variablesKey].join('|');
|
|
13660
13672
|
};
|
|
13661
13673
|
BaseGraphqlService.prototype.findMutableWatchQueries = function (opts) {
|
|
@@ -13721,17 +13733,17 @@
|
|
|
13721
13733
|
/* ------------------------------------
|
|
13722
13734
|
* GraphQL queries
|
|
13723
13735
|
* ------------------------------------*/
|
|
13724
|
-
var Fragments
|
|
13725
|
-
account: core.gql(templateObject_1
|
|
13736
|
+
var Fragments = {
|
|
13737
|
+
account: core.gql(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n fragment AccountFragment on AccountVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n settings {\n id\n locale\n latLongFormat\n content\n nonce\n updateDate\n __typename\n }\n department {\n id\n label\n name\n __typename\n }\n __typename\n }\n "], ["\n fragment AccountFragment on AccountVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n settings {\n id\n locale\n latLongFormat\n content\n nonce\n updateDate\n __typename\n }\n department {\n id\n label\n name\n __typename\n }\n __typename\n }\n "])))
|
|
13726
13738
|
};
|
|
13727
13739
|
// Load account query
|
|
13728
|
-
var LoadQuery
|
|
13740
|
+
var LoadQuery = core.gql(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n query Account {\n data: account {\n ...AccountFragment\n }\n }\n ", "\n"], ["\n query Account {\n data: account {\n ...AccountFragment\n }\n }\n ", "\n"])), Fragments.account);
|
|
13729
13741
|
// Check email query
|
|
13730
|
-
var IsEmailExistsQuery = core.gql(templateObject_3
|
|
13742
|
+
var IsEmailExistsQuery = core.gql(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n query IsEmailExists($email: String, $hash: String){\n isEmailExists(email: $email, hash: $hash)\n }\n"], ["\n query IsEmailExists($email: String, $hash: String){\n isEmailExists(email: $email, hash: $hash)\n }\n"])));
|
|
13731
13743
|
// Save (create or update) account mutation
|
|
13732
|
-
var SaveMutation
|
|
13744
|
+
var SaveMutation = core.gql(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n mutation SaveAccount($data:AccountVOInput){\n data: saveAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n"], ["\n mutation SaveAccount($data:AccountVOInput){\n data: saveAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n"])), Fragments.account);
|
|
13733
13745
|
// Create account mutation
|
|
13734
|
-
var CreateMutation = core.gql(templateObject_5
|
|
13746
|
+
var CreateMutation = core.gql(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n mutation CreateAccount($data:AccountVOInput){\n data: createAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n"], ["\n mutation CreateAccount($data:AccountVOInput){\n data: createAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n"])), Fragments.account);
|
|
13735
13747
|
// Sent confirmation email
|
|
13736
13748
|
var SendConfirmEmailMutation = core.gql(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n mutation sendAccountConfirmationEmail($email:String, $locale:String){\n sendAccountConfirmationEmail(email: $email, locale: $locale)\n }\n"], ["\n mutation sendAccountConfirmationEmail($email:String, $locale:String){\n sendAccountConfirmationEmail(email: $email, locale: $locale)\n }\n"])));
|
|
13737
13749
|
// Confirm account email
|
|
@@ -14130,7 +14142,7 @@
|
|
|
14130
14142
|
error_3 = _b.sent();
|
|
14131
14143
|
console.error(error_3);
|
|
14132
14144
|
this.resetData();
|
|
14133
|
-
throw { code: ErrorCodes
|
|
14145
|
+
throw { code: ErrorCodes.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
|
|
14134
14146
|
case 4:
|
|
14135
14147
|
// Store pubkey+keypair
|
|
14136
14148
|
this.data.pubkey = Base58.encode(keypair.publicKey);
|
|
@@ -14166,7 +14178,7 @@
|
|
|
14166
14178
|
return [3 /*break*/, 18];
|
|
14167
14179
|
case 11:
|
|
14168
14180
|
err_1 = _b.sent();
|
|
14169
|
-
if (!(err_1 && +(err_1.code) === ErrorCodes
|
|
14181
|
+
if (!(err_1 && +(err_1.code) === ErrorCodes.LOAD_ACCOUNT_ERROR)) return [3 /*break*/, 17];
|
|
14170
14182
|
if (!(data.username.indexOf('@') !== -1)) return [3 /*break*/, 16];
|
|
14171
14183
|
isEmailExists = void 0;
|
|
14172
14184
|
_b.label = 12;
|
|
@@ -14182,12 +14194,12 @@
|
|
|
14182
14194
|
case 15:
|
|
14183
14195
|
// Email not exists (no account)
|
|
14184
14196
|
if (!isEmailExists) {
|
|
14185
|
-
throw { code: ErrorCodes
|
|
14197
|
+
throw { code: ErrorCodes.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
|
|
14186
14198
|
}
|
|
14187
14199
|
_b.label = 16;
|
|
14188
14200
|
case 16:
|
|
14189
14201
|
// Email exists, so error = 'bad password'
|
|
14190
|
-
throw { code: ErrorCodes
|
|
14202
|
+
throw { code: ErrorCodes.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
|
|
14191
14203
|
case 17: throw err_1; // resend the first error
|
|
14192
14204
|
case 18:
|
|
14193
14205
|
_b.trys.push([18, 20, , 21]);
|
|
@@ -14359,8 +14371,8 @@
|
|
|
14359
14371
|
_b.label = 3;
|
|
14360
14372
|
case 3: return [3 /*break*/, 6];
|
|
14361
14373
|
case 4: return [4 /*yield*/, this.graphql.query({
|
|
14362
|
-
query: LoadQuery
|
|
14363
|
-
error: { code: ErrorCodes
|
|
14374
|
+
query: LoadQuery,
|
|
14375
|
+
error: { code: ErrorCodes.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
|
|
14364
14376
|
fetchPolicy: opts && opts.fetchPolicy || 'no-cache' || undefined
|
|
14365
14377
|
})];
|
|
14366
14378
|
case 5:
|
|
@@ -14398,7 +14410,7 @@
|
|
|
14398
14410
|
case 1:
|
|
14399
14411
|
isEmailExists = _b.sent();
|
|
14400
14412
|
if (isEmailExists) {
|
|
14401
|
-
throw { code: ErrorCodes
|
|
14413
|
+
throw { code: ErrorCodes.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
|
|
14402
14414
|
}
|
|
14403
14415
|
return [2 /*return*/];
|
|
14404
14416
|
}
|
|
@@ -14448,7 +14460,7 @@
|
|
|
14448
14460
|
locale: locale
|
|
14449
14461
|
},
|
|
14450
14462
|
error: {
|
|
14451
|
-
code: ErrorCodes
|
|
14463
|
+
code: ErrorCodes.SENT_CONFIRMATION_EMAIL_FAILED,
|
|
14452
14464
|
message: 'ERROR.SENT_ACCOUNT_CONFIRMATION_EMAIL_FAILED'
|
|
14453
14465
|
}
|
|
14454
14466
|
})];
|
|
@@ -14471,7 +14483,7 @@
|
|
|
14471
14483
|
code: code
|
|
14472
14484
|
},
|
|
14473
14485
|
error: {
|
|
14474
|
-
code: ErrorCodes
|
|
14486
|
+
code: ErrorCodes.CONFIRM_EMAIL_FAILED,
|
|
14475
14487
|
message: 'ERROR.CONFIRM_ACCOUNT_EMAIL_FAILED'
|
|
14476
14488
|
}
|
|
14477
14489
|
})];
|
|
@@ -14493,7 +14505,7 @@
|
|
|
14493
14505
|
interval: 10
|
|
14494
14506
|
},
|
|
14495
14507
|
error: {
|
|
14496
|
-
code: ErrorCodes
|
|
14508
|
+
code: ErrorCodes.SUBSCRIBE_ACCOUNT_ERROR,
|
|
14497
14509
|
message: 'ERROR.ACCOUNT.SUBSCRIBE_ACCOUNT_ERROR'
|
|
14498
14510
|
}
|
|
14499
14511
|
}).subscribe({
|
|
@@ -14639,7 +14651,7 @@
|
|
|
14639
14651
|
throw error_6;
|
|
14640
14652
|
console.error(error_6);
|
|
14641
14653
|
throw {
|
|
14642
|
-
code: ErrorCodes
|
|
14654
|
+
code: ErrorCodes.LOAD_ACCOUNT_ERROR,
|
|
14643
14655
|
message: 'ERROR.LOAD_ACCOUNT_ERROR'
|
|
14644
14656
|
};
|
|
14645
14657
|
case 4: return [2 /*return*/];
|
|
@@ -14813,7 +14825,7 @@
|
|
|
14813
14825
|
case 1:
|
|
14814
14826
|
existingAccount = _b.sent();
|
|
14815
14827
|
if (!existingAccount || !existingAccount.updateDate) {
|
|
14816
|
-
throw { code: ErrorCodes
|
|
14828
|
+
throw { code: ErrorCodes.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
|
|
14817
14829
|
}
|
|
14818
14830
|
this.copyIdAndUpdateDate(existingAccount, account);
|
|
14819
14831
|
_b.label = 2;
|
|
@@ -14822,10 +14834,10 @@
|
|
|
14822
14834
|
// User not allow to change his profiles
|
|
14823
14835
|
delete json.profiles;
|
|
14824
14836
|
return [4 /*yield*/, this.graphql.mutate({
|
|
14825
|
-
mutation: isNew ? CreateMutation : SaveMutation
|
|
14837
|
+
mutation: isNew ? CreateMutation : SaveMutation,
|
|
14826
14838
|
variables: { data: json },
|
|
14827
14839
|
error: {
|
|
14828
|
-
code: ErrorCodes
|
|
14840
|
+
code: ErrorCodes.SAVE_ACCOUNT_ERROR,
|
|
14829
14841
|
message: 'ERROR.SAVE_ACCOUNT_ERROR'
|
|
14830
14842
|
}
|
|
14831
14843
|
})];
|
|
@@ -14853,7 +14865,7 @@
|
|
|
14853
14865
|
if (counter > 4) {
|
|
14854
14866
|
if (this._debug)
|
|
14855
14867
|
console.debug("[account] Failed to authentication on pod (after " + counter + " attempts)");
|
|
14856
|
-
throw { code: ErrorCodes
|
|
14868
|
+
throw { code: ErrorCodes.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
|
|
14857
14869
|
}
|
|
14858
14870
|
if (!token) return [3 /*break*/, 2];
|
|
14859
14871
|
return [4 /*yield*/, this.graphql.query({
|
|
@@ -14862,7 +14874,7 @@
|
|
|
14862
14874
|
token: token
|
|
14863
14875
|
},
|
|
14864
14876
|
error: {
|
|
14865
|
-
code: ErrorCodes
|
|
14877
|
+
code: ErrorCodes.UNAUTHORIZED,
|
|
14866
14878
|
message: 'ERROR.UNAUTHORIZED'
|
|
14867
14879
|
},
|
|
14868
14880
|
fetchPolicy: 'no-cache'
|
|
@@ -14879,7 +14891,7 @@
|
|
|
14879
14891
|
_b.label = 2;
|
|
14880
14892
|
case 2:
|
|
14881
14893
|
challengeError = {
|
|
14882
|
-
code: ErrorCodes
|
|
14894
|
+
code: ErrorCodes.AUTH_CHALLENGE_ERROR,
|
|
14883
14895
|
message: 'ERROR.AUTH_CHALLENGE_ERROR'
|
|
14884
14896
|
};
|
|
14885
14897
|
return [4 /*yield*/, this.graphql.query({
|
|
@@ -14921,7 +14933,7 @@
|
|
|
14921
14933
|
};
|
|
14922
14934
|
return AccountService;
|
|
14923
14935
|
}(BaseGraphqlService));
|
|
14924
|
-
AccountService.ɵprov =
|
|
14936
|
+
AccountService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountService_Factory() { return new AccountService(i0.ɵɵinject(CryptoService), i0.ɵɵinject(NetworkService), i0.ɵɵinject(GraphqlService), i0.ɵɵinject(LocalSettingsService), i0.ɵɵinject(i3$2.Storage), i0.ɵɵinject(FileService), i0.ɵɵinject(ENVIRONMENT)); }, token: AccountService, providedIn: "root" });
|
|
14925
14937
|
AccountService.decorators = [
|
|
14926
14938
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
14927
14939
|
];
|
|
@@ -14934,7 +14946,7 @@
|
|
|
14934
14946
|
{ type: FileService },
|
|
14935
14947
|
{ type: undefined, decorators: [{ type: i0.Inject, args: [ENVIRONMENT,] }] }
|
|
14936
14948
|
]; };
|
|
14937
|
-
var templateObject_1
|
|
14949
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10;
|
|
14938
14950
|
|
|
14939
14951
|
var Software_1, Configuration_1;
|
|
14940
14952
|
// @dynamic
|
|
@@ -15186,13 +15198,13 @@
|
|
|
15186
15198
|
/* ------------------------------------
|
|
15187
15199
|
* GraphQL queries
|
|
15188
15200
|
* ------------------------------------*/
|
|
15189
|
-
var Fragments = {
|
|
15190
|
-
config: core.gql(templateObject_1$
|
|
15201
|
+
var Fragments$1 = {
|
|
15202
|
+
config: core.gql(templateObject_1$1 || (templateObject_1$1 = __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 "])))
|
|
15191
15203
|
};
|
|
15192
|
-
var LoadQuery = core.gql(templateObject_2$
|
|
15204
|
+
var LoadQuery$1 = 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$1.config);
|
|
15193
15205
|
// Save (create or update) account mutation
|
|
15194
|
-
var SaveMutation = core.gql(templateObject_3$
|
|
15195
|
-
var ClearCache = core.gql(templateObject_4$
|
|
15206
|
+
var SaveMutation$1 = 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$1.config);
|
|
15207
|
+
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"])));
|
|
15196
15208
|
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"])));
|
|
15197
15209
|
var APP_CONFIG_OPTIONS = new i0.InjectionToken('defaultOptions');
|
|
15198
15210
|
var ConfigService = /** @class */ (function (_super) {
|
|
@@ -15285,12 +15297,12 @@
|
|
|
15285
15297
|
case 0:
|
|
15286
15298
|
now = Date.now();
|
|
15287
15299
|
console.debug('[config] Loading Pod configuration...');
|
|
15288
|
-
query = opts && opts.query || LoadQuery;
|
|
15300
|
+
query = opts && opts.query || LoadQuery$1;
|
|
15289
15301
|
variables = opts && opts.variables || undefined;
|
|
15290
15302
|
return [4 /*yield*/, this.graphql.query({
|
|
15291
15303
|
query: query,
|
|
15292
15304
|
variables: variables,
|
|
15293
|
-
error: { code: ErrorCodes
|
|
15305
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
15294
15306
|
fetchPolicy: opts && opts.fetchPolicy || undefined /*default*/
|
|
15295
15307
|
})];
|
|
15296
15308
|
case 1:
|
|
@@ -15324,12 +15336,12 @@
|
|
|
15324
15336
|
console.debug('[config] Saving Pod configuration...', config);
|
|
15325
15337
|
json = config.asObject();
|
|
15326
15338
|
return [4 /*yield*/, this.graphql.mutate({
|
|
15327
|
-
mutation: SaveMutation,
|
|
15339
|
+
mutation: SaveMutation$1,
|
|
15328
15340
|
variables: {
|
|
15329
15341
|
data: json
|
|
15330
15342
|
},
|
|
15331
15343
|
error: {
|
|
15332
|
-
code: ErrorCodes
|
|
15344
|
+
code: ErrorCodes.SAVE_CONFIG_ERROR,
|
|
15333
15345
|
message: 'ERROR.SAVE_CONFIG_ERROR'
|
|
15334
15346
|
}
|
|
15335
15347
|
})];
|
|
@@ -15364,7 +15376,7 @@
|
|
|
15364
15376
|
return [4 /*yield*/, this.graphql.query({
|
|
15365
15377
|
query: CacheStatistics,
|
|
15366
15378
|
variables: null,
|
|
15367
|
-
error: { code: ErrorCodes
|
|
15379
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
15368
15380
|
fetchPolicy: 'network-only'
|
|
15369
15381
|
})];
|
|
15370
15382
|
case 1:
|
|
@@ -15388,7 +15400,7 @@
|
|
|
15388
15400
|
return [4 /*yield*/, this.graphql.query({
|
|
15389
15401
|
query: ClearCache,
|
|
15390
15402
|
variables: variables,
|
|
15391
|
-
error: { code: ErrorCodes
|
|
15403
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
15392
15404
|
fetchPolicy: 'network-only'
|
|
15393
15405
|
})];
|
|
15394
15406
|
case 1:
|
|
@@ -15589,7 +15601,7 @@
|
|
|
15589
15601
|
};
|
|
15590
15602
|
return ConfigService;
|
|
15591
15603
|
}(BaseGraphqlService));
|
|
15592
|
-
ConfigService.ɵprov =
|
|
15604
|
+
ConfigService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ConfigService_Factory() { return new ConfigService(i0.ɵɵinject(i1$5.Platform), i0.ɵɵinject(GraphqlService), i0.ɵɵinject(i3$2.Storage), i0.ɵɵinject(NetworkService), i0.ɵɵinject(FileService), i0.ɵɵinject(i1$5.ToastController), i0.ɵɵinject(i1$2.TranslateService), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(APP_CONFIG_OPTIONS, 8)); }, token: ConfigService, providedIn: "root" });
|
|
15593
15605
|
ConfigService.decorators = [
|
|
15594
15606
|
{ type: i0.Injectable, args: [{
|
|
15595
15607
|
providedIn: 'root',
|
|
@@ -15607,9 +15619,9 @@
|
|
|
15607
15619
|
{ type: undefined, decorators: [{ type: i0.Inject, args: [ENVIRONMENT,] }] },
|
|
15608
15620
|
{ type: undefined, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [APP_CONFIG_OPTIONS,] }] }
|
|
15609
15621
|
]; };
|
|
15610
|
-
var templateObject_1$
|
|
15622
|
+
var templateObject_1$1, templateObject_2$1, templateObject_3$1, templateObject_4$1, templateObject_5$1;
|
|
15611
15623
|
|
|
15612
|
-
var moment$
|
|
15624
|
+
var moment$4 = momentImported__namespace;
|
|
15613
15625
|
var PlatformService = /** @class */ (function () {
|
|
15614
15626
|
function PlatformService(platform, cdkPlatform, toastController, translate, dateAdapter, entitiesStorage, settings, networkService, accountService, configService, cache, storage, audioProvider, environment, statusBar, keyboard, splashScreen, browser) {
|
|
15615
15627
|
this.platform = platform;
|
|
@@ -15785,16 +15797,16 @@
|
|
|
15785
15797
|
}
|
|
15786
15798
|
// config moment lib
|
|
15787
15799
|
try {
|
|
15788
|
-
moment$
|
|
15800
|
+
moment$4.locale(event.lang);
|
|
15789
15801
|
console.debug('[platform] Use locale {' + event.lang + '}');
|
|
15790
15802
|
}
|
|
15791
15803
|
// If error, fallback to en
|
|
15792
15804
|
catch (err) {
|
|
15793
|
-
moment$
|
|
15805
|
+
moment$4.locale('en');
|
|
15794
15806
|
console.warn('[platform] Unknown local for moment lib. Using default [en]');
|
|
15795
15807
|
}
|
|
15796
15808
|
// Config date adapter
|
|
15797
|
-
_this.dateAdapter.setLocale(moment$
|
|
15809
|
+
_this.dateAdapter.setLocale(moment$4.locale());
|
|
15798
15810
|
}
|
|
15799
15811
|
});
|
|
15800
15812
|
this.settings.onChange.subscribe(function (data) {
|
|
@@ -15979,7 +15991,7 @@
|
|
|
15979
15991
|
};
|
|
15980
15992
|
return PlatformService;
|
|
15981
15993
|
}());
|
|
15982
|
-
PlatformService.ɵprov =
|
|
15994
|
+
PlatformService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PlatformService_Factory() { return new PlatformService(i0.ɵɵinject(i1$5.Platform), i0.ɵɵinject(i2$4.Platform), i0.ɵɵinject(i1$5.ToastController), i0.ɵɵinject(i1$2.TranslateService), i0.ɵɵinject(i1$1.MomentDateAdapter), i0.ɵɵinject(EntitiesStorage), i0.ɵɵinject(LocalSettingsService), i0.ɵɵinject(NetworkService), i0.ɵɵinject(AccountService), i0.ɵɵinject(ConfigService), i0.ɵɵinject(i6.CacheService), i0.ɵɵinject(i3$2.Storage), i0.ɵɵinject(AudioProvider), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(i14.StatusBar, 8), i0.ɵɵinject(i15.Keyboard, 8), i0.ɵɵinject(i10.SplashScreen, 8), i0.ɵɵinject(i17.InAppBrowser, 8)); }, token: PlatformService, providedIn: "root" });
|
|
15983
15995
|
PlatformService.decorators = [
|
|
15984
15996
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
15985
15997
|
];
|
|
@@ -16076,7 +16088,7 @@
|
|
|
16076
16088
|
};
|
|
16077
16089
|
return MatStepperI18n;
|
|
16078
16090
|
}(stepper.MatStepperIntl));
|
|
16079
|
-
MatStepperI18n.ɵprov =
|
|
16091
|
+
MatStepperI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(i0.ɵɵinject(i1$2.TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
|
|
16080
16092
|
MatStepperI18n.decorators = [
|
|
16081
16093
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
16082
16094
|
];
|
|
@@ -17268,7 +17280,7 @@
|
|
|
17268
17280
|
return 1;
|
|
17269
17281
|
}
|
|
17270
17282
|
}
|
|
17271
|
-
var ɵ0$
|
|
17283
|
+
var ɵ0$9 = function (defaultStateSize) { return [
|
|
17272
17284
|
Math.round((rgbArrayMap.red[0] - 50) / defaultStateSize),
|
|
17273
17285
|
Math.round((255 - rgbArrayMap.red[1]) / defaultStateSize),
|
|
17274
17286
|
Math.round((255 - rgbArrayMap.red[2]) / defaultStateSize)
|
|
@@ -17276,7 +17288,7 @@
|
|
|
17276
17288
|
var SCALE_OPTIONS_DEFAULT = {
|
|
17277
17289
|
startColor: rgbArrayMap.red,
|
|
17278
17290
|
startStates: [0, 2, 3],
|
|
17279
|
-
startStepsFn: ɵ0$
|
|
17291
|
+
startStepsFn: ɵ0$9
|
|
17280
17292
|
};
|
|
17281
17293
|
/**
|
|
17282
17294
|
* Internal function, that create a colors scale, using iteration
|
|
@@ -17368,24 +17380,24 @@
|
|
|
17368
17380
|
return result;
|
|
17369
17381
|
}
|
|
17370
17382
|
|
|
17371
|
-
var EntityTestClass
|
|
17383
|
+
var EntityTestClass = /** @class */ (function () {
|
|
17372
17384
|
function EntityTestClass() {
|
|
17373
17385
|
}
|
|
17374
17386
|
return EntityTestClass;
|
|
17375
17387
|
}());
|
|
17376
|
-
var FAKE_ENTITIES
|
|
17388
|
+
var FAKE_ENTITIES = [
|
|
17377
17389
|
{ id: 1, label: 'AAA', name: 'Item A', description: 'Very long description A', comments: 'Very very long comments... again for A' },
|
|
17378
17390
|
{ id: 2, label: 'BBB', name: 'Item B', description: 'Very long description B', comments: 'Very very long comments... again for B' },
|
|
17379
17391
|
{ id: 3, label: 'CCC', name: 'Item C', description: 'Very long description C', comments: 'Very very long comments... again for C' }
|
|
17380
17392
|
];
|
|
17381
|
-
function deepCopy
|
|
17393
|
+
function deepCopy(values, size) {
|
|
17382
17394
|
if (isNil(size)) {
|
|
17383
|
-
return (values || FAKE_ENTITIES
|
|
17395
|
+
return (values || FAKE_ENTITIES).map(function (entity) { return Object.assign({}, entity); });
|
|
17384
17396
|
}
|
|
17385
17397
|
var result = [];
|
|
17386
17398
|
var i = 1;
|
|
17387
17399
|
while (result.length < size) {
|
|
17388
|
-
result = result.concat((values || FAKE_ENTITIES
|
|
17400
|
+
result = result.concat((values || FAKE_ENTITIES).map(function (entity) {
|
|
17389
17401
|
var name = entity.name + ' #' + i;
|
|
17390
17402
|
return Object.assign(Object.assign({}, entity), { id: i++, name: name });
|
|
17391
17403
|
}));
|
|
@@ -17395,7 +17407,7 @@
|
|
|
17395
17407
|
var AutocompleteTestPage = /** @class */ (function () {
|
|
17396
17408
|
function AutocompleteTestPage(formBuilder) {
|
|
17397
17409
|
this.formBuilder = formBuilder;
|
|
17398
|
-
this._items = deepCopy
|
|
17410
|
+
this._items = deepCopy(FAKE_ENTITIES, 100);
|
|
17399
17411
|
this.$items = new rxjs.BehaviorSubject(undefined);
|
|
17400
17412
|
this.autocompleteFields = new MatAutocompleteConfigHolder();
|
|
17401
17413
|
this.memoryHide = false;
|
|
@@ -17440,7 +17452,7 @@
|
|
|
17440
17452
|
});
|
|
17441
17453
|
// From items
|
|
17442
17454
|
this.autocompleteFields.add('entity-items-large', {
|
|
17443
|
-
items: FAKE_ENTITIES
|
|
17455
|
+
items: FAKE_ENTITIES.slice(),
|
|
17444
17456
|
attributes: ['label', 'name', 'description', 'comments'],
|
|
17445
17457
|
displayWith: this.entityToString
|
|
17446
17458
|
});
|
|
@@ -17453,12 +17465,12 @@
|
|
|
17453
17465
|
var _this = this;
|
|
17454
17466
|
return __generator(this, function (_a) {
|
|
17455
17467
|
data = {
|
|
17456
|
-
entity: deepCopy
|
|
17468
|
+
entity: deepCopy(FAKE_ENTITIES)[0],
|
|
17457
17469
|
// This item is NOT in the items list => i should be displayed anyway
|
|
17458
17470
|
missingEntity: {
|
|
17459
17471
|
id: -1, label: '??', name: 'Missing item'
|
|
17460
17472
|
},
|
|
17461
|
-
disableEntity: deepCopy
|
|
17473
|
+
disableEntity: deepCopy(FAKE_ENTITIES)[2]
|
|
17462
17474
|
};
|
|
17463
17475
|
this.form.setValue(data);
|
|
17464
17476
|
// Load observables
|
|
@@ -17544,7 +17556,7 @@
|
|
|
17544
17556
|
AutocompleteTestPage.decorators = [
|
|
17545
17557
|
{ type: i0.Component, args: [{
|
|
17546
17558
|
selector: 'app-autocomplete-test',
|
|
17547
|
-
template: "<ion-header>\n <ion-toolbar color=\"primary\">\n\n <ion-buttons slot=\"start\">\n <ion-back-button></ion-back-button>\n </ion-buttons>\n\n <ion-title>Autocomplete field test page</ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n\n <!-- Tab nav - mobile/desktop mode -->\n <nav mat-tab-nav-bar>\n <a mat-tab-link\n [active]=\"mode==='mobile'\"\n (click)=\"toggleMode('mobile')\">\n <mat-label>Mobile</mat-label>\n </a>\n <a mat-tab-link [active]=\"mode==='desktop'\"\n (click)=\"toggleMode('desktop')\">\n <mat-label>Desktop</mat-label>\n </a>\n <a mat-tab-link [active]=\"mode==='memory'\"\n (click)=\"toggleMode('memory')\">\n <mat-label>Memory leak debug</mat-label>\n </a>\n <a mat-tab-link\n [active]=\"mode==='temp'\"\n (click)=\"toggleMode('temp')\">\n <mat-label>Temporary</mat-label>\n </a>\n </nav>\n\n <form class=\"form-container\" [formGroup]=\"form\" (ngSubmit)=\"doSubmit($event)\">\n\n <!--<ion-grid *ngIf=\"mode === 'temp'\">\n <ion-row>\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-text color=\"primary\">\n Items is an Observable\n </ion-text>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>items: Observable<any[]></pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [logPrefix]=\"'[combo-desktop-2]'\"\n [compareWith]=\"compareWithFn\"\n [mobile]=\"false\"\n ></mat-autocomplete-field>\n </ion-card-content>\n\n </ion-card>\n </ion-col>\n </ion-row>\n\n\n </ion-grid>-->\n\n\n <ion-grid *ngIf=\"mode === 'memory'\">\n\n <!-- debugging memory leak -->\n <ion-row><ion-col><ion-text><h4>Debug memory leak</h4></ion-text></ion-col></ion-row>\n <ion-row>\n <ion-col size=\"2\">\n <mat-form-field floatLabel=\"always\">\n <input matInput type=\"text\" hidden placeholder=\"Items type\">\n <mat-select (selectionChange)=\"memoryAutocompleteFieldName=$event.value\" [value]=\"memoryAutocompleteFieldName\">\n <mat-option value=\"entity-$items\">Observable</mat-option>\n <mat-option value=\"entity-suggestFn\">Suggest function</mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n <ion-col size=\"1\" class=\"ion-no-padding\">\n <mat-form-field floatLabel=\"always\" >\n <input matInput type=\"text\" hidden placeholder=\"Mobile ?\">\n <mat-checkbox (change)=\"memoryMobile=$event.checked\" [checked]=\"memoryMobile\">\n </mat-checkbox>\n </mat-form-field>\n </ion-col>\n\n <ion-col size=\"2\">\n <ion-button *ngIf=\"!memoryTimer\" (click)=\"startMemoryTimer()\" color=\"tertiary\">Start</ion-button>\n <ion-button *ngIf=\"memoryTimer\" (click)=\"stopMemoryTimer()\" color=\"tertiary\">Stop</ion-button>\n </ion-col>\n </ion-row>\n\n <ion-row>\n <ion-col>\n <mat-autocomplete-field formControlName=\"entity\"\n *ngIf=\"!memoryHide && memoryAutocompleteFieldName\"\n [config]=\"autocompleteFields.get(memoryAutocompleteFieldName)\"\n [mobile]=\"memoryMobile\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-memory-leak]'\">\n </mat-autocomplete-field>\n </ion-col>\n </ion-row>\n\n </ion-grid>\n\n <!-- Mobile mode -->\n <ion-grid *ngIf=\"mode === 'mobile'\">\n\n <ion-row>\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Suggest() function\n </ion-label>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>mobile: true, suggestFn: (searchText, filter) => any[]</pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-suggestFn')\"\n [mobile]=\"true\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-mobile-1]'\"\n [required]=\"true\"\n placeholder=\"Suggest field\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Items is an Observable\n </ion-label>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>mobile: true, items: Observable<any[]></pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [mobile]=\"true\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-mobile-observable]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Control value if missing in items\n </ion-label>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>mobile: true, items: Observable<any[]></pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"missingEntity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [mobile]=\"true\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-mobile-2]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Disabled control\n </ion-label>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"disableEntity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [mobile]=\"true\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-mobile-2]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n </ion-row>\n\n <ion-row>\n <ion-col size=\"9\">\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Change filter\n </ion-label>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre></pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <ion-grid class=\"ion-no-padding\">\n <ion-row>\n <ion-col>\n <ion-button (click)=\"updateFilter('entity-items-filter')\">Filter on: {{autocompleteFields.get('entity-items-filter').filter?.searchAttribute }}</ion-button>\n </ion-col>\n <ion-col>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-items-filter')\"\n [mobile]=\"true\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-mobile-filter]'\"\n ></mat-autocomplete-field>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col size=\"3\">\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Large combo\n </ion-label>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>class=\"min-width-large\"</pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-items-large')\"\n [mobile]=\"true\"\n class=\"min-width-large\"\n panelWidth=\"400px\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-mobile-large]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n <!-- Desktop mode -->\n <ion-grid *ngIf=\"mode === 'desktop'\">\n <ion-row>\n <ion-col><ion-text><h4>Desktop mode</h4></ion-text></ion-col>\n </ion-row>\n <ion-row>\n\n\n <ion-col size=\"6\">\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-text color=\"primary\">\n items from suggest function\n </ion-text>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>suggest: (value, filter) => LoadResult<any>\nsuggestLengthThreshold: '3'</pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-items-filter')\"\n [mobile]=\"false\"\n [compareWith]=\"compareWithFn\"\n suggestLengthThreshold=\"3\"\n [logPrefix]=\"'[combo-desktop-suggest]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col size=\"6\">\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-text color=\"primary\">\n Items is an array\n </ion-text>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>items: [], value: {{stringify(form.controls.entity.value)}}</pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-items')\"\n [logPrefix]=\"'[combo-desktop-array-1]'\"\n [compareWith]=\"compareWithFn\"\n [mobile]=\"false\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-text color=\"primary\">\n Items is an Observable\n </ion-text>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>items: Observable<any[]></pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [logPrefix]=\"'[combo-desktop-2]'\"\n [compareWith]=\"compareWithFn\"\n [mobile]=\"false\"\n ></mat-autocomplete-field>\n </ion-card-content>\n\n </ion-card>\n </ion-col>\n\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Control value if missing in items\n </ion-label>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>items: Observable<any[]></pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"missingEntity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-desktop-missing]'\"\n [mobile]=\"false\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Full size panel\n </ion-label>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>class: 'mat-autocomplete-panel-full-size'</pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [mobile]=\"false\"\n [class]=\"'mat-autocomplete-panel-full-size'\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-desktop-full-size]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Disabled control\n </ion-label>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"disableEntity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [mobile]=\"false\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-desktop-disable]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Readonly control\n </ion-label>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [mobile]=\"false\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-desktop-readonly]'\"\n [readonly]=\"true\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n </ion-row>\n\n <ion-row>\n <ion-col size=\"9\" >\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Full size combo\n </ion-label>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>class=\"mat-autocomplete-panel-full-size\"</pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-items-large')\"\n [mobile]=\"false\"\n class=\"mat-autocomplete-panel-full-size\"\n panelWidth=\"100vw\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-desktop-full-size]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col size=\"3\" >\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Large combo\n </ion-label>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>panelWidth: string</pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-items-large')\"\n [mobile]=\"false\"\n panelWidth=\"400px\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-desktop-large]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n </ion-row>\n\n\n\n\n </ion-grid>\n\n </form>\n\n</ion-content>\n"
|
|
17559
|
+
template: "<ion-header>\n <ion-toolbar color=\"primary\">\n\n <ion-buttons slot=\"start\">\n <ion-back-button></ion-back-button>\n </ion-buttons>\n\n <ion-title>Autocomplete field test page</ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n\n <!-- Tab nav - mobile/desktop mode -->\n <nav mat-tab-nav-bar>\n <a mat-tab-link\n [active]=\"mode==='mobile'\"\n (click)=\"toggleMode('mobile')\">\n <mat-label>Mobile</mat-label>\n </a>\n <a mat-tab-link [active]=\"mode==='desktop'\"\n (click)=\"toggleMode('desktop')\">\n <mat-label>Desktop</mat-label>\n </a>\n <a mat-tab-link [active]=\"mode==='memory'\"\n (click)=\"toggleMode('memory')\">\n <mat-label>Memory leak debug</mat-label>\n </a>\n <a mat-tab-link\n [active]=\"mode==='temp'\"\n (click)=\"toggleMode('temp')\">\n <mat-label>Temporary</mat-label>\n </a>\n </nav>\n\n <form class=\"form-container\" [formGroup]=\"form\" (ngSubmit)=\"doSubmit($event)\">\n\n <!--<ion-grid *ngIf=\"mode === 'temp'\">\n <ion-row>\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-text color=\"primary\">\n Items is an Observable\n </ion-text>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>items: Observable<any[]></pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [logPrefix]=\"'[combo-desktop-2]'\"\n [compareWith]=\"compareWithFn\"\n [mobile]=\"false\"\n ></mat-autocomplete-field>\n </ion-card-content>\n\n </ion-card>\n </ion-col>\n </ion-row>\n\n\n </ion-grid>-->\n\n\n <ion-grid *ngIf=\"mode === 'memory'\">\n\n <!-- debugging memory leak -->\n <ion-row><ion-col><ion-text><h4>Debug memory leak</h4></ion-text></ion-col></ion-row>\n <ion-row>\n <ion-col size=\"2\">\n <mat-form-field floatLabel=\"always\">\n <input matInput type=\"text\" hidden placeholder=\"Items type\">\n <mat-select (selectionChange)=\"memoryAutocompleteFieldName=$event.value\" [value]=\"memoryAutocompleteFieldName\">\n <mat-option value=\"entity-$items\">Observable</mat-option>\n <mat-option value=\"entity-suggestFn\">Suggest function</mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n <ion-col size=\"1\" class=\"ion-no-padding\">\n <mat-form-field floatLabel=\"always\" >\n <input matInput type=\"text\" hidden placeholder=\"Mobile ?\">\n <mat-checkbox (change)=\"memoryMobile=$event.checked\" [checked]=\"memoryMobile\">\n </mat-checkbox>\n </mat-form-field>\n </ion-col>\n\n <ion-col size=\"2\">\n <ion-button *ngIf=\"!memoryTimer\" (click)=\"startMemoryTimer()\" color=\"tertiary\">Start</ion-button>\n <ion-button *ngIf=\"memoryTimer\" (click)=\"stopMemoryTimer()\" color=\"tertiary\">Stop</ion-button>\n </ion-col>\n </ion-row>\n\n <ion-row>\n <ion-col>\n <mat-autocomplete-field formControlName=\"entity\"\n *ngIf=\"!memoryHide && memoryAutocompleteFieldName\"\n [config]=\"autocompleteFields.get(memoryAutocompleteFieldName)\"\n [mobile]=\"memoryMobile\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-memory-leak]'\">\n </mat-autocomplete-field>\n </ion-col>\n </ion-row>\n\n </ion-grid>\n\n <!-- Mobile mode -->\n <ion-grid *ngIf=\"mode === 'mobile'\">\n\n <ion-row>\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Suggest() function\n </ion-label>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>mobile: true, suggestFn: (searchText, filter) => any[]</pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-suggestFn')\"\n [mobile]=\"true\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-mobile-1]'\"\n [required]=\"true\"\n placeholder=\"Suggest field\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Items is an Observable\n </ion-label>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>mobile: true, items: Observable<any[]></pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [mobile]=\"true\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-mobile-observable]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Control value if missing in items\n </ion-label>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>mobile: true, items: Observable<any[]></pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"missingEntity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [mobile]=\"true\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-mobile-2]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Disabled control\n </ion-label>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"disableEntity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [mobile]=\"true\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-mobile-2]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n </ion-row>\n\n <ion-row>\n <ion-col size=\"9\">\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Change filter\n </ion-label>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre></pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <ion-grid class=\"ion-no-padding\">\n <ion-row>\n <ion-col>\n <ion-button (click)=\"updateFilter('entity-items-filter')\">Filter on: {{autocompleteFields.get('entity-items-filter').filter?.searchAttribute }}</ion-button>\n </ion-col>\n <ion-col>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-items-filter')\"\n [mobile]=\"true\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-mobile-filter]'\"\n ></mat-autocomplete-field>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col size=\"3\">\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Large combo\n </ion-label>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>class=\"min-width-large\"</pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-items-large')\"\n [mobile]=\"true\"\n class=\"min-width-large\"\n panelWidth=\"400px\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-mobile-large]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n <!-- Desktop mode -->\n <ion-grid *ngIf=\"mode === 'desktop'\">\n <ion-row>\n <ion-col><ion-text><h4>Desktop mode</h4></ion-text></ion-col>\n </ion-row>\n <ion-row>\n\n\n <ion-col size=\"6\">\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-text color=\"primary\">\n items from suggest function\n </ion-text>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>suggest: (value, filter) => LoadResult<any>\nsuggestLengthThreshold: '3'</pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-items-filter')\"\n [mobile]=\"false\"\n [compareWith]=\"compareWithFn\"\n suggestLengthThreshold=\"3\"\n [logPrefix]=\"'[combo-desktop-suggest]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col size=\"6\">\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-text color=\"primary\">\n Items is an array\n </ion-text>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>items: [], value: {{stringify(form.controls.entity.value)}}</pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-items')\"\n [logPrefix]=\"'[combo-desktop-array-1]'\"\n [compareWith]=\"compareWithFn\"\n [mobile]=\"false\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-text color=\"primary\">\n Items is an Observable\n </ion-text>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>items: Observable<any[]></pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [logPrefix]=\"'[combo-desktop-2]'\"\n [compareWith]=\"compareWithFn\"\n [mobile]=\"false\"\n ></mat-autocomplete-field>\n </ion-card-content>\n\n </ion-card>\n </ion-col>\n\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Control value if missing in items\n </ion-label>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>items: Observable<any[]></pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"missingEntity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-desktop-missing]'\"\n [mobile]=\"false\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Full size panel\n </ion-label>\n </ion-card-title>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>class: 'mat-autocomplete-panel-full-size'</pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [mobile]=\"false\"\n [class]=\"'mat-autocomplete-panel-full-size'\"\n [compareWith]=\"compareWithFn\"\n [matAutocompletePosition]=\"'above'\"\n [logPrefix]=\"'[combo-desktop-full-size]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Disabled control\n </ion-label>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"disableEntity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [mobile]=\"false\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-desktop-disable]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Readonly control\n </ion-label>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-$items')\"\n [mobile]=\"false\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-desktop-readonly]'\"\n [readonly]=\"true\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n </ion-row>\n\n <ion-row>\n <ion-col size=\"9\" >\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Full size combo\n </ion-label>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>class=\"mat-autocomplete-panel-full-size\"</pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-items-large')\"\n [mobile]=\"false\"\n class=\"mat-autocomplete-panel-full-size\"\n panelWidth=\"100vw\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-desktop-full-size]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <ion-col size=\"3\" >\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Large combo\n </ion-label>\n <ion-card-subtitle>\n <ion-text color=\"medium\">\n <small><pre>panelWidth: string</pre></small>\n </ion-text>\n </ion-card-subtitle>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-autocomplete-field formControlName=\"entity\"\n [config]=\"autocompleteFields.get('entity-items-large')\"\n [mobile]=\"false\"\n panelWidth=\"400px\"\n [compareWith]=\"compareWithFn\"\n [logPrefix]=\"'[combo-desktop-large]'\"\n ></mat-autocomplete-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n </ion-row>\n\n\n\n\n </ion-grid>\n\n </form>\n\n</ion-content>\n"
|
|
17548
17560
|
},] }
|
|
17549
17561
|
];
|
|
17550
17562
|
AutocompleteTestPage.ctorParameters = function () { return [
|
|
@@ -17656,13 +17668,13 @@
|
|
|
17656
17668
|
{ type: Array, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [APP_TESTING_PAGES,] }] }
|
|
17657
17669
|
]; };
|
|
17658
17670
|
|
|
17659
|
-
var moment$
|
|
17671
|
+
var moment$5 = momentImported__namespace;
|
|
17660
17672
|
var SwipeTestPage = /** @class */ (function () {
|
|
17661
17673
|
function SwipeTestPage(formBuilder, dateFormatPipe) {
|
|
17662
17674
|
this.formBuilder = formBuilder;
|
|
17663
17675
|
this.dateFormatPipe = dateFormatPipe;
|
|
17664
17676
|
this.$dates = new rxjs.BehaviorSubject(undefined);
|
|
17665
|
-
this._today = moment$
|
|
17677
|
+
this._today = moment$5().startOf('day');
|
|
17666
17678
|
this.form = formBuilder.group({
|
|
17667
17679
|
empty: [null, i1.Validators.required],
|
|
17668
17680
|
date: [null, i1.Validators.compose([i1.Validators.required, SharedValidators.validDate])],
|
|
@@ -17676,7 +17688,7 @@
|
|
|
17676
17688
|
var _this = this;
|
|
17677
17689
|
var dates = [];
|
|
17678
17690
|
for (var d = 0; d < 7; d++) {
|
|
17679
|
-
dates[d] = moment$
|
|
17691
|
+
dates[d] = moment$5(this._today).add(d - 3, 'day');
|
|
17680
17692
|
}
|
|
17681
17693
|
this.$dates.next(dates);
|
|
17682
17694
|
this.loadData();
|
|
@@ -17950,7 +17962,7 @@
|
|
|
17950
17962
|
}
|
|
17951
17963
|
// Skip if value is not an array
|
|
17952
17964
|
if (!(source instanceof Array) || control.length === 0) {
|
|
17953
|
-
if (
|
|
17965
|
+
if (isNotEmptyArray(source))
|
|
17954
17966
|
console.warn("WARN: please resize the FormArray '" + path + "' to the same length of the input array");
|
|
17955
17967
|
return [];
|
|
17956
17968
|
}
|
|
@@ -18359,7 +18371,7 @@
|
|
|
18359
18371
|
return FormArrayHelper;
|
|
18360
18372
|
}());
|
|
18361
18373
|
|
|
18362
|
-
var moment = momentImported__namespace;
|
|
18374
|
+
var moment$6 = momentImported__namespace;
|
|
18363
18375
|
var DateTimeTestPage = /** @class */ (function () {
|
|
18364
18376
|
function DateTimeTestPage(platform, formBuilder, cd) {
|
|
18365
18377
|
this.platform = platform;
|
|
@@ -18394,7 +18406,7 @@
|
|
|
18394
18406
|
var now, data;
|
|
18395
18407
|
var _this = this;
|
|
18396
18408
|
return __generator(this, function (_a) {
|
|
18397
|
-
now = moment();
|
|
18409
|
+
now = moment$6();
|
|
18398
18410
|
data = {
|
|
18399
18411
|
empty: toDateISOString(now.clone().add(2, 'hours')),
|
|
18400
18412
|
enable: toDateISOString(now),
|
|
@@ -18458,23 +18470,23 @@
|
|
|
18458
18470
|
{ type: i0.ChangeDetectorRef }
|
|
18459
18471
|
]; };
|
|
18460
18472
|
|
|
18461
|
-
var EntityTestClass = /** @class */ (function () {
|
|
18473
|
+
var EntityTestClass$1 = /** @class */ (function () {
|
|
18462
18474
|
function EntityTestClass() {
|
|
18463
18475
|
}
|
|
18464
18476
|
return EntityTestClass;
|
|
18465
18477
|
}());
|
|
18466
|
-
var FAKE_ENTITIES = [
|
|
18478
|
+
var FAKE_ENTITIES$1 = [
|
|
18467
18479
|
{ id: 1, label: 'AAA', name: 'Item A' },
|
|
18468
18480
|
{ id: 2, label: 'BBB', name: 'Item B' },
|
|
18469
18481
|
{ id: 3, label: 'CCC', name: 'Item C' }
|
|
18470
18482
|
];
|
|
18471
|
-
function deepCopy(values) {
|
|
18472
|
-
return (values || FAKE_ENTITIES).map(function (entity) { return Object.assign({}, entity); });
|
|
18483
|
+
function deepCopy$1(values) {
|
|
18484
|
+
return (values || FAKE_ENTITIES$1).map(function (entity) { return Object.assign({}, entity); });
|
|
18473
18485
|
}
|
|
18474
18486
|
var ChipsTestPage = /** @class */ (function () {
|
|
18475
18487
|
function ChipsTestPage(formBuilder) {
|
|
18476
18488
|
this.formBuilder = formBuilder;
|
|
18477
|
-
this._items = deepCopy(FAKE_ENTITIES);
|
|
18489
|
+
this._items = deepCopy$1(FAKE_ENTITIES$1);
|
|
18478
18490
|
this._$items = new rxjs.BehaviorSubject(undefined);
|
|
18479
18491
|
this.autocompleteFields = new MatAutocompleteConfigHolder();
|
|
18480
18492
|
this.form = formBuilder.group({
|
|
@@ -18494,7 +18506,7 @@
|
|
|
18494
18506
|
});
|
|
18495
18507
|
// From items
|
|
18496
18508
|
this.autocompleteFields.add('entity-items', {
|
|
18497
|
-
items: FAKE_ENTITIES.slice(),
|
|
18509
|
+
items: FAKE_ENTITIES$1.slice(),
|
|
18498
18510
|
attributes: ['label', 'name'],
|
|
18499
18511
|
displayWith: this.entityToString
|
|
18500
18512
|
});
|
|
@@ -18517,8 +18529,8 @@
|
|
|
18517
18529
|
data = {
|
|
18518
18530
|
entity: [],
|
|
18519
18531
|
// THis item is NOT in the items list => i should be displayed anyway
|
|
18520
|
-
entityInitial: FAKE_ENTITIES.slice(1, 2),
|
|
18521
|
-
disableEntity: FAKE_ENTITIES.slice(1, 2)
|
|
18532
|
+
entityInitial: FAKE_ENTITIES$1.slice(1, 2),
|
|
18533
|
+
disableEntity: FAKE_ENTITIES$1.slice(1, 2)
|
|
18522
18534
|
};
|
|
18523
18535
|
this.form.setValue(data);
|
|
18524
18536
|
return [2 /*return*/];
|
|
@@ -18528,7 +18540,7 @@
|
|
|
18528
18540
|
ChipsTestPage.prototype.loadItems = function () {
|
|
18529
18541
|
return __awaiter(this, void 0, void 0, function () {
|
|
18530
18542
|
return __generator(this, function (_a) {
|
|
18531
|
-
this._$items.next(deepCopy(FAKE_ENTITIES));
|
|
18543
|
+
this._$items.next(deepCopy$1(FAKE_ENTITIES$1));
|
|
18532
18544
|
return [2 /*return*/];
|
|
18533
18545
|
});
|
|
18534
18546
|
});
|
|
@@ -18565,7 +18577,7 @@
|
|
|
18565
18577
|
{ type: i1.FormBuilder }
|
|
18566
18578
|
]; };
|
|
18567
18579
|
|
|
18568
|
-
var routes
|
|
18580
|
+
var routes = [
|
|
18569
18581
|
{
|
|
18570
18582
|
path: '',
|
|
18571
18583
|
pathMatch: 'full',
|
|
@@ -18615,7 +18627,7 @@
|
|
|
18615
18627
|
i1.ReactiveFormsModule,
|
|
18616
18628
|
SharedMaterialModule,
|
|
18617
18629
|
i1$2.TranslateModule.forChild(),
|
|
18618
|
-
i3.RouterModule.forChild(routes
|
|
18630
|
+
i3.RouterModule.forChild(routes)
|
|
18619
18631
|
],
|
|
18620
18632
|
declarations: [
|
|
18621
18633
|
MaterialTestingPage,
|
|
@@ -19733,7 +19745,7 @@
|
|
|
19733
19745
|
};
|
|
19734
19746
|
return UserSettingsValidatorService;
|
|
19735
19747
|
}(AppValidatorService));
|
|
19736
|
-
UserSettingsValidatorService.ɵprov =
|
|
19748
|
+
UserSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(i0.ɵɵinject(i1.FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
|
|
19737
19749
|
UserSettingsValidatorService.decorators = [
|
|
19738
19750
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
19739
19751
|
];
|
|
@@ -19781,7 +19793,7 @@
|
|
|
19781
19793
|
};
|
|
19782
19794
|
return AccountValidatorService;
|
|
19783
19795
|
}(AppValidatorService));
|
|
19784
|
-
AccountValidatorService.ɵprov =
|
|
19796
|
+
AccountValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(i0.ɵɵinject(i1.FormBuilder), i0.ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
|
|
19785
19797
|
AccountValidatorService.decorators = [
|
|
19786
19798
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
19787
19799
|
];
|
|
@@ -20047,6 +20059,7 @@
|
|
|
20047
20059
|
.subscribe(function (event) { return _this.onCancel.emit(event); }));
|
|
20048
20060
|
// Escape
|
|
20049
20061
|
this._subscription.add(hotkeys.addShortcut({ keys: 'escape', description: 'COMMON.BTN_CLOSE', preventDefault: false })
|
|
20062
|
+
.pipe(operators.filter(function (e) { return !e.defaultPrevented; }))
|
|
20050
20063
|
.subscribe(function (event) { return _this.onBack.emit(event); }));
|
|
20051
20064
|
}
|
|
20052
20065
|
FormButtonsBarComponent.prototype.ngOnDestroy = function () {
|
|
@@ -20377,7 +20390,7 @@
|
|
|
20377
20390
|
};
|
|
20378
20391
|
return LocalSettingsValidatorService;
|
|
20379
20392
|
}(AppValidatorService));
|
|
20380
|
-
LocalSettingsValidatorService.ɵprov =
|
|
20393
|
+
LocalSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(i0.ɵɵinject(i1.FormBuilder), i0.ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
|
|
20381
20394
|
LocalSettingsValidatorService.decorators = [
|
|
20382
20395
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
20383
20396
|
];
|
|
@@ -20976,7 +20989,13 @@
|
|
|
20976
20989
|
});
|
|
20977
20990
|
AppListForm.prototype.markAsTouched = function (opts) {
|
|
20978
20991
|
AppFormUtils.markAsTouched(this.formArray, opts);
|
|
20979
|
-
|
|
20992
|
+
if (!opts || opts.emitEvent !== false)
|
|
20993
|
+
this.markForCheck();
|
|
20994
|
+
};
|
|
20995
|
+
AppListForm.prototype.markAllAsTouched = function (opts) {
|
|
20996
|
+
AppFormUtils.markAllAsTouched(this.formArray, opts);
|
|
20997
|
+
if (!opts || opts.emitEvent !== false)
|
|
20998
|
+
this.markForCheck();
|
|
20980
20999
|
};
|
|
20981
21000
|
AppListForm.prototype.ngOnInit = function () {
|
|
20982
21001
|
var _this = this;
|
|
@@ -21008,6 +21027,9 @@
|
|
|
21008
21027
|
this.helper.resize(data.length);
|
|
21009
21028
|
this.helper.formArray.patchValue(data, { emitEvent: false });
|
|
21010
21029
|
}
|
|
21030
|
+
else {
|
|
21031
|
+
console.warn('TODO: cannot applyied setValue() on fromArray, because formArrayHelper not exists yet !');
|
|
21032
|
+
}
|
|
21011
21033
|
this.selection.clear();
|
|
21012
21034
|
this.markAsPristine();
|
|
21013
21035
|
this.loading = false;
|
|
@@ -21152,7 +21174,7 @@
|
|
|
21152
21174
|
};
|
|
21153
21175
|
return IsOnFieldModePipe;
|
|
21154
21176
|
}());
|
|
21155
|
-
IsOnFieldModePipe.ɵprov =
|
|
21177
|
+
IsOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
|
|
21156
21178
|
IsOnFieldModePipe.decorators = [
|
|
21157
21179
|
{ type: i0.Pipe, args: [{
|
|
21158
21180
|
name: 'isOnField'
|
|
@@ -21167,7 +21189,7 @@
|
|
|
21167
21189
|
};
|
|
21168
21190
|
return IsNotOnFieldModePipe;
|
|
21169
21191
|
}());
|
|
21170
|
-
IsNotOnFieldModePipe.ɵprov =
|
|
21192
|
+
IsNotOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
|
|
21171
21193
|
IsNotOnFieldModePipe.decorators = [
|
|
21172
21194
|
{ type: i0.Pipe, args: [{
|
|
21173
21195
|
name: 'isNotOnField'
|
|
@@ -21185,7 +21207,7 @@
|
|
|
21185
21207
|
};
|
|
21186
21208
|
return PersonToStringPipe;
|
|
21187
21209
|
}());
|
|
21188
|
-
PersonToStringPipe.ɵprov =
|
|
21210
|
+
PersonToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
|
|
21189
21211
|
PersonToStringPipe.decorators = [
|
|
21190
21212
|
{ type: i0.Pipe, args: [{
|
|
21191
21213
|
name: 'personToString'
|
|
@@ -21420,7 +21442,7 @@
|
|
|
21420
21442
|
};
|
|
21421
21443
|
return IsLoginAccountPipe;
|
|
21422
21444
|
}());
|
|
21423
|
-
IsLoginAccountPipe.ɵprov =
|
|
21445
|
+
IsLoginAccountPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
|
|
21424
21446
|
IsLoginAccountPipe.decorators = [
|
|
21425
21447
|
{ type: i0.Pipe, args: [{
|
|
21426
21448
|
name: 'isLogin'
|
|
@@ -21435,7 +21457,7 @@
|
|
|
21435
21457
|
};
|
|
21436
21458
|
return AccountToStringPipe;
|
|
21437
21459
|
}());
|
|
21438
|
-
AccountToStringPipe.ɵprov =
|
|
21460
|
+
AccountToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
|
|
21439
21461
|
AccountToStringPipe.decorators = [
|
|
21440
21462
|
{ type: i0.Pipe, args: [{
|
|
21441
21463
|
name: 'accountToString'
|
|
@@ -21453,7 +21475,7 @@
|
|
|
21453
21475
|
};
|
|
21454
21476
|
return DepartmentToStringPipe;
|
|
21455
21477
|
}());
|
|
21456
|
-
DepartmentToStringPipe.ɵprov =
|
|
21478
|
+
DepartmentToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
|
|
21457
21479
|
DepartmentToStringPipe.decorators = [
|
|
21458
21480
|
{ type: i0.Pipe, args: [{
|
|
21459
21481
|
name: 'departmentToString'
|
|
@@ -21488,7 +21510,7 @@
|
|
|
21488
21510
|
};
|
|
21489
21511
|
return MenuService;
|
|
21490
21512
|
}());
|
|
21491
|
-
MenuService.ɵprov =
|
|
21513
|
+
MenuService.ɵprov = i0.ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
|
|
21492
21514
|
MenuService.decorators = [
|
|
21493
21515
|
{ type: i0.Injectable, args: [{
|
|
21494
21516
|
providedIn: 'root'
|
|
@@ -22067,7 +22089,7 @@
|
|
|
22067
22089
|
};
|
|
22068
22090
|
return AuthGuardService;
|
|
22069
22091
|
}());
|
|
22070
|
-
AuthGuardService.ɵprov =
|
|
22092
|
+
AuthGuardService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AuthGuardService_Factory() { return new AuthGuardService(i0.ɵɵinject(AccountService), i0.ɵɵinject(i1$5.ModalController), i0.ɵɵinject(i3.Router), i0.ɵɵinject(ENVIRONMENT)); }, token: AuthGuardService, providedIn: "root" });
|
|
22071
22093
|
AuthGuardService.decorators = [
|
|
22072
22094
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
22073
22095
|
];
|
|
@@ -22118,7 +22140,7 @@
|
|
|
22118
22140
|
query: query,
|
|
22119
22141
|
variables: { id: id },
|
|
22120
22142
|
fetchPolicy: opts && opts.fetchPolicy || undefined,
|
|
22121
|
-
error: { code: ErrorCodes
|
|
22143
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
|
|
22122
22144
|
})
|
|
22123
22145
|
.pipe(operators.map(function (_b) {
|
|
22124
22146
|
var data = _b.data;
|
|
@@ -22140,7 +22162,7 @@
|
|
|
22140
22162
|
query: query,
|
|
22141
22163
|
variables: { id: id },
|
|
22142
22164
|
fetchPolicy: opts && opts.fetchPolicy || undefined,
|
|
22143
|
-
error: { code: ErrorCodes
|
|
22165
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
|
|
22144
22166
|
})];
|
|
22145
22167
|
case 1:
|
|
22146
22168
|
data = (_b.sent()).data;
|
|
@@ -22176,7 +22198,7 @@
|
|
|
22176
22198
|
totalFieldName: withTotal ? 'total' : undefined,
|
|
22177
22199
|
insertFilterFn: filter && filter.asFilterFn(),
|
|
22178
22200
|
variables: variables,
|
|
22179
|
-
error: { code: ErrorCodes
|
|
22201
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
|
|
22180
22202
|
fetchPolicy: opts && opts.fetchPolicy || undefined
|
|
22181
22203
|
})
|
|
22182
22204
|
.pipe(operators.map(function (_b) {
|
|
@@ -22218,7 +22240,7 @@
|
|
|
22218
22240
|
return [4 /*yield*/, this.graphql.query({
|
|
22219
22241
|
query: query,
|
|
22220
22242
|
variables: variables,
|
|
22221
|
-
error: { code: ErrorCodes
|
|
22243
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
|
|
22222
22244
|
fetchPolicy: opts && opts.fetchPolicy || 'network-only'
|
|
22223
22245
|
})];
|
|
22224
22246
|
case 1:
|
|
@@ -22266,7 +22288,7 @@
|
|
|
22266
22288
|
variables: {
|
|
22267
22289
|
filter: filter && filter.asPodObject()
|
|
22268
22290
|
},
|
|
22269
|
-
error: { code: ErrorCodes
|
|
22291
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
|
|
22270
22292
|
fetchPolicy: opts && opts.fetchPolicy || 'network-only'
|
|
22271
22293
|
})];
|
|
22272
22294
|
case 3:
|
|
@@ -22308,7 +22330,7 @@
|
|
|
22308
22330
|
variables: {
|
|
22309
22331
|
data: json
|
|
22310
22332
|
},
|
|
22311
|
-
error: { code: ErrorCodes
|
|
22333
|
+
error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
|
|
22312
22334
|
update: function (proxy, _b) {
|
|
22313
22335
|
var data = _b.data;
|
|
22314
22336
|
var savedEntities = data && data.data;
|
|
@@ -22375,7 +22397,7 @@
|
|
|
22375
22397
|
variables: {
|
|
22376
22398
|
data: json
|
|
22377
22399
|
},
|
|
22378
|
-
error: { code: ErrorCodes
|
|
22400
|
+
error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
|
|
22379
22401
|
update: function (cache, _b) {
|
|
22380
22402
|
var data = _b.data;
|
|
22381
22403
|
// Update entity
|
|
@@ -22433,7 +22455,7 @@
|
|
|
22433
22455
|
refetchQueries: this.getRefetchQueriesForMutation(opts),
|
|
22434
22456
|
awaitRefetchQueries: opts && opts.awaitRefetchQueries,
|
|
22435
22457
|
variables: { ids: ids },
|
|
22436
|
-
error: { code: ErrorCodes
|
|
22458
|
+
error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
|
|
22437
22459
|
update: function (cache, res) {
|
|
22438
22460
|
// Remove from cache
|
|
22439
22461
|
if (_this.watchQueriesUpdatePolicy === 'update-cache') {
|
|
@@ -22486,7 +22508,7 @@
|
|
|
22486
22508
|
refetchQueries: this.getRefetchQueriesForMutation(opts),
|
|
22487
22509
|
awaitRefetchQueries: opts && opts.awaitRefetchQueries,
|
|
22488
22510
|
variables: { id: id },
|
|
22489
|
-
error: { code: ErrorCodes
|
|
22511
|
+
error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
|
|
22490
22512
|
update: function (proxy, res) {
|
|
22491
22513
|
// Remove from cache
|
|
22492
22514
|
if (_this.watchQueriesUpdatePolicy === 'update-cache') {
|
|
@@ -22525,7 +22547,7 @@
|
|
|
22525
22547
|
query: opts && opts.query || this.subscriptions.listenChanges,
|
|
22526
22548
|
variables: variables,
|
|
22527
22549
|
error: {
|
|
22528
|
-
code: ErrorCodes
|
|
22550
|
+
code: ErrorCodes.SUBSCRIBE_DATA_ERROR,
|
|
22529
22551
|
message: 'ERROR.SUBSCRIBE_DATA_ERROR'
|
|
22530
22552
|
}
|
|
22531
22553
|
})
|
|
@@ -22734,7 +22756,7 @@
|
|
|
22734
22756
|
if (this._debug)
|
|
22735
22757
|
invalidRows.forEach(function (row) { return AppTableUtils.logRowErrors(row, "[table-datasource] " + _this._logTypeName + " row #" + row.id); });
|
|
22736
22758
|
// Stop with an error
|
|
22737
|
-
throw { code: ErrorCodes
|
|
22759
|
+
throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
22738
22760
|
}
|
|
22739
22761
|
this._editingRowCount = 0;
|
|
22740
22762
|
data = void 0;
|
|
@@ -23082,17 +23104,6 @@
|
|
|
23082
23104
|
enumerable: false,
|
|
23083
23105
|
configurable: true
|
|
23084
23106
|
});
|
|
23085
|
-
Object.defineProperty(AppTable.prototype, "focusColumn", {
|
|
23086
|
-
get: function () {
|
|
23087
|
-
return this._focusColumn;
|
|
23088
|
-
},
|
|
23089
|
-
// Focus manager
|
|
23090
|
-
set: function (name) {
|
|
23091
|
-
this._focusColumn = name;
|
|
23092
|
-
},
|
|
23093
|
-
enumerable: false,
|
|
23094
|
-
configurable: true
|
|
23095
|
-
});
|
|
23096
23107
|
Object.defineProperty(AppTable.prototype, "firstUserColumn", {
|
|
23097
23108
|
get: function () {
|
|
23098
23109
|
return this.displayedColumns[RESERVED_START_COLUMNS.length];
|
|
@@ -23701,14 +23712,14 @@
|
|
|
23701
23712
|
case 0:
|
|
23702
23713
|
opts = Object.assign({ keepEditing: this.keepEditedRowOnSave }, opts);
|
|
23703
23714
|
if (this.readOnly) {
|
|
23704
|
-
throw { code: ErrorCodes
|
|
23715
|
+
throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
|
|
23705
23716
|
}
|
|
23706
23717
|
this.resetError();
|
|
23707
23718
|
// Keep edited row id (should be done BEFORE confirmEditCreate() )
|
|
23708
23719
|
this.previouslyEditedRowId = opts.keepEditing && ((_a = this.editedRow) === null || _a === void 0 ? void 0 : _a.editing) ? this.editedRow.id : undefined;
|
|
23709
23720
|
previouslyEditedData = isNotNil(this.previouslyEditedRowId) && this.editedRow.currentData || ((_b = this.singleSelectedRow) === null || _b === void 0 ? void 0 : _b.currentData);
|
|
23710
23721
|
if (!this.confirmEditCreate()) {
|
|
23711
|
-
throw { code: ErrorCodes
|
|
23722
|
+
throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
23712
23723
|
}
|
|
23713
23724
|
// Mark as saving
|
|
23714
23725
|
this.markAsSaving();
|
|
@@ -23861,7 +23872,7 @@
|
|
|
23861
23872
|
switch (_d.label) {
|
|
23862
23873
|
case 0:
|
|
23863
23874
|
if (this.readOnly) {
|
|
23864
|
-
throw { code: ErrorCodes
|
|
23875
|
+
throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
|
|
23865
23876
|
}
|
|
23866
23877
|
if (event === null || event === void 0 ? void 0 : event.defaultPrevented)
|
|
23867
23878
|
return [2 /*return*/, 0]; // SKip
|
|
@@ -24054,13 +24065,15 @@
|
|
|
24054
24065
|
row = row || this.editedRow;
|
|
24055
24066
|
if (!row || !row.editing)
|
|
24056
24067
|
return;
|
|
24068
|
+
// DEBUG
|
|
24069
|
+
//console.debug('[app-table] Cancel the row (keydown.escape)');
|
|
24057
24070
|
if (event) {
|
|
24058
24071
|
// Avoid to cancel the editor
|
|
24059
24072
|
event.preventDefault();
|
|
24060
24073
|
event.stopPropagation();
|
|
24061
24074
|
}
|
|
24062
|
-
// If new row: delete silently
|
|
24063
|
-
if (row.id === -1) {
|
|
24075
|
+
// If new row is invalid: delete silently
|
|
24076
|
+
if (row.id === -1 && row.validator.invalid) {
|
|
24064
24077
|
this.deleteNewRow(event, row);
|
|
24065
24078
|
}
|
|
24066
24079
|
// If exists
|
|
@@ -24087,7 +24100,7 @@
|
|
|
24087
24100
|
return false;
|
|
24088
24101
|
}
|
|
24089
24102
|
if (!row.editing && !this.loading) {
|
|
24090
|
-
this.
|
|
24103
|
+
this.focusColumn = opts && opts.focusColumn || this.focusColumn;
|
|
24091
24104
|
this._dataSource.startEdit(row);
|
|
24092
24105
|
}
|
|
24093
24106
|
this.editedRow = row;
|
|
@@ -25555,7 +25568,7 @@
|
|
|
25555
25568
|
case 4:
|
|
25556
25569
|
data = _b.sent();
|
|
25557
25570
|
if (!data)
|
|
25558
|
-
throw { code: ErrorCodes
|
|
25571
|
+
throw { code: ErrorCodes.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
|
|
25559
25572
|
this._usageMode = this.computeUsageMode(data);
|
|
25560
25573
|
return [4 /*yield*/, this.onEntityLoaded(data, opts)];
|
|
25561
25574
|
case 5:
|
|
@@ -26285,10 +26298,10 @@
|
|
|
26285
26298
|
exports.UserEventFilter = __decorate([
|
|
26286
26299
|
EntityClass({ typename: 'UserEventVO' })
|
|
26287
26300
|
], exports.UserEventFilter);
|
|
26288
|
-
var SaveQuery = core.gql(templateObject_1$
|
|
26289
|
-
var LoadAllQuery = core.gql(templateObject_2$
|
|
26290
|
-
var DeleteByIdsMutation = core.gql(templateObject_3$
|
|
26291
|
-
var LoadAllWithContentQuery = core.gql(templateObject_4$
|
|
26301
|
+
var SaveQuery = core.gql(templateObject_1$3 || (templateObject_1$3 = __makeTemplateObject(["\n mutation SaveUserEvent($data: UserEventVOInput){\n data: saveUserEvent(userEvent: $data){\n ...UserEventFragment\n }\n }\n ", "\n"], ["\n mutation SaveUserEvent($data: UserEventVOInput){\n data: saveUserEvent(userEvent: $data){\n ...UserEventFragment\n }\n }\n ", "\n"])), SocialFragments.userEvent);
|
|
26302
|
+
var LoadAllQuery = core.gql(templateObject_2$3 || (templateObject_2$3 = __makeTemplateObject(["\n query UserEvents($filter: UserEventFilterVOInput, $page: PageInput){\n data: userEvents(filter: $filter, page: $page){\n ...LightUserEventFragment\n }\n }\n ", "\n"], ["\n query UserEvents($filter: UserEventFilterVOInput, $page: PageInput){\n data: userEvents(filter: $filter, page: $page){\n ...LightUserEventFragment\n }\n }\n ", "\n"])), SocialFragments.lightUserEvent);
|
|
26303
|
+
var DeleteByIdsMutation = core.gql(templateObject_3$2 || (templateObject_3$2 = __makeTemplateObject(["\n mutation DeleteUserEvents($ids:[Int]){\n deleteUserEvents(ids: $ids)\n }\n"], ["\n mutation DeleteUserEvents($ids:[Int]){\n deleteUserEvents(ids: $ids)\n }\n"])));
|
|
26304
|
+
var LoadAllWithContentQuery = core.gql(templateObject_4$2 || (templateObject_4$2 = __makeTemplateObject(["\n query UserEventsWithContent($filter: UserEventFilterVOInput, $page: PageInput){\n data: userEvents(filter: $filter, page: $page){\n ...UserEventFragment\n }\n }\n ", "\n"], ["\n query UserEventsWithContent($filter: UserEventFilterVOInput, $page: PageInput){\n data: userEvents(filter: $filter, page: $page){\n ...UserEventFragment\n }\n }\n ", "\n"])), SocialFragments.userEvent);
|
|
26292
26305
|
var UserEventService = /** @class */ (function (_super) {
|
|
26293
26306
|
__extends(UserEventService, _super);
|
|
26294
26307
|
function UserEventService(graphql, accountService, network, translate, toastController, environment) {
|
|
@@ -26609,7 +26622,7 @@
|
|
|
26609
26622
|
};
|
|
26610
26623
|
return UserEventService;
|
|
26611
26624
|
}(BaseGraphqlService));
|
|
26612
|
-
UserEventService.ɵprov =
|
|
26625
|
+
UserEventService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UserEventService_Factory() { return new UserEventService(i0.ɵɵinject(GraphqlService), i0.ɵɵinject(AccountService), i0.ɵɵinject(NetworkService), i0.ɵɵinject(i1$2.TranslateService), i0.ɵɵinject(i1$5.ToastController), i0.ɵɵinject(ENVIRONMENT)); }, token: UserEventService, providedIn: "root" });
|
|
26613
26626
|
UserEventService.decorators = [
|
|
26614
26627
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
26615
26628
|
];
|
|
@@ -26621,7 +26634,7 @@
|
|
|
26621
26634
|
{ type: i1$5.ToastController },
|
|
26622
26635
|
{ type: undefined, decorators: [{ type: i0.Inject, args: [ENVIRONMENT,] }] }
|
|
26623
26636
|
]; };
|
|
26624
|
-
var templateObject_1$
|
|
26637
|
+
var templateObject_1$3, templateObject_2$3, templateObject_3$2, templateObject_4$2;
|
|
26625
26638
|
|
|
26626
26639
|
var ICONS_MAP = {
|
|
26627
26640
|
DEBUG_DATA: { matIcon: 'bug_report' },
|
|
@@ -26882,16 +26895,16 @@
|
|
|
26882
26895
|
], exports.PersonFilter);
|
|
26883
26896
|
|
|
26884
26897
|
var PersonFragments = {
|
|
26885
|
-
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 }"])))
|
|
26898
|
+
person: core.gql(templateObject_1$4 || (templateObject_1$4 = __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 }"])))
|
|
26886
26899
|
};
|
|
26887
26900
|
// Load persons query
|
|
26888
26901
|
var PersonQueries = {
|
|
26889
|
-
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),
|
|
26890
|
-
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)
|
|
26902
|
+
loadAll: core.gql(templateObject_2$4 || (templateObject_2$4 = __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),
|
|
26903
|
+
loadAllWithTotal: core.gql(templateObject_3$3 || (templateObject_3$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)
|
|
26891
26904
|
};
|
|
26892
26905
|
var PersonMutations = {
|
|
26893
|
-
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),
|
|
26894
|
-
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 }"])))
|
|
26906
|
+
saveAll: core.gql(templateObject_4$3 || (templateObject_4$3 = __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),
|
|
26907
|
+
deleteAll: core.gql(templateObject_5$2 || (templateObject_5$2 = __makeTemplateObject(["\n mutation deletePersons($ids:[Int]){\n deletePersons(ids: $ids)\n }"], ["\n mutation deletePersons($ids:[Int]){\n deletePersons(ids: $ids)\n }"])))
|
|
26895
26908
|
};
|
|
26896
26909
|
var PersonService = /** @class */ (function (_super_1) {
|
|
26897
26910
|
__extends(PersonService, _super_1);
|
|
@@ -27014,7 +27027,7 @@
|
|
|
27014
27027
|
};
|
|
27015
27028
|
return PersonService;
|
|
27016
27029
|
}(BaseEntityService));
|
|
27017
|
-
PersonService.ɵprov =
|
|
27030
|
+
PersonService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonService_Factory() { return new PersonService(i0.ɵɵinject(GraphqlService), i0.ɵɵinject(PlatformService), i0.ɵɵinject(NetworkService), i0.ɵɵinject(EntitiesStorage)); }, token: PersonService, providedIn: "root" });
|
|
27018
27031
|
PersonService.decorators = [
|
|
27019
27032
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
27020
27033
|
];
|
|
@@ -27024,7 +27037,7 @@
|
|
|
27024
27037
|
{ type: NetworkService },
|
|
27025
27038
|
{ type: EntitiesStorage }
|
|
27026
27039
|
]; };
|
|
27027
|
-
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
|
|
27040
|
+
var templateObject_1$4, templateObject_2$4, templateObject_3$3, templateObject_4$3, templateObject_5$2;
|
|
27028
27041
|
|
|
27029
27042
|
var PersonValidatorService = /** @class */ (function () {
|
|
27030
27043
|
function PersonValidatorService(formBuilder, accountValidatorService) {
|
|
@@ -27047,7 +27060,7 @@
|
|
|
27047
27060
|
};
|
|
27048
27061
|
return PersonValidatorService;
|
|
27049
27062
|
}());
|
|
27050
|
-
PersonValidatorService.ɵprov =
|
|
27063
|
+
PersonValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(i0.ɵɵinject(i1.FormBuilder), i0.ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
|
|
27051
27064
|
PersonValidatorService.decorators = [
|
|
27052
27065
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
27053
27066
|
];
|
|
@@ -27219,7 +27232,7 @@
|
|
|
27219
27232
|
],
|
|
27220
27233
|
animations: [slideUpDownAnimation],
|
|
27221
27234
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
27222
|
-
styles: [".mat-expansion-panel{margin-bottom:5px}.mat-expansion-panel .form-container mat-form-field{width:100%}.mat-expansion-panel mat-action-row ion-label{line-height:36px}.table-container{height:
|
|
27235
|
+
styles: [".mat-expansion-panel{margin-bottom:5px}.mat-expansion-panel .form-container mat-form-field{width:100%}.mat-expansion-panel mat-action-row ion-label{line-height:36px}.table-container{height:100%}.mat-table .mat-cell .avatar{height:40px;width:40px;margin:2px 0 0;background-size:cover;background-repeat:no-repeat;background-position:50%}.mat-table .mat-column-avatar{min-width:50px}.mat-table .mat-column-profile{min-width:110px}.mat-table .mat-column-status{min-width:130px}.mat-table .mat-column-department{min-width:150px}"]
|
|
27223
27236
|
},] }
|
|
27224
27237
|
];
|
|
27225
27238
|
UsersPage.ctorParameters = function () { return [
|
|
@@ -27268,16 +27281,16 @@
|
|
|
27268
27281
|
];
|
|
27269
27282
|
AdminModule.ctorParameters = function () { return []; };
|
|
27270
27283
|
|
|
27271
|
-
var ɵ0 = {
|
|
27284
|
+
var ɵ0$a = {
|
|
27272
27285
|
profile: 'ADMIN'
|
|
27273
27286
|
};
|
|
27274
|
-
var routes = [
|
|
27287
|
+
var routes$1 = [
|
|
27275
27288
|
{
|
|
27276
27289
|
path: 'users',
|
|
27277
27290
|
pathMatch: 'full',
|
|
27278
27291
|
component: UsersPage,
|
|
27279
27292
|
canActivate: [AuthGuardService],
|
|
27280
|
-
data: ɵ0
|
|
27293
|
+
data: ɵ0$a
|
|
27281
27294
|
}
|
|
27282
27295
|
];
|
|
27283
27296
|
var AdminRoutingModule = /** @class */ (function () {
|
|
@@ -27290,13 +27303,13 @@
|
|
|
27290
27303
|
imports: [
|
|
27291
27304
|
SharedRoutingModule,
|
|
27292
27305
|
AdminModule,
|
|
27293
|
-
i3.RouterModule.forChild(routes)
|
|
27306
|
+
i3.RouterModule.forChild(routes$1)
|
|
27294
27307
|
],
|
|
27295
27308
|
exports: [i3.RouterModule]
|
|
27296
27309
|
},] }
|
|
27297
27310
|
];
|
|
27298
27311
|
|
|
27299
|
-
var ErrorCodes = {
|
|
27312
|
+
var ErrorCodes$2 = {
|
|
27300
27313
|
LOAD_PERSONS_ERROR: 100,
|
|
27301
27314
|
SAVE_PERSONS_ERROR: 101,
|
|
27302
27315
|
DELETE_PERSONS_ERROR: 102,
|
|
@@ -27405,7 +27418,7 @@
|
|
|
27405
27418
|
exports.EntityStore = EntityStore;
|
|
27406
27419
|
exports.EntityUtils = EntityUtils;
|
|
27407
27420
|
exports.Environment = Environment;
|
|
27408
|
-
exports.ErrorCodes = ErrorCodes;
|
|
27421
|
+
exports.ErrorCodes = ErrorCodes$2;
|
|
27409
27422
|
exports.EvenPipe = EvenPipe;
|
|
27410
27423
|
exports.FileService = FileService;
|
|
27411
27424
|
exports.FileSizePipe = FileSizePipe;
|
|
@@ -27413,7 +27426,7 @@
|
|
|
27413
27426
|
exports.FormButtonsBarComponent = FormButtonsBarComponent;
|
|
27414
27427
|
exports.FormButtonsBarToken = FormButtonsBarToken;
|
|
27415
27428
|
exports.FormFieldValuesHolder = FormFieldValuesHolder;
|
|
27416
|
-
exports.Fragments = Fragments;
|
|
27429
|
+
exports.Fragments = Fragments$1;
|
|
27417
27430
|
exports.GraphqlService = GraphqlService;
|
|
27418
27431
|
exports.HAMMER_PRESS_TIME = HAMMER_PRESS_TIME;
|
|
27419
27432
|
exports.HAMMER_TAP_TIME = HAMMER_TAP_TIME;
|