@sumaris-net/ngx-components 0.22.1 → 0.23.2
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 +311 -311
- 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/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 +2 -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 +308 -298
- 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/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,7 @@
|
|
|
536
512
|
items = items.filter(function (v) { return !opts.excludedIds.includes(+v['id']); });
|
|
537
513
|
}
|
|
538
514
|
// Sort
|
|
539
|
-
|
|
540
|
-
if (sortAttribute) {
|
|
541
|
-
items = sort(items, sortAttribute);
|
|
542
|
-
}
|
|
515
|
+
items = items.sort(propertiesPathComparator(keys));
|
|
543
516
|
// Truncate if need
|
|
544
517
|
var total = (items === null || items === void 0 ? void 0 : items.length) || 0;
|
|
545
518
|
if (opts) {
|
|
@@ -1162,19 +1135,19 @@
|
|
|
1162
1135
|
};
|
|
1163
1136
|
return MatAutocompleteConfigHolder;
|
|
1164
1137
|
}());
|
|
1165
|
-
var DEFAULT_VALUE_ACCESSOR
|
|
1138
|
+
var DEFAULT_VALUE_ACCESSOR = {
|
|
1166
1139
|
provide: i1.NG_VALUE_ACCESSOR,
|
|
1167
1140
|
useExisting: i0.forwardRef(function () { return MatAutocompleteField; }),
|
|
1168
1141
|
multi: true
|
|
1169
1142
|
};
|
|
1170
|
-
var noop
|
|
1171
|
-
var ɵ0
|
|
1143
|
+
var noop = function () { };
|
|
1144
|
+
var ɵ0 = noop;
|
|
1172
1145
|
var MatAutocompleteField = /** @class */ (function () {
|
|
1173
1146
|
function MatAutocompleteField(cd, formGroupDir) {
|
|
1174
1147
|
this.cd = cd;
|
|
1175
1148
|
this.formGroupDir = formGroupDir;
|
|
1176
|
-
this._onChangeCallback = noop
|
|
1177
|
-
this._onTouchedCallback = noop
|
|
1149
|
+
this._onChangeCallback = noop;
|
|
1150
|
+
this._onTouchedCallback = noop;
|
|
1178
1151
|
this._subscription = new rxjs.Subscription();
|
|
1179
1152
|
this._filter$ = new rxjs.BehaviorSubject(undefined);
|
|
1180
1153
|
this._reload$ = new rxjs.Subject();
|
|
@@ -1202,6 +1175,8 @@
|
|
|
1202
1175
|
this.onBlur = new i0.EventEmitter();
|
|
1203
1176
|
this.onFocus = new i0.EventEmitter();
|
|
1204
1177
|
this.onDropButtonClick = new i0.EventEmitter(true);
|
|
1178
|
+
this.onKeydownEscape = new i0.EventEmitter();
|
|
1179
|
+
this.onKeyupEnter = new i0.EventEmitter();
|
|
1205
1180
|
}
|
|
1206
1181
|
Object.defineProperty(MatAutocompleteField.prototype, "itemCount", {
|
|
1207
1182
|
get: function () {
|
|
@@ -1356,7 +1331,7 @@
|
|
|
1356
1331
|
// No suggestFn: filter on the given items
|
|
1357
1332
|
if (!this.suggestFn) {
|
|
1358
1333
|
var suggestFromArrayFn_1 = function (value, filter) { return __awaiter(_this, void 0, void 0, function () {
|
|
1359
|
-
return __generator(this, function (
|
|
1334
|
+
return __generator(this, function (_e) {
|
|
1360
1335
|
// DEBUG
|
|
1361
1336
|
//console.debug(this.logPrefix + " Calling suggestFromArray with value=", value);
|
|
1362
1337
|
return [2 /*return*/, suggestFromArray(this.$inputItems.value, value, Object.assign({ searchAttributes: this.displayAttributes }, filter))];
|
|
@@ -1364,8 +1339,8 @@
|
|
|
1364
1339
|
}); };
|
|
1365
1340
|
// Wait (once) that items are loaded, then call suggest from array fn
|
|
1366
1341
|
this.suggestFn = function (value, filter) { return __awaiter(_this, void 0, void 0, function () {
|
|
1367
|
-
return __generator(this, function (
|
|
1368
|
-
switch (
|
|
1342
|
+
return __generator(this, function (_e) {
|
|
1343
|
+
switch (_e.label) {
|
|
1369
1344
|
case 0:
|
|
1370
1345
|
if (!isNil(this.$inputItems.value)) return [3 /*break*/, 2];
|
|
1371
1346
|
// DEBUG
|
|
@@ -1374,8 +1349,8 @@
|
|
|
1374
1349
|
case 1:
|
|
1375
1350
|
// DEBUG
|
|
1376
1351
|
//console.debug(this.logPrefix + " Waiting items to be set...");
|
|
1377
|
-
|
|
1378
|
-
|
|
1352
|
+
_e.sent();
|
|
1353
|
+
_e.label = 2;
|
|
1379
1354
|
case 2:
|
|
1380
1355
|
this.suggestFn = suggestFromArrayFn_1;
|
|
1381
1356
|
return [2 /*return*/, this.suggestFn(value, filter)]; // Loop
|
|
@@ -1494,6 +1469,15 @@
|
|
|
1494
1469
|
.pipe(operators.distinctUntilChanged())
|
|
1495
1470
|
// Update component state
|
|
1496
1471
|
.subscribe(function () { return _this.checkIfTouched(); }));
|
|
1472
|
+
this._subscription.add(this.onKeydownEscape.subscribe(function (event) {
|
|
1473
|
+
if (_this.isOpen) {
|
|
1474
|
+
event === null || event === void 0 ? void 0 : event.stopPropagation();
|
|
1475
|
+
event === null || event === void 0 ? void 0 : event.preventDefault();
|
|
1476
|
+
// DEBUG
|
|
1477
|
+
//console.debug(this.logPrefix + " Closing the panel (keydown.escape)");
|
|
1478
|
+
_this.closePanel();
|
|
1479
|
+
}
|
|
1480
|
+
}));
|
|
1497
1481
|
};
|
|
1498
1482
|
MatAutocompleteField.prototype.ngOnDestroy = function () {
|
|
1499
1483
|
this._subscription.unsubscribe();
|
|
@@ -1505,6 +1489,8 @@
|
|
|
1505
1489
|
this.onClick.complete();
|
|
1506
1490
|
this.onBlur.complete();
|
|
1507
1491
|
this.onFocus.complete();
|
|
1492
|
+
this.onKeydownEscape.complete();
|
|
1493
|
+
this.onKeyupEnter.complete();
|
|
1508
1494
|
this._implicitValue = undefined;
|
|
1509
1495
|
this.formControl = null;
|
|
1510
1496
|
this.displayWith = null;
|
|
@@ -1518,8 +1504,8 @@
|
|
|
1518
1504
|
this._onTouchedCallback = null;
|
|
1519
1505
|
this._onFetchMoreCallback = null;
|
|
1520
1506
|
// Destroy the 'autocomplete' instance, to avoid memory leak
|
|
1521
|
-
if (this.
|
|
1522
|
-
this.
|
|
1507
|
+
if (this.matAutocomplete) {
|
|
1508
|
+
this.matAutocomplete.ngOnDestroy();
|
|
1523
1509
|
}
|
|
1524
1510
|
};
|
|
1525
1511
|
/**
|
|
@@ -1545,8 +1531,8 @@
|
|
|
1545
1531
|
};
|
|
1546
1532
|
MatAutocompleteField.prototype.setDisabledState = function (isDisabled) {
|
|
1547
1533
|
var _a;
|
|
1548
|
-
if (isDisabled && ((_a = this.
|
|
1549
|
-
|
|
1534
|
+
if (isDisabled && ((_a = this.matAutocomplete) === null || _a === void 0 ? void 0 : _a.isOpen)) {
|
|
1535
|
+
this.closePanel();
|
|
1550
1536
|
}
|
|
1551
1537
|
this.cd.markForCheck();
|
|
1552
1538
|
};
|
|
@@ -1645,7 +1631,7 @@
|
|
|
1645
1631
|
};
|
|
1646
1632
|
MatAutocompleteField.prototype._initAutocompleteInfiniteScroll = function (threshold) {
|
|
1647
1633
|
var _this = this;
|
|
1648
|
-
if (!this.
|
|
1634
|
+
if (!this.matAutocomplete)
|
|
1649
1635
|
return; // Skip
|
|
1650
1636
|
// DEBUG
|
|
1651
1637
|
//console.debug(this.logPrefix + ' Init autocomplete scroll listener');
|
|
@@ -1653,12 +1639,12 @@
|
|
|
1653
1639
|
this._openedSubscription.unsubscribe();
|
|
1654
1640
|
this._subscription.remove(this._openedSubscription);
|
|
1655
1641
|
}
|
|
1656
|
-
var opened$ = this.
|
|
1642
|
+
var opened$ = this.matAutocomplete._isOpen
|
|
1657
1643
|
? rxjs.timer(0)
|
|
1658
|
-
: this.
|
|
1644
|
+
: this.matAutocomplete.opened.pipe(operators.debounceTime(200));
|
|
1659
1645
|
var scrollEnd$ = opened$
|
|
1660
1646
|
.pipe(operators.map(function (_) { return _this.getAutocompletePanel(); }), operators.filter(isNotNil), operators.switchMap(function (panel) { return fromScrollEndEvent(panel, threshold)
|
|
1661
|
-
.pipe(operators.takeUntil(_this.
|
|
1647
|
+
.pipe(operators.takeUntil(_this.matAutocomplete.closed)); }));
|
|
1662
1648
|
// Trigger fetch more, end end scroll reached
|
|
1663
1649
|
this._openedSubscription = scrollEnd$
|
|
1664
1650
|
.subscribe(function () { return _this._fetchMore$.emit(); });
|
|
@@ -1688,15 +1674,35 @@
|
|
|
1688
1674
|
// Register subscription
|
|
1689
1675
|
this._subscription.add(this._openedSubscription);
|
|
1690
1676
|
};
|
|
1677
|
+
Object.defineProperty(MatAutocompleteField.prototype, "isOpen", {
|
|
1678
|
+
get: function () {
|
|
1679
|
+
var _a, _b;
|
|
1680
|
+
return (this.searchable && ((_a = this.matAutocomplete) === null || _a === void 0 ? void 0 : _a.isOpen))
|
|
1681
|
+
|| ((_b = this.matSelect) === null || _b === void 0 ? void 0 : _b.panelOpen)
|
|
1682
|
+
|| false;
|
|
1683
|
+
},
|
|
1684
|
+
enumerable: false,
|
|
1685
|
+
configurable: true
|
|
1686
|
+
});
|
|
1687
|
+
MatAutocompleteField.prototype.closePanel = function () {
|
|
1688
|
+
var _a, _b, _c, _d;
|
|
1689
|
+
if ((_a = this.matAutocomplete) === null || _a === void 0 ? void 0 : _a.isOpen) {
|
|
1690
|
+
(_b = this.matAutocompleteTrigger) === null || _b === void 0 ? void 0 : _b.closePanel();
|
|
1691
|
+
return;
|
|
1692
|
+
}
|
|
1693
|
+
if ((_c = this.matSelect) === null || _c === void 0 ? void 0 : _c.panelOpen) {
|
|
1694
|
+
(_d = this.matSelect) === null || _d === void 0 ? void 0 : _d.close();
|
|
1695
|
+
}
|
|
1696
|
+
};
|
|
1691
1697
|
/* -- private method -- */
|
|
1692
1698
|
MatAutocompleteField.prototype.suggest = function (value, filter) {
|
|
1693
1699
|
return __awaiter(this, void 0, void 0, function () {
|
|
1694
1700
|
var res, data, total, fetchMore;
|
|
1695
|
-
return __generator(this, function (
|
|
1696
|
-
switch (
|
|
1701
|
+
return __generator(this, function (_e) {
|
|
1702
|
+
switch (_e.label) {
|
|
1697
1703
|
case 0: return [4 /*yield*/, this.suggestFn(value, filter)];
|
|
1698
1704
|
case 1:
|
|
1699
|
-
res =
|
|
1705
|
+
res = _e.sent();
|
|
1700
1706
|
// DEBUG
|
|
1701
1707
|
//console.debug(this.logPrefix + ' Filtered items by suggestFn:', value, res);
|
|
1702
1708
|
if (!res) {
|
|
@@ -1723,9 +1729,9 @@
|
|
|
1723
1729
|
};
|
|
1724
1730
|
MatAutocompleteField.prototype.fetchMore = function () {
|
|
1725
1731
|
return __awaiter(this, void 0, void 0, function () {
|
|
1726
|
-
var fetchMoreFn,
|
|
1727
|
-
return __generator(this, function (
|
|
1728
|
-
switch (
|
|
1732
|
+
var fetchMoreFn, _e, data, total, fetchMore;
|
|
1733
|
+
return __generator(this, function (_f) {
|
|
1734
|
+
switch (_f.label) {
|
|
1729
1735
|
case 0:
|
|
1730
1736
|
if (!this._onFetchMoreCallback)
|
|
1731
1737
|
return [2 /*return*/, []];
|
|
@@ -1733,7 +1739,7 @@
|
|
|
1733
1739
|
this._onFetchMoreCallback = undefined;
|
|
1734
1740
|
return [4 /*yield*/, fetchMoreFn()];
|
|
1735
1741
|
case 1:
|
|
1736
|
-
|
|
1742
|
+
_e = _f.sent(), data = _e.data, total = _e.total, fetchMore = _e.fetchMore;
|
|
1737
1743
|
this._itemCount = total || this._itemCount;
|
|
1738
1744
|
this._onFetchMoreCallback = fetchMore;
|
|
1739
1745
|
this._moreItemsCount = Math.max(0, this._moreItemsCount - data.length); // Borne min = 0
|
|
@@ -1762,7 +1768,7 @@
|
|
|
1762
1768
|
};
|
|
1763
1769
|
MatAutocompleteField.prototype.getAutocompletePanel = function () {
|
|
1764
1770
|
var _a, _b;
|
|
1765
|
-
var ele = (_b = (_a = this.
|
|
1771
|
+
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
1772
|
if (!ele) {
|
|
1767
1773
|
// DEBUG
|
|
1768
1774
|
console.warn(this.logPrefix + ' Unable to find the autocomplete div...');
|
|
@@ -1797,8 +1803,8 @@
|
|
|
1797
1803
|
{ type: i0.Component, args: [{
|
|
1798
1804
|
// eslint-disable-next-line @angular-eslint/component-selector
|
|
1799
1805
|
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
|
|
1806
|
+
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",
|
|
1807
|
+
providers: [DEFAULT_VALUE_ACCESSOR],
|
|
1802
1808
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
1803
1809
|
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
1810
|
},] }
|
|
@@ -1847,9 +1853,12 @@
|
|
|
1847
1853
|
onBlur: [{ type: i0.Output, args: ['blur',] }],
|
|
1848
1854
|
onFocus: [{ type: i0.Output, args: ['focus',] }],
|
|
1849
1855
|
onDropButtonClick: [{ type: i0.Output, args: ['dropButtonClick',] }],
|
|
1856
|
+
onKeydownEscape: [{ type: i0.Output, args: ['keydown.escape',] }],
|
|
1857
|
+
onKeyupEnter: [{ type: i0.Output, args: ['keyup.enter',] }],
|
|
1850
1858
|
matSelect: [{ type: i0.ViewChild, args: ['matSelect',] }],
|
|
1851
1859
|
matInputText: [{ type: i0.ViewChild, args: ['matInputText',] }],
|
|
1852
|
-
|
|
1860
|
+
matAutocomplete: [{ type: i0.ViewChild, args: [autocomplete.MatAutocomplete,] }],
|
|
1861
|
+
matAutocompleteTrigger: [{ type: i0.ViewChild, args: [autocomplete.MatAutocompleteTrigger,] }]
|
|
1853
1862
|
};
|
|
1854
1863
|
|
|
1855
1864
|
var DateFormatPipe = /** @class */ (function () {
|
|
@@ -1873,7 +1882,7 @@
|
|
|
1873
1882
|
};
|
|
1874
1883
|
return DateFormatPipe;
|
|
1875
1884
|
}());
|
|
1876
|
-
DateFormatPipe.ɵprov =
|
|
1885
|
+
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
1886
|
DateFormatPipe.decorators = [
|
|
1878
1887
|
{ type: i0.Pipe, args: [{
|
|
1879
1888
|
name: 'dateFormat'
|
|
@@ -1885,7 +1894,7 @@
|
|
|
1885
1894
|
{ type: i1$2.TranslateService }
|
|
1886
1895
|
]; };
|
|
1887
1896
|
|
|
1888
|
-
var moment
|
|
1897
|
+
var moment = momentImported__namespace;
|
|
1889
1898
|
var DateDiffDurationPipe = /** @class */ (function () {
|
|
1890
1899
|
function DateDiffDurationPipe(dateAdapter, translate) {
|
|
1891
1900
|
var _this = this;
|
|
@@ -1902,10 +1911,10 @@
|
|
|
1902
1911
|
return this.format(startDate, endDate);
|
|
1903
1912
|
};
|
|
1904
1913
|
DateDiffDurationPipe.prototype.format = function (startDate, endDate) {
|
|
1905
|
-
var duration = moment
|
|
1914
|
+
var duration = moment.duration(endDate.diff(startDate));
|
|
1906
1915
|
if (duration.asMinutes() < 0)
|
|
1907
1916
|
return '';
|
|
1908
|
-
var timeDuration = moment
|
|
1917
|
+
var timeDuration = moment(0)
|
|
1909
1918
|
.hour(duration.hours())
|
|
1910
1919
|
.minute(duration.minutes());
|
|
1911
1920
|
var days = Math.floor(duration.asDays());
|
|
@@ -1913,7 +1922,7 @@
|
|
|
1913
1922
|
};
|
|
1914
1923
|
return DateDiffDurationPipe;
|
|
1915
1924
|
}());
|
|
1916
|
-
DateDiffDurationPipe.ɵprov =
|
|
1925
|
+
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
1926
|
DateDiffDurationPipe.decorators = [
|
|
1918
1927
|
{ type: i0.Pipe, args: [{
|
|
1919
1928
|
name: 'dateDiffDuration'
|
|
@@ -1935,7 +1944,7 @@
|
|
|
1935
1944
|
};
|
|
1936
1945
|
return DateFromNowPipe;
|
|
1937
1946
|
}());
|
|
1938
|
-
DateFromNowPipe.ɵprov =
|
|
1947
|
+
DateFromNowPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(i0.ɵɵinject(i1$1.MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
|
|
1939
1948
|
DateFromNowPipe.decorators = [
|
|
1940
1949
|
{ type: i0.Pipe, args: [{
|
|
1941
1950
|
name: 'dateFromNow'
|
|
@@ -2004,7 +2013,7 @@
|
|
|
2004
2013
|
value *= -1;
|
|
2005
2014
|
}
|
|
2006
2015
|
}
|
|
2007
|
-
var degrees = roundFloat
|
|
2016
|
+
var degrees = roundFloat(value, opts.maxDecimals).toString();
|
|
2008
2017
|
// Add sign
|
|
2009
2018
|
var sign = negative ? '-' : '+';
|
|
2010
2019
|
if (opts.placeholderChar) {
|
|
@@ -2055,7 +2064,7 @@
|
|
|
2055
2064
|
}
|
|
2056
2065
|
var degrees = Math.trunc(value);
|
|
2057
2066
|
var minutes = Math.trunc((value - degrees) * 60);
|
|
2058
|
-
var seconds = roundFloat
|
|
2067
|
+
var seconds = roundFloat(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
|
|
2059
2068
|
while (seconds >= 60) {
|
|
2060
2069
|
seconds -= 60;
|
|
2061
2070
|
minutes += 1;
|
|
@@ -2123,7 +2132,7 @@
|
|
|
2123
2132
|
}
|
|
2124
2133
|
}
|
|
2125
2134
|
var degrees = Math.trunc(value);
|
|
2126
|
-
var minutes = roundFloat
|
|
2135
|
+
var minutes = roundFloat((value - degrees) * 60, opts.maxDecimals);
|
|
2127
2136
|
while (minutes >= 60) {
|
|
2128
2137
|
minutes -= 60;
|
|
2129
2138
|
degrees += 1;
|
|
@@ -2174,15 +2183,15 @@
|
|
|
2174
2183
|
return NaN;
|
|
2175
2184
|
}
|
|
2176
2185
|
if (pattern === 'DD')
|
|
2177
|
-
return roundFloat
|
|
2186
|
+
return roundFloat(degrees, maxDecimals);
|
|
2178
2187
|
var minutes = (pattern === 'DDMMSS' || pattern === 'DDMM') && parts[1] && parseFloat(parts[1].replace(/,/g, '.')) || 0;
|
|
2179
2188
|
var seconds = (pattern === 'DDMMSS') && parts[2] && parseFloat(parts[2].replace(/,/g, '.')) || 0;
|
|
2180
2189
|
var direction = ((pattern === 'DDMMSS') && parts[3]) || ((pattern === 'DDMM') && parts[2]) || undefined;
|
|
2181
2190
|
var sign = (direction && (direction === 's' || direction === 'S' || direction === 'w' || direction === 'W')) ? -1 : 1;
|
|
2182
2191
|
degrees = sign * (degrees + minutes / 60 + seconds / (60 * 60));
|
|
2183
|
-
return roundFloat
|
|
2192
|
+
return roundFloat(degrees, maxDecimals);
|
|
2184
2193
|
}
|
|
2185
|
-
function roundFloat
|
|
2194
|
+
function roundFloat(input, maxDecimals) {
|
|
2186
2195
|
if (maxDecimals > 0) {
|
|
2187
2196
|
var powDecimal = Math.pow(10, maxDecimals);
|
|
2188
2197
|
return Math.trunc(input * powDecimal + 0.5) / powDecimal;
|
|
@@ -2205,7 +2214,7 @@
|
|
|
2205
2214
|
};
|
|
2206
2215
|
return LatLongFormatPipe;
|
|
2207
2216
|
}());
|
|
2208
|
-
LatLongFormatPipe.ɵprov =
|
|
2217
|
+
LatLongFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
|
|
2209
2218
|
LatLongFormatPipe.decorators = [
|
|
2210
2219
|
{ type: i0.Pipe, args: [{
|
|
2211
2220
|
name: 'latLongFormat'
|
|
@@ -2218,7 +2227,7 @@
|
|
|
2218
2227
|
}
|
|
2219
2228
|
return LatitudeFormatPipe;
|
|
2220
2229
|
}());
|
|
2221
|
-
LatitudeFormatPipe.ɵprov =
|
|
2230
|
+
LatitudeFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
|
|
2222
2231
|
LatitudeFormatPipe.decorators = [
|
|
2223
2232
|
{ type: i0.Pipe, args: [{
|
|
2224
2233
|
name: 'latitudeFormat'
|
|
@@ -2231,7 +2240,7 @@
|
|
|
2231
2240
|
}
|
|
2232
2241
|
return LongitudeFormatPipe;
|
|
2233
2242
|
}());
|
|
2234
|
-
LongitudeFormatPipe.ɵprov =
|
|
2243
|
+
LongitudeFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
|
|
2235
2244
|
LongitudeFormatPipe.decorators = [
|
|
2236
2245
|
{ type: i0.Pipe, args: [{
|
|
2237
2246
|
name: 'longitudeFormat'
|
|
@@ -2254,7 +2263,7 @@
|
|
|
2254
2263
|
};
|
|
2255
2264
|
return NumberFormatPipe;
|
|
2256
2265
|
}());
|
|
2257
|
-
NumberFormatPipe.ɵprov =
|
|
2266
|
+
NumberFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
|
|
2258
2267
|
NumberFormatPipe.decorators = [
|
|
2259
2268
|
{ type: i0.Pipe, args: [{
|
|
2260
2269
|
name: 'numberFormat'
|
|
@@ -2297,7 +2306,7 @@
|
|
|
2297
2306
|
};
|
|
2298
2307
|
return HighlightPipe;
|
|
2299
2308
|
}());
|
|
2300
|
-
HighlightPipe.ɵprov =
|
|
2309
|
+
HighlightPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
|
|
2301
2310
|
HighlightPipe.decorators = [
|
|
2302
2311
|
{ type: i0.Pipe, args: [{
|
|
2303
2312
|
name: 'highlight'
|
|
@@ -2365,7 +2374,7 @@
|
|
|
2365
2374
|
{ type: i0.Pipe, args: [{ name: 'fileSize' },] }
|
|
2366
2375
|
];
|
|
2367
2376
|
|
|
2368
|
-
var moment$
|
|
2377
|
+
var moment$1 = momentImported__namespace;
|
|
2369
2378
|
var DATE_UNIX_TIMESTAMP = 'X';
|
|
2370
2379
|
var DATE_UNIX_MS_TIMESTAMP = 'x';
|
|
2371
2380
|
var DateUtils = /** @class */ (function () {
|
|
@@ -2400,32 +2409,32 @@
|
|
|
2400
2409
|
if (!value || momentImported.isMoment(value))
|
|
2401
2410
|
return value;
|
|
2402
2411
|
// Parse the input value, as a ISO date time
|
|
2403
|
-
var date = moment$
|
|
2412
|
+
var date = moment$1(value, DATE_ISO_PATTERN);
|
|
2404
2413
|
if (date.isValid())
|
|
2405
2414
|
return date;
|
|
2406
2415
|
// Not valid: trying to convert from unix timestamp
|
|
2407
2416
|
if (typeof value === 'string') {
|
|
2408
2417
|
console.warn('Wrong date format - Trying to convert from local time: ' + value);
|
|
2409
2418
|
if (value.length === 10) {
|
|
2410
|
-
return moment$
|
|
2419
|
+
return moment$1(value, DATE_UNIX_TIMESTAMP);
|
|
2411
2420
|
}
|
|
2412
2421
|
else if (value.length === 13) {
|
|
2413
|
-
return moment$
|
|
2422
|
+
return moment$1(value, DATE_UNIX_MS_TIMESTAMP);
|
|
2414
2423
|
}
|
|
2415
2424
|
}
|
|
2416
2425
|
console.warn('Unable to parse date: ' + value);
|
|
2417
2426
|
return undefined;
|
|
2418
2427
|
}
|
|
2419
2428
|
function fromUnixTimestamp(timeInSec) {
|
|
2420
|
-
return moment$
|
|
2429
|
+
return moment$1(timeInSec, DATE_UNIX_TIMESTAMP);
|
|
2421
2430
|
}
|
|
2422
2431
|
function fromUnixMsTimestamp(timeInMs) {
|
|
2423
|
-
return moment$
|
|
2432
|
+
return moment$1(timeInMs, DATE_UNIX_MS_TIMESTAMP);
|
|
2424
2433
|
}
|
|
2425
2434
|
function toDuration(value, unit) {
|
|
2426
2435
|
if (!value)
|
|
2427
2436
|
return undefined;
|
|
2428
|
-
var duration = moment$
|
|
2437
|
+
var duration = moment$1.duration(value, unit);
|
|
2429
2438
|
// fix 990+ ms
|
|
2430
2439
|
if (duration.milliseconds() >= 990) {
|
|
2431
2440
|
duration.add(1000 - duration.milliseconds(), 'ms');
|
|
@@ -2455,7 +2464,7 @@
|
|
|
2455
2464
|
};
|
|
2456
2465
|
return DurationPipe;
|
|
2457
2466
|
}());
|
|
2458
|
-
DurationPipe.ɵprov =
|
|
2467
|
+
DurationPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(i0.ɵɵinject(i1$2.TranslateService)); }, token: DurationPipe, providedIn: "root" });
|
|
2459
2468
|
DurationPipe.decorators = [
|
|
2460
2469
|
{ type: i0.Pipe, args: [{
|
|
2461
2470
|
name: 'duration'
|
|
@@ -2479,7 +2488,7 @@
|
|
|
2479
2488
|
};
|
|
2480
2489
|
return MathAbsPipe;
|
|
2481
2490
|
}());
|
|
2482
|
-
MathAbsPipe.ɵprov =
|
|
2491
|
+
MathAbsPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
|
|
2483
2492
|
MathAbsPipe.decorators = [
|
|
2484
2493
|
{ type: i0.Pipe, args: [{
|
|
2485
2494
|
name: 'mathAbs'
|
|
@@ -2494,7 +2503,7 @@
|
|
|
2494
2503
|
};
|
|
2495
2504
|
return EvenPipe;
|
|
2496
2505
|
}());
|
|
2497
|
-
EvenPipe.ɵprov =
|
|
2506
|
+
EvenPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
|
|
2498
2507
|
EvenPipe.decorators = [
|
|
2499
2508
|
{ type: i0.Pipe, args: [{
|
|
2500
2509
|
name: 'even'
|
|
@@ -2509,7 +2518,7 @@
|
|
|
2509
2518
|
};
|
|
2510
2519
|
return OddPipe;
|
|
2511
2520
|
}());
|
|
2512
|
-
OddPipe.ɵprov =
|
|
2521
|
+
OddPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
|
|
2513
2522
|
OddPipe.decorators = [
|
|
2514
2523
|
{ type: i0.Pipe, args: [{
|
|
2515
2524
|
name: 'odd'
|
|
@@ -2641,7 +2650,7 @@
|
|
|
2641
2650
|
};
|
|
2642
2651
|
return MapGetPipe;
|
|
2643
2652
|
}());
|
|
2644
|
-
MapGetPipe.ɵprov =
|
|
2653
|
+
MapGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
|
|
2645
2654
|
MapGetPipe.decorators = [
|
|
2646
2655
|
{ type: i0.Pipe, args: [{
|
|
2647
2656
|
name: 'mapGet'
|
|
@@ -2658,7 +2667,7 @@
|
|
|
2658
2667
|
};
|
|
2659
2668
|
return MapKeysPipe;
|
|
2660
2669
|
}());
|
|
2661
|
-
MapKeysPipe.ɵprov =
|
|
2670
|
+
MapKeysPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
|
|
2662
2671
|
MapKeysPipe.decorators = [
|
|
2663
2672
|
{ type: i0.Pipe, args: [{
|
|
2664
2673
|
name: 'mapKeys'
|
|
@@ -2675,7 +2684,7 @@
|
|
|
2675
2684
|
};
|
|
2676
2685
|
return MapValuesPipe;
|
|
2677
2686
|
}());
|
|
2678
|
-
MapValuesPipe.ɵprov =
|
|
2687
|
+
MapValuesPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
|
|
2679
2688
|
MapValuesPipe.decorators = [
|
|
2680
2689
|
{ type: i0.Pipe, args: [{
|
|
2681
2690
|
name: 'mapValues'
|
|
@@ -2691,7 +2700,7 @@
|
|
|
2691
2700
|
};
|
|
2692
2701
|
return IsNotNilOrBlankPipe;
|
|
2693
2702
|
}());
|
|
2694
|
-
IsNotNilOrBlankPipe.ɵprov =
|
|
2703
|
+
IsNotNilOrBlankPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
|
|
2695
2704
|
IsNotNilOrBlankPipe.decorators = [
|
|
2696
2705
|
{ type: i0.Pipe, args: [{
|
|
2697
2706
|
name: 'isNotNilOrBlank'
|
|
@@ -2706,7 +2715,7 @@
|
|
|
2706
2715
|
};
|
|
2707
2716
|
return IsNilOrBlankPipe;
|
|
2708
2717
|
}());
|
|
2709
|
-
IsNilOrBlankPipe.ɵprov =
|
|
2718
|
+
IsNilOrBlankPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
|
|
2710
2719
|
IsNilOrBlankPipe.decorators = [
|
|
2711
2720
|
{ type: i0.Pipe, args: [{
|
|
2712
2721
|
name: 'isNilOrBlank'
|
|
@@ -2721,7 +2730,7 @@
|
|
|
2721
2730
|
};
|
|
2722
2731
|
return ToStringPipe;
|
|
2723
2732
|
}());
|
|
2724
|
-
ToStringPipe.ɵprov =
|
|
2733
|
+
ToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
|
|
2725
2734
|
ToStringPipe.decorators = [
|
|
2726
2735
|
{ type: i0.Pipe, args: [{
|
|
2727
2736
|
name: 'toString'
|
|
@@ -2736,7 +2745,7 @@
|
|
|
2736
2745
|
};
|
|
2737
2746
|
return StrLengthPipe;
|
|
2738
2747
|
}());
|
|
2739
|
-
StrLengthPipe.ɵprov =
|
|
2748
|
+
StrLengthPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
|
|
2740
2749
|
StrLengthPipe.decorators = [
|
|
2741
2750
|
{ type: i0.Pipe, args: [{
|
|
2742
2751
|
name: 'strLength'
|
|
@@ -2789,7 +2798,7 @@
|
|
|
2789
2798
|
};
|
|
2790
2799
|
return TranslateContextService;
|
|
2791
2800
|
}());
|
|
2792
|
-
TranslateContextService.ɵprov =
|
|
2801
|
+
TranslateContextService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(i0.ɵɵinject(i1$2.TranslateService)); }, token: TranslateContextService, providedIn: "root" });
|
|
2793
2802
|
TranslateContextService.decorators = [
|
|
2794
2803
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
2795
2804
|
];
|
|
@@ -2806,7 +2815,7 @@
|
|
|
2806
2815
|
};
|
|
2807
2816
|
return TranslateContextPipe;
|
|
2808
2817
|
}());
|
|
2809
|
-
TranslateContextPipe.ɵprov =
|
|
2818
|
+
TranslateContextPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslateContextPipe_Factory() { return new TranslateContextPipe(i0.ɵɵinject(TranslateContextService)); }, token: TranslateContextPipe, providedIn: "root" });
|
|
2810
2819
|
TranslateContextPipe.decorators = [
|
|
2811
2820
|
{ type: i0.Pipe, args: [{
|
|
2812
2821
|
name: 'translateContext'
|
|
@@ -2826,7 +2835,7 @@
|
|
|
2826
2835
|
};
|
|
2827
2836
|
return TranslatablePipe;
|
|
2828
2837
|
}());
|
|
2829
|
-
TranslatablePipe.ɵprov =
|
|
2838
|
+
TranslatablePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslatablePipe_Factory() { return new TranslatablePipe(); }, token: TranslatablePipe, providedIn: "root" });
|
|
2830
2839
|
TranslatablePipe.decorators = [
|
|
2831
2840
|
{ type: i0.Pipe, args: [{
|
|
2832
2841
|
name: 'translatable'
|
|
@@ -2846,7 +2855,7 @@
|
|
|
2846
2855
|
};
|
|
2847
2856
|
return PropertyGetPipe;
|
|
2848
2857
|
}());
|
|
2849
|
-
PropertyGetPipe.ɵprov =
|
|
2858
|
+
PropertyGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
|
|
2850
2859
|
PropertyGetPipe.decorators = [
|
|
2851
2860
|
{ type: i0.Pipe, args: [{
|
|
2852
2861
|
name: 'propertyGet'
|
|
@@ -3103,14 +3112,14 @@
|
|
|
3103
3112
|
},] }
|
|
3104
3113
|
];
|
|
3105
3114
|
|
|
3106
|
-
var moment$
|
|
3115
|
+
var moment$2 = momentImported__namespace;
|
|
3107
3116
|
// @dynamic
|
|
3108
3117
|
var SharedValidators = /** @class */ (function () {
|
|
3109
3118
|
function SharedValidators() {
|
|
3110
3119
|
}
|
|
3111
3120
|
SharedValidators.validDate = function (control) {
|
|
3112
3121
|
var value = control.value;
|
|
3113
|
-
var date = !value || moment$
|
|
3122
|
+
var date = !value || moment$2.isMoment(value) ? value : moment$2(control.value, DATE_ISO_PATTERN);
|
|
3114
3123
|
if (date && (!date.isValid() || date.year() < 1970)) {
|
|
3115
3124
|
return { validDate: true };
|
|
3116
3125
|
}
|
|
@@ -3581,9 +3590,9 @@
|
|
|
3581
3590
|
var hour = parseInt(durationParts[0] || '0');
|
|
3582
3591
|
var minute = parseInt(durationParts[1] || '0');
|
|
3583
3592
|
var value = hour + (minute + 0.5) / 60;
|
|
3584
|
-
return roundFloat(value, maxDecimals);
|
|
3593
|
+
return roundFloat$1(value, maxDecimals);
|
|
3585
3594
|
}
|
|
3586
|
-
function roundFloat(input, maxDecimals) {
|
|
3595
|
+
function roundFloat$1(input, maxDecimals) {
|
|
3587
3596
|
if (maxDecimals > 0) {
|
|
3588
3597
|
var powDecimal = Math.pow(10, maxDecimals);
|
|
3589
3598
|
return Math.trunc(input * powDecimal + 0.5) / powDecimal;
|
|
@@ -3607,9 +3616,9 @@
|
|
|
3607
3616
|
DD: [/[+-]/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '°']
|
|
3608
3617
|
}
|
|
3609
3618
|
};
|
|
3610
|
-
var noop$
|
|
3619
|
+
var noop$1 = function () {
|
|
3611
3620
|
};
|
|
3612
|
-
var ɵ0$
|
|
3621
|
+
var ɵ0$1 = noop$1;
|
|
3613
3622
|
var MatLatLongField = /** @class */ (function () {
|
|
3614
3623
|
function MatLatLongField(platform, translate, formBuilder, cd, formGroupDir) {
|
|
3615
3624
|
this.platform = platform;
|
|
@@ -3617,8 +3626,8 @@
|
|
|
3617
3626
|
this.formBuilder = formBuilder;
|
|
3618
3627
|
this.cd = cd;
|
|
3619
3628
|
this.formGroupDir = formGroupDir;
|
|
3620
|
-
this._onChangeCallback = noop$
|
|
3621
|
-
this._onTouchedCallback = noop$
|
|
3629
|
+
this._onChangeCallback = noop$1;
|
|
3630
|
+
this._onTouchedCallback = noop$1;
|
|
3622
3631
|
this._subscription = new rxjs.Subscription();
|
|
3623
3632
|
this.disabling = false;
|
|
3624
3633
|
this.writing = false;
|
|
@@ -3971,14 +3980,14 @@
|
|
|
3971
3980
|
},] }
|
|
3972
3981
|
];
|
|
3973
3982
|
|
|
3974
|
-
var DEFAULT_VALUE_ACCESSOR$
|
|
3983
|
+
var DEFAULT_VALUE_ACCESSOR$1 = {
|
|
3975
3984
|
provide: i1.NG_VALUE_ACCESSOR,
|
|
3976
3985
|
useExisting: i0.forwardRef(function () { return MatDate; }),
|
|
3977
3986
|
multi: true
|
|
3978
3987
|
};
|
|
3979
|
-
var DAY_MASK
|
|
3980
|
-
var noop$
|
|
3981
|
-
var ɵ0$
|
|
3988
|
+
var DAY_MASK = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
|
|
3989
|
+
var noop$2 = function () { };
|
|
3990
|
+
var ɵ0$2 = noop$2;
|
|
3982
3991
|
var MatDate = /** @class */ (function () {
|
|
3983
3992
|
function MatDate(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
3984
3993
|
this.dateAdapter = dateAdapter;
|
|
@@ -3987,12 +3996,12 @@
|
|
|
3987
3996
|
this.cd = cd;
|
|
3988
3997
|
this.keyboard = keyboard;
|
|
3989
3998
|
this.formGroupDir = formGroupDir;
|
|
3990
|
-
this._onChangeCallback = noop$
|
|
3991
|
-
this._onTouchedCallback = noop$
|
|
3999
|
+
this._onChangeCallback = noop$2;
|
|
4000
|
+
this._onTouchedCallback = noop$2;
|
|
3992
4001
|
this._subscription = new rxjs.Subscription();
|
|
3993
4002
|
this.writing = true;
|
|
3994
4003
|
this.disabling = false;
|
|
3995
|
-
this.dayMask = DAY_MASK
|
|
4004
|
+
this.dayMask = DAY_MASK;
|
|
3996
4005
|
this.disabled = false;
|
|
3997
4006
|
this.floatLabel = 'auto';
|
|
3998
4007
|
this.readonly = false;
|
|
@@ -4261,7 +4270,7 @@
|
|
|
4261
4270
|
selector: 'mat-date-field',
|
|
4262
4271
|
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
4272
|
providers: [
|
|
4264
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
4273
|
+
DEFAULT_VALUE_ACCESSOR$1,
|
|
4265
4274
|
],
|
|
4266
4275
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
4267
4276
|
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 +4303,17 @@
|
|
|
4294
4303
|
matInputs: [{ type: i0.ViewChildren, args: ['matInput',] }]
|
|
4295
4304
|
};
|
|
4296
4305
|
|
|
4297
|
-
var DEFAULT_VALUE_ACCESSOR$
|
|
4306
|
+
var DEFAULT_VALUE_ACCESSOR$2 = {
|
|
4298
4307
|
provide: i1.NG_VALUE_ACCESSOR,
|
|
4299
4308
|
useExisting: i0.forwardRef(function () { return MatDateTime; }),
|
|
4300
4309
|
multi: true
|
|
4301
4310
|
};
|
|
4302
4311
|
var DAY_MASK$1 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
|
|
4303
4312
|
var HOUR_REGEXP = /^[012][0-9][:][012345][0-9]$/;
|
|
4304
|
-
var HOUR_MASK
|
|
4305
|
-
var noop$
|
|
4313
|
+
var HOUR_MASK = [/[012]/, /\d/, ':', /[012345]/, /\d/];
|
|
4314
|
+
var noop$3 = function () {
|
|
4306
4315
|
};
|
|
4307
|
-
var ɵ0$
|
|
4316
|
+
var ɵ0$3 = noop$3;
|
|
4308
4317
|
var MatDateTime = /** @class */ (function () {
|
|
4309
4318
|
function MatDateTime(platform, dateAdapter, translate, formBuilder, keyboard, cd, formGroupDir) {
|
|
4310
4319
|
this.platform = platform;
|
|
@@ -4314,14 +4323,14 @@
|
|
|
4314
4323
|
this.keyboard = keyboard;
|
|
4315
4324
|
this.cd = cd;
|
|
4316
4325
|
this.formGroupDir = formGroupDir;
|
|
4317
|
-
this._onChangeCallback = noop$
|
|
4318
|
-
this._onTouchedCallback = noop$
|
|
4326
|
+
this._onChangeCallback = noop$3;
|
|
4327
|
+
this._onTouchedCallback = noop$3;
|
|
4319
4328
|
this._subscription = new rxjs.Subscription();
|
|
4320
4329
|
this.writing = true;
|
|
4321
4330
|
this.disabling = false;
|
|
4322
4331
|
this._onDestroy = new i0.EventEmitter();
|
|
4323
4332
|
this.dayMask = DAY_MASK$1;
|
|
4324
|
-
this.hourMask = HOUR_MASK
|
|
4333
|
+
this.hourMask = HOUR_MASK;
|
|
4325
4334
|
this.floatLabel = 'auto';
|
|
4326
4335
|
this.readonly = false;
|
|
4327
4336
|
this.compact = false;
|
|
@@ -4668,7 +4677,7 @@
|
|
|
4668
4677
|
selector: 'mat-date-time-field',
|
|
4669
4678
|
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
4679
|
providers: [
|
|
4671
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
4680
|
+
DEFAULT_VALUE_ACCESSOR$2,
|
|
4672
4681
|
],
|
|
4673
4682
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
4674
4683
|
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 +4716,10 @@
|
|
|
4707
4716
|
useExisting: i0.forwardRef(function () { return MatDateShort; }),
|
|
4708
4717
|
multi: true
|
|
4709
4718
|
};
|
|
4710
|
-
var DAY_MASK = [/\d/, /\d/, /\d/, /\d/];
|
|
4711
|
-
var noop$
|
|
4719
|
+
var DAY_MASK$2 = [/\d/, /\d/, /\d/, /\d/];
|
|
4720
|
+
var noop$4 = function () {
|
|
4712
4721
|
};
|
|
4713
|
-
var ɵ0$
|
|
4722
|
+
var ɵ0$4 = noop$4;
|
|
4714
4723
|
var MatDateShort = /** @class */ (function () {
|
|
4715
4724
|
function MatDateShort(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
|
|
4716
4725
|
this.dateAdapter = dateAdapter;
|
|
@@ -4719,11 +4728,11 @@
|
|
|
4719
4728
|
this.cd = cd;
|
|
4720
4729
|
this.keyboard = keyboard;
|
|
4721
4730
|
this.formGroupDir = formGroupDir;
|
|
4722
|
-
this._onChangeCallback = noop$
|
|
4723
|
-
this._onTouchedCallback = noop$
|
|
4731
|
+
this._onChangeCallback = noop$4;
|
|
4732
|
+
this._onTouchedCallback = noop$4;
|
|
4724
4733
|
this.writing = true;
|
|
4725
4734
|
this.disabling = false;
|
|
4726
|
-
this.dayMask = DAY_MASK;
|
|
4735
|
+
this.dayMask = DAY_MASK$2;
|
|
4727
4736
|
this.disabled = false;
|
|
4728
4737
|
this.floatLabel = 'auto';
|
|
4729
4738
|
this.readonly = false;
|
|
@@ -5071,16 +5080,16 @@
|
|
|
5071
5080
|
},] }
|
|
5072
5081
|
];
|
|
5073
5082
|
|
|
5074
|
-
var DEFAULT_VALUE_ACCESSOR$
|
|
5083
|
+
var DEFAULT_VALUE_ACCESSOR$4 = {
|
|
5075
5084
|
provide: i1.NG_VALUE_ACCESSOR,
|
|
5076
5085
|
useExisting: i0.forwardRef(function () { return MatDuration; }),
|
|
5077
5086
|
multi: true
|
|
5078
5087
|
};
|
|
5079
5088
|
var HOUR_TIME_PATTERN = /[0-9]\d\d:[0-5]\d/;
|
|
5080
|
-
var HOUR_MASK = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
|
|
5081
|
-
var noop$
|
|
5089
|
+
var HOUR_MASK$1 = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
|
|
5090
|
+
var noop$5 = function () {
|
|
5082
5091
|
};
|
|
5083
|
-
var ɵ0$5 = noop$
|
|
5092
|
+
var ɵ0$5 = noop$5;
|
|
5084
5093
|
var MatDuration = /** @class */ (function () {
|
|
5085
5094
|
function MatDuration(platform, dateAdapter, translate, formBuilder, cd, formGroupDir) {
|
|
5086
5095
|
this.dateAdapter = dateAdapter;
|
|
@@ -5089,11 +5098,11 @@
|
|
|
5089
5098
|
this.cd = cd;
|
|
5090
5099
|
this.formGroupDir = formGroupDir;
|
|
5091
5100
|
this._subscription = new rxjs.Subscription();
|
|
5092
|
-
this._onChangeCallback = noop$
|
|
5093
|
-
this._onTouchedCallback = noop$
|
|
5101
|
+
this._onChangeCallback = noop$5;
|
|
5102
|
+
this._onTouchedCallback = noop$5;
|
|
5094
5103
|
this.writing = true;
|
|
5095
5104
|
this.disabling = false;
|
|
5096
|
-
this.hourMask = HOUR_MASK;
|
|
5105
|
+
this.hourMask = HOUR_MASK$1;
|
|
5097
5106
|
this.disabled = false;
|
|
5098
5107
|
this.floatLabel = 'auto';
|
|
5099
5108
|
this.readonly = false;
|
|
@@ -5286,7 +5295,7 @@
|
|
|
5286
5295
|
selector: 'mat-duration-field',
|
|
5287
5296
|
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
5297
|
providers: [
|
|
5289
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
5298
|
+
DEFAULT_VALUE_ACCESSOR$4,
|
|
5290
5299
|
],
|
|
5291
5300
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
5292
5301
|
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 +5355,22 @@
|
|
|
5346
5355
|
},] }
|
|
5347
5356
|
];
|
|
5348
5357
|
|
|
5349
|
-
var DEFAULT_VALUE_ACCESSOR$
|
|
5358
|
+
var DEFAULT_VALUE_ACCESSOR$5 = {
|
|
5350
5359
|
provide: i1.NG_VALUE_ACCESSOR,
|
|
5351
5360
|
useExisting: i0.forwardRef(function () { return MatBooleanField; }),
|
|
5352
5361
|
multi: true
|
|
5353
5362
|
};
|
|
5354
|
-
var noop$
|
|
5363
|
+
var noop$6 = function () {
|
|
5355
5364
|
};
|
|
5356
|
-
var ɵ0$
|
|
5365
|
+
var ɵ0$6 = noop$6;
|
|
5357
5366
|
var MatBooleanField = /** @class */ (function () {
|
|
5358
5367
|
function MatBooleanField(translate, formBuilder, cd, formGroupDir) {
|
|
5359
5368
|
this.translate = translate;
|
|
5360
5369
|
this.formBuilder = formBuilder;
|
|
5361
5370
|
this.cd = cd;
|
|
5362
5371
|
this.formGroupDir = formGroupDir;
|
|
5363
|
-
this._onChangeCallback = noop$
|
|
5364
|
-
this._onTouchedCallback = noop$
|
|
5372
|
+
this._onChangeCallback = noop$6;
|
|
5373
|
+
this._onTouchedCallback = noop$6;
|
|
5365
5374
|
this._writing = false;
|
|
5366
5375
|
this.showRadio = false;
|
|
5367
5376
|
this.disabled = false;
|
|
@@ -5547,10 +5556,10 @@
|
|
|
5547
5556
|
selector: 'mat-boolean-field',
|
|
5548
5557
|
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
5558
|
providers: [
|
|
5550
|
-
DEFAULT_VALUE_ACCESSOR$
|
|
5559
|
+
DEFAULT_VALUE_ACCESSOR$5
|
|
5551
5560
|
],
|
|
5552
5561
|
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:
|
|
5562
|
+
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
5563
|
},] }
|
|
5555
5564
|
];
|
|
5556
5565
|
MatBooleanField.ctorParameters = function () { return [
|
|
@@ -5636,7 +5645,6 @@
|
|
|
5636
5645
|
return MatNumpadEvent;
|
|
5637
5646
|
}(KeyboardEvent));
|
|
5638
5647
|
|
|
5639
|
-
exports.AnimationState = void 0;
|
|
5640
5648
|
(function (AnimationState) {
|
|
5641
5649
|
AnimationState["ENTER"] = "enter";
|
|
5642
5650
|
AnimationState["ENTER_INPUT"] = "enter-input";
|
|
@@ -5804,7 +5812,7 @@
|
|
|
5804
5812
|
};
|
|
5805
5813
|
return MatNumpadDomService;
|
|
5806
5814
|
}());
|
|
5807
|
-
MatNumpadDomService.ɵprov =
|
|
5815
|
+
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
5816
|
MatNumpadDomService.decorators = [
|
|
5809
5817
|
{ type: i0.Injectable, args: [{
|
|
5810
5818
|
providedIn: 'root'
|
|
@@ -6210,7 +6218,7 @@
|
|
|
6210
6218
|
},] }
|
|
6211
6219
|
];
|
|
6212
6220
|
|
|
6213
|
-
var DEFAULT_VALUE_ACCESSOR = {
|
|
6221
|
+
var DEFAULT_VALUE_ACCESSOR$6 = {
|
|
6214
6222
|
provide: i1.NG_VALUE_ACCESSOR,
|
|
6215
6223
|
useExisting: i0.forwardRef(function () { return MatSwipeField; }),
|
|
6216
6224
|
multi: true
|
|
@@ -6530,7 +6538,7 @@
|
|
|
6530
6538
|
{ type: i0.Component, args: [{
|
|
6531
6539
|
selector: 'mat-swipe-field',
|
|
6532
6540
|
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],
|
|
6541
|
+
providers: [DEFAULT_VALUE_ACCESSOR$6],
|
|
6534
6542
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
6535
6543
|
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
6544
|
},] }
|
|
@@ -7088,7 +7096,7 @@
|
|
|
7088
7096
|
};
|
|
7089
7097
|
return ProgressBarService;
|
|
7090
7098
|
}());
|
|
7091
|
-
ProgressBarService.ɵprov =
|
|
7099
|
+
ProgressBarService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
|
|
7092
7100
|
ProgressBarService.decorators = [
|
|
7093
7101
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
7094
7102
|
];
|
|
@@ -7135,7 +7143,7 @@
|
|
|
7135
7143
|
};
|
|
7136
7144
|
return AppGestureConfig;
|
|
7137
7145
|
}(i1$6.HammerGestureConfig));
|
|
7138
|
-
AppGestureConfig.ɵprov =
|
|
7146
|
+
AppGestureConfig.ɵprov = i0.ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
|
|
7139
7147
|
AppGestureConfig.decorators = [
|
|
7140
7148
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
7141
7149
|
];
|
|
@@ -7400,7 +7408,7 @@
|
|
|
7400
7408
|
};
|
|
7401
7409
|
return MatPaginatorI18n;
|
|
7402
7410
|
}(paginator.MatPaginatorIntl));
|
|
7403
|
-
MatPaginatorI18n.ɵprov =
|
|
7411
|
+
MatPaginatorI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(i0.ɵɵinject(i1$2.TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
|
|
7404
7412
|
MatPaginatorI18n.decorators = [
|
|
7405
7413
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
7406
7414
|
];
|
|
@@ -7492,17 +7500,17 @@
|
|
|
7492
7500
|
return rgbArrayToHex(rgb.map(function (v) { return 255 - v; }));
|
|
7493
7501
|
}
|
|
7494
7502
|
|
|
7495
|
-
var noop = function () {
|
|
7503
|
+
var noop$7 = function () {
|
|
7496
7504
|
};
|
|
7497
|
-
var ɵ0$
|
|
7505
|
+
var ɵ0$7 = noop$7;
|
|
7498
7506
|
var AppFormField = /** @class */ (function () {
|
|
7499
7507
|
function AppFormField(translate, cd, injector, formGroupDir) {
|
|
7500
7508
|
this.translate = translate;
|
|
7501
7509
|
this.cd = cd;
|
|
7502
7510
|
this.injector = injector;
|
|
7503
7511
|
this.formGroupDir = formGroupDir;
|
|
7504
|
-
this._onChangeCallback = noop;
|
|
7505
|
-
this._onTouchedCallback = noop;
|
|
7512
|
+
this._onChangeCallback = noop$7;
|
|
7513
|
+
this._onTouchedCallback = noop$7;
|
|
7506
7514
|
this.readonly = false;
|
|
7507
7515
|
this.compact = false;
|
|
7508
7516
|
this.floatLabel = 'auto';
|
|
@@ -7961,7 +7969,7 @@
|
|
|
7961
7969
|
};
|
|
7962
7970
|
return AudioProvider;
|
|
7963
7971
|
}());
|
|
7964
|
-
AudioProvider.ɵprov =
|
|
7972
|
+
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
7973
|
AudioProvider.decorators = [
|
|
7966
7974
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
7967
7975
|
];
|
|
@@ -8061,7 +8069,7 @@
|
|
|
8061
8069
|
};
|
|
8062
8070
|
return Hotkeys;
|
|
8063
8071
|
}());
|
|
8064
|
-
Hotkeys.ɵprov =
|
|
8072
|
+
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
8073
|
Hotkeys.decorators = [
|
|
8066
8074
|
{ type: i0.Injectable, args: [{
|
|
8067
8075
|
providedIn: 'root'
|
|
@@ -8265,7 +8273,7 @@
|
|
|
8265
8273
|
return Base64ImageReader;
|
|
8266
8274
|
}());
|
|
8267
8275
|
|
|
8268
|
-
var uuidv4
|
|
8276
|
+
var uuidv4 = uuidv4Imported__namespace;
|
|
8269
8277
|
var FileService = /** @class */ (function () {
|
|
8270
8278
|
function FileService(platform,
|
|
8271
8279
|
//private transfer: FileTransfer,
|
|
@@ -8311,7 +8319,7 @@
|
|
|
8311
8319
|
lastSlashIndex = source.lastIndexOf('/');
|
|
8312
8320
|
if (lastSlashIndex === -1)
|
|
8313
8321
|
throw new Error('Invalid URL: ' + source);
|
|
8314
|
-
fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4
|
|
8322
|
+
fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4();
|
|
8315
8323
|
if (!(responseType === 'file' && this.canUseFileSystem)) return [3 /*break*/, 4];
|
|
8316
8324
|
console.warn("WARN: [file] Fetching image {" + source + "} in local file...");
|
|
8317
8325
|
targetFilePath = this._imageDirectory + fileName;
|
|
@@ -8374,7 +8382,7 @@
|
|
|
8374
8382
|
};
|
|
8375
8383
|
return FileService;
|
|
8376
8384
|
}());
|
|
8377
|
-
FileService.ɵprov =
|
|
8385
|
+
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
8386
|
FileService.decorators = [
|
|
8379
8387
|
{ type: i0.Injectable, args: [{
|
|
8380
8388
|
providedIn: 'root',
|
|
@@ -8537,7 +8545,7 @@
|
|
|
8537
8545
|
Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
|
|
8538
8546
|
|
|
8539
8547
|
var scrypt = require('scrypt-async');
|
|
8540
|
-
var sha256
|
|
8548
|
+
var sha256 = require('hash.js/lib/hash/sha/256');
|
|
8541
8549
|
var sha512 = require('hash.js/lib/hash/sha/512');
|
|
8542
8550
|
var nacl = {
|
|
8543
8551
|
sign: tweetnacl.sign,
|
|
@@ -8643,7 +8651,7 @@
|
|
|
8643
8651
|
* Hash (using SHA256) a message
|
|
8644
8652
|
*/
|
|
8645
8653
|
CryptoService.prototype.sha256 = function (message) {
|
|
8646
|
-
return sha256
|
|
8654
|
+
return sha256().update(message).digest('hex');
|
|
8647
8655
|
};
|
|
8648
8656
|
/**
|
|
8649
8657
|
* Hash (using SHA512) a message
|
|
@@ -8657,7 +8665,7 @@
|
|
|
8657
8665
|
};
|
|
8658
8666
|
return CryptoService;
|
|
8659
8667
|
}());
|
|
8660
|
-
CryptoService.ɵprov =
|
|
8668
|
+
CryptoService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
|
|
8661
8669
|
CryptoService.decorators = [
|
|
8662
8670
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
8663
8671
|
];
|
|
@@ -9641,7 +9649,7 @@
|
|
|
9641
9649
|
.then(function () {
|
|
9642
9650
|
_this.data.mobile = isNotNil(_this.data.mobile) ? _this.data.mobile : _this.platform.is('mobile');
|
|
9643
9651
|
_this.data.touchUi = _this.data.mobile || _this.platform.is('phablet') || _this.platform.is('tablet');
|
|
9644
|
-
_this.data.usageMode = _this.
|
|
9652
|
+
_this.data.usageMode = _this.platform.is('android') ? 'FIELD' : 'DESK'; // FIELD by default if Android
|
|
9645
9653
|
})
|
|
9646
9654
|
.then(function () { return _this.restoreLocally(); })
|
|
9647
9655
|
.then(function (data) {
|
|
@@ -10070,7 +10078,7 @@
|
|
|
10070
10078
|
};
|
|
10071
10079
|
return LocalSettingsService;
|
|
10072
10080
|
}());
|
|
10073
|
-
LocalSettingsService.ɵprov =
|
|
10081
|
+
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
10082
|
LocalSettingsService.decorators = [
|
|
10075
10083
|
{ type: i0.Injectable, args: [{
|
|
10076
10084
|
providedIn: 'root',
|
|
@@ -10915,7 +10923,7 @@
|
|
|
10915
10923
|
};
|
|
10916
10924
|
return NetworkService;
|
|
10917
10925
|
}());
|
|
10918
|
-
NetworkService.ɵprov =
|
|
10926
|
+
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
10927
|
NetworkService.decorators = [
|
|
10920
10928
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
10921
10929
|
];
|
|
@@ -10935,7 +10943,7 @@
|
|
|
10935
10943
|
{ type: i1$5.ToastController, decorators: [{ type: i0.Optional }] }
|
|
10936
10944
|
]; };
|
|
10937
10945
|
|
|
10938
|
-
var ErrorCodes
|
|
10946
|
+
var ErrorCodes = {
|
|
10939
10947
|
UNKNOWN_ERROR: 0,
|
|
10940
10948
|
LOAD_ACCOUNT_ERROR: 1,
|
|
10941
10949
|
BAD_PASSWORD: 2,
|
|
@@ -11343,7 +11351,7 @@
|
|
|
11343
11351
|
case 13:
|
|
11344
11352
|
err_1 = _a.sent();
|
|
11345
11353
|
console.error(err_1);
|
|
11346
|
-
throw { code: ErrorCodes
|
|
11354
|
+
throw { code: ErrorCodes.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err_1 };
|
|
11347
11355
|
case 14:
|
|
11348
11356
|
// Emit update event
|
|
11349
11357
|
if (!opts || opts.emitEvent !== false) {
|
|
@@ -12103,7 +12111,7 @@
|
|
|
12103
12111
|
}());
|
|
12104
12112
|
EntitiesStorage.TRASH_PREFIX = 'Trash#';
|
|
12105
12113
|
EntitiesStorage.REMOTE_PREFIX = 'Remote#';
|
|
12106
|
-
EntitiesStorage.ɵprov =
|
|
12114
|
+
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
12115
|
EntitiesStorage.decorators = [
|
|
12108
12116
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
12109
12117
|
];
|
|
@@ -12220,10 +12228,10 @@
|
|
|
12220
12228
|
function referentialsToString(values, properties, separator) {
|
|
12221
12229
|
return (values || []).map(function (v) { return referentialToString(v, properties); }).join(separator || ', ');
|
|
12222
12230
|
}
|
|
12223
|
-
var ɵ0$
|
|
12231
|
+
var ɵ0$8 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
|
|
12224
12232
|
var StatusList = Object.freeze([
|
|
12225
12233
|
{
|
|
12226
|
-
id: ɵ0$
|
|
12234
|
+
id: ɵ0$8,
|
|
12227
12235
|
icon: 'checkmark',
|
|
12228
12236
|
label: 'REFERENTIAL.STATUS_ENUM.ENABLE'
|
|
12229
12237
|
},
|
|
@@ -12526,7 +12534,7 @@
|
|
|
12526
12534
|
(data.lastName || '')) || '';
|
|
12527
12535
|
}
|
|
12528
12536
|
|
|
12529
|
-
var uuidv4 = uuidv4Imported__namespace;
|
|
12537
|
+
var uuidv4$1 = uuidv4Imported__namespace;
|
|
12530
12538
|
var _global = typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : {});
|
|
12531
12539
|
var NativeWebSocket = _global.WebSocket || _global.MozWebSocket;
|
|
12532
12540
|
/**
|
|
@@ -12570,7 +12578,7 @@
|
|
|
12570
12578
|
// Skip if not tracked
|
|
12571
12579
|
if (!context || !context.tracked)
|
|
12572
12580
|
return forward(operation);
|
|
12573
|
-
var id = context.serializationKey || uuidv4();
|
|
12581
|
+
var id = context.serializationKey || uuidv4$1();
|
|
12574
12582
|
console.debug("[apollo-tracker-link] Watching tracked query {" + operation.operationName + "#" + id + "}");
|
|
12575
12583
|
// Clean context, before calling JSON.stringify (remove unused attributes)
|
|
12576
12584
|
var cleanContext = Object.assign(Object.assign({}, context), { optimisticResponse: null, cache: null });
|
|
@@ -13381,7 +13389,7 @@
|
|
|
13381
13389
|
(err.networkError && ((err.networkError.error && this.toAppError(err.networkError.error))
|
|
13382
13390
|
|| this.toAppError(err.networkError)
|
|
13383
13391
|
|| (err.networkError.error && this.createAppErrorByCode(err.networkError.error.status))
|
|
13384
|
-
|| this.createAppErrorByCode(ErrorCodes
|
|
13392
|
+
|| this.createAppErrorByCode(ErrorCodes.UNKNOWN_NETWORK_ERROR)))
|
|
13385
13393
|
// If graphQL: try to convert the first error found
|
|
13386
13394
|
|| (err.graphQLErrors && err.graphQLErrors.length && this.toAppError(err.graphQLErrors[0]))
|
|
13387
13395
|
|| this.toAppError(err)
|
|
@@ -13389,7 +13397,7 @@
|
|
|
13389
13397
|
|| (err.graphQLErrors && err.graphQLErrors[0])
|
|
13390
13398
|
|| err;
|
|
13391
13399
|
console.error('[graphql] ' + (error && error.message || error), error.stack || '');
|
|
13392
|
-
if (error && error.code === ErrorCodes
|
|
13400
|
+
if (error && error.code === ErrorCodes.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
|
|
13393
13401
|
console.error('[graphql] original error: ' + err.networkError.message);
|
|
13394
13402
|
this.onNetworkError.next(error);
|
|
13395
13403
|
}
|
|
@@ -13425,7 +13433,7 @@
|
|
|
13425
13433
|
return 'ERROR.UNAUTHORIZED';
|
|
13426
13434
|
case ServerErrorCodes.FORBIDDEN:
|
|
13427
13435
|
return 'ERROR.FORBIDDEN';
|
|
13428
|
-
case ErrorCodes
|
|
13436
|
+
case ErrorCodes.UNKNOWN_NETWORK_ERROR:
|
|
13429
13437
|
return 'ERROR.UNKNOWN_NETWORK_ERROR';
|
|
13430
13438
|
case ServerErrorCodes.BAD_UPDATE_DATE:
|
|
13431
13439
|
return 'ERROR.BAD_UPDATE_DATE';
|
|
@@ -13470,7 +13478,7 @@
|
|
|
13470
13478
|
};
|
|
13471
13479
|
return GraphqlService;
|
|
13472
13480
|
}());
|
|
13473
|
-
GraphqlService.ɵprov =
|
|
13481
|
+
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
13482
|
GraphqlService.decorators = [
|
|
13475
13483
|
{ type: i0.Injectable, args: [{
|
|
13476
13484
|
providedIn: 'root'
|
|
@@ -13487,7 +13495,7 @@
|
|
|
13487
13495
|
{ type: undefined, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [APP_GRAPHQL_TYPE_POLICIES,] }] }
|
|
13488
13496
|
]; };
|
|
13489
13497
|
|
|
13490
|
-
var sha256 = require('hash.js/lib/hash/sha/256');
|
|
13498
|
+
var sha256$1 = require('hash.js/lib/hash/sha/256');
|
|
13491
13499
|
var BaseGraphqlServiceOptions = /** @class */ (function () {
|
|
13492
13500
|
function BaseGraphqlServiceOptions() {
|
|
13493
13501
|
}
|
|
@@ -13654,8 +13662,8 @@
|
|
|
13654
13662
|
};
|
|
13655
13663
|
/* -- protected methods -- */
|
|
13656
13664
|
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) || '';
|
|
13665
|
+
var queryName = opts.queryName || sha256$1().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
|
|
13666
|
+
var variablesKey = opts.variables && sha256$1().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
|
|
13659
13667
|
return [queryName, opts.arrayFieldName, variablesKey].join('|');
|
|
13660
13668
|
};
|
|
13661
13669
|
BaseGraphqlService.prototype.findMutableWatchQueries = function (opts) {
|
|
@@ -13721,17 +13729,17 @@
|
|
|
13721
13729
|
/* ------------------------------------
|
|
13722
13730
|
* GraphQL queries
|
|
13723
13731
|
* ------------------------------------*/
|
|
13724
|
-
var Fragments
|
|
13725
|
-
account: core.gql(templateObject_1
|
|
13732
|
+
var Fragments = {
|
|
13733
|
+
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
13734
|
};
|
|
13727
13735
|
// Load account query
|
|
13728
|
-
var LoadQuery
|
|
13736
|
+
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
13737
|
// Check email query
|
|
13730
|
-
var IsEmailExistsQuery = core.gql(templateObject_3
|
|
13738
|
+
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
13739
|
// Save (create or update) account mutation
|
|
13732
|
-
var SaveMutation
|
|
13740
|
+
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
13741
|
// Create account mutation
|
|
13734
|
-
var CreateMutation = core.gql(templateObject_5
|
|
13742
|
+
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
13743
|
// Sent confirmation email
|
|
13736
13744
|
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
13745
|
// Confirm account email
|
|
@@ -14130,7 +14138,7 @@
|
|
|
14130
14138
|
error_3 = _b.sent();
|
|
14131
14139
|
console.error(error_3);
|
|
14132
14140
|
this.resetData();
|
|
14133
|
-
throw { code: ErrorCodes
|
|
14141
|
+
throw { code: ErrorCodes.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
|
|
14134
14142
|
case 4:
|
|
14135
14143
|
// Store pubkey+keypair
|
|
14136
14144
|
this.data.pubkey = Base58.encode(keypair.publicKey);
|
|
@@ -14166,7 +14174,7 @@
|
|
|
14166
14174
|
return [3 /*break*/, 18];
|
|
14167
14175
|
case 11:
|
|
14168
14176
|
err_1 = _b.sent();
|
|
14169
|
-
if (!(err_1 && +(err_1.code) === ErrorCodes
|
|
14177
|
+
if (!(err_1 && +(err_1.code) === ErrorCodes.LOAD_ACCOUNT_ERROR)) return [3 /*break*/, 17];
|
|
14170
14178
|
if (!(data.username.indexOf('@') !== -1)) return [3 /*break*/, 16];
|
|
14171
14179
|
isEmailExists = void 0;
|
|
14172
14180
|
_b.label = 12;
|
|
@@ -14182,12 +14190,12 @@
|
|
|
14182
14190
|
case 15:
|
|
14183
14191
|
// Email not exists (no account)
|
|
14184
14192
|
if (!isEmailExists) {
|
|
14185
|
-
throw { code: ErrorCodes
|
|
14193
|
+
throw { code: ErrorCodes.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
|
|
14186
14194
|
}
|
|
14187
14195
|
_b.label = 16;
|
|
14188
14196
|
case 16:
|
|
14189
14197
|
// Email exists, so error = 'bad password'
|
|
14190
|
-
throw { code: ErrorCodes
|
|
14198
|
+
throw { code: ErrorCodes.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
|
|
14191
14199
|
case 17: throw err_1; // resend the first error
|
|
14192
14200
|
case 18:
|
|
14193
14201
|
_b.trys.push([18, 20, , 21]);
|
|
@@ -14359,8 +14367,8 @@
|
|
|
14359
14367
|
_b.label = 3;
|
|
14360
14368
|
case 3: return [3 /*break*/, 6];
|
|
14361
14369
|
case 4: return [4 /*yield*/, this.graphql.query({
|
|
14362
|
-
query: LoadQuery
|
|
14363
|
-
error: { code: ErrorCodes
|
|
14370
|
+
query: LoadQuery,
|
|
14371
|
+
error: { code: ErrorCodes.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
|
|
14364
14372
|
fetchPolicy: opts && opts.fetchPolicy || 'no-cache' || undefined
|
|
14365
14373
|
})];
|
|
14366
14374
|
case 5:
|
|
@@ -14398,7 +14406,7 @@
|
|
|
14398
14406
|
case 1:
|
|
14399
14407
|
isEmailExists = _b.sent();
|
|
14400
14408
|
if (isEmailExists) {
|
|
14401
|
-
throw { code: ErrorCodes
|
|
14409
|
+
throw { code: ErrorCodes.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
|
|
14402
14410
|
}
|
|
14403
14411
|
return [2 /*return*/];
|
|
14404
14412
|
}
|
|
@@ -14448,7 +14456,7 @@
|
|
|
14448
14456
|
locale: locale
|
|
14449
14457
|
},
|
|
14450
14458
|
error: {
|
|
14451
|
-
code: ErrorCodes
|
|
14459
|
+
code: ErrorCodes.SENT_CONFIRMATION_EMAIL_FAILED,
|
|
14452
14460
|
message: 'ERROR.SENT_ACCOUNT_CONFIRMATION_EMAIL_FAILED'
|
|
14453
14461
|
}
|
|
14454
14462
|
})];
|
|
@@ -14471,7 +14479,7 @@
|
|
|
14471
14479
|
code: code
|
|
14472
14480
|
},
|
|
14473
14481
|
error: {
|
|
14474
|
-
code: ErrorCodes
|
|
14482
|
+
code: ErrorCodes.CONFIRM_EMAIL_FAILED,
|
|
14475
14483
|
message: 'ERROR.CONFIRM_ACCOUNT_EMAIL_FAILED'
|
|
14476
14484
|
}
|
|
14477
14485
|
})];
|
|
@@ -14493,7 +14501,7 @@
|
|
|
14493
14501
|
interval: 10
|
|
14494
14502
|
},
|
|
14495
14503
|
error: {
|
|
14496
|
-
code: ErrorCodes
|
|
14504
|
+
code: ErrorCodes.SUBSCRIBE_ACCOUNT_ERROR,
|
|
14497
14505
|
message: 'ERROR.ACCOUNT.SUBSCRIBE_ACCOUNT_ERROR'
|
|
14498
14506
|
}
|
|
14499
14507
|
}).subscribe({
|
|
@@ -14639,7 +14647,7 @@
|
|
|
14639
14647
|
throw error_6;
|
|
14640
14648
|
console.error(error_6);
|
|
14641
14649
|
throw {
|
|
14642
|
-
code: ErrorCodes
|
|
14650
|
+
code: ErrorCodes.LOAD_ACCOUNT_ERROR,
|
|
14643
14651
|
message: 'ERROR.LOAD_ACCOUNT_ERROR'
|
|
14644
14652
|
};
|
|
14645
14653
|
case 4: return [2 /*return*/];
|
|
@@ -14813,7 +14821,7 @@
|
|
|
14813
14821
|
case 1:
|
|
14814
14822
|
existingAccount = _b.sent();
|
|
14815
14823
|
if (!existingAccount || !existingAccount.updateDate) {
|
|
14816
|
-
throw { code: ErrorCodes
|
|
14824
|
+
throw { code: ErrorCodes.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
|
|
14817
14825
|
}
|
|
14818
14826
|
this.copyIdAndUpdateDate(existingAccount, account);
|
|
14819
14827
|
_b.label = 2;
|
|
@@ -14822,10 +14830,10 @@
|
|
|
14822
14830
|
// User not allow to change his profiles
|
|
14823
14831
|
delete json.profiles;
|
|
14824
14832
|
return [4 /*yield*/, this.graphql.mutate({
|
|
14825
|
-
mutation: isNew ? CreateMutation : SaveMutation
|
|
14833
|
+
mutation: isNew ? CreateMutation : SaveMutation,
|
|
14826
14834
|
variables: { data: json },
|
|
14827
14835
|
error: {
|
|
14828
|
-
code: ErrorCodes
|
|
14836
|
+
code: ErrorCodes.SAVE_ACCOUNT_ERROR,
|
|
14829
14837
|
message: 'ERROR.SAVE_ACCOUNT_ERROR'
|
|
14830
14838
|
}
|
|
14831
14839
|
})];
|
|
@@ -14853,7 +14861,7 @@
|
|
|
14853
14861
|
if (counter > 4) {
|
|
14854
14862
|
if (this._debug)
|
|
14855
14863
|
console.debug("[account] Failed to authentication on pod (after " + counter + " attempts)");
|
|
14856
|
-
throw { code: ErrorCodes
|
|
14864
|
+
throw { code: ErrorCodes.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
|
|
14857
14865
|
}
|
|
14858
14866
|
if (!token) return [3 /*break*/, 2];
|
|
14859
14867
|
return [4 /*yield*/, this.graphql.query({
|
|
@@ -14862,7 +14870,7 @@
|
|
|
14862
14870
|
token: token
|
|
14863
14871
|
},
|
|
14864
14872
|
error: {
|
|
14865
|
-
code: ErrorCodes
|
|
14873
|
+
code: ErrorCodes.UNAUTHORIZED,
|
|
14866
14874
|
message: 'ERROR.UNAUTHORIZED'
|
|
14867
14875
|
},
|
|
14868
14876
|
fetchPolicy: 'no-cache'
|
|
@@ -14879,7 +14887,7 @@
|
|
|
14879
14887
|
_b.label = 2;
|
|
14880
14888
|
case 2:
|
|
14881
14889
|
challengeError = {
|
|
14882
|
-
code: ErrorCodes
|
|
14890
|
+
code: ErrorCodes.AUTH_CHALLENGE_ERROR,
|
|
14883
14891
|
message: 'ERROR.AUTH_CHALLENGE_ERROR'
|
|
14884
14892
|
};
|
|
14885
14893
|
return [4 /*yield*/, this.graphql.query({
|
|
@@ -14921,7 +14929,7 @@
|
|
|
14921
14929
|
};
|
|
14922
14930
|
return AccountService;
|
|
14923
14931
|
}(BaseGraphqlService));
|
|
14924
|
-
AccountService.ɵprov =
|
|
14932
|
+
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
14933
|
AccountService.decorators = [
|
|
14926
14934
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
14927
14935
|
];
|
|
@@ -14934,7 +14942,7 @@
|
|
|
14934
14942
|
{ type: FileService },
|
|
14935
14943
|
{ type: undefined, decorators: [{ type: i0.Inject, args: [ENVIRONMENT,] }] }
|
|
14936
14944
|
]; };
|
|
14937
|
-
var templateObject_1
|
|
14945
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10;
|
|
14938
14946
|
|
|
14939
14947
|
var Software_1, Configuration_1;
|
|
14940
14948
|
// @dynamic
|
|
@@ -15186,13 +15194,13 @@
|
|
|
15186
15194
|
/* ------------------------------------
|
|
15187
15195
|
* GraphQL queries
|
|
15188
15196
|
* ------------------------------------*/
|
|
15189
|
-
var Fragments = {
|
|
15190
|
-
config: core.gql(templateObject_1$
|
|
15197
|
+
var Fragments$1 = {
|
|
15198
|
+
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
15199
|
};
|
|
15192
|
-
var LoadQuery = core.gql(templateObject_2$
|
|
15200
|
+
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
15201
|
// Save (create or update) account mutation
|
|
15194
|
-
var SaveMutation = core.gql(templateObject_3$
|
|
15195
|
-
var ClearCache = core.gql(templateObject_4$
|
|
15202
|
+
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);
|
|
15203
|
+
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
15204
|
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
15205
|
var APP_CONFIG_OPTIONS = new i0.InjectionToken('defaultOptions');
|
|
15198
15206
|
var ConfigService = /** @class */ (function (_super) {
|
|
@@ -15285,12 +15293,12 @@
|
|
|
15285
15293
|
case 0:
|
|
15286
15294
|
now = Date.now();
|
|
15287
15295
|
console.debug('[config] Loading Pod configuration...');
|
|
15288
|
-
query = opts && opts.query || LoadQuery;
|
|
15296
|
+
query = opts && opts.query || LoadQuery$1;
|
|
15289
15297
|
variables = opts && opts.variables || undefined;
|
|
15290
15298
|
return [4 /*yield*/, this.graphql.query({
|
|
15291
15299
|
query: query,
|
|
15292
15300
|
variables: variables,
|
|
15293
|
-
error: { code: ErrorCodes
|
|
15301
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
15294
15302
|
fetchPolicy: opts && opts.fetchPolicy || undefined /*default*/
|
|
15295
15303
|
})];
|
|
15296
15304
|
case 1:
|
|
@@ -15324,12 +15332,12 @@
|
|
|
15324
15332
|
console.debug('[config] Saving Pod configuration...', config);
|
|
15325
15333
|
json = config.asObject();
|
|
15326
15334
|
return [4 /*yield*/, this.graphql.mutate({
|
|
15327
|
-
mutation: SaveMutation,
|
|
15335
|
+
mutation: SaveMutation$1,
|
|
15328
15336
|
variables: {
|
|
15329
15337
|
data: json
|
|
15330
15338
|
},
|
|
15331
15339
|
error: {
|
|
15332
|
-
code: ErrorCodes
|
|
15340
|
+
code: ErrorCodes.SAVE_CONFIG_ERROR,
|
|
15333
15341
|
message: 'ERROR.SAVE_CONFIG_ERROR'
|
|
15334
15342
|
}
|
|
15335
15343
|
})];
|
|
@@ -15364,7 +15372,7 @@
|
|
|
15364
15372
|
return [4 /*yield*/, this.graphql.query({
|
|
15365
15373
|
query: CacheStatistics,
|
|
15366
15374
|
variables: null,
|
|
15367
|
-
error: { code: ErrorCodes
|
|
15375
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
15368
15376
|
fetchPolicy: 'network-only'
|
|
15369
15377
|
})];
|
|
15370
15378
|
case 1:
|
|
@@ -15388,7 +15396,7 @@
|
|
|
15388
15396
|
return [4 /*yield*/, this.graphql.query({
|
|
15389
15397
|
query: ClearCache,
|
|
15390
15398
|
variables: variables,
|
|
15391
|
-
error: { code: ErrorCodes
|
|
15399
|
+
error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
|
|
15392
15400
|
fetchPolicy: 'network-only'
|
|
15393
15401
|
})];
|
|
15394
15402
|
case 1:
|
|
@@ -15589,7 +15597,7 @@
|
|
|
15589
15597
|
};
|
|
15590
15598
|
return ConfigService;
|
|
15591
15599
|
}(BaseGraphqlService));
|
|
15592
|
-
ConfigService.ɵprov =
|
|
15600
|
+
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
15601
|
ConfigService.decorators = [
|
|
15594
15602
|
{ type: i0.Injectable, args: [{
|
|
15595
15603
|
providedIn: 'root',
|
|
@@ -15607,9 +15615,9 @@
|
|
|
15607
15615
|
{ type: undefined, decorators: [{ type: i0.Inject, args: [ENVIRONMENT,] }] },
|
|
15608
15616
|
{ type: undefined, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [APP_CONFIG_OPTIONS,] }] }
|
|
15609
15617
|
]; };
|
|
15610
|
-
var templateObject_1$
|
|
15618
|
+
var templateObject_1$1, templateObject_2$1, templateObject_3$1, templateObject_4$1, templateObject_5$1;
|
|
15611
15619
|
|
|
15612
|
-
var moment$
|
|
15620
|
+
var moment$4 = momentImported__namespace;
|
|
15613
15621
|
var PlatformService = /** @class */ (function () {
|
|
15614
15622
|
function PlatformService(platform, cdkPlatform, toastController, translate, dateAdapter, entitiesStorage, settings, networkService, accountService, configService, cache, storage, audioProvider, environment, statusBar, keyboard, splashScreen, browser) {
|
|
15615
15623
|
this.platform = platform;
|
|
@@ -15785,16 +15793,16 @@
|
|
|
15785
15793
|
}
|
|
15786
15794
|
// config moment lib
|
|
15787
15795
|
try {
|
|
15788
|
-
moment$
|
|
15796
|
+
moment$4.locale(event.lang);
|
|
15789
15797
|
console.debug('[platform] Use locale {' + event.lang + '}');
|
|
15790
15798
|
}
|
|
15791
15799
|
// If error, fallback to en
|
|
15792
15800
|
catch (err) {
|
|
15793
|
-
moment$
|
|
15801
|
+
moment$4.locale('en');
|
|
15794
15802
|
console.warn('[platform] Unknown local for moment lib. Using default [en]');
|
|
15795
15803
|
}
|
|
15796
15804
|
// Config date adapter
|
|
15797
|
-
_this.dateAdapter.setLocale(moment$
|
|
15805
|
+
_this.dateAdapter.setLocale(moment$4.locale());
|
|
15798
15806
|
}
|
|
15799
15807
|
});
|
|
15800
15808
|
this.settings.onChange.subscribe(function (data) {
|
|
@@ -15979,7 +15987,7 @@
|
|
|
15979
15987
|
};
|
|
15980
15988
|
return PlatformService;
|
|
15981
15989
|
}());
|
|
15982
|
-
PlatformService.ɵprov =
|
|
15990
|
+
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
15991
|
PlatformService.decorators = [
|
|
15984
15992
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
15985
15993
|
];
|
|
@@ -16076,7 +16084,7 @@
|
|
|
16076
16084
|
};
|
|
16077
16085
|
return MatStepperI18n;
|
|
16078
16086
|
}(stepper.MatStepperIntl));
|
|
16079
|
-
MatStepperI18n.ɵprov =
|
|
16087
|
+
MatStepperI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(i0.ɵɵinject(i1$2.TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
|
|
16080
16088
|
MatStepperI18n.decorators = [
|
|
16081
16089
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
16082
16090
|
];
|
|
@@ -17268,7 +17276,7 @@
|
|
|
17268
17276
|
return 1;
|
|
17269
17277
|
}
|
|
17270
17278
|
}
|
|
17271
|
-
var ɵ0$
|
|
17279
|
+
var ɵ0$9 = function (defaultStateSize) { return [
|
|
17272
17280
|
Math.round((rgbArrayMap.red[0] - 50) / defaultStateSize),
|
|
17273
17281
|
Math.round((255 - rgbArrayMap.red[1]) / defaultStateSize),
|
|
17274
17282
|
Math.round((255 - rgbArrayMap.red[2]) / defaultStateSize)
|
|
@@ -17276,7 +17284,7 @@
|
|
|
17276
17284
|
var SCALE_OPTIONS_DEFAULT = {
|
|
17277
17285
|
startColor: rgbArrayMap.red,
|
|
17278
17286
|
startStates: [0, 2, 3],
|
|
17279
|
-
startStepsFn: ɵ0$
|
|
17287
|
+
startStepsFn: ɵ0$9
|
|
17280
17288
|
};
|
|
17281
17289
|
/**
|
|
17282
17290
|
* Internal function, that create a colors scale, using iteration
|
|
@@ -17368,24 +17376,24 @@
|
|
|
17368
17376
|
return result;
|
|
17369
17377
|
}
|
|
17370
17378
|
|
|
17371
|
-
var EntityTestClass
|
|
17379
|
+
var EntityTestClass = /** @class */ (function () {
|
|
17372
17380
|
function EntityTestClass() {
|
|
17373
17381
|
}
|
|
17374
17382
|
return EntityTestClass;
|
|
17375
17383
|
}());
|
|
17376
|
-
var FAKE_ENTITIES
|
|
17384
|
+
var FAKE_ENTITIES = [
|
|
17377
17385
|
{ id: 1, label: 'AAA', name: 'Item A', description: 'Very long description A', comments: 'Very very long comments... again for A' },
|
|
17378
17386
|
{ id: 2, label: 'BBB', name: 'Item B', description: 'Very long description B', comments: 'Very very long comments... again for B' },
|
|
17379
17387
|
{ id: 3, label: 'CCC', name: 'Item C', description: 'Very long description C', comments: 'Very very long comments... again for C' }
|
|
17380
17388
|
];
|
|
17381
|
-
function deepCopy
|
|
17389
|
+
function deepCopy(values, size) {
|
|
17382
17390
|
if (isNil(size)) {
|
|
17383
|
-
return (values || FAKE_ENTITIES
|
|
17391
|
+
return (values || FAKE_ENTITIES).map(function (entity) { return Object.assign({}, entity); });
|
|
17384
17392
|
}
|
|
17385
17393
|
var result = [];
|
|
17386
17394
|
var i = 1;
|
|
17387
17395
|
while (result.length < size) {
|
|
17388
|
-
result = result.concat((values || FAKE_ENTITIES
|
|
17396
|
+
result = result.concat((values || FAKE_ENTITIES).map(function (entity) {
|
|
17389
17397
|
var name = entity.name + ' #' + i;
|
|
17390
17398
|
return Object.assign(Object.assign({}, entity), { id: i++, name: name });
|
|
17391
17399
|
}));
|
|
@@ -17395,7 +17403,7 @@
|
|
|
17395
17403
|
var AutocompleteTestPage = /** @class */ (function () {
|
|
17396
17404
|
function AutocompleteTestPage(formBuilder) {
|
|
17397
17405
|
this.formBuilder = formBuilder;
|
|
17398
|
-
this._items = deepCopy
|
|
17406
|
+
this._items = deepCopy(FAKE_ENTITIES, 100);
|
|
17399
17407
|
this.$items = new rxjs.BehaviorSubject(undefined);
|
|
17400
17408
|
this.autocompleteFields = new MatAutocompleteConfigHolder();
|
|
17401
17409
|
this.memoryHide = false;
|
|
@@ -17440,7 +17448,7 @@
|
|
|
17440
17448
|
});
|
|
17441
17449
|
// From items
|
|
17442
17450
|
this.autocompleteFields.add('entity-items-large', {
|
|
17443
|
-
items: FAKE_ENTITIES
|
|
17451
|
+
items: FAKE_ENTITIES.slice(),
|
|
17444
17452
|
attributes: ['label', 'name', 'description', 'comments'],
|
|
17445
17453
|
displayWith: this.entityToString
|
|
17446
17454
|
});
|
|
@@ -17453,12 +17461,12 @@
|
|
|
17453
17461
|
var _this = this;
|
|
17454
17462
|
return __generator(this, function (_a) {
|
|
17455
17463
|
data = {
|
|
17456
|
-
entity: deepCopy
|
|
17464
|
+
entity: deepCopy(FAKE_ENTITIES)[0],
|
|
17457
17465
|
// This item is NOT in the items list => i should be displayed anyway
|
|
17458
17466
|
missingEntity: {
|
|
17459
17467
|
id: -1, label: '??', name: 'Missing item'
|
|
17460
17468
|
},
|
|
17461
|
-
disableEntity: deepCopy
|
|
17469
|
+
disableEntity: deepCopy(FAKE_ENTITIES)[2]
|
|
17462
17470
|
};
|
|
17463
17471
|
this.form.setValue(data);
|
|
17464
17472
|
// Load observables
|
|
@@ -17544,7 +17552,7 @@
|
|
|
17544
17552
|
AutocompleteTestPage.decorators = [
|
|
17545
17553
|
{ type: i0.Component, args: [{
|
|
17546
17554
|
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"
|
|
17555
|
+
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
17556
|
},] }
|
|
17549
17557
|
];
|
|
17550
17558
|
AutocompleteTestPage.ctorParameters = function () { return [
|
|
@@ -17656,13 +17664,13 @@
|
|
|
17656
17664
|
{ type: Array, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [APP_TESTING_PAGES,] }] }
|
|
17657
17665
|
]; };
|
|
17658
17666
|
|
|
17659
|
-
var moment$
|
|
17667
|
+
var moment$5 = momentImported__namespace;
|
|
17660
17668
|
var SwipeTestPage = /** @class */ (function () {
|
|
17661
17669
|
function SwipeTestPage(formBuilder, dateFormatPipe) {
|
|
17662
17670
|
this.formBuilder = formBuilder;
|
|
17663
17671
|
this.dateFormatPipe = dateFormatPipe;
|
|
17664
17672
|
this.$dates = new rxjs.BehaviorSubject(undefined);
|
|
17665
|
-
this._today = moment$
|
|
17673
|
+
this._today = moment$5().startOf('day');
|
|
17666
17674
|
this.form = formBuilder.group({
|
|
17667
17675
|
empty: [null, i1.Validators.required],
|
|
17668
17676
|
date: [null, i1.Validators.compose([i1.Validators.required, SharedValidators.validDate])],
|
|
@@ -17676,7 +17684,7 @@
|
|
|
17676
17684
|
var _this = this;
|
|
17677
17685
|
var dates = [];
|
|
17678
17686
|
for (var d = 0; d < 7; d++) {
|
|
17679
|
-
dates[d] = moment$
|
|
17687
|
+
dates[d] = moment$5(this._today).add(d - 3, 'day');
|
|
17680
17688
|
}
|
|
17681
17689
|
this.$dates.next(dates);
|
|
17682
17690
|
this.loadData();
|
|
@@ -18359,7 +18367,7 @@
|
|
|
18359
18367
|
return FormArrayHelper;
|
|
18360
18368
|
}());
|
|
18361
18369
|
|
|
18362
|
-
var moment = momentImported__namespace;
|
|
18370
|
+
var moment$6 = momentImported__namespace;
|
|
18363
18371
|
var DateTimeTestPage = /** @class */ (function () {
|
|
18364
18372
|
function DateTimeTestPage(platform, formBuilder, cd) {
|
|
18365
18373
|
this.platform = platform;
|
|
@@ -18394,7 +18402,7 @@
|
|
|
18394
18402
|
var now, data;
|
|
18395
18403
|
var _this = this;
|
|
18396
18404
|
return __generator(this, function (_a) {
|
|
18397
|
-
now = moment();
|
|
18405
|
+
now = moment$6();
|
|
18398
18406
|
data = {
|
|
18399
18407
|
empty: toDateISOString(now.clone().add(2, 'hours')),
|
|
18400
18408
|
enable: toDateISOString(now),
|
|
@@ -18458,23 +18466,23 @@
|
|
|
18458
18466
|
{ type: i0.ChangeDetectorRef }
|
|
18459
18467
|
]; };
|
|
18460
18468
|
|
|
18461
|
-
var EntityTestClass = /** @class */ (function () {
|
|
18469
|
+
var EntityTestClass$1 = /** @class */ (function () {
|
|
18462
18470
|
function EntityTestClass() {
|
|
18463
18471
|
}
|
|
18464
18472
|
return EntityTestClass;
|
|
18465
18473
|
}());
|
|
18466
|
-
var FAKE_ENTITIES = [
|
|
18474
|
+
var FAKE_ENTITIES$1 = [
|
|
18467
18475
|
{ id: 1, label: 'AAA', name: 'Item A' },
|
|
18468
18476
|
{ id: 2, label: 'BBB', name: 'Item B' },
|
|
18469
18477
|
{ id: 3, label: 'CCC', name: 'Item C' }
|
|
18470
18478
|
];
|
|
18471
|
-
function deepCopy(values) {
|
|
18472
|
-
return (values || FAKE_ENTITIES).map(function (entity) { return Object.assign({}, entity); });
|
|
18479
|
+
function deepCopy$1(values) {
|
|
18480
|
+
return (values || FAKE_ENTITIES$1).map(function (entity) { return Object.assign({}, entity); });
|
|
18473
18481
|
}
|
|
18474
18482
|
var ChipsTestPage = /** @class */ (function () {
|
|
18475
18483
|
function ChipsTestPage(formBuilder) {
|
|
18476
18484
|
this.formBuilder = formBuilder;
|
|
18477
|
-
this._items = deepCopy(FAKE_ENTITIES);
|
|
18485
|
+
this._items = deepCopy$1(FAKE_ENTITIES$1);
|
|
18478
18486
|
this._$items = new rxjs.BehaviorSubject(undefined);
|
|
18479
18487
|
this.autocompleteFields = new MatAutocompleteConfigHolder();
|
|
18480
18488
|
this.form = formBuilder.group({
|
|
@@ -18494,7 +18502,7 @@
|
|
|
18494
18502
|
});
|
|
18495
18503
|
// From items
|
|
18496
18504
|
this.autocompleteFields.add('entity-items', {
|
|
18497
|
-
items: FAKE_ENTITIES.slice(),
|
|
18505
|
+
items: FAKE_ENTITIES$1.slice(),
|
|
18498
18506
|
attributes: ['label', 'name'],
|
|
18499
18507
|
displayWith: this.entityToString
|
|
18500
18508
|
});
|
|
@@ -18517,8 +18525,8 @@
|
|
|
18517
18525
|
data = {
|
|
18518
18526
|
entity: [],
|
|
18519
18527
|
// 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)
|
|
18528
|
+
entityInitial: FAKE_ENTITIES$1.slice(1, 2),
|
|
18529
|
+
disableEntity: FAKE_ENTITIES$1.slice(1, 2)
|
|
18522
18530
|
};
|
|
18523
18531
|
this.form.setValue(data);
|
|
18524
18532
|
return [2 /*return*/];
|
|
@@ -18528,7 +18536,7 @@
|
|
|
18528
18536
|
ChipsTestPage.prototype.loadItems = function () {
|
|
18529
18537
|
return __awaiter(this, void 0, void 0, function () {
|
|
18530
18538
|
return __generator(this, function (_a) {
|
|
18531
|
-
this._$items.next(deepCopy(FAKE_ENTITIES));
|
|
18539
|
+
this._$items.next(deepCopy$1(FAKE_ENTITIES$1));
|
|
18532
18540
|
return [2 /*return*/];
|
|
18533
18541
|
});
|
|
18534
18542
|
});
|
|
@@ -18565,7 +18573,7 @@
|
|
|
18565
18573
|
{ type: i1.FormBuilder }
|
|
18566
18574
|
]; };
|
|
18567
18575
|
|
|
18568
|
-
var routes
|
|
18576
|
+
var routes = [
|
|
18569
18577
|
{
|
|
18570
18578
|
path: '',
|
|
18571
18579
|
pathMatch: 'full',
|
|
@@ -18615,7 +18623,7 @@
|
|
|
18615
18623
|
i1.ReactiveFormsModule,
|
|
18616
18624
|
SharedMaterialModule,
|
|
18617
18625
|
i1$2.TranslateModule.forChild(),
|
|
18618
|
-
i3.RouterModule.forChild(routes
|
|
18626
|
+
i3.RouterModule.forChild(routes)
|
|
18619
18627
|
],
|
|
18620
18628
|
declarations: [
|
|
18621
18629
|
MaterialTestingPage,
|
|
@@ -19733,7 +19741,7 @@
|
|
|
19733
19741
|
};
|
|
19734
19742
|
return UserSettingsValidatorService;
|
|
19735
19743
|
}(AppValidatorService));
|
|
19736
|
-
UserSettingsValidatorService.ɵprov =
|
|
19744
|
+
UserSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(i0.ɵɵinject(i1.FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
|
|
19737
19745
|
UserSettingsValidatorService.decorators = [
|
|
19738
19746
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
19739
19747
|
];
|
|
@@ -19781,7 +19789,7 @@
|
|
|
19781
19789
|
};
|
|
19782
19790
|
return AccountValidatorService;
|
|
19783
19791
|
}(AppValidatorService));
|
|
19784
|
-
AccountValidatorService.ɵprov =
|
|
19792
|
+
AccountValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(i0.ɵɵinject(i1.FormBuilder), i0.ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
|
|
19785
19793
|
AccountValidatorService.decorators = [
|
|
19786
19794
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
19787
19795
|
];
|
|
@@ -20047,6 +20055,7 @@
|
|
|
20047
20055
|
.subscribe(function (event) { return _this.onCancel.emit(event); }));
|
|
20048
20056
|
// Escape
|
|
20049
20057
|
this._subscription.add(hotkeys.addShortcut({ keys: 'escape', description: 'COMMON.BTN_CLOSE', preventDefault: false })
|
|
20058
|
+
.pipe(operators.filter(function (e) { return !e.defaultPrevented; }))
|
|
20050
20059
|
.subscribe(function (event) { return _this.onBack.emit(event); }));
|
|
20051
20060
|
}
|
|
20052
20061
|
FormButtonsBarComponent.prototype.ngOnDestroy = function () {
|
|
@@ -20377,7 +20386,7 @@
|
|
|
20377
20386
|
};
|
|
20378
20387
|
return LocalSettingsValidatorService;
|
|
20379
20388
|
}(AppValidatorService));
|
|
20380
|
-
LocalSettingsValidatorService.ɵprov =
|
|
20389
|
+
LocalSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(i0.ɵɵinject(i1.FormBuilder), i0.ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
|
|
20381
20390
|
LocalSettingsValidatorService.decorators = [
|
|
20382
20391
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
20383
20392
|
];
|
|
@@ -21161,7 +21170,7 @@
|
|
|
21161
21170
|
};
|
|
21162
21171
|
return IsOnFieldModePipe;
|
|
21163
21172
|
}());
|
|
21164
|
-
IsOnFieldModePipe.ɵprov =
|
|
21173
|
+
IsOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
|
|
21165
21174
|
IsOnFieldModePipe.decorators = [
|
|
21166
21175
|
{ type: i0.Pipe, args: [{
|
|
21167
21176
|
name: 'isOnField'
|
|
@@ -21176,7 +21185,7 @@
|
|
|
21176
21185
|
};
|
|
21177
21186
|
return IsNotOnFieldModePipe;
|
|
21178
21187
|
}());
|
|
21179
|
-
IsNotOnFieldModePipe.ɵprov =
|
|
21188
|
+
IsNotOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
|
|
21180
21189
|
IsNotOnFieldModePipe.decorators = [
|
|
21181
21190
|
{ type: i0.Pipe, args: [{
|
|
21182
21191
|
name: 'isNotOnField'
|
|
@@ -21194,7 +21203,7 @@
|
|
|
21194
21203
|
};
|
|
21195
21204
|
return PersonToStringPipe;
|
|
21196
21205
|
}());
|
|
21197
|
-
PersonToStringPipe.ɵprov =
|
|
21206
|
+
PersonToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
|
|
21198
21207
|
PersonToStringPipe.decorators = [
|
|
21199
21208
|
{ type: i0.Pipe, args: [{
|
|
21200
21209
|
name: 'personToString'
|
|
@@ -21429,7 +21438,7 @@
|
|
|
21429
21438
|
};
|
|
21430
21439
|
return IsLoginAccountPipe;
|
|
21431
21440
|
}());
|
|
21432
|
-
IsLoginAccountPipe.ɵprov =
|
|
21441
|
+
IsLoginAccountPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
|
|
21433
21442
|
IsLoginAccountPipe.decorators = [
|
|
21434
21443
|
{ type: i0.Pipe, args: [{
|
|
21435
21444
|
name: 'isLogin'
|
|
@@ -21444,7 +21453,7 @@
|
|
|
21444
21453
|
};
|
|
21445
21454
|
return AccountToStringPipe;
|
|
21446
21455
|
}());
|
|
21447
|
-
AccountToStringPipe.ɵprov =
|
|
21456
|
+
AccountToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
|
|
21448
21457
|
AccountToStringPipe.decorators = [
|
|
21449
21458
|
{ type: i0.Pipe, args: [{
|
|
21450
21459
|
name: 'accountToString'
|
|
@@ -21462,7 +21471,7 @@
|
|
|
21462
21471
|
};
|
|
21463
21472
|
return DepartmentToStringPipe;
|
|
21464
21473
|
}());
|
|
21465
|
-
DepartmentToStringPipe.ɵprov =
|
|
21474
|
+
DepartmentToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
|
|
21466
21475
|
DepartmentToStringPipe.decorators = [
|
|
21467
21476
|
{ type: i0.Pipe, args: [{
|
|
21468
21477
|
name: 'departmentToString'
|
|
@@ -21497,7 +21506,7 @@
|
|
|
21497
21506
|
};
|
|
21498
21507
|
return MenuService;
|
|
21499
21508
|
}());
|
|
21500
|
-
MenuService.ɵprov =
|
|
21509
|
+
MenuService.ɵprov = i0.ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
|
|
21501
21510
|
MenuService.decorators = [
|
|
21502
21511
|
{ type: i0.Injectable, args: [{
|
|
21503
21512
|
providedIn: 'root'
|
|
@@ -22076,7 +22085,7 @@
|
|
|
22076
22085
|
};
|
|
22077
22086
|
return AuthGuardService;
|
|
22078
22087
|
}());
|
|
22079
|
-
AuthGuardService.ɵprov =
|
|
22088
|
+
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" });
|
|
22080
22089
|
AuthGuardService.decorators = [
|
|
22081
22090
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
22082
22091
|
];
|
|
@@ -22127,7 +22136,7 @@
|
|
|
22127
22136
|
query: query,
|
|
22128
22137
|
variables: { id: id },
|
|
22129
22138
|
fetchPolicy: opts && opts.fetchPolicy || undefined,
|
|
22130
|
-
error: { code: ErrorCodes
|
|
22139
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
|
|
22131
22140
|
})
|
|
22132
22141
|
.pipe(operators.map(function (_b) {
|
|
22133
22142
|
var data = _b.data;
|
|
@@ -22149,7 +22158,7 @@
|
|
|
22149
22158
|
query: query,
|
|
22150
22159
|
variables: { id: id },
|
|
22151
22160
|
fetchPolicy: opts && opts.fetchPolicy || undefined,
|
|
22152
|
-
error: { code: ErrorCodes
|
|
22161
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
|
|
22153
22162
|
})];
|
|
22154
22163
|
case 1:
|
|
22155
22164
|
data = (_b.sent()).data;
|
|
@@ -22185,7 +22194,7 @@
|
|
|
22185
22194
|
totalFieldName: withTotal ? 'total' : undefined,
|
|
22186
22195
|
insertFilterFn: filter && filter.asFilterFn(),
|
|
22187
22196
|
variables: variables,
|
|
22188
|
-
error: { code: ErrorCodes
|
|
22197
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
|
|
22189
22198
|
fetchPolicy: opts && opts.fetchPolicy || undefined
|
|
22190
22199
|
})
|
|
22191
22200
|
.pipe(operators.map(function (_b) {
|
|
@@ -22227,7 +22236,7 @@
|
|
|
22227
22236
|
return [4 /*yield*/, this.graphql.query({
|
|
22228
22237
|
query: query,
|
|
22229
22238
|
variables: variables,
|
|
22230
|
-
error: { code: ErrorCodes
|
|
22239
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
|
|
22231
22240
|
fetchPolicy: opts && opts.fetchPolicy || 'network-only'
|
|
22232
22241
|
})];
|
|
22233
22242
|
case 1:
|
|
@@ -22275,7 +22284,7 @@
|
|
|
22275
22284
|
variables: {
|
|
22276
22285
|
filter: filter && filter.asPodObject()
|
|
22277
22286
|
},
|
|
22278
|
-
error: { code: ErrorCodes
|
|
22287
|
+
error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
|
|
22279
22288
|
fetchPolicy: opts && opts.fetchPolicy || 'network-only'
|
|
22280
22289
|
})];
|
|
22281
22290
|
case 3:
|
|
@@ -22317,7 +22326,7 @@
|
|
|
22317
22326
|
variables: {
|
|
22318
22327
|
data: json
|
|
22319
22328
|
},
|
|
22320
|
-
error: { code: ErrorCodes
|
|
22329
|
+
error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
|
|
22321
22330
|
update: function (proxy, _b) {
|
|
22322
22331
|
var data = _b.data;
|
|
22323
22332
|
var savedEntities = data && data.data;
|
|
@@ -22384,7 +22393,7 @@
|
|
|
22384
22393
|
variables: {
|
|
22385
22394
|
data: json
|
|
22386
22395
|
},
|
|
22387
|
-
error: { code: ErrorCodes
|
|
22396
|
+
error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
|
|
22388
22397
|
update: function (cache, _b) {
|
|
22389
22398
|
var data = _b.data;
|
|
22390
22399
|
// Update entity
|
|
@@ -22442,7 +22451,7 @@
|
|
|
22442
22451
|
refetchQueries: this.getRefetchQueriesForMutation(opts),
|
|
22443
22452
|
awaitRefetchQueries: opts && opts.awaitRefetchQueries,
|
|
22444
22453
|
variables: { ids: ids },
|
|
22445
|
-
error: { code: ErrorCodes
|
|
22454
|
+
error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
|
|
22446
22455
|
update: function (cache, res) {
|
|
22447
22456
|
// Remove from cache
|
|
22448
22457
|
if (_this.watchQueriesUpdatePolicy === 'update-cache') {
|
|
@@ -22495,7 +22504,7 @@
|
|
|
22495
22504
|
refetchQueries: this.getRefetchQueriesForMutation(opts),
|
|
22496
22505
|
awaitRefetchQueries: opts && opts.awaitRefetchQueries,
|
|
22497
22506
|
variables: { id: id },
|
|
22498
|
-
error: { code: ErrorCodes
|
|
22507
|
+
error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
|
|
22499
22508
|
update: function (proxy, res) {
|
|
22500
22509
|
// Remove from cache
|
|
22501
22510
|
if (_this.watchQueriesUpdatePolicy === 'update-cache') {
|
|
@@ -22534,7 +22543,7 @@
|
|
|
22534
22543
|
query: opts && opts.query || this.subscriptions.listenChanges,
|
|
22535
22544
|
variables: variables,
|
|
22536
22545
|
error: {
|
|
22537
|
-
code: ErrorCodes
|
|
22546
|
+
code: ErrorCodes.SUBSCRIBE_DATA_ERROR,
|
|
22538
22547
|
message: 'ERROR.SUBSCRIBE_DATA_ERROR'
|
|
22539
22548
|
}
|
|
22540
22549
|
})
|
|
@@ -22743,7 +22752,7 @@
|
|
|
22743
22752
|
if (this._debug)
|
|
22744
22753
|
invalidRows.forEach(function (row) { return AppTableUtils.logRowErrors(row, "[table-datasource] " + _this._logTypeName + " row #" + row.id); });
|
|
22745
22754
|
// Stop with an error
|
|
22746
|
-
throw { code: ErrorCodes
|
|
22755
|
+
throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
22747
22756
|
}
|
|
22748
22757
|
this._editingRowCount = 0;
|
|
22749
22758
|
data = void 0;
|
|
@@ -23091,17 +23100,6 @@
|
|
|
23091
23100
|
enumerable: false,
|
|
23092
23101
|
configurable: true
|
|
23093
23102
|
});
|
|
23094
|
-
Object.defineProperty(AppTable.prototype, "focusColumn", {
|
|
23095
|
-
get: function () {
|
|
23096
|
-
return this._focusColumn;
|
|
23097
|
-
},
|
|
23098
|
-
// Focus manager
|
|
23099
|
-
set: function (name) {
|
|
23100
|
-
this._focusColumn = name;
|
|
23101
|
-
},
|
|
23102
|
-
enumerable: false,
|
|
23103
|
-
configurable: true
|
|
23104
|
-
});
|
|
23105
23103
|
Object.defineProperty(AppTable.prototype, "firstUserColumn", {
|
|
23106
23104
|
get: function () {
|
|
23107
23105
|
return this.displayedColumns[RESERVED_START_COLUMNS.length];
|
|
@@ -23710,14 +23708,14 @@
|
|
|
23710
23708
|
case 0:
|
|
23711
23709
|
opts = Object.assign({ keepEditing: this.keepEditedRowOnSave }, opts);
|
|
23712
23710
|
if (this.readOnly) {
|
|
23713
|
-
throw { code: ErrorCodes
|
|
23711
|
+
throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
|
|
23714
23712
|
}
|
|
23715
23713
|
this.resetError();
|
|
23716
23714
|
// Keep edited row id (should be done BEFORE confirmEditCreate() )
|
|
23717
23715
|
this.previouslyEditedRowId = opts.keepEditing && ((_a = this.editedRow) === null || _a === void 0 ? void 0 : _a.editing) ? this.editedRow.id : undefined;
|
|
23718
23716
|
previouslyEditedData = isNotNil(this.previouslyEditedRowId) && this.editedRow.currentData || ((_b = this.singleSelectedRow) === null || _b === void 0 ? void 0 : _b.currentData);
|
|
23719
23717
|
if (!this.confirmEditCreate()) {
|
|
23720
|
-
throw { code: ErrorCodes
|
|
23718
|
+
throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
|
|
23721
23719
|
}
|
|
23722
23720
|
// Mark as saving
|
|
23723
23721
|
this.markAsSaving();
|
|
@@ -23870,7 +23868,7 @@
|
|
|
23870
23868
|
switch (_d.label) {
|
|
23871
23869
|
case 0:
|
|
23872
23870
|
if (this.readOnly) {
|
|
23873
|
-
throw { code: ErrorCodes
|
|
23871
|
+
throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
|
|
23874
23872
|
}
|
|
23875
23873
|
if (event === null || event === void 0 ? void 0 : event.defaultPrevented)
|
|
23876
23874
|
return [2 /*return*/, 0]; // SKip
|
|
@@ -24063,13 +24061,15 @@
|
|
|
24063
24061
|
row = row || this.editedRow;
|
|
24064
24062
|
if (!row || !row.editing)
|
|
24065
24063
|
return;
|
|
24064
|
+
// DEBUG
|
|
24065
|
+
//console.debug('[app-table] Cancel the row (keydown.escape)');
|
|
24066
24066
|
if (event) {
|
|
24067
24067
|
// Avoid to cancel the editor
|
|
24068
24068
|
event.preventDefault();
|
|
24069
24069
|
event.stopPropagation();
|
|
24070
24070
|
}
|
|
24071
|
-
// If new row: delete silently
|
|
24072
|
-
if (row.id === -1) {
|
|
24071
|
+
// If new row is invalid: delete silently
|
|
24072
|
+
if (row.id === -1 && row.validator.invalid) {
|
|
24073
24073
|
this.deleteNewRow(event, row);
|
|
24074
24074
|
}
|
|
24075
24075
|
// If exists
|
|
@@ -24096,7 +24096,7 @@
|
|
|
24096
24096
|
return false;
|
|
24097
24097
|
}
|
|
24098
24098
|
if (!row.editing && !this.loading) {
|
|
24099
|
-
this.
|
|
24099
|
+
this.focusColumn = opts && opts.focusColumn || this.focusColumn;
|
|
24100
24100
|
this._dataSource.startEdit(row);
|
|
24101
24101
|
}
|
|
24102
24102
|
this.editedRow = row;
|
|
@@ -25564,7 +25564,7 @@
|
|
|
25564
25564
|
case 4:
|
|
25565
25565
|
data = _b.sent();
|
|
25566
25566
|
if (!data)
|
|
25567
|
-
throw { code: ErrorCodes
|
|
25567
|
+
throw { code: ErrorCodes.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
|
|
25568
25568
|
this._usageMode = this.computeUsageMode(data);
|
|
25569
25569
|
return [4 /*yield*/, this.onEntityLoaded(data, opts)];
|
|
25570
25570
|
case 5:
|
|
@@ -26294,10 +26294,10 @@
|
|
|
26294
26294
|
exports.UserEventFilter = __decorate([
|
|
26295
26295
|
EntityClass({ typename: 'UserEventVO' })
|
|
26296
26296
|
], exports.UserEventFilter);
|
|
26297
|
-
var SaveQuery = core.gql(templateObject_1$
|
|
26298
|
-
var LoadAllQuery = core.gql(templateObject_2$
|
|
26299
|
-
var DeleteByIdsMutation = core.gql(templateObject_3$
|
|
26300
|
-
var LoadAllWithContentQuery = core.gql(templateObject_4$
|
|
26297
|
+
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);
|
|
26298
|
+
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);
|
|
26299
|
+
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"])));
|
|
26300
|
+
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);
|
|
26301
26301
|
var UserEventService = /** @class */ (function (_super) {
|
|
26302
26302
|
__extends(UserEventService, _super);
|
|
26303
26303
|
function UserEventService(graphql, accountService, network, translate, toastController, environment) {
|
|
@@ -26618,7 +26618,7 @@
|
|
|
26618
26618
|
};
|
|
26619
26619
|
return UserEventService;
|
|
26620
26620
|
}(BaseGraphqlService));
|
|
26621
|
-
UserEventService.ɵprov =
|
|
26621
|
+
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" });
|
|
26622
26622
|
UserEventService.decorators = [
|
|
26623
26623
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
26624
26624
|
];
|
|
@@ -26630,7 +26630,7 @@
|
|
|
26630
26630
|
{ type: i1$5.ToastController },
|
|
26631
26631
|
{ type: undefined, decorators: [{ type: i0.Inject, args: [ENVIRONMENT,] }] }
|
|
26632
26632
|
]; };
|
|
26633
|
-
var templateObject_1$
|
|
26633
|
+
var templateObject_1$3, templateObject_2$3, templateObject_3$2, templateObject_4$2;
|
|
26634
26634
|
|
|
26635
26635
|
var ICONS_MAP = {
|
|
26636
26636
|
DEBUG_DATA: { matIcon: 'bug_report' },
|
|
@@ -26891,16 +26891,16 @@
|
|
|
26891
26891
|
], exports.PersonFilter);
|
|
26892
26892
|
|
|
26893
26893
|
var PersonFragments = {
|
|
26894
|
-
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 }"])))
|
|
26894
|
+
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 }"])))
|
|
26895
26895
|
};
|
|
26896
26896
|
// Load persons query
|
|
26897
26897
|
var PersonQueries = {
|
|
26898
|
-
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),
|
|
26899
|
-
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)
|
|
26898
|
+
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),
|
|
26899
|
+
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)
|
|
26900
26900
|
};
|
|
26901
26901
|
var PersonMutations = {
|
|
26902
|
-
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),
|
|
26903
|
-
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 }"])))
|
|
26902
|
+
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),
|
|
26903
|
+
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 }"])))
|
|
26904
26904
|
};
|
|
26905
26905
|
var PersonService = /** @class */ (function (_super_1) {
|
|
26906
26906
|
__extends(PersonService, _super_1);
|
|
@@ -27023,7 +27023,7 @@
|
|
|
27023
27023
|
};
|
|
27024
27024
|
return PersonService;
|
|
27025
27025
|
}(BaseEntityService));
|
|
27026
|
-
PersonService.ɵprov =
|
|
27026
|
+
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" });
|
|
27027
27027
|
PersonService.decorators = [
|
|
27028
27028
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
27029
27029
|
];
|
|
@@ -27033,7 +27033,7 @@
|
|
|
27033
27033
|
{ type: NetworkService },
|
|
27034
27034
|
{ type: EntitiesStorage }
|
|
27035
27035
|
]; };
|
|
27036
|
-
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
|
|
27036
|
+
var templateObject_1$4, templateObject_2$4, templateObject_3$3, templateObject_4$3, templateObject_5$2;
|
|
27037
27037
|
|
|
27038
27038
|
var PersonValidatorService = /** @class */ (function () {
|
|
27039
27039
|
function PersonValidatorService(formBuilder, accountValidatorService) {
|
|
@@ -27056,7 +27056,7 @@
|
|
|
27056
27056
|
};
|
|
27057
27057
|
return PersonValidatorService;
|
|
27058
27058
|
}());
|
|
27059
|
-
PersonValidatorService.ɵprov =
|
|
27059
|
+
PersonValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(i0.ɵɵinject(i1.FormBuilder), i0.ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
|
|
27060
27060
|
PersonValidatorService.decorators = [
|
|
27061
27061
|
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
27062
27062
|
];
|
|
@@ -27228,7 +27228,7 @@
|
|
|
27228
27228
|
],
|
|
27229
27229
|
animations: [slideUpDownAnimation],
|
|
27230
27230
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
27231
|
-
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:
|
|
27231
|
+
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}"]
|
|
27232
27232
|
},] }
|
|
27233
27233
|
];
|
|
27234
27234
|
UsersPage.ctorParameters = function () { return [
|
|
@@ -27277,16 +27277,16 @@
|
|
|
27277
27277
|
];
|
|
27278
27278
|
AdminModule.ctorParameters = function () { return []; };
|
|
27279
27279
|
|
|
27280
|
-
var ɵ0 = {
|
|
27280
|
+
var ɵ0$a = {
|
|
27281
27281
|
profile: 'ADMIN'
|
|
27282
27282
|
};
|
|
27283
|
-
var routes = [
|
|
27283
|
+
var routes$1 = [
|
|
27284
27284
|
{
|
|
27285
27285
|
path: 'users',
|
|
27286
27286
|
pathMatch: 'full',
|
|
27287
27287
|
component: UsersPage,
|
|
27288
27288
|
canActivate: [AuthGuardService],
|
|
27289
|
-
data: ɵ0
|
|
27289
|
+
data: ɵ0$a
|
|
27290
27290
|
}
|
|
27291
27291
|
];
|
|
27292
27292
|
var AdminRoutingModule = /** @class */ (function () {
|
|
@@ -27299,13 +27299,13 @@
|
|
|
27299
27299
|
imports: [
|
|
27300
27300
|
SharedRoutingModule,
|
|
27301
27301
|
AdminModule,
|
|
27302
|
-
i3.RouterModule.forChild(routes)
|
|
27302
|
+
i3.RouterModule.forChild(routes$1)
|
|
27303
27303
|
],
|
|
27304
27304
|
exports: [i3.RouterModule]
|
|
27305
27305
|
},] }
|
|
27306
27306
|
];
|
|
27307
27307
|
|
|
27308
|
-
var ErrorCodes = {
|
|
27308
|
+
var ErrorCodes$2 = {
|
|
27309
27309
|
LOAD_PERSONS_ERROR: 100,
|
|
27310
27310
|
SAVE_PERSONS_ERROR: 101,
|
|
27311
27311
|
DELETE_PERSONS_ERROR: 102,
|
|
@@ -27414,7 +27414,7 @@
|
|
|
27414
27414
|
exports.EntityStore = EntityStore;
|
|
27415
27415
|
exports.EntityUtils = EntityUtils;
|
|
27416
27416
|
exports.Environment = Environment;
|
|
27417
|
-
exports.ErrorCodes = ErrorCodes;
|
|
27417
|
+
exports.ErrorCodes = ErrorCodes$2;
|
|
27418
27418
|
exports.EvenPipe = EvenPipe;
|
|
27419
27419
|
exports.FileService = FileService;
|
|
27420
27420
|
exports.FileSizePipe = FileSizePipe;
|
|
@@ -27422,7 +27422,7 @@
|
|
|
27422
27422
|
exports.FormButtonsBarComponent = FormButtonsBarComponent;
|
|
27423
27423
|
exports.FormButtonsBarToken = FormButtonsBarToken;
|
|
27424
27424
|
exports.FormFieldValuesHolder = FormFieldValuesHolder;
|
|
27425
|
-
exports.Fragments = Fragments;
|
|
27425
|
+
exports.Fragments = Fragments$1;
|
|
27426
27426
|
exports.GraphqlService = GraphqlService;
|
|
27427
27427
|
exports.HAMMER_PRESS_TIME = HAMMER_PRESS_TIME;
|
|
27428
27428
|
exports.HAMMER_TAP_TIME = HAMMER_TAP_TIME;
|