@elderbyte/ngx-starter 15.10.5 → 15.12.0
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/esm2020/lib/common/arrays.mjs +29 -0
- package/esm2020/lib/common/public_api.mjs +5 -4
- package/esm2020/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +9 -21
- package/esm2020/lib/components/data-view/table/activation/elder-delete-active.directive.mjs +113 -0
- package/esm2020/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +53 -39
- package/esm2020/lib/components/data-view/table/elder-table.module.mjs +11 -5
- package/esm2020/lib/components/dialogs/elder-dialog.module.mjs +1 -1
- package/esm2020/lib/components/dialogs/elder-dialog.service.mjs +62 -28
- package/esm2020/lib/components/select/elder-select.module.mjs +19 -7
- package/esm2020/lib/components/select/multi/elder-multi-select-base.mjs +17 -23
- package/esm2020/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +24 -11
- package/esm2020/lib/components/select/single/elder-select/elder-select.component.mjs +5 -5
- package/fesm2015/elderbyte-ngx-starter.mjs +418 -225
- package/fesm2015/elderbyte-ngx-starter.mjs.map +1 -1
- package/fesm2020/elderbyte-ngx-starter.mjs +416 -225
- package/fesm2020/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/common/arrays.d.ts +11 -0
- package/lib/common/public_api.d.ts +4 -3
- package/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.d.ts +1 -1
- package/lib/components/data-view/table/activation/elder-delete-active.directive.d.ts +53 -0
- package/lib/components/data-view/table/activation/elder-table-activation.directive.d.ts +8 -5
- package/lib/components/data-view/table/elder-table.module.d.ts +24 -22
- package/lib/components/dialogs/elder-dialog.module.d.ts +1 -1
- package/lib/components/dialogs/elder-dialog.service.d.ts +34 -12
- package/lib/components/select/elder-select.module.d.ts +12 -11
- package/lib/components/select/multi/elder-multi-select-base.d.ts +2 -0
- package/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.d.ts +5 -1
- package/package.json +1 -1
- package/src/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.scss +26 -0
|
@@ -48,7 +48,7 @@ import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
|
48
48
|
import * as i1$6 from '@angular/material/snack-bar';
|
|
49
49
|
import { MAT_SNACK_BAR_DATA, MatSnackBarModule } from '@angular/material/snack-bar';
|
|
50
50
|
import * as i5$4 from '@angular/cdk/drag-drop';
|
|
51
|
-
import { transferArrayItem, moveItemInArray, DragDropModule } from '@angular/cdk/drag-drop';
|
|
51
|
+
import { transferArrayItem, moveItemInArray, DragDropModule, CdkDropList, CdkDrag } from '@angular/cdk/drag-drop';
|
|
52
52
|
import * as i4$3 from '@angular/material/divider';
|
|
53
53
|
import { MatDividerModule } from '@angular/material/divider';
|
|
54
54
|
import * as i2$3 from '@angular/material/badge';
|
|
@@ -2001,6 +2001,137 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
2001
2001
|
}]
|
|
2002
2002
|
}] });
|
|
2003
2003
|
|
|
2004
|
+
/**
|
|
2005
|
+
* Provides common used object utils
|
|
2006
|
+
*/
|
|
2007
|
+
class Objects {
|
|
2008
|
+
/**
|
|
2009
|
+
* Checks if the given value is non null / nun undefined
|
|
2010
|
+
*/
|
|
2011
|
+
static nonNull(value) {
|
|
2012
|
+
return value !== null && value !== undefined;
|
|
2013
|
+
}
|
|
2014
|
+
/**
|
|
2015
|
+
* Checks if the given value is null or undefined
|
|
2016
|
+
*/
|
|
2017
|
+
static isNull(value) {
|
|
2018
|
+
return value === null || value === undefined;
|
|
2019
|
+
}
|
|
2020
|
+
/**
|
|
2021
|
+
* Creates a copy of the object data.
|
|
2022
|
+
*/
|
|
2023
|
+
static cloneData(src) {
|
|
2024
|
+
if (!src) {
|
|
2025
|
+
return src;
|
|
2026
|
+
}
|
|
2027
|
+
try {
|
|
2028
|
+
const json = JSON.stringify(src);
|
|
2029
|
+
return JSON.parse(json);
|
|
2030
|
+
}
|
|
2031
|
+
catch (err) {
|
|
2032
|
+
throw new Error('Failed to clone object! ' + err.message);
|
|
2033
|
+
}
|
|
2034
|
+
}
|
|
2035
|
+
/**
|
|
2036
|
+
* Checks if the two given objects have the same data
|
|
2037
|
+
*/
|
|
2038
|
+
static dataEquals(a, b) {
|
|
2039
|
+
return JSON.stringify(a) === JSON.stringify(b);
|
|
2040
|
+
}
|
|
2041
|
+
}
|
|
2042
|
+
Objects.logger = LoggerFactory.getLogger('Objects');
|
|
2043
|
+
|
|
2044
|
+
class Arrays {
|
|
2045
|
+
/**
|
|
2046
|
+
* Checks if the two given arrays have the same content in the exact same order.
|
|
2047
|
+
* If order is not relevant, use Sets.equalContent.
|
|
2048
|
+
*
|
|
2049
|
+
* @param arrayA
|
|
2050
|
+
* @param arrayB
|
|
2051
|
+
* @param equalsFn Optional Equality Operator. If omitted, reference equality is used.
|
|
2052
|
+
*/
|
|
2053
|
+
static equalContentAndOrder(arrayA, arrayB, equalsFn = (a, b) => a === b) {
|
|
2054
|
+
if (!arrayA?.length && !arrayB?.length) {
|
|
2055
|
+
return true;
|
|
2056
|
+
}
|
|
2057
|
+
if (!arrayA || !arrayB) {
|
|
2058
|
+
return false;
|
|
2059
|
+
}
|
|
2060
|
+
if (arrayA.length !== arrayB.length) {
|
|
2061
|
+
return false;
|
|
2062
|
+
}
|
|
2063
|
+
// Comparing each element of your array
|
|
2064
|
+
for (var i = 0; i < arrayA.length; i++) {
|
|
2065
|
+
if (!equalsFn(arrayA[i], arrayB[i])) {
|
|
2066
|
+
return false;
|
|
2067
|
+
}
|
|
2068
|
+
}
|
|
2069
|
+
return true;
|
|
2070
|
+
}
|
|
2071
|
+
}
|
|
2072
|
+
|
|
2073
|
+
class Sets {
|
|
2074
|
+
/**
|
|
2075
|
+
* Compares the content of two sets for equality in O(n).
|
|
2076
|
+
* @param as
|
|
2077
|
+
* @param bs
|
|
2078
|
+
*/
|
|
2079
|
+
static equals(as, bs) {
|
|
2080
|
+
if (as.size !== bs.size) {
|
|
2081
|
+
return false;
|
|
2082
|
+
}
|
|
2083
|
+
if (as !== bs) { // Same reference?
|
|
2084
|
+
return Sets.containsEvery(bs, Array.from(as.values()));
|
|
2085
|
+
}
|
|
2086
|
+
return true;
|
|
2087
|
+
}
|
|
2088
|
+
/**
|
|
2089
|
+
* Checks if the two given arrays have the same content.
|
|
2090
|
+
* They are handled as "Sets" and order of the items is not relevant for the check.
|
|
2091
|
+
*
|
|
2092
|
+
* @param idsA
|
|
2093
|
+
* @param idsB
|
|
2094
|
+
*/
|
|
2095
|
+
static equalContent(idsA, idsB) {
|
|
2096
|
+
if (!idsA?.length && !idsB?.length) {
|
|
2097
|
+
return true;
|
|
2098
|
+
}
|
|
2099
|
+
if (!idsA || !idsB) {
|
|
2100
|
+
return false;
|
|
2101
|
+
}
|
|
2102
|
+
if (idsA.length !== idsB.length) {
|
|
2103
|
+
return false;
|
|
2104
|
+
}
|
|
2105
|
+
// Both element lists have content and the same length
|
|
2106
|
+
return Sets.containsEvery(new Set(idsA), idsB);
|
|
2107
|
+
}
|
|
2108
|
+
/**
|
|
2109
|
+
* Checks if the given set contains every given element
|
|
2110
|
+
*/
|
|
2111
|
+
static containsEvery(set, elements) {
|
|
2112
|
+
const predicateFn = (e) => set.has(e); // aot does not like lambdas
|
|
2113
|
+
return elements.every(predicateFn);
|
|
2114
|
+
}
|
|
2115
|
+
}
|
|
2116
|
+
|
|
2117
|
+
class JsonMapUtil {
|
|
2118
|
+
static toJsonMap(esMap) {
|
|
2119
|
+
const entries = Array.from(esMap.entries());
|
|
2120
|
+
const jsonMap = {};
|
|
2121
|
+
entries.reduce((o, [key, value]) => {
|
|
2122
|
+
o[key] = value;
|
|
2123
|
+
return o;
|
|
2124
|
+
}, jsonMap);
|
|
2125
|
+
return jsonMap;
|
|
2126
|
+
}
|
|
2127
|
+
static toMap(jsonMap, toIdFn = key => key) {
|
|
2128
|
+
const map = new Map();
|
|
2129
|
+
Object.keys(jsonMap)
|
|
2130
|
+
.forEach(k => map.set(toIdFn(k), jsonMap[k]));
|
|
2131
|
+
return map;
|
|
2132
|
+
}
|
|
2133
|
+
}
|
|
2134
|
+
|
|
2004
2135
|
/**
|
|
2005
2136
|
* Similar to sampleTime, but emits the first event and optionally the last event as-well.
|
|
2006
2137
|
* @param intervalDuration
|
|
@@ -2167,46 +2298,6 @@ DateUtil.IsoDateDelimiter = '-';
|
|
|
2167
2298
|
DateUtil.IsoTimeDelimiter = ':';
|
|
2168
2299
|
DateUtil.DateTimeSeparator = 'T';
|
|
2169
2300
|
|
|
2170
|
-
/**
|
|
2171
|
-
* Provides common used object utils
|
|
2172
|
-
*/
|
|
2173
|
-
class Objects {
|
|
2174
|
-
/**
|
|
2175
|
-
* Checks if the given value is non null / nun undefined
|
|
2176
|
-
*/
|
|
2177
|
-
static nonNull(value) {
|
|
2178
|
-
return value !== null && value !== undefined;
|
|
2179
|
-
}
|
|
2180
|
-
/**
|
|
2181
|
-
* Checks if the given value is null or undefined
|
|
2182
|
-
*/
|
|
2183
|
-
static isNull(value) {
|
|
2184
|
-
return value === null || value === undefined;
|
|
2185
|
-
}
|
|
2186
|
-
/**
|
|
2187
|
-
* Creates a copy of the object data.
|
|
2188
|
-
*/
|
|
2189
|
-
static cloneData(src) {
|
|
2190
|
-
if (!src) {
|
|
2191
|
-
return src;
|
|
2192
|
-
}
|
|
2193
|
-
try {
|
|
2194
|
-
const json = JSON.stringify(src);
|
|
2195
|
-
return JSON.parse(json);
|
|
2196
|
-
}
|
|
2197
|
-
catch (err) {
|
|
2198
|
-
throw new Error('Failed to clone object! ' + err.message);
|
|
2199
|
-
}
|
|
2200
|
-
}
|
|
2201
|
-
/**
|
|
2202
|
-
* Checks if the two given objects have the same data
|
|
2203
|
-
*/
|
|
2204
|
-
static dataEquals(a, b) {
|
|
2205
|
-
return JSON.stringify(a) === JSON.stringify(b);
|
|
2206
|
-
}
|
|
2207
|
-
}
|
|
2208
|
-
Objects.logger = LoggerFactory.getLogger('Objects');
|
|
2209
|
-
|
|
2210
2301
|
// @dynamic
|
|
2211
2302
|
class CollectionUtil {
|
|
2212
2303
|
static flatten(groups) {
|
|
@@ -2629,24 +2720,6 @@ class Pageable {
|
|
|
2629
2720
|
}
|
|
2630
2721
|
}
|
|
2631
2722
|
|
|
2632
|
-
class JsonMapUtil {
|
|
2633
|
-
static toJsonMap(esMap) {
|
|
2634
|
-
const entries = Array.from(esMap.entries());
|
|
2635
|
-
const jsonMap = {};
|
|
2636
|
-
entries.reduce((o, [key, value]) => {
|
|
2637
|
-
o[key] = value;
|
|
2638
|
-
return o;
|
|
2639
|
-
}, jsonMap);
|
|
2640
|
-
return jsonMap;
|
|
2641
|
-
}
|
|
2642
|
-
static toMap(jsonMap, toIdFn = key => key) {
|
|
2643
|
-
const map = new Map();
|
|
2644
|
-
Object.keys(jsonMap)
|
|
2645
|
-
.forEach(k => map.set(toIdFn(k), jsonMap[k]));
|
|
2646
|
-
return map;
|
|
2647
|
-
}
|
|
2648
|
-
}
|
|
2649
|
-
|
|
2650
2723
|
class EntitySetPatch {
|
|
2651
2724
|
/***************************************************************************
|
|
2652
2725
|
* *
|
|
@@ -8483,50 +8556,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
8483
8556
|
}]
|
|
8484
8557
|
}], ctorParameters: function () { return [{ type: i1$3.Router }, { type: i1$4.Location }]; } });
|
|
8485
8558
|
|
|
8486
|
-
class Sets {
|
|
8487
|
-
/**
|
|
8488
|
-
* Compares the content of two sets for equality in O(n).
|
|
8489
|
-
* @param as
|
|
8490
|
-
* @param bs
|
|
8491
|
-
*/
|
|
8492
|
-
static equals(as, bs) {
|
|
8493
|
-
if (as.size !== bs.size) {
|
|
8494
|
-
return false;
|
|
8495
|
-
}
|
|
8496
|
-
if (as !== bs) { // Same reference?
|
|
8497
|
-
return Sets.containsEvery(bs, Array.from(as.values()));
|
|
8498
|
-
}
|
|
8499
|
-
return true;
|
|
8500
|
-
}
|
|
8501
|
-
/**
|
|
8502
|
-
* Checks if the two given arrays have the same content.
|
|
8503
|
-
* They are handled as "Sets" and order of the items is not relevant for the check.
|
|
8504
|
-
*
|
|
8505
|
-
* @param idsA
|
|
8506
|
-
* @param idsB
|
|
8507
|
-
*/
|
|
8508
|
-
static equalContent(idsA, idsB) {
|
|
8509
|
-
if (!idsA?.length && !idsB?.length) {
|
|
8510
|
-
return true;
|
|
8511
|
-
}
|
|
8512
|
-
if (!idsA || !idsB) {
|
|
8513
|
-
return false;
|
|
8514
|
-
}
|
|
8515
|
-
if (idsA.length !== idsB.length) {
|
|
8516
|
-
return false;
|
|
8517
|
-
}
|
|
8518
|
-
// Both element lists have content and the same length
|
|
8519
|
-
return Sets.containsEvery(new Set(idsA), idsB);
|
|
8520
|
-
}
|
|
8521
|
-
/**
|
|
8522
|
-
* Checks if the given set contains every given element
|
|
8523
|
-
*/
|
|
8524
|
-
static containsEvery(set, elements) {
|
|
8525
|
-
const predicateFn = (e) => set.has(e); // aot does not like lambdas
|
|
8526
|
-
return elements.every(predicateFn);
|
|
8527
|
-
}
|
|
8528
|
-
}
|
|
8529
|
-
|
|
8530
8559
|
class SuggestionProvider {
|
|
8531
8560
|
constructor(provider) {
|
|
8532
8561
|
this.provider = provider;
|
|
@@ -12345,18 +12374,33 @@ class ElderDialogService {
|
|
|
12345
12374
|
* Public API *
|
|
12346
12375
|
* *
|
|
12347
12376
|
**************************************************************************/
|
|
12348
|
-
|
|
12349
|
-
|
|
12350
|
-
|
|
12351
|
-
|
|
12352
|
-
|
|
12353
|
-
|
|
12354
|
-
|
|
12355
|
-
|
|
12377
|
+
confirmDelete(options, confirmedFn, canceledFn) {
|
|
12378
|
+
const confirmRemoval = options.confirmRemoval ?? true;
|
|
12379
|
+
if (!options.skipConfirm && confirmRemoval) {
|
|
12380
|
+
this.showConfirmDelete(options.deletionCount)
|
|
12381
|
+
.subscribe({
|
|
12382
|
+
next: (confirmed) => {
|
|
12383
|
+
if (confirmed) {
|
|
12384
|
+
confirmedFn();
|
|
12385
|
+
}
|
|
12386
|
+
else {
|
|
12387
|
+
if (canceledFn) {
|
|
12388
|
+
canceledFn();
|
|
12389
|
+
}
|
|
12390
|
+
}
|
|
12391
|
+
}
|
|
12392
|
+
});
|
|
12393
|
+
}
|
|
12394
|
+
else {
|
|
12395
|
+
confirmedFn();
|
|
12396
|
+
}
|
|
12397
|
+
}
|
|
12398
|
+
showConfirmDelete(deletionCount) {
|
|
12356
12399
|
return this.showConfirm({
|
|
12357
|
-
title: title,
|
|
12358
|
-
message: message,
|
|
12359
|
-
|
|
12400
|
+
title: 'dialogs.confirm-deletion.title',
|
|
12401
|
+
message: 'dialogs.confirm-deletion.message',
|
|
12402
|
+
yesNo: true,
|
|
12403
|
+
interpolateParams: { numOfItems: deletionCount },
|
|
12360
12404
|
});
|
|
12361
12405
|
}
|
|
12362
12406
|
/**
|
|
@@ -12382,22 +12426,6 @@ class ElderDialogService {
|
|
|
12382
12426
|
return dialogRef.afterClosed();
|
|
12383
12427
|
}));
|
|
12384
12428
|
}
|
|
12385
|
-
/**
|
|
12386
|
-
* @deprecated Use showQuestion({...}) instead
|
|
12387
|
-
*
|
|
12388
|
-
* Creates a modal question dialog.
|
|
12389
|
-
*
|
|
12390
|
-
* @param title
|
|
12391
|
-
* @param question
|
|
12392
|
-
* @param config
|
|
12393
|
-
*/
|
|
12394
|
-
question(title, question, config) {
|
|
12395
|
-
return this.showQuestion({
|
|
12396
|
-
title: title,
|
|
12397
|
-
question: question,
|
|
12398
|
-
config: config || this.defaultDialogConfig
|
|
12399
|
-
});
|
|
12400
|
-
}
|
|
12401
12429
|
/**
|
|
12402
12430
|
* Creates a modal question dialog.
|
|
12403
12431
|
*
|
|
@@ -12423,6 +12451,41 @@ class ElderDialogService {
|
|
|
12423
12451
|
.pipe(filter(response => !!response));
|
|
12424
12452
|
}));
|
|
12425
12453
|
}
|
|
12454
|
+
/***************************************************************************
|
|
12455
|
+
* *
|
|
12456
|
+
* DEPRECATED *
|
|
12457
|
+
* *
|
|
12458
|
+
**************************************************************************/
|
|
12459
|
+
/**
|
|
12460
|
+
* @deprecated Use showConfirm({...}) instead
|
|
12461
|
+
*
|
|
12462
|
+
* @param title
|
|
12463
|
+
* @param message
|
|
12464
|
+
* @param config
|
|
12465
|
+
*/
|
|
12466
|
+
confirm(title, message, config) {
|
|
12467
|
+
return this.showConfirm({
|
|
12468
|
+
title: title,
|
|
12469
|
+
message: message,
|
|
12470
|
+
config: config || this.defaultDialogConfig
|
|
12471
|
+
});
|
|
12472
|
+
}
|
|
12473
|
+
/**
|
|
12474
|
+
* @deprecated Use showQuestion({...}) instead
|
|
12475
|
+
*
|
|
12476
|
+
* Creates a modal question dialog.
|
|
12477
|
+
*
|
|
12478
|
+
* @param title
|
|
12479
|
+
* @param question
|
|
12480
|
+
* @param config
|
|
12481
|
+
*/
|
|
12482
|
+
question(title, question, config) {
|
|
12483
|
+
return this.showQuestion({
|
|
12484
|
+
title: title,
|
|
12485
|
+
question: question,
|
|
12486
|
+
config: config || this.defaultDialogConfig
|
|
12487
|
+
});
|
|
12488
|
+
}
|
|
12426
12489
|
/***************************************************************************
|
|
12427
12490
|
* *
|
|
12428
12491
|
* Private methods *
|
|
@@ -12595,24 +12658,12 @@ class ElderDataToolbarComponent {
|
|
|
12595
12658
|
const template = this.templates.find((item) => item.placeholderId === placeholderId);
|
|
12596
12659
|
return template ? template.templateRef : null;
|
|
12597
12660
|
}
|
|
12598
|
-
requestRemoveItems(items) {
|
|
12599
|
-
|
|
12600
|
-
|
|
12601
|
-
|
|
12602
|
-
|
|
12603
|
-
|
|
12604
|
-
yesNo: true,
|
|
12605
|
-
interpolateParams: { numOfItems: items.length },
|
|
12606
|
-
})
|
|
12607
|
-
.subscribe((confirmed) => {
|
|
12608
|
-
if (confirmed) {
|
|
12609
|
-
this.emitRemove(items);
|
|
12610
|
-
}
|
|
12611
|
-
});
|
|
12612
|
-
}
|
|
12613
|
-
else {
|
|
12614
|
-
this.emitRemove(items);
|
|
12615
|
-
}
|
|
12661
|
+
requestRemoveItems(items, event) {
|
|
12662
|
+
this.dialogService.confirmDelete({
|
|
12663
|
+
deletionCount: items.length,
|
|
12664
|
+
confirmRemoval: this.confirmRemoval,
|
|
12665
|
+
skipConfirm: event?.shiftKey
|
|
12666
|
+
}, () => this.emitRemove(items));
|
|
12616
12667
|
}
|
|
12617
12668
|
emitRemove(items) {
|
|
12618
12669
|
this.requestRemove.next(items);
|
|
@@ -12625,10 +12676,10 @@ class ElderDataToolbarComponent {
|
|
|
12625
12676
|
}
|
|
12626
12677
|
}
|
|
12627
12678
|
ElderDataToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElderDataToolbarComponent, deps: [{ token: SelectionModel, optional: true }, { token: ELDER_DATA_VIEW, optional: true }, { token: ElderDialogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
12628
|
-
ElderDataToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ElderDataToolbarComponent, selector: "elder-data-toolbar", inputs: { canAdd: "canAdd", canRemove: "canRemove", canMore: "canMore", confirmRemoval: "confirmRemoval", keepSelectionAfterRemoval: "keepSelectionAfterRemoval", selectionModel: "selectionModel" }, outputs: { requestNew: "requestNew", requestRemove: "requestRemove" }, queries: [{ propertyName: "templates", predicate: ElderToolbarContentDirective }], ngImport: i0, template: "<!-- Table Toolbar -->\n<div\n class=\"layout-row place-between-center gap-md\"\n style=\"padding: 0 8px 0 8px\"\n *ngIf=\"selection$ | async as selection\"\n>\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('main') || defaultContent;\n context: { $implicit: selection }\n \"\n ></ng-container>\n</div>\n\n<!-- Default Templates -->\n\n<!-- Default Main Content -->\n<ng-template #defaultContent let-selection>\n <!-- Left column -->\n <div class=\"layout-row place-start-center\">\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('left') || defaultLeftContent;\n context: { $implicit: selection }\n \"\n ></ng-container>\n </div>\n\n <div class=\"layout-row place-center-center flex\">\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('center') || defaultCenterContent;\n context: { $implicit: selection }\n \"\n ></ng-container>\n </div>\n\n <!-- Right column -->\n <div class=\"layout-row place-end-center\">\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('right') || defaultRightContent;\n context: { $implicit: selection }\n \"\n ></ng-container>\n </div>\n</ng-template>\n\n<!-- Default Left Content -->\n<ng-template #defaultLeftContent let-selection>\n <!-- Add Action -->\n <button\n mat-icon-button type=\"button\"\n color=\"primary\"\n *ngIf=\"canAdd\"\n (click)=\"requestNew.next($event)\"\n >\n <mat-icon>add</mat-icon>\n </button>\n\n <!-- Placeholder for additional actions -->\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('left.actions');\n context: { $implicit: selection }\n \"\n ></ng-container>\n</ng-template>\n\n<!-- Default Center Content -->\n<ng-template #defaultCenterContent let-selection></ng-template>\n\n<!-- Default Right Content -->\n<ng-template #defaultRightContent let-selection>\n <!-- Placeholder for additional actions -->\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('right.actions');\n context: { $implicit: selection }\n \"\n ></ng-container>\n\n <!-- Delete Action -->\n <button\n mat-icon-button type=\"button\"\n color=\"primary\"\n *ngIf=\"canRemove\"\n [disabled]=\"!selection?.length\"\n (click)=\"requestRemoveItems(selection)\"\n >\n <mat-icon>delete</mat-icon>\n </button>\n\n <!-- More Menu -->\n <button\n mat-icon-button type=\"button\"\n color=\"primary\"\n [matMenuTriggerFor]=\"elderTableMenu\"\n [disabled]=\"!canMore\"\n >\n <mat-icon>more_vert</mat-icon>\n <mat-menu #elderTableMenu=\"matMenu\">\n <ng-content select=\"[mat-menu-item]\"></ng-content>\n <!-- Placeholder for mat menu items-->\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('right.menu');\n context: { $implicit: selection }\n \"\n ></ng-container>\n </mat-menu>\n </button>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i8.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "directive", type: i8.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i5$2.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i1$4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
12679
|
+
ElderDataToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ElderDataToolbarComponent, selector: "elder-data-toolbar", inputs: { canAdd: "canAdd", canRemove: "canRemove", canMore: "canMore", confirmRemoval: "confirmRemoval", keepSelectionAfterRemoval: "keepSelectionAfterRemoval", selectionModel: "selectionModel" }, outputs: { requestNew: "requestNew", requestRemove: "requestRemove" }, queries: [{ propertyName: "templates", predicate: ElderToolbarContentDirective }], ngImport: i0, template: "<!-- Table Toolbar -->\n<div\n class=\"layout-row place-between-center gap-md\"\n style=\"padding: 0 8px 0 8px\"\n *ngIf=\"selection$ | async as selection\"\n>\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('main') || defaultContent;\n context: { $implicit: selection }\n \"\n ></ng-container>\n</div>\n\n<!-- Default Templates -->\n\n<!-- Default Main Content -->\n<ng-template #defaultContent let-selection>\n <!-- Left column -->\n <div class=\"layout-row place-start-center\">\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('left') || defaultLeftContent;\n context: { $implicit: selection }\n \"\n ></ng-container>\n </div>\n\n <div class=\"layout-row place-center-center flex\">\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('center') || defaultCenterContent;\n context: { $implicit: selection }\n \"\n ></ng-container>\n </div>\n\n <!-- Right column -->\n <div class=\"layout-row place-end-center\">\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('right') || defaultRightContent;\n context: { $implicit: selection }\n \"\n ></ng-container>\n </div>\n</ng-template>\n\n<!-- Default Left Content -->\n<ng-template #defaultLeftContent let-selection>\n <!-- Add Action -->\n <button\n mat-icon-button type=\"button\"\n color=\"primary\"\n *ngIf=\"canAdd\"\n (click)=\"requestNew.next($event)\"\n >\n <mat-icon>add</mat-icon>\n </button>\n\n <!-- Placeholder for additional actions -->\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('left.actions');\n context: { $implicit: selection }\n \"\n ></ng-container>\n</ng-template>\n\n<!-- Default Center Content -->\n<ng-template #defaultCenterContent let-selection></ng-template>\n\n<!-- Default Right Content -->\n<ng-template #defaultRightContent let-selection>\n <!-- Placeholder for additional actions -->\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('right.actions');\n context: { $implicit: selection }\n \"\n ></ng-container>\n\n <!-- Delete Action -->\n <button\n mat-icon-button type=\"button\"\n color=\"primary\"\n *ngIf=\"canRemove\"\n [disabled]=\"!selection?.length\"\n (click)=\"requestRemoveItems(selection, $event)\"\n >\n <mat-icon>delete</mat-icon>\n </button>\n\n <!-- More Menu -->\n <button\n mat-icon-button type=\"button\"\n color=\"primary\"\n [matMenuTriggerFor]=\"elderTableMenu\"\n [disabled]=\"!canMore\"\n >\n <mat-icon>more_vert</mat-icon>\n <mat-menu #elderTableMenu=\"matMenu\">\n <ng-content select=\"[mat-menu-item]\"></ng-content>\n <!-- Placeholder for mat menu items-->\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('right.menu');\n context: { $implicit: selection }\n \"\n ></ng-container>\n </mat-menu>\n </button>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i8.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "directive", type: i8.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i5$2.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i1$4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
12629
12680
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElderDataToolbarComponent, decorators: [{
|
|
12630
12681
|
type: Component,
|
|
12631
|
-
args: [{ selector: 'elder-data-toolbar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- Table Toolbar -->\n<div\n class=\"layout-row place-between-center gap-md\"\n style=\"padding: 0 8px 0 8px\"\n *ngIf=\"selection$ | async as selection\"\n>\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('main') || defaultContent;\n context: { $implicit: selection }\n \"\n ></ng-container>\n</div>\n\n<!-- Default Templates -->\n\n<!-- Default Main Content -->\n<ng-template #defaultContent let-selection>\n <!-- Left column -->\n <div class=\"layout-row place-start-center\">\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('left') || defaultLeftContent;\n context: { $implicit: selection }\n \"\n ></ng-container>\n </div>\n\n <div class=\"layout-row place-center-center flex\">\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('center') || defaultCenterContent;\n context: { $implicit: selection }\n \"\n ></ng-container>\n </div>\n\n <!-- Right column -->\n <div class=\"layout-row place-end-center\">\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('right') || defaultRightContent;\n context: { $implicit: selection }\n \"\n ></ng-container>\n </div>\n</ng-template>\n\n<!-- Default Left Content -->\n<ng-template #defaultLeftContent let-selection>\n <!-- Add Action -->\n <button\n mat-icon-button type=\"button\"\n color=\"primary\"\n *ngIf=\"canAdd\"\n (click)=\"requestNew.next($event)\"\n >\n <mat-icon>add</mat-icon>\n </button>\n\n <!-- Placeholder for additional actions -->\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('left.actions');\n context: { $implicit: selection }\n \"\n ></ng-container>\n</ng-template>\n\n<!-- Default Center Content -->\n<ng-template #defaultCenterContent let-selection></ng-template>\n\n<!-- Default Right Content -->\n<ng-template #defaultRightContent let-selection>\n <!-- Placeholder for additional actions -->\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('right.actions');\n context: { $implicit: selection }\n \"\n ></ng-container>\n\n <!-- Delete Action -->\n <button\n mat-icon-button type=\"button\"\n color=\"primary\"\n *ngIf=\"canRemove\"\n [disabled]=\"!selection?.length\"\n (click)=\"requestRemoveItems(selection)\"\n >\n <mat-icon>delete</mat-icon>\n </button>\n\n <!-- More Menu -->\n <button\n mat-icon-button type=\"button\"\n color=\"primary\"\n [matMenuTriggerFor]=\"elderTableMenu\"\n [disabled]=\"!canMore\"\n >\n <mat-icon>more_vert</mat-icon>\n <mat-menu #elderTableMenu=\"matMenu\">\n <ng-content select=\"[mat-menu-item]\"></ng-content>\n <!-- Placeholder for mat menu items-->\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('right.menu');\n context: { $implicit: selection }\n \"\n ></ng-container>\n </mat-menu>\n </button>\n</ng-template>\n" }]
|
|
12682
|
+
args: [{ selector: 'elder-data-toolbar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- Table Toolbar -->\n<div\n class=\"layout-row place-between-center gap-md\"\n style=\"padding: 0 8px 0 8px\"\n *ngIf=\"selection$ | async as selection\"\n>\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('main') || defaultContent;\n context: { $implicit: selection }\n \"\n ></ng-container>\n</div>\n\n<!-- Default Templates -->\n\n<!-- Default Main Content -->\n<ng-template #defaultContent let-selection>\n <!-- Left column -->\n <div class=\"layout-row place-start-center\">\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('left') || defaultLeftContent;\n context: { $implicit: selection }\n \"\n ></ng-container>\n </div>\n\n <div class=\"layout-row place-center-center flex\">\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('center') || defaultCenterContent;\n context: { $implicit: selection }\n \"\n ></ng-container>\n </div>\n\n <!-- Right column -->\n <div class=\"layout-row place-end-center\">\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('right') || defaultRightContent;\n context: { $implicit: selection }\n \"\n ></ng-container>\n </div>\n</ng-template>\n\n<!-- Default Left Content -->\n<ng-template #defaultLeftContent let-selection>\n <!-- Add Action -->\n <button\n mat-icon-button type=\"button\"\n color=\"primary\"\n *ngIf=\"canAdd\"\n (click)=\"requestNew.next($event)\"\n >\n <mat-icon>add</mat-icon>\n </button>\n\n <!-- Placeholder for additional actions -->\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('left.actions');\n context: { $implicit: selection }\n \"\n ></ng-container>\n</ng-template>\n\n<!-- Default Center Content -->\n<ng-template #defaultCenterContent let-selection></ng-template>\n\n<!-- Default Right Content -->\n<ng-template #defaultRightContent let-selection>\n <!-- Placeholder for additional actions -->\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('right.actions');\n context: { $implicit: selection }\n \"\n ></ng-container>\n\n <!-- Delete Action -->\n <button\n mat-icon-button type=\"button\"\n color=\"primary\"\n *ngIf=\"canRemove\"\n [disabled]=\"!selection?.length\"\n (click)=\"requestRemoveItems(selection, $event)\"\n >\n <mat-icon>delete</mat-icon>\n </button>\n\n <!-- More Menu -->\n <button\n mat-icon-button type=\"button\"\n color=\"primary\"\n [matMenuTriggerFor]=\"elderTableMenu\"\n [disabled]=\"!canMore\"\n >\n <mat-icon>more_vert</mat-icon>\n <mat-menu #elderTableMenu=\"matMenu\">\n <ng-content select=\"[mat-menu-item]\"></ng-content>\n <!-- Placeholder for mat menu items-->\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('right.menu');\n context: { $implicit: selection }\n \"\n ></ng-container>\n </mat-menu>\n </button>\n</ng-template>\n" }]
|
|
12632
12683
|
}], ctorParameters: function () { return [{ type: SelectionModel, decorators: [{
|
|
12633
12684
|
type: Optional
|
|
12634
12685
|
}] }, { type: undefined, decorators: [{
|
|
@@ -16161,7 +16212,7 @@ class ElderTableActivationDirective {
|
|
|
16161
16212
|
* *
|
|
16162
16213
|
**************************************************************************/
|
|
16163
16214
|
this.logger = LoggerFactory.getLogger(this.constructor.name);
|
|
16164
|
-
this.
|
|
16215
|
+
this.destroy$ = new Subject();
|
|
16165
16216
|
this.activeItem$ = new BehaviorSubject(null);
|
|
16166
16217
|
this.activationOptions = {};
|
|
16167
16218
|
this._data = [];
|
|
@@ -16175,47 +16226,17 @@ class ElderTableActivationDirective {
|
|
|
16175
16226
|
ngAfterViewInit() {
|
|
16176
16227
|
const rows$ = this.elderTable.rows$;
|
|
16177
16228
|
const data$ = this.elderTable.dataContext$.pipe(switchMap(dc => dc.data), tap(data => this._data = data));
|
|
16178
|
-
combineLatest([rows$, data$]).pipe(takeUntil(this.
|
|
16229
|
+
combineLatest([rows$, data$]).pipe(takeUntil(this.destroy$)).subscribe(([rows, data]) => {
|
|
16179
16230
|
this.rows$.next(this.rowDataUpdated(rows, data));
|
|
16231
|
+
this.handleAutoActivations();
|
|
16180
16232
|
});
|
|
16181
|
-
combineLatest([this.rows$, this.activeItem$]).pipe(takeUntil(this.
|
|
16182
|
-
|
|
16183
|
-
updateRowsActivation(rows, activeItem) {
|
|
16184
|
-
const activeId = this.getId(activeItem);
|
|
16185
|
-
rows.forEach(row => {
|
|
16186
|
-
this.updateRowActivation(row, activeId);
|
|
16187
|
-
});
|
|
16188
|
-
}
|
|
16189
|
-
updateRowActivation(row, activeId) {
|
|
16190
|
-
if (row.model) {
|
|
16191
|
-
if (this.itemEqualsId(row.model, activeId)) {
|
|
16192
|
-
if (!row.activated) {
|
|
16193
|
-
row.activated = true;
|
|
16194
|
-
this.logger.debug('Activated row: ', row);
|
|
16195
|
-
if (!row.hasFocus) {
|
|
16196
|
-
row.bringToView();
|
|
16197
|
-
}
|
|
16198
|
-
}
|
|
16199
|
-
}
|
|
16200
|
-
else {
|
|
16201
|
-
row.activated = false;
|
|
16202
|
-
}
|
|
16203
|
-
}
|
|
16204
|
-
else {
|
|
16205
|
-
row.activated = false;
|
|
16206
|
-
}
|
|
16207
|
-
}
|
|
16208
|
-
rowDataUpdated(rows, data) {
|
|
16209
|
-
// this.logger.debug('Found rows:', rows);
|
|
16210
|
-
rows.forEach(row => {
|
|
16211
|
-
row.bindTableActivation(this);
|
|
16233
|
+
combineLatest([this.rows$, this.activeItem$]).pipe(takeUntil(this.destroy$)).subscribe(([rows, activeItem]) => {
|
|
16234
|
+
this.updateRowsActivation(rows, activeItem);
|
|
16212
16235
|
});
|
|
16213
|
-
this.handleAutoActivations();
|
|
16214
|
-
return rows;
|
|
16215
16236
|
}
|
|
16216
16237
|
ngOnDestroy() {
|
|
16217
|
-
this.
|
|
16218
|
-
this.
|
|
16238
|
+
this.destroy$.next();
|
|
16239
|
+
this.destroy$.complete();
|
|
16219
16240
|
// this.elderTable.rows$.getValue().forEach(r => r.bindTableActivation(null));
|
|
16220
16241
|
}
|
|
16221
16242
|
/***************************************************************************
|
|
@@ -16285,11 +16306,54 @@ class ElderTableActivationDirective {
|
|
|
16285
16306
|
return false;
|
|
16286
16307
|
}
|
|
16287
16308
|
}
|
|
16309
|
+
hasItemFocus(item) {
|
|
16310
|
+
const row = this.getRowForItem(item);
|
|
16311
|
+
return row.hasFocus;
|
|
16312
|
+
}
|
|
16313
|
+
nextCloseTo(active) {
|
|
16314
|
+
const next = this.nextRowItem();
|
|
16315
|
+
if (next !== active) {
|
|
16316
|
+
return next;
|
|
16317
|
+
}
|
|
16318
|
+
return this.previousRowItem();
|
|
16319
|
+
}
|
|
16288
16320
|
/***************************************************************************
|
|
16289
16321
|
* *
|
|
16290
16322
|
* Private methods *
|
|
16291
16323
|
* *
|
|
16292
16324
|
**************************************************************************/
|
|
16325
|
+
updateRowsActivation(rows, activeItem) {
|
|
16326
|
+
const activeId = this.getId(activeItem);
|
|
16327
|
+
rows.forEach(row => {
|
|
16328
|
+
this.updateRowActivation(row, activeId);
|
|
16329
|
+
});
|
|
16330
|
+
}
|
|
16331
|
+
updateRowActivation(row, activeId) {
|
|
16332
|
+
if (row.model) {
|
|
16333
|
+
if (this.itemEqualsId(row.model, activeId)) {
|
|
16334
|
+
if (!row.activated) {
|
|
16335
|
+
row.activated = true;
|
|
16336
|
+
this.logger.debug('Activated row: ', row);
|
|
16337
|
+
if (!row.hasFocus) {
|
|
16338
|
+
row.bringToView();
|
|
16339
|
+
}
|
|
16340
|
+
}
|
|
16341
|
+
}
|
|
16342
|
+
else {
|
|
16343
|
+
row.activated = false;
|
|
16344
|
+
}
|
|
16345
|
+
}
|
|
16346
|
+
else {
|
|
16347
|
+
row.activated = false;
|
|
16348
|
+
}
|
|
16349
|
+
}
|
|
16350
|
+
rowDataUpdated(rows, data) {
|
|
16351
|
+
// this.logger.debug('Found rows:', rows);
|
|
16352
|
+
rows.forEach(row => {
|
|
16353
|
+
row.bindTableActivation(this);
|
|
16354
|
+
});
|
|
16355
|
+
return rows;
|
|
16356
|
+
}
|
|
16293
16357
|
getRowForItem(item) {
|
|
16294
16358
|
const rows = this.rows$.getValue();
|
|
16295
16359
|
return rows.find(r => r.model === item);
|
|
@@ -16297,7 +16361,8 @@ class ElderTableActivationDirective {
|
|
|
16297
16361
|
handleAutoActivations() {
|
|
16298
16362
|
if (!this.hasActiveItem || this.activationOptions.mode === 'always') {
|
|
16299
16363
|
switch (this.activationOptions.row) {
|
|
16300
|
-
case 'none':
|
|
16364
|
+
case 'none':
|
|
16365
|
+
break;
|
|
16301
16366
|
case 'first':
|
|
16302
16367
|
this.activateFirst();
|
|
16303
16368
|
break;
|
|
@@ -16428,6 +16493,113 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
16428
16493
|
}]
|
|
16429
16494
|
}], ctorParameters: function () { return []; } });
|
|
16430
16495
|
|
|
16496
|
+
class ActiveDeleted {
|
|
16497
|
+
constructor(deleted, next) {
|
|
16498
|
+
this.deleted = deleted;
|
|
16499
|
+
this.next = next;
|
|
16500
|
+
}
|
|
16501
|
+
}
|
|
16502
|
+
class ElderDeleteActiveDirective {
|
|
16503
|
+
/***************************************************************************
|
|
16504
|
+
* *
|
|
16505
|
+
* Constructor *
|
|
16506
|
+
* *
|
|
16507
|
+
**************************************************************************/
|
|
16508
|
+
constructor(activation, elderDialog) {
|
|
16509
|
+
this.activation = activation;
|
|
16510
|
+
this.elderDialog = elderDialog;
|
|
16511
|
+
/***************************************************************************
|
|
16512
|
+
* *
|
|
16513
|
+
* Fields *
|
|
16514
|
+
* *
|
|
16515
|
+
**************************************************************************/
|
|
16516
|
+
this.logger = LoggerFactory.getLogger(this.constructor.name);
|
|
16517
|
+
this.latestDeleteRequest = null;
|
|
16518
|
+
this.destroy$ = new Subject();
|
|
16519
|
+
/**
|
|
16520
|
+
* Emits when the active item should be deleted.
|
|
16521
|
+
*/
|
|
16522
|
+
this.requestDelete = new EventEmitter();
|
|
16523
|
+
/**
|
|
16524
|
+
* Emits when the active item should be deleted.
|
|
16525
|
+
*/
|
|
16526
|
+
this.elderDeleteActive = this.requestDelete;
|
|
16527
|
+
this.confirmDeletion = true;
|
|
16528
|
+
}
|
|
16529
|
+
/***************************************************************************
|
|
16530
|
+
* *
|
|
16531
|
+
* Life Cycle *
|
|
16532
|
+
* *
|
|
16533
|
+
**************************************************************************/
|
|
16534
|
+
ngOnInit() {
|
|
16535
|
+
this.activation.rows$.subscribe({
|
|
16536
|
+
next: rows => {
|
|
16537
|
+
this.checkActivateNext();
|
|
16538
|
+
}
|
|
16539
|
+
});
|
|
16540
|
+
}
|
|
16541
|
+
ngOnDestroy() {
|
|
16542
|
+
this.destroy$.next();
|
|
16543
|
+
this.destroy$.complete();
|
|
16544
|
+
}
|
|
16545
|
+
/***************************************************************************
|
|
16546
|
+
* *.
|
|
16547
|
+
* Host Listeners *
|
|
16548
|
+
* *
|
|
16549
|
+
**************************************************************************/
|
|
16550
|
+
onKeydown(event) {
|
|
16551
|
+
if (event.key == 'Backspace' || event.key === 'Delete') {
|
|
16552
|
+
const active = this.activation.activeItem;
|
|
16553
|
+
if (this.activation.hasItemFocus(active)) {
|
|
16554
|
+
event.stopPropagation();
|
|
16555
|
+
this.elderDialog.confirmDelete({
|
|
16556
|
+
deletionCount: 1,
|
|
16557
|
+
confirmRemoval: this.confirmDeletion,
|
|
16558
|
+
skipConfirm: event.shiftKey
|
|
16559
|
+
}, () => {
|
|
16560
|
+
this.logger.debug('Deleting current row was requested: ', active);
|
|
16561
|
+
this.emitDelete(active);
|
|
16562
|
+
}, () => {
|
|
16563
|
+
this.activation.focusAndActivate(active);
|
|
16564
|
+
});
|
|
16565
|
+
}
|
|
16566
|
+
}
|
|
16567
|
+
}
|
|
16568
|
+
/***************************************************************************
|
|
16569
|
+
* *
|
|
16570
|
+
* Private methods *
|
|
16571
|
+
* *
|
|
16572
|
+
**************************************************************************/
|
|
16573
|
+
checkActivateNext() {
|
|
16574
|
+
if (this.latestDeleteRequest?.next) {
|
|
16575
|
+
this.activation.focusAndActivate(this.latestDeleteRequest.next);
|
|
16576
|
+
this.latestDeleteRequest = null;
|
|
16577
|
+
return true;
|
|
16578
|
+
}
|
|
16579
|
+
return false;
|
|
16580
|
+
}
|
|
16581
|
+
emitDelete(active) {
|
|
16582
|
+
this.latestDeleteRequest = new ActiveDeleted(active, this.activation.nextCloseTo(active));
|
|
16583
|
+
this.requestDelete.emit(active);
|
|
16584
|
+
}
|
|
16585
|
+
}
|
|
16586
|
+
ElderDeleteActiveDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElderDeleteActiveDirective, deps: [{ token: ElderTableActivationDirective }, { token: ElderDialogService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
16587
|
+
ElderDeleteActiveDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: ElderDeleteActiveDirective, selector: "[elderDeleteActive]", inputs: { confirmDeletion: "confirmDeletion" }, outputs: { elderDeleteActive: "elderDeleteActive" }, host: { listeners: { "keydown": "onKeydown($event)" } }, exportAs: ["elderDeleteActive"], ngImport: i0 });
|
|
16588
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElderDeleteActiveDirective, decorators: [{
|
|
16589
|
+
type: Directive,
|
|
16590
|
+
args: [{
|
|
16591
|
+
selector: '[elderDeleteActive]',
|
|
16592
|
+
exportAs: 'elderDeleteActive'
|
|
16593
|
+
}]
|
|
16594
|
+
}], ctorParameters: function () { return [{ type: ElderTableActivationDirective }, { type: ElderDialogService }]; }, propDecorators: { elderDeleteActive: [{
|
|
16595
|
+
type: Output
|
|
16596
|
+
}], confirmDeletion: [{
|
|
16597
|
+
type: Input
|
|
16598
|
+
}], onKeydown: [{
|
|
16599
|
+
type: HostListener,
|
|
16600
|
+
args: ['keydown', ['$event']]
|
|
16601
|
+
}] } });
|
|
16602
|
+
|
|
16431
16603
|
class ElderTableModule {
|
|
16432
16604
|
}
|
|
16433
16605
|
ElderTableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElderTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
@@ -16439,7 +16611,8 @@ ElderTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
|
|
|
16439
16611
|
ElderTableRowDirective,
|
|
16440
16612
|
ElderTableExtensionDirective,
|
|
16441
16613
|
ElderTableColumnDirective,
|
|
16442
|
-
ElderTableRootDirective
|
|
16614
|
+
ElderTableRootDirective,
|
|
16615
|
+
ElderDeleteActiveDirective], imports: [CommonModule, RouterModule, FormsModule,
|
|
16443
16616
|
// Material
|
|
16444
16617
|
MatDividerModule,
|
|
16445
16618
|
MatCheckboxModule,
|
|
@@ -16458,7 +16631,8 @@ ElderTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
|
|
|
16458
16631
|
ElderNumberCellDirective,
|
|
16459
16632
|
ElderTableActivationDirective,
|
|
16460
16633
|
ElderTableExtensionDirective,
|
|
16461
|
-
ElderTableRootDirective
|
|
16634
|
+
ElderTableRootDirective,
|
|
16635
|
+
ElderDeleteActiveDirective] });
|
|
16462
16636
|
ElderTableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElderTableModule, providers: [
|
|
16463
16637
|
{
|
|
16464
16638
|
provide: MatPaginatorIntl, deps: [TranslateService],
|
|
@@ -16504,7 +16678,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
16504
16678
|
ElderTableRowDirective,
|
|
16505
16679
|
ElderTableExtensionDirective,
|
|
16506
16680
|
ElderTableColumnDirective,
|
|
16507
|
-
ElderTableRootDirective
|
|
16681
|
+
ElderTableRootDirective,
|
|
16682
|
+
ElderDeleteActiveDirective
|
|
16508
16683
|
],
|
|
16509
16684
|
exports: [
|
|
16510
16685
|
ElderTableComponent,
|
|
@@ -16514,7 +16689,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
16514
16689
|
ElderNumberCellDirective,
|
|
16515
16690
|
ElderTableActivationDirective,
|
|
16516
16691
|
ElderTableExtensionDirective,
|
|
16517
|
-
ElderTableRootDirective
|
|
16692
|
+
ElderTableRootDirective,
|
|
16693
|
+
ElderDeleteActiveDirective
|
|
16518
16694
|
],
|
|
16519
16695
|
providers: [
|
|
16520
16696
|
{
|
|
@@ -24108,7 +24284,7 @@ ElderSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
|
|
|
24108
24284
|
provide: ELDER_SELECT_BASE,
|
|
24109
24285
|
useExisting: forwardRef(() => ElderSelectComponent)
|
|
24110
24286
|
}
|
|
24111
|
-
], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n *ngIf=\"(entityWrapped$ | async) as entityWrapper\"\n class=\"layout-row place-start-center elder-flex-control\"\n>\n <ng-container *ngIf=\"(mergedState$ | async) as state\">\n <div *ngIf=\"state?.error || icon\"\n class=\"elder-input-prefix-icon-container flex-none\"\n >\n <mat-icon *ngIf=\"icon\" disabled\n class=\"elder-mdc-control-icon elder-icon-small noselect clickable-icon\"\n [class.loading]=\"state.loading\"\n [color]=\"state?.error ? 'warn' : (focused ? 'primary' : undefined)\"\n (click)=\"onCurrentClicked(entity)\"\n >\n {{icon}}\n </mat-icon>\n <mat-icon *ngIf=\"!icon && state?.error\"\n class=\"elder-mdc-control-icon elder-icon-small noselect\"\n color=\"warn\"\n [matTooltip]=\"state?.error\"\n >\n warning\n </mat-icon>\n </div>\n </ng-container>\n\n <!-- A dynamic input -->\n <input #input\n matInput type=\"text\" class=\"flex-grow elder-select-input mdc-text-field__input\"\n [disabled]=\"!!disabled\"\n [required]=\"!!required\"\n [readonly]=\"readonly || !autocomplete\"\n [name]=\"ngControl?.name + '-inner-input'\"\n [placeholder]=\"placeholder | translate\"\n [matAutocomplete] #autoTrigger=\"matAutocompleteTrigger\"\n [elderAutocomplete]=\"elderAuto\" [queryFilter]=\"queryFilter\" [filters]=\"filters\" [sorts]=\"sorts\"\n elderSelectOnTab\n [class.elder-select-dropdown-input]=\"!autocomplete\"\n [ngModel]=\"inputText$ | async\" [ngModelOptions]=\"{standalone: true, updateOn: 'submit'}\"\n (blur)=\"onInputBlur($event)\"\n (focus)=\"onInputFocus(autoTrigger)\"\n (click)=\"onInputClicked(autoTrigger)\"\n >\n\n <!-- This breaks stuff: [displayWith]=\"displayPropertyResolver$ | async\" -->\n\n <elder-autocomplete\n #elderAuto=\"elderAutocomplete\"\n [dataContext]=\"dataContext$ | async\"\n [valueTemplate]=\"valueTemplate\"\n [enabled]=\"!!autocomplete\"\n [displayPropertyResolver]=\"displayPropertyResolver$ | async\"\n [isOptionDisabledFn]=\"isOptionDisabledInternalFn\"\n [isOptionHiddenFn]=\"isOptionHiddenInternalFn\"\n (optionSelected)=\"onOptionSelected($any($event))\"\n ></elder-autocomplete>\n\n <div class=\"layout-row place-start-center flex-none\">\n\n <mat-icon\n *ngIf=\"!selectionPopup && !autocomplete && !entityWrapper.displayRemove\"\n class=\"elder-mdc-control-icon elder-select-arrow noselect\"\n (click)=\"onInputClicked(autoTrigger)\">\n arrow_drop_down\n </mat-icon>\n\n <button mat-icon-button type=\"button\" class=\"elder-control-icon-button\"\n *ngIf=\"selectionPopup && !entityWrapper.displayRemove\"\n [disabled]=\"isLocked\"\n (click)=\"openSelectionPopup($event)\" aria-label=\"Search\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon class=\"elder-mdc-control-icon\">search</mat-icon>\n </button>\n\n <button mat-icon-button type=\"button\" class=\"elder-control-icon-button\"\n *ngIf=\"entityWrapper.displayRemove\"\n [disabled]=\"isLocked\"\n (click)=\"clear($event)\" aria-label=\"Clear\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon class=\"elder-mdc-control-icon\">close</mat-icon>\n </button>\n\n\n </div>\n</div>\n\n\n\n", styles: ["@keyframes shrink{0%{transform:scale(1)}to{transform:scale(.75)}}.loading{animation:shrink .3s ease-in-out infinite alternate;-webkit-animation:shrink .3s ease-in-out infinite alternate}.clickable-icon{cursor:pointer}.full-width{width:100%}.elder-select-dropdown-input{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5$2.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i1$5.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: ElderStopEventPropagationDirective, selector: "[elderStopEventPropagation]" }, { kind: "component", type: ElderAutocompleteComponent, selector: "elder-autocomplete", inputs: ["isOptionDisabledFn", "isOptionHiddenFn", "optionValueConverterFn", "enabled", "valueTemplate", "dataContext", "displayPropertyResolver"], outputs: ["optionSelected"], exportAs: ["elderAutocomplete"] }, { kind: "directive", type: ElderAutocompleteDirective, selector: "[elderAutocomplete]", inputs: ["queryFilter", "filters", "sorts", "elderAutocomplete"] }, { kind: "directive", type:
|
|
24287
|
+
], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n *ngIf=\"(entityWrapped$ | async) as entityWrapper\"\n class=\"layout-row place-start-center elder-flex-control\"\n>\n <ng-container *ngIf=\"(mergedState$ | async) as state\">\n <div *ngIf=\"state?.error || icon\"\n class=\"elder-input-prefix-icon-container flex-none\"\n >\n <mat-icon *ngIf=\"icon\" disabled\n class=\"elder-mdc-control-icon elder-icon-small noselect clickable-icon\"\n [class.loading]=\"state.loading\"\n [color]=\"state?.error ? 'warn' : (focused ? 'primary' : undefined)\"\n (click)=\"onCurrentClicked(entity)\"\n >\n {{icon}}\n </mat-icon>\n <mat-icon *ngIf=\"!icon && state?.error\"\n class=\"elder-mdc-control-icon elder-icon-small noselect\"\n color=\"warn\"\n [matTooltip]=\"state?.error\"\n >\n warning\n </mat-icon>\n </div>\n </ng-container>\n\n <!-- A dynamic input -->\n <input #input\n matInput type=\"text\" class=\"flex-grow elder-select-input mdc-text-field__input\"\n [disabled]=\"!!disabled\"\n [required]=\"!!required\"\n [readonly]=\"readonly || !autocomplete\"\n [name]=\"ngControl?.name + '-inner-input'\"\n [placeholder]=\"placeholder | translate\"\n [matAutocomplete] #autoTrigger=\"matAutocompleteTrigger\"\n [elderAutocomplete]=\"elderAuto\" [queryFilter]=\"queryFilter\" [filters]=\"filters\" [sorts]=\"sorts\"\n elderSelectOnTab\n [class.elder-select-dropdown-input]=\"!autocomplete\"\n [ngModel]=\"inputText$ | async\" [ngModelOptions]=\"{standalone: true, updateOn: 'submit'}\"\n (blur)=\"onInputBlur($event)\"\n (focus)=\"onInputFocus(autoTrigger)\"\n (click)=\"onInputClicked(autoTrigger)\"\n >\n\n <!-- This breaks stuff: [displayWith]=\"displayPropertyResolver$ | async\" -->\n\n <elder-autocomplete\n #elderAuto=\"elderAutocomplete\"\n [dataContext]=\"dataContext$ | async\"\n [valueTemplate]=\"valueTemplate\"\n [enabled]=\"!!autocomplete\"\n [displayPropertyResolver]=\"displayPropertyResolver$ | async\"\n [isOptionDisabledFn]=\"isOptionDisabledInternalFn\"\n [isOptionHiddenFn]=\"isOptionHiddenInternalFn\"\n (optionSelected)=\"onOptionSelected($any($event))\"\n ></elder-autocomplete>\n\n <div class=\"layout-row place-start-center flex-none\">\n\n <mat-icon\n *ngIf=\"!selectionPopup && !autocomplete && !entityWrapper.displayRemove\"\n class=\"elder-mdc-control-icon elder-select-arrow noselect\"\n (click)=\"onInputClicked(autoTrigger)\">\n arrow_drop_down\n </mat-icon>\n\n <button mat-icon-button type=\"button\" class=\"elder-control-icon-button\"\n *ngIf=\"selectionPopup && !entityWrapper.displayRemove\"\n [disabled]=\"isLocked\"\n (click)=\"openSelectionPopup($event)\" aria-label=\"Search\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon class=\"elder-mdc-control-icon\">search</mat-icon>\n </button>\n\n <button mat-icon-button type=\"button\" class=\"elder-control-icon-button\"\n *ngIf=\"entityWrapper.displayRemove\"\n [disabled]=\"isLocked\"\n (click)=\"clear($event)\" aria-label=\"Clear\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon class=\"elder-mdc-control-icon\">close</mat-icon>\n </button>\n\n\n </div>\n</div>\n\n\n\n", styles: ["@keyframes shrink{0%{transform:scale(1)}to{transform:scale(.75)}}.loading{animation:shrink .3s ease-in-out infinite alternate;-webkit-animation:shrink .3s ease-in-out infinite alternate}.clickable-icon{cursor:pointer}.full-width{width:100%}.elder-select-dropdown-input{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5$2.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i1$5.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: i4$5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: ElderStopEventPropagationDirective, selector: "[elderStopEventPropagation]" }, { kind: "component", type: ElderAutocompleteComponent, selector: "elder-autocomplete", inputs: ["isOptionDisabledFn", "isOptionHiddenFn", "optionValueConverterFn", "enabled", "valueTemplate", "dataContext", "displayPropertyResolver"], outputs: ["optionSelected"], exportAs: ["elderAutocomplete"] }, { kind: "directive", type: ElderAutocompleteDirective, selector: "[elderAutocomplete]", inputs: ["queryFilter", "filters", "sorts", "elderAutocomplete"] }, { kind: "directive", type: ElderSelectOnTabDirective, selector: "[elderSelectOnTab]" }, { kind: "pipe", type: i1$4.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
24112
24288
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElderSelectComponent, decorators: [{
|
|
24113
24289
|
type: Component,
|
|
24114
24290
|
args: [{ selector: 'elder-select', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
@@ -24512,16 +24688,15 @@ class ElderMultiSelectBase extends ElderSelectBase {
|
|
|
24512
24688
|
return this._entityIds$;
|
|
24513
24689
|
}
|
|
24514
24690
|
set entities(entities) {
|
|
24515
|
-
if (!this.
|
|
24516
|
-
|
|
24517
|
-
this.writeValueInternal(this.entitiesToValues(entities));
|
|
24691
|
+
if (!this.equalEntitiesExactOrder(this.entities, entities)) {
|
|
24692
|
+
this.writeValueInternal(this.entitiesToValues(this.writeEntitiesSorted(entities)));
|
|
24518
24693
|
}
|
|
24519
24694
|
}
|
|
24520
24695
|
get entities() {
|
|
24521
24696
|
return this._entities$.getValue();
|
|
24522
24697
|
}
|
|
24523
24698
|
set entityIds(ids) {
|
|
24524
|
-
if (!this.
|
|
24699
|
+
if (!this.equalIdsExactOrder(this.entityIds, ids)) {
|
|
24525
24700
|
if (this.valueAsId) {
|
|
24526
24701
|
this.writeValueInternal(ids);
|
|
24527
24702
|
}
|
|
@@ -24576,23 +24751,11 @@ class ElderMultiSelectBase extends ElderSelectBase {
|
|
|
24576
24751
|
this.requestRemoveEntities([toRemove], skipConfirm);
|
|
24577
24752
|
}
|
|
24578
24753
|
requestRemoveEntities(toRemove, skipConfirm) {
|
|
24579
|
-
|
|
24580
|
-
|
|
24581
|
-
|
|
24582
|
-
|
|
24583
|
-
|
|
24584
|
-
yesNo: true,
|
|
24585
|
-
interpolateParams: { numOfItems: toRemove.length },
|
|
24586
|
-
})
|
|
24587
|
-
.subscribe((confirmed) => {
|
|
24588
|
-
if (confirmed) {
|
|
24589
|
-
this.removeEntities(toRemove);
|
|
24590
|
-
}
|
|
24591
|
-
});
|
|
24592
|
-
}
|
|
24593
|
-
else {
|
|
24594
|
-
this.removeEntities(toRemove);
|
|
24595
|
-
}
|
|
24754
|
+
this.dialogService.confirmDelete({
|
|
24755
|
+
deletionCount: toRemove.length,
|
|
24756
|
+
confirmRemoval: this.confirmRemoval,
|
|
24757
|
+
skipConfirm: skipConfirm
|
|
24758
|
+
}, () => this.removeEntities(toRemove));
|
|
24596
24759
|
}
|
|
24597
24760
|
removeEntities(toRemove) {
|
|
24598
24761
|
toRemove.forEach(e => this.removeEntity(e));
|
|
@@ -24625,7 +24788,7 @@ class ElderMultiSelectBase extends ElderSelectBase {
|
|
|
24625
24788
|
* *
|
|
24626
24789
|
**************************************************************************/
|
|
24627
24790
|
valuesEquals(a, b) {
|
|
24628
|
-
return this.
|
|
24791
|
+
return this.equalIdsExactOrder(this.entityIdsFromValues(a), this.entityIdsFromValues(b));
|
|
24629
24792
|
}
|
|
24630
24793
|
onDataContextChanged(data) {
|
|
24631
24794
|
if (this.valueAsId) {
|
|
@@ -24700,9 +24863,15 @@ class ElderMultiSelectBase extends ElderSelectBase {
|
|
|
24700
24863
|
equalIds(idsA, idsB) {
|
|
24701
24864
|
return Sets.equalContent(idsA, idsB);
|
|
24702
24865
|
}
|
|
24866
|
+
equalIdsExactOrder(idsA, idsB) {
|
|
24867
|
+
return Arrays.equalContentAndOrder(idsA, idsB);
|
|
24868
|
+
}
|
|
24703
24869
|
equalEntities(entitiesA, entitiesB) {
|
|
24704
24870
|
return this.equalIds(this.getEntityIds(entitiesA), this.getEntityIds(entitiesB));
|
|
24705
24871
|
}
|
|
24872
|
+
equalEntitiesExactOrder(entitiesA, entitiesB) {
|
|
24873
|
+
return this.equalIdsExactOrder(this.getEntityIds(entitiesA), this.getEntityIds(entitiesB));
|
|
24874
|
+
}
|
|
24706
24875
|
selectEntitiesByIds(ids) {
|
|
24707
24876
|
const currentEntities = this.entities;
|
|
24708
24877
|
this.logger.info('selectEntitiesByIds: ids: ' + ids + ', current entities:', currentEntities);
|
|
@@ -24915,6 +25084,8 @@ class ElderMultiSelectChipsComponent extends ElderMultiSelectBase {
|
|
|
24915
25084
|
this.avatarSpecFn = e => this.defaultAvatarSpec;
|
|
24916
25085
|
this.selectable = true;
|
|
24917
25086
|
this.allowRemove = true;
|
|
25087
|
+
this.allowSorting = false;
|
|
25088
|
+
this.stacked = false;
|
|
24918
25089
|
this.chipTemplate$ = new BehaviorSubject(null);
|
|
24919
25090
|
this.chipAvatarTemplate$ = new BehaviorSubject(null);
|
|
24920
25091
|
this.customInputTemplate$ = new BehaviorSubject(null);
|
|
@@ -25018,6 +25189,11 @@ class ElderMultiSelectChipsComponent extends ElderMultiSelectBase {
|
|
|
25018
25189
|
* Public API *
|
|
25019
25190
|
* *
|
|
25020
25191
|
**************************************************************************/
|
|
25192
|
+
drop(event) {
|
|
25193
|
+
const reordered = [...this.entities];
|
|
25194
|
+
moveItemInArray(reordered, event.previousIndex, event.currentIndex);
|
|
25195
|
+
this.entities = reordered;
|
|
25196
|
+
}
|
|
25021
25197
|
resolveChipValue(e1) {
|
|
25022
25198
|
return this.getEntityId(e1);
|
|
25023
25199
|
}
|
|
@@ -25070,13 +25246,13 @@ class ElderMultiSelectChipsComponent extends ElderMultiSelectBase {
|
|
|
25070
25246
|
}
|
|
25071
25247
|
}
|
|
25072
25248
|
ElderMultiSelectChipsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElderMultiSelectChipsComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1$1.FocusMonitor }, { token: i2.TranslateService }, { token: ElderDialogService }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
25073
|
-
ElderMultiSelectChipsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ElderMultiSelectChipsComponent, selector: "elder-multi-select-chips", inputs: { defaultAvatarSpec: "defaultAvatarSpec", avatarSpecFn: "avatarSpecFn", allowRemove: "allowRemove", chipTemplate: "chipTemplate", chipAvatarTemplate: "chipAvatarTemplate", customInputTemplate: "customInputTemplate", chipColorEnabled: "chipColorEnabled", chipColorResolver: "chipColorResolver" }, host: { properties: { "class": "this.hostClass", "class.mat-select-disabled": "this.disabledClass", "class.mat-select-invalid": "this.errorStateClass", "class.mat-select-required": "this.requiredClass", "class.mat-select-empty": "this.emptyClass" } }, providers: [
|
|
25249
|
+
ElderMultiSelectChipsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ElderMultiSelectChipsComponent, selector: "elder-multi-select-chips", inputs: { defaultAvatarSpec: "defaultAvatarSpec", avatarSpecFn: "avatarSpecFn", allowRemove: "allowRemove", allowSorting: "allowSorting", stacked: "stacked", chipTemplate: "chipTemplate", chipAvatarTemplate: "chipAvatarTemplate", customInputTemplate: "customInputTemplate", chipColorEnabled: "chipColorEnabled", chipColorResolver: "chipColorResolver" }, host: { properties: { "class": "this.hostClass", "class.mat-select-disabled": "this.disabledClass", "class.mat-select-invalid": "this.errorStateClass", "class.mat-select-required": "this.requiredClass", "class.mat-select-empty": "this.emptyClass" } }, providers: [
|
|
25074
25250
|
{ provide: MatFormFieldControl, useExisting: ElderMultiSelectChipsComponent },
|
|
25075
25251
|
{
|
|
25076
25252
|
provide: ELDER_SELECT_BASE,
|
|
25077
25253
|
useExisting: forwardRef(() => ElderMultiSelectChipsComponent)
|
|
25078
25254
|
}
|
|
25079
|
-
], queries: [{ propertyName: "_customChipInput", first: true, predicate: MatFormFieldControl, descendants: true }, { propertyName: "chipTemplateQuery", first: true, predicate: ElderSelectChipDirective, descendants: true, read: TemplateRef }, { propertyName: "chipAvatarTemplateQuery", first: true, predicate: ElderSelectChipAvatarDirective, descendants: true, read: TemplateRef }, { propertyName: "customInputTemplateQuery", first: true, predicate: ElderSelectCustomInputDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "_chipInput", first: true, predicate: ElderSelectComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"(selectChips$ | async) as chipValues\"\n class=\"elder-flex-control\"\n [matTooltip]=\"(state$ | async)?.error\"\n>\n
|
|
25255
|
+
], queries: [{ propertyName: "_customChipInput", first: true, predicate: MatFormFieldControl, descendants: true }, { propertyName: "chipTemplateQuery", first: true, predicate: ElderSelectChipDirective, descendants: true, read: TemplateRef }, { propertyName: "chipAvatarTemplateQuery", first: true, predicate: ElderSelectChipAvatarDirective, descendants: true, read: TemplateRef }, { propertyName: "customInputTemplateQuery", first: true, predicate: ElderSelectCustomInputDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "_chipInput", first: true, predicate: ElderSelectComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"(selectChips$ | async) as chipValues\"\n class=\"elder-flex-control\"\n [matTooltip]=\"(state$ | async)?.error\"\n>\n <mat-chip-set #chips\n [class.mat-mdc-chip-set-stacked]=\"stacked\"\n cdkDropList\n [cdkDropListOrientation]=\"stacked ? 'vertical' : 'horizontal'\"\n (cdkDropListDropped)=\"drop($event)\"\n [cdkDropListDisabled]=\"!allowSorting\"\n >\n\n <ng-container *ngIf=\"(mergedState$ | async) as state\">\n <div *ngIf=\"icon\"\n class=\"elder-input-prefix-icon-container flex-none\"\n >\n <mat-icon *ngIf=\"icon\" disabled\n class=\"elder-prefix-icon elder-mdc-control-icon elder-icon-small noselect\"\n [class.loading]=\"state.loading\"\n >\n {{icon}}\n </mat-icon>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"templates$ | async as templates\">\n <mat-chip-row elderChipLabel *ngFor=\"let chipModel of chipValues\"\n class=\"noselect clickable-chip\"\n [value]=\"resolveChipValue(chipModel.value)\"\n [color]=\"chipModel.color\"\n [removable]=\"chipModel.removeable\"\n (keydown)=\"onChipKeyDown($event, chipModel.value)\"\n (click)=\"onCurrentClicked(chipModel.value)\"\n cdkDrag [cdkDragData]=\"chipModel.value\" [cdkDragDisabled]=\"!allowSorting\"\n >\n <mat-chip-avatar\n *ngIf=\"templates.avatar && !chipModel.avatarSpec.hide\"\n [class.chip-avatar-xl]=\"chipModel.avatarSpec.large\"\n >\n <ng-container\n *ngTemplateOutlet=\"templates.avatar; context: {$implicit: chipModel}\">\n </ng-container>\n </mat-chip-avatar>\n\n <ng-container\n *ngTemplateOutlet=\"templates.chip || simpleChipTemplate; context: {$implicit: chipModel}\">\n </ng-container>\n <mat-icon matChipRemove\n *ngIf=\"chipModel.removeable\"\n (click)=\"onClickRemoveChip($event, chipModel.value)\">\n cancel\n </mat-icon>\n </mat-chip-row>\n\n <div class=\"layout-row place-start-center elder-chip-input\">\n\n <!-- [matChipInputFor]=\"chips\" -->\n <ng-container\n *ngTemplateOutlet=\"templates.input || selectInput;\">\n </ng-container>\n\n <button mat-icon-button type=\"button\" class=\"elder-control-icon-button elder-browse-icon\"\n *ngIf=\"selectionPopup\"\n [disabled]=\"isLocked\"\n (click)=\"openSelectionPopup($event)\" aria-label=\"Search\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon class=\"elder-mdc-control-icon\">search</mat-icon>\n </button>\n </div>\n </ng-container>\n </mat-chip-set>\n</div>\n\n<ng-template #selectInput>\n <!-- mat-mdc-chip-input -->\n <elder-select autocomplete elderClearSelect\n class=\"elder-chip-input-select flex\"\n [data]=\"dataContext$ | async\"\n [disabled]=\"!!disabled\"\n [required]=\"!!required\"\n [readonly]=\"!!readonly\"\n [placeholder]=\"placeholder\"\n (entityUpdated)=\"appendEntity($event)\"\n [displayPropertyResolver]=\"displayPropertyResolver$ | async\"\n [valueTemplate]=\"valueTemplate\"\n [queryFilter]=\"queryFilter\" [filters]=\"filters\" [sorts]=\"sorts\"\n [isOptionDisabledFn]=\"isOptionDisabledInternalFn\"\n [isOptionHiddenFn]=\"isOptionHiddenInternalFn\"\n ></elder-select>\n</ng-template>\n\n<ng-template #simpleChipTemplate let-chipModel>\n <span class=\"elder-chip-text\">{{chipModel.displayText | elderTruncate:20}}</span>\n</ng-template>\n\n", styles: [".elder-chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cdk-drag-preview{box-sizing:border-box;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5$2.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i6.MatChipAvatar, selector: "mat-chip-avatar, [matChipAvatar]" }, { kind: "directive", type: i6.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i6.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["color", "disabled", "disableRipple", "tabIndex", "editable"], outputs: ["edited"] }, { kind: "component", type: i6.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role"] }, { kind: "directive", type: i4$5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i5$4.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i5$4.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: ElderStopEventPropagationDirective, selector: "[elderStopEventPropagation]" }, { kind: "directive", type: ElderChipLabelDirective, selector: "[elderChipLabel]", inputs: ["appearance", "color", "stateColor", "levelColor"] }, { kind: "component", type: ElderSelectComponent, selector: "elder-select", inputs: ["nullDisplay", "autocomplete", "allowNull", "entity", "entityId"], outputs: ["entityIdChange", "entityIdUpdated", "entityChange", "entityUpdated"] }, { kind: "directive", type: ElderClearSelectDirective, selector: "[elderClearSelect]" }, { kind: "pipe", type: i1$4.AsyncPipe, name: "async" }, { kind: "pipe", type: ElderTruncatePipe, name: "elderTruncate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
25080
25256
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElderMultiSelectChipsComponent, decorators: [{
|
|
25081
25257
|
type: Component,
|
|
25082
25258
|
args: [{ selector: 'elder-multi-select-chips', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
@@ -25085,7 +25261,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
25085
25261
|
provide: ELDER_SELECT_BASE,
|
|
25086
25262
|
useExisting: forwardRef(() => ElderMultiSelectChipsComponent)
|
|
25087
25263
|
}
|
|
25088
|
-
], template: "<div *ngIf=\"(selectChips$ | async) as chipValues\"\n class=\"elder-flex-control\"\n [matTooltip]=\"(state$ | async)?.error\"\n>\n
|
|
25264
|
+
], template: "<div *ngIf=\"(selectChips$ | async) as chipValues\"\n class=\"elder-flex-control\"\n [matTooltip]=\"(state$ | async)?.error\"\n>\n <mat-chip-set #chips\n [class.mat-mdc-chip-set-stacked]=\"stacked\"\n cdkDropList\n [cdkDropListOrientation]=\"stacked ? 'vertical' : 'horizontal'\"\n (cdkDropListDropped)=\"drop($event)\"\n [cdkDropListDisabled]=\"!allowSorting\"\n >\n\n <ng-container *ngIf=\"(mergedState$ | async) as state\">\n <div *ngIf=\"icon\"\n class=\"elder-input-prefix-icon-container flex-none\"\n >\n <mat-icon *ngIf=\"icon\" disabled\n class=\"elder-prefix-icon elder-mdc-control-icon elder-icon-small noselect\"\n [class.loading]=\"state.loading\"\n >\n {{icon}}\n </mat-icon>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"templates$ | async as templates\">\n <mat-chip-row elderChipLabel *ngFor=\"let chipModel of chipValues\"\n class=\"noselect clickable-chip\"\n [value]=\"resolveChipValue(chipModel.value)\"\n [color]=\"chipModel.color\"\n [removable]=\"chipModel.removeable\"\n (keydown)=\"onChipKeyDown($event, chipModel.value)\"\n (click)=\"onCurrentClicked(chipModel.value)\"\n cdkDrag [cdkDragData]=\"chipModel.value\" [cdkDragDisabled]=\"!allowSorting\"\n >\n <mat-chip-avatar\n *ngIf=\"templates.avatar && !chipModel.avatarSpec.hide\"\n [class.chip-avatar-xl]=\"chipModel.avatarSpec.large\"\n >\n <ng-container\n *ngTemplateOutlet=\"templates.avatar; context: {$implicit: chipModel}\">\n </ng-container>\n </mat-chip-avatar>\n\n <ng-container\n *ngTemplateOutlet=\"templates.chip || simpleChipTemplate; context: {$implicit: chipModel}\">\n </ng-container>\n <mat-icon matChipRemove\n *ngIf=\"chipModel.removeable\"\n (click)=\"onClickRemoveChip($event, chipModel.value)\">\n cancel\n </mat-icon>\n </mat-chip-row>\n\n <div class=\"layout-row place-start-center elder-chip-input\">\n\n <!-- [matChipInputFor]=\"chips\" -->\n <ng-container\n *ngTemplateOutlet=\"templates.input || selectInput;\">\n </ng-container>\n\n <button mat-icon-button type=\"button\" class=\"elder-control-icon-button elder-browse-icon\"\n *ngIf=\"selectionPopup\"\n [disabled]=\"isLocked\"\n (click)=\"openSelectionPopup($event)\" aria-label=\"Search\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon class=\"elder-mdc-control-icon\">search</mat-icon>\n </button>\n </div>\n </ng-container>\n </mat-chip-set>\n</div>\n\n<ng-template #selectInput>\n <!-- mat-mdc-chip-input -->\n <elder-select autocomplete elderClearSelect\n class=\"elder-chip-input-select flex\"\n [data]=\"dataContext$ | async\"\n [disabled]=\"!!disabled\"\n [required]=\"!!required\"\n [readonly]=\"!!readonly\"\n [placeholder]=\"placeholder\"\n (entityUpdated)=\"appendEntity($event)\"\n [displayPropertyResolver]=\"displayPropertyResolver$ | async\"\n [valueTemplate]=\"valueTemplate\"\n [queryFilter]=\"queryFilter\" [filters]=\"filters\" [sorts]=\"sorts\"\n [isOptionDisabledFn]=\"isOptionDisabledInternalFn\"\n [isOptionHiddenFn]=\"isOptionHiddenInternalFn\"\n ></elder-select>\n</ng-template>\n\n<ng-template #simpleChipTemplate let-chipModel>\n <span class=\"elder-chip-text\">{{chipModel.displayText | elderTruncate:20}}</span>\n</ng-template>\n\n", styles: [".elder-chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cdk-drag-preview{box-sizing:border-box;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
|
|
25089
25265
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1$1.FocusMonitor }, { type: i2.TranslateService }, { type: ElderDialogService }, { type: i3.NgControl, decorators: [{
|
|
25090
25266
|
type: Optional
|
|
25091
25267
|
}, {
|
|
@@ -25096,6 +25272,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
25096
25272
|
type: Input
|
|
25097
25273
|
}], allowRemove: [{
|
|
25098
25274
|
type: Input
|
|
25275
|
+
}], allowSorting: [{
|
|
25276
|
+
type: Input
|
|
25277
|
+
}], stacked: [{
|
|
25278
|
+
type: Input
|
|
25099
25279
|
}], _customChipInput: [{
|
|
25100
25280
|
type: ContentChild,
|
|
25101
25281
|
args: [MatFormFieldControl]
|
|
@@ -25312,9 +25492,13 @@ ElderSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versi
|
|
|
25312
25492
|
MatDialogModule, MatButtonModule,
|
|
25313
25493
|
MatInputModule, MatAutocompleteModule,
|
|
25314
25494
|
MatToolbarModule, MatProgressBarModule,
|
|
25315
|
-
MatProgressSpinnerModule,
|
|
25495
|
+
MatProgressSpinnerModule, MatChipsModule,
|
|
25496
|
+
MatTooltipModule,
|
|
25497
|
+
CdkDropList, CdkDrag,
|
|
25316
25498
|
TranslateModule,
|
|
25317
|
-
ElderFormsDirectivesModule, ElderTableModule, ElderInfiniteScrollModule,
|
|
25499
|
+
ElderFormsDirectivesModule, ElderTableModule, ElderInfiniteScrollModule,
|
|
25500
|
+
ElderAutocompleteModule,
|
|
25501
|
+
ElderPipesModule, ElderThemeModule, ElderChipsModule], exports: [ElderSelectComponent,
|
|
25318
25502
|
ElderSelectValueDirective,
|
|
25319
25503
|
TemplatedSelectionDialogComponent,
|
|
25320
25504
|
SelectionModelPopupDirective,
|
|
@@ -25332,9 +25516,12 @@ ElderSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versi
|
|
|
25332
25516
|
MatDialogModule, MatButtonModule,
|
|
25333
25517
|
MatInputModule, MatAutocompleteModule,
|
|
25334
25518
|
MatToolbarModule, MatProgressBarModule,
|
|
25335
|
-
MatProgressSpinnerModule,
|
|
25519
|
+
MatProgressSpinnerModule, MatChipsModule,
|
|
25520
|
+
MatTooltipModule,
|
|
25336
25521
|
TranslateModule,
|
|
25337
|
-
ElderFormsDirectivesModule, ElderTableModule, ElderInfiniteScrollModule,
|
|
25522
|
+
ElderFormsDirectivesModule, ElderTableModule, ElderInfiniteScrollModule,
|
|
25523
|
+
ElderAutocompleteModule,
|
|
25524
|
+
ElderPipesModule, ElderThemeModule, ElderChipsModule] });
|
|
25338
25525
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElderSelectModule, decorators: [{
|
|
25339
25526
|
type: NgModule,
|
|
25340
25527
|
args: [{
|
|
@@ -25346,9 +25533,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
25346
25533
|
MatDialogModule, MatButtonModule,
|
|
25347
25534
|
MatInputModule, MatAutocompleteModule,
|
|
25348
25535
|
MatToolbarModule, MatProgressBarModule,
|
|
25349
|
-
MatProgressSpinnerModule,
|
|
25536
|
+
MatProgressSpinnerModule, MatChipsModule,
|
|
25537
|
+
MatTooltipModule,
|
|
25538
|
+
CdkDropList, CdkDrag,
|
|
25350
25539
|
TranslateModule,
|
|
25351
|
-
ElderFormsDirectivesModule, ElderTableModule, ElderInfiniteScrollModule,
|
|
25540
|
+
ElderFormsDirectivesModule, ElderTableModule, ElderInfiniteScrollModule,
|
|
25541
|
+
ElderAutocompleteModule,
|
|
25542
|
+
ElderPipesModule, ElderThemeModule, ElderChipsModule
|
|
25352
25543
|
],
|
|
25353
25544
|
declarations: [
|
|
25354
25545
|
ElderSelectComponent,
|
|
@@ -29376,5 +29567,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
29376
29567
|
* Generated bundle index. Do not edit.
|
|
29377
29568
|
*/
|
|
29378
29569
|
|
|
29379
|
-
export { AuditedEntity, AutoStartSpec, BlobUrl, BytesFormat, BytesPerSecondFormat, BytesPipe, CardDropEvent, CardOrganizerData, CardStack, CollectionUtil, ComparatorBuilder, ConfirmDialogConfig, ContinuableListing, CsvColumnSpec, CsvSerializer, CsvSpec, CsvStreamExporter, CsvStreamExporterBuilder, CsvStreamExporterBuilderService, Currency, CurrencyCode, CurrencyUnit, CurrencyUnitRegistry, CustomDateAdapter, DataContextActivePage, DataContextAutoStarter, DataContextBase, DataContextBuilder, DataContextContinuableBase, DataContextContinuablePaged, DataContextContinuableToken, DataContextLifeCycleBinding, DataContextSelectionDirective, DataContextSimple, DataContextSnapshot, DataContextSourceEventBinding, DataContextStateIndicatorComponent, DataContextStatus, DataSourceAdapter, DataSourceBase, DataSourceChangeEvent, DataSourceChangeType, DataSourceProcessor, DataTransferFactory, DataTransferProgress, DataTransferProgressAggregate, DataTransferState, DataTransferStatus, DataViewIframeAdapterDirective, DataViewIframeComponent, DataViewMessage, DataViewOptionsProviderBinding, DataViewSelection, DataViewSelectionInit, DateUtil, DelegateContinuableDataSource, DelegateDataSource, DelegateListDataSource, DelegatePagedDataSource, Dimensions, DrawerOutletBinding, DurationBucket, DurationFormat, ELDER_DATA_VIEW, ELDER_SELECT_BASE, ElderAccessDeniedComponent, ElderAccessDeniedModule, ElderAppHeaderComponent, ElderAuditModule, ElderAuditedEntityComponent, ElderAutoSelectFirstDirective, ElderAutocompleteComponent, ElderAutocompleteDirective, ElderAutocompleteManyDirective, ElderAutocompleteModule, ElderBadgeComponent, ElderBadgeDirective, ElderBadgeModule, ElderBlobViewerComponent, ElderBreadCrumbsComponent, ElderBreadCrumbsModule, ElderButtonGroupComponent, ElderButtonGroupModule, ElderCardComponent, ElderCardContentDirective, ElderCardHeaderActionsDirective, ElderCardHeaderComponent, ElderCardModule, ElderCardOrganizerComponent, ElderCardOrganizerModule, ElderCardPanelComponent, ElderCardStackComponent, ElderCardSubtitleDirective, ElderCardTitleDirective, ElderCheckboxState, ElderChipLabelDirective, ElderChipListSelectComponent, ElderChipListSelectModule, ElderChipsModule, ElderClearSelectDirective, ElderClipboardPutDirective, ElderClipboardService, ElderConfirmDialogComponent, ElderConnectivityModule, ElderConnectivityService, ElderContainersModule, ElderCsvExportBtnComponent, ElderCsvModule, ElderCurrencyModule, ElderCurrencyPipe, ElderDataCommonModule, ElderDataToolbarComponent, ElderDataTransferModule, ElderDataTransferService, ElderDataViewBaseComponent, ElderDataViewOptions, ElderDataViewOptionsProvider, ElderDateSwitcherComponent, ElderDateTimeInputComponent, ElderDelayedFocusDirective, ElderDialogConfig, ElderDialogModule, ElderDialogPanelComponent, ElderDialogService, ElderDimensionsInputComponent, ElderDropZoneComponent, ElderDurationInputComponent, ElderEntityValueAccessorUtil, ElderEnumTranslationService, ElderErrorModule, ElderEventSourceService, ElderExceptionDetailComponent, ElderExpandToggleButtonComponent, ElderExpandToggleButtonModule, ElderFileDropZoneDirective, ElderFileModule, ElderFileSelectComponent, ElderFileSelectDirective, ElderFileUploadComponent, ElderFormFieldControlBase, ElderFormFieldDenseDirective, ElderFormFieldLabelDirective, ElderFormFieldNoHintDirective, ElderFormFieldNoSpinnerDirective, ElderFormsDirectivesModule, ElderFormsModule, ElderFromFieldBase, ElderFromFieldEntityBase, ElderFromFieldMultiEntityBase, ElderGlobalSearchComponent, ElderGlobalSearchModule, ElderGlobalSearchService, ElderGridComponent, ElderGridModule, ElderGridTileDirective, ElderGridToolbarDirective, ElderHeaderComponent, ElderHeaderModule, ElderHttpClient, ElderI18nEntitiesModule, ElderIFrameModule, ElderInfiniteAutocompleteDirective, ElderInfiniteScrollDirective, ElderInfiniteScrollModule, ElderInputPatternDirective, ElderIntervalInputComponent, ElderKeyEventDirective, ElderLabelInputComponent, ElderLabelsModule, ElderLanguageConfig, ElderLanguageInterceptor, ElderLanguageModule, ElderLanguageService, ElderLanguageSwitcherComponent, ElderLocalDateInputComponent, ElderLocalTimeInputComponent, ElderLocalesDeChModule, ElderLocalizedInputComponent, ElderLocalizedInputDialogComponent, ElderLocalizedInputDialogService, ElderLocalizedInputTableComponent, ElderLocalizedTextColumnDirective, ElderLocalizedTextsDirective, ElderMaxValidator, ElderMeasuresModule, ElderMinValidator, ElderMultiEntityValueAccessorUtil, ElderMultiSelectBase, ElderMultiSelectChipsComponent, ElderMultiSelectFormField, ElderMultipleOfUtil, ElderMultipleOfValidator, ElderNavGroupComponent, ElderNavLinkComponent, ElderNavListComponent, ElderNavModule, ElderNextFocusableDirective, ElderNumberCellDirective, ElderOfflineIndicatorComponent, ElderOverlayComponent, ElderOverlayModule, ElderOverlayOriginDirective, ElderOverlayTriggerDirective, ElderPaddingDirective, ElderPanelComponent, ElderPanelModule, ElderPeriodInputComponent, ElderPipesModule, ElderPlugParentFormDirective, ElderProgressBarComponent, ElderProgressBarModule, ElderQuantityFormFieldComponent, ElderQuantityInputControlComponent, ElderQuantityModule, ElderQuantityPipe, ElderQuantityRangeValidator, ElderQuantityService, ElderQuantityTransformPipe, ElderQuestionDialogComponent, ElderRepeatPipe, ElderRepeatPipeLegacy, ElderRequiredDimensionsValidator, ElderRequiredIgnoreZeroValidator, ElderRequiredQuantityValidator, ElderRoundPipe, ElderRouteOutletDrawerService, ElderRouterOutletService, ElderRouterService, ElderSafeUrlPipe, ElderScrollContainerComponent, ElderScrollbarDirective, ElderScrollbarModule, ElderSearchBoxComponent, ElderSearchContextDirective, ElderSearchInputDirective, ElderSearchModule, ElderSearchPanelComponent, ElderSelectBase, ElderSelectChipAvatarDirective, ElderSelectChipDirective, ElderSelectComponent, ElderSelectComponentState, ElderSelectCustomInputDirective, ElderSelectFormField, ElderSelectModule, ElderSelectOnTabDirective, ElderSelectValueDirective, ElderSelectionDialogComponent, ElderSelectionDialogDirective, ElderSelectionMasterCheckboxComponent, ElderSelectionPopupTriggerAdapterDirective, ElderShellCenterDirective, ElderShellComponent, ElderShellModule, ElderShellNavigationToggleComponent, ElderShellService, ElderShellSideLeftDirective, ElderShellSideRightDirective, ElderShellSlotDirective, ElderSimpleSelectionViewComponent, ElderSimpleSelectionViewModule, ElderSingleSortComponent, ElderStackCardDirective, ElderStopEventPropagationDirective, ElderSvgViewerComponent, ElderTabDirective, ElderTabFocusTrapDirective, ElderTabGroupRoutingDirective, ElderTabModule, ElderTableActivationDirective, ElderTableComponent, ElderTableExtensionDirective, ElderTableGroup, ElderTableModel, ElderTableModelCdkTableBinding, ElderTableModelQueryGroup, ElderTableModule, ElderTableProviders, ElderTableRootDirective, ElderTableSortDirective, ElderTableToolbarDirective, ElderThemeApplierDirective, ElderThemeDirective, ElderThemeModule, ElderThemePreferenceService, ElderThemeService, ElderThemeToggleComponent, ElderTimeModule, ElderToastModule, ElderToastService, ElderTogglePanelComponent, ElderTogglePanelPrimaryDirective, ElderTogglePanelSecondaryDirective, ElderTogglePanelTriggerDirective, ElderToolbarColumnDirective, ElderToolbarComponent, ElderToolbarContentDirective, ElderToolbarModule, ElderToolbarService, ElderToolbarTitleComponent, ElderToolbarTitleService, ElderTouchedDirective, ElderTrimPipe, ElderTripleStateCheckboxDirective, ElderTruncatePipe, ElderUnitSelectDirective, ElderUnitService, ElderUrlFragment, ElderUrlFragmentModule, ElderUrlFragmentParamsService, ElderUrlFragmentSwitcherComponent, ElderValidationErrorDirective, ElderViewersModule, EntitySetPatch, ErrorUtil, ExceptionDetailCtx, FileEntry, FileListingRx, FileUploadClient, Filter, FilterContext, FilterUtil, FormFieldBaseComponent, GlobalDragDropService, HttpClientBuilder, HttpClientPristine, HttpDataTransfer, HttpDataTransferAggregateComponent, HttpDataTransferComponent, HttpDataTransferIndicatorComponent, HttpDataTransferOverviewComponent, HttpParamsBuilder, I18nBase, I18nPickAsyncPipe, I18nPickPipe, I18nText, IFrameState, IframeCloseDirective, IframeDialogComponent, IframeHostComponent, IframeService, IframeSideContentComponent, IndexedEntities, InternalRestClientConfig, Interval, IsoDurationPipe, IsoIntervalParsePipe, IsoIntervalPipe, JsonMapUtil, KafentConfig, KafentEvent, KafentEventService, KafentEventStream, KafentEventStreamDisabled, KafentEventStreamSse, KafentEventTransport, KafentModule, KafentSseEventChannel, KafentTokenProvider, KafentTokenProviderSessionStorage, KafentTopicSse, KnownElderThemes, KnownLocaleType, LocalListDataSource, LocalPagedDataSource, LocalisationPickerService, MasterSelectionState, MatTableDataContextBinding, MatTableDataContextBindingBuilder, MultiModelBaseComponent, NextNumberUtil, Objects, OnlineStatus, Page, PageRequest, Pageable, ParseUtil, Path, PathNode, PeriodBucket, PeriodDuration, PeriodFormat, ProcessIterationContext, ProcessState, PropertyPathUtil, Quantity, QueryListBinding, QuestionDialogConfig, ReactiveEventSource, ReactiveMap, RefreshingEntity, RestClient, RestClientConfig, RestClientContinuable, RestClientList, RestClientPaged, SearchQuery, SelectionModel, SelectionModelPopupDirective, Sets, SimpleLocalisationPicker, Sort, SortOption, SortUtil, StandardToastComponent, SubBar, SuggestionProvider, TemplateCompositeControl, TemplatedSelectionDialogComponent, ThemeSpec, TimeAgoPipe, TimeDurationPipe, TimeUtil, ToIsoDateStringPipe, ToastType, TokenChunkRequest, ToolbarHeader, TranslatedEnumValue, TypedEventMessage, Unit, UnitDimension, UnitDimensionInfo, UnitInfo, UnitRegistry, UrlBuilder, UrlQueryParams, UuidUtil, ValueAccessorBase, ValueWrapper, ViewProviders, WeightPipe, alphaNumStringComparator, buildFormIntegrationProviders, createDataOptionsProvider, createSelectionModel, existingOrNewElderTableModel, isActivePagedDataContext, isContinuableDataContext, isContinuableDataSource, isDataContext, isDataSource, isElderEntityValueAccessor, isElderMultiEntityValueAccessor, isListDataSource, isPagedDataSource, lazySample, lazySampleTime, naturalValueComparator, newElderTableModel, proxyControlContainer, registerLocale, runInZone, themeInit };
|
|
29570
|
+
export { Arrays, AuditedEntity, AutoStartSpec, BlobUrl, BytesFormat, BytesPerSecondFormat, BytesPipe, CardDropEvent, CardOrganizerData, CardStack, CollectionUtil, ComparatorBuilder, ConfirmDialogConfig, ContinuableListing, CsvColumnSpec, CsvSerializer, CsvSpec, CsvStreamExporter, CsvStreamExporterBuilder, CsvStreamExporterBuilderService, Currency, CurrencyCode, CurrencyUnit, CurrencyUnitRegistry, CustomDateAdapter, DataContextActivePage, DataContextAutoStarter, DataContextBase, DataContextBuilder, DataContextContinuableBase, DataContextContinuablePaged, DataContextContinuableToken, DataContextLifeCycleBinding, DataContextSelectionDirective, DataContextSimple, DataContextSnapshot, DataContextSourceEventBinding, DataContextStateIndicatorComponent, DataContextStatus, DataSourceAdapter, DataSourceBase, DataSourceChangeEvent, DataSourceChangeType, DataSourceProcessor, DataTransferFactory, DataTransferProgress, DataTransferProgressAggregate, DataTransferState, DataTransferStatus, DataViewIframeAdapterDirective, DataViewIframeComponent, DataViewMessage, DataViewOptionsProviderBinding, DataViewSelection, DataViewSelectionInit, DateUtil, DelegateContinuableDataSource, DelegateDataSource, DelegateListDataSource, DelegatePagedDataSource, Dimensions, DrawerOutletBinding, DurationBucket, DurationFormat, ELDER_DATA_VIEW, ELDER_SELECT_BASE, ElderAccessDeniedComponent, ElderAccessDeniedModule, ElderAppHeaderComponent, ElderAuditModule, ElderAuditedEntityComponent, ElderAutoSelectFirstDirective, ElderAutocompleteComponent, ElderAutocompleteDirective, ElderAutocompleteManyDirective, ElderAutocompleteModule, ElderBadgeComponent, ElderBadgeDirective, ElderBadgeModule, ElderBlobViewerComponent, ElderBreadCrumbsComponent, ElderBreadCrumbsModule, ElderButtonGroupComponent, ElderButtonGroupModule, ElderCardComponent, ElderCardContentDirective, ElderCardHeaderActionsDirective, ElderCardHeaderComponent, ElderCardModule, ElderCardOrganizerComponent, ElderCardOrganizerModule, ElderCardPanelComponent, ElderCardStackComponent, ElderCardSubtitleDirective, ElderCardTitleDirective, ElderCheckboxState, ElderChipLabelDirective, ElderChipListSelectComponent, ElderChipListSelectModule, ElderChipsModule, ElderClearSelectDirective, ElderClipboardPutDirective, ElderClipboardService, ElderConfirmDialogComponent, ElderConnectivityModule, ElderConnectivityService, ElderContainersModule, ElderCsvExportBtnComponent, ElderCsvModule, ElderCurrencyModule, ElderCurrencyPipe, ElderDataCommonModule, ElderDataToolbarComponent, ElderDataTransferModule, ElderDataTransferService, ElderDataViewBaseComponent, ElderDataViewOptions, ElderDataViewOptionsProvider, ElderDateSwitcherComponent, ElderDateTimeInputComponent, ElderDelayedFocusDirective, ElderDeleteActiveDirective, ElderDialogConfig, ElderDialogModule, ElderDialogPanelComponent, ElderDialogService, ElderDimensionsInputComponent, ElderDropZoneComponent, ElderDurationInputComponent, ElderEntityValueAccessorUtil, ElderEnumTranslationService, ElderErrorModule, ElderEventSourceService, ElderExceptionDetailComponent, ElderExpandToggleButtonComponent, ElderExpandToggleButtonModule, ElderFileDropZoneDirective, ElderFileModule, ElderFileSelectComponent, ElderFileSelectDirective, ElderFileUploadComponent, ElderFormFieldControlBase, ElderFormFieldDenseDirective, ElderFormFieldLabelDirective, ElderFormFieldNoHintDirective, ElderFormFieldNoSpinnerDirective, ElderFormsDirectivesModule, ElderFormsModule, ElderFromFieldBase, ElderFromFieldEntityBase, ElderFromFieldMultiEntityBase, ElderGlobalSearchComponent, ElderGlobalSearchModule, ElderGlobalSearchService, ElderGridComponent, ElderGridModule, ElderGridTileDirective, ElderGridToolbarDirective, ElderHeaderComponent, ElderHeaderModule, ElderHttpClient, ElderI18nEntitiesModule, ElderIFrameModule, ElderInfiniteAutocompleteDirective, ElderInfiniteScrollDirective, ElderInfiniteScrollModule, ElderInputPatternDirective, ElderIntervalInputComponent, ElderKeyEventDirective, ElderLabelInputComponent, ElderLabelsModule, ElderLanguageConfig, ElderLanguageInterceptor, ElderLanguageModule, ElderLanguageService, ElderLanguageSwitcherComponent, ElderLocalDateInputComponent, ElderLocalTimeInputComponent, ElderLocalesDeChModule, ElderLocalizedInputComponent, ElderLocalizedInputDialogComponent, ElderLocalizedInputDialogService, ElderLocalizedInputTableComponent, ElderLocalizedTextColumnDirective, ElderLocalizedTextsDirective, ElderMaxValidator, ElderMeasuresModule, ElderMinValidator, ElderMultiEntityValueAccessorUtil, ElderMultiSelectBase, ElderMultiSelectChipsComponent, ElderMultiSelectFormField, ElderMultipleOfUtil, ElderMultipleOfValidator, ElderNavGroupComponent, ElderNavLinkComponent, ElderNavListComponent, ElderNavModule, ElderNextFocusableDirective, ElderNumberCellDirective, ElderOfflineIndicatorComponent, ElderOverlayComponent, ElderOverlayModule, ElderOverlayOriginDirective, ElderOverlayTriggerDirective, ElderPaddingDirective, ElderPanelComponent, ElderPanelModule, ElderPeriodInputComponent, ElderPipesModule, ElderPlugParentFormDirective, ElderProgressBarComponent, ElderProgressBarModule, ElderQuantityFormFieldComponent, ElderQuantityInputControlComponent, ElderQuantityModule, ElderQuantityPipe, ElderQuantityRangeValidator, ElderQuantityService, ElderQuantityTransformPipe, ElderQuestionDialogComponent, ElderRepeatPipe, ElderRepeatPipeLegacy, ElderRequiredDimensionsValidator, ElderRequiredIgnoreZeroValidator, ElderRequiredQuantityValidator, ElderRoundPipe, ElderRouteOutletDrawerService, ElderRouterOutletService, ElderRouterService, ElderSafeUrlPipe, ElderScrollContainerComponent, ElderScrollbarDirective, ElderScrollbarModule, ElderSearchBoxComponent, ElderSearchContextDirective, ElderSearchInputDirective, ElderSearchModule, ElderSearchPanelComponent, ElderSelectBase, ElderSelectChipAvatarDirective, ElderSelectChipDirective, ElderSelectComponent, ElderSelectComponentState, ElderSelectCustomInputDirective, ElderSelectFormField, ElderSelectModule, ElderSelectOnTabDirective, ElderSelectValueDirective, ElderSelectionDialogComponent, ElderSelectionDialogDirective, ElderSelectionMasterCheckboxComponent, ElderSelectionPopupTriggerAdapterDirective, ElderShellCenterDirective, ElderShellComponent, ElderShellModule, ElderShellNavigationToggleComponent, ElderShellService, ElderShellSideLeftDirective, ElderShellSideRightDirective, ElderShellSlotDirective, ElderSimpleSelectionViewComponent, ElderSimpleSelectionViewModule, ElderSingleSortComponent, ElderStackCardDirective, ElderStopEventPropagationDirective, ElderSvgViewerComponent, ElderTabDirective, ElderTabFocusTrapDirective, ElderTabGroupRoutingDirective, ElderTabModule, ElderTableActivationDirective, ElderTableComponent, ElderTableExtensionDirective, ElderTableGroup, ElderTableModel, ElderTableModelCdkTableBinding, ElderTableModelQueryGroup, ElderTableModule, ElderTableProviders, ElderTableRootDirective, ElderTableSortDirective, ElderTableToolbarDirective, ElderThemeApplierDirective, ElderThemeDirective, ElderThemeModule, ElderThemePreferenceService, ElderThemeService, ElderThemeToggleComponent, ElderTimeModule, ElderToastModule, ElderToastService, ElderTogglePanelComponent, ElderTogglePanelPrimaryDirective, ElderTogglePanelSecondaryDirective, ElderTogglePanelTriggerDirective, ElderToolbarColumnDirective, ElderToolbarComponent, ElderToolbarContentDirective, ElderToolbarModule, ElderToolbarService, ElderToolbarTitleComponent, ElderToolbarTitleService, ElderTouchedDirective, ElderTrimPipe, ElderTripleStateCheckboxDirective, ElderTruncatePipe, ElderUnitSelectDirective, ElderUnitService, ElderUrlFragment, ElderUrlFragmentModule, ElderUrlFragmentParamsService, ElderUrlFragmentSwitcherComponent, ElderValidationErrorDirective, ElderViewersModule, EntitySetPatch, ErrorUtil, ExceptionDetailCtx, FileEntry, FileListingRx, FileUploadClient, Filter, FilterContext, FilterUtil, FormFieldBaseComponent, GlobalDragDropService, HttpClientBuilder, HttpClientPristine, HttpDataTransfer, HttpDataTransferAggregateComponent, HttpDataTransferComponent, HttpDataTransferIndicatorComponent, HttpDataTransferOverviewComponent, HttpParamsBuilder, I18nBase, I18nPickAsyncPipe, I18nPickPipe, I18nText, IFrameState, IframeCloseDirective, IframeDialogComponent, IframeHostComponent, IframeService, IframeSideContentComponent, IndexedEntities, InternalRestClientConfig, Interval, IsoDurationPipe, IsoIntervalParsePipe, IsoIntervalPipe, JsonMapUtil, KafentConfig, KafentEvent, KafentEventService, KafentEventStream, KafentEventStreamDisabled, KafentEventStreamSse, KafentEventTransport, KafentModule, KafentSseEventChannel, KafentTokenProvider, KafentTokenProviderSessionStorage, KafentTopicSse, KnownElderThemes, KnownLocaleType, LocalListDataSource, LocalPagedDataSource, LocalisationPickerService, MasterSelectionState, MatTableDataContextBinding, MatTableDataContextBindingBuilder, MultiModelBaseComponent, NextNumberUtil, Objects, OnlineStatus, Page, PageRequest, Pageable, ParseUtil, Path, PathNode, PeriodBucket, PeriodDuration, PeriodFormat, ProcessIterationContext, ProcessState, PropertyPathUtil, Quantity, QueryListBinding, QuestionDialogConfig, ReactiveEventSource, ReactiveMap, RefreshingEntity, RestClient, RestClientConfig, RestClientContinuable, RestClientList, RestClientPaged, SearchQuery, SelectionModel, SelectionModelPopupDirective, Sets, SimpleLocalisationPicker, Sort, SortOption, SortUtil, StandardToastComponent, SubBar, SuggestionProvider, TemplateCompositeControl, TemplatedSelectionDialogComponent, ThemeSpec, TimeAgoPipe, TimeDurationPipe, TimeUtil, ToIsoDateStringPipe, ToastType, TokenChunkRequest, ToolbarHeader, TranslatedEnumValue, TypedEventMessage, Unit, UnitDimension, UnitDimensionInfo, UnitInfo, UnitRegistry, UrlBuilder, UrlQueryParams, UuidUtil, ValueAccessorBase, ValueWrapper, ViewProviders, WeightPipe, alphaNumStringComparator, buildFormIntegrationProviders, createDataOptionsProvider, createSelectionModel, existingOrNewElderTableModel, isActivePagedDataContext, isContinuableDataContext, isContinuableDataSource, isDataContext, isDataSource, isElderEntityValueAccessor, isElderMultiEntityValueAccessor, isListDataSource, isPagedDataSource, lazySample, lazySampleTime, naturalValueComparator, newElderTableModel, proxyControlContainer, registerLocale, runInZone, themeInit };
|
|
29380
29571
|
//# sourceMappingURL=elderbyte-ngx-starter.mjs.map
|