@progress/kendo-angular-dropdowns 18.1.0-develop.18 → 18.1.0-develop.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dropdowntrees/checked-state/base-check.directive.d.ts +2 -2
- package/dropdowntrees/multiselecttree.component.d.ts +2 -2
- package/esm2022/comboboxes/multicolumncombobox.component.mjs +6 -2
- package/esm2022/dropdownlist/dropdownlist.component.mjs +2 -7
- package/esm2022/dropdowntrees/checked-state/base-check.directive.mjs +3 -7
- package/esm2022/dropdowntrees/multiselecttree.component.mjs +6 -28
- package/esm2022/package-metadata.mjs +2 -2
- package/fesm2022/progress-kendo-angular-dropdowns.mjs +19 -46
- package/package.json +10 -10
- package/schematics/ngAdd/index.js +2 -2
|
@@ -22,8 +22,8 @@ export declare abstract class BaseCheckDirective {
|
|
|
22
22
|
/**
|
|
23
23
|
* @hidden
|
|
24
24
|
* The flag is needed in order to determine how to construct the items map keys.
|
|
25
|
-
* If `true`, then the key consists of the item's value and
|
|
26
|
-
* else the key consists of the item's value and
|
|
25
|
+
* If `true`, then the key consists of the item's value and 0 (no leveling required),
|
|
26
|
+
* else the key consists of the item's value and level (depth)
|
|
27
27
|
*/
|
|
28
28
|
isHeterogeneous: boolean;
|
|
29
29
|
/**
|
|
@@ -489,8 +489,8 @@ export declare class MultiSelectTreeComponent implements OnInit, OnDestroy, OnCh
|
|
|
489
489
|
/**
|
|
490
490
|
* @hidden
|
|
491
491
|
* The flag is needed in order to determine how to construct the items map keys.
|
|
492
|
-
* If `true`, then the key consists of the item's value and
|
|
493
|
-
* else the key consists of the item's value and
|
|
492
|
+
* If `true`, then the key consists of the item's value and 0 (no leveling required),
|
|
493
|
+
* else the key consists of the item's value and level (depth)
|
|
494
494
|
*/
|
|
495
495
|
isHeterogeneous: boolean;
|
|
496
496
|
/**
|
|
@@ -179,10 +179,14 @@ export class MultiColumnComboBoxComponent extends ComboBoxComponent {
|
|
|
179
179
|
* @hidden
|
|
180
180
|
*/
|
|
181
181
|
getColumnWidth(index) {
|
|
182
|
-
|
|
182
|
+
const popupWidthNumber = +(this.popupWidth.max.slice(0, -2));
|
|
183
|
+
if (this.totalColumnsWidth >= popupWidthNumber) {
|
|
183
184
|
return this.columns.get(index).width;
|
|
184
185
|
}
|
|
185
|
-
|
|
186
|
+
if (this.virtual && isPresent(this.headerColumnWidths[index])) {
|
|
187
|
+
return this.headerColumnWidths[index];
|
|
188
|
+
}
|
|
189
|
+
return this.columns.get(index).width;
|
|
186
190
|
}
|
|
187
191
|
verifySettings() {
|
|
188
192
|
if (!isDevMode()) {
|
|
@@ -1003,6 +1003,7 @@ export class DropDownListComponent {
|
|
|
1003
1003
|
});
|
|
1004
1004
|
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-expanded', 'true');
|
|
1005
1005
|
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-controls', this.listBoxId);
|
|
1006
|
+
this.setAriaactivedescendant();
|
|
1006
1007
|
const popupWrapper = this.popupRef.popupElement;
|
|
1007
1008
|
const { min, max } = this.width;
|
|
1008
1009
|
popupWrapper.addEventListener('mousedown', this.popupMouseDownHandler);
|
|
@@ -1022,7 +1023,6 @@ export class DropDownListComponent {
|
|
|
1022
1023
|
this.subs.add(this.popupRef.popupOpen.subscribe(() => {
|
|
1023
1024
|
this.cdr.detectChanges();
|
|
1024
1025
|
setListBoxAriaLabelledBy(this.optionsList, this.wrapper, this.renderer);
|
|
1025
|
-
this.setAriaactivedescendant();
|
|
1026
1026
|
this.optionsList.scrollToItem(this.selectionService.focused);
|
|
1027
1027
|
this.selectionService.focus(this.selectionService.focused);
|
|
1028
1028
|
this.opened.emit();
|
|
@@ -1126,7 +1126,7 @@ export class DropDownListComponent {
|
|
|
1126
1126
|
setAriaactivedescendant() {
|
|
1127
1127
|
if (this.ariaActivedescendant) {
|
|
1128
1128
|
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-activedescendant', this.ariaActivedescendant);
|
|
1129
|
-
const searchInput = this.popupRef
|
|
1129
|
+
const searchInput = this.popupRef.popupElement.querySelector('input[role="searchbox"]');
|
|
1130
1130
|
if (searchInput) {
|
|
1131
1131
|
this.renderer.setAttribute(searchInput, 'aria-activedescendant', this.ariaActivedescendant);
|
|
1132
1132
|
}
|
|
@@ -1455,8 +1455,6 @@ export class DropDownListComponent {
|
|
|
1455
1455
|
}
|
|
1456
1456
|
closeActionSheet() {
|
|
1457
1457
|
this.actionSheet.toggle(false);
|
|
1458
|
-
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-expanded', 'false');
|
|
1459
|
-
this.renderer.removeAttribute(this.wrapper.nativeElement, 'aria-controls');
|
|
1460
1458
|
if (this.filterable) {
|
|
1461
1459
|
this.actionSheetSearchBar.value = '';
|
|
1462
1460
|
this.filterChange.emit('');
|
|
@@ -1467,10 +1465,7 @@ export class DropDownListComponent {
|
|
|
1467
1465
|
this.windowSize = this.adaptiveService.size;
|
|
1468
1466
|
this.actionSheet.toggle(true);
|
|
1469
1467
|
this.cdr.detectChanges();
|
|
1470
|
-
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-expanded', 'true');
|
|
1471
|
-
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-controls', this.listBoxId);
|
|
1472
1468
|
setListBoxAriaLabelledBy(this.optionsList, this.wrapper, this.renderer);
|
|
1473
|
-
this.setAriaactivedescendant();
|
|
1474
1469
|
this.title = setActionSheetTitle(this.wrapper, this.title);
|
|
1475
1470
|
updateActionSheetAdaptiveAppearance(this.actionSheet, this.windowSize, this.renderer);
|
|
1476
1471
|
this.cdr.detectChanges();
|
|
@@ -14,8 +14,8 @@ export class BaseCheckDirective {
|
|
|
14
14
|
/**
|
|
15
15
|
* @hidden
|
|
16
16
|
* The flag is needed in order to determine how to construct the items map keys.
|
|
17
|
-
* If `true`, then the key consists of the item's value and
|
|
18
|
-
* else the key consists of the item's value and
|
|
17
|
+
* If `true`, then the key consists of the item's value and 0 (no leveling required),
|
|
18
|
+
* else the key consists of the item's value and level (depth)
|
|
19
19
|
*/
|
|
20
20
|
isHeterogeneous;
|
|
21
21
|
addItem(item) {
|
|
@@ -36,11 +36,7 @@ export class BaseCheckDirective {
|
|
|
36
36
|
const key = this.getKey(item, level);
|
|
37
37
|
const candidate = { ...item, level, key };
|
|
38
38
|
this.checkedItems = this.checkedItems
|
|
39
|
-
.filter(item =>
|
|
40
|
-
const valueMatch = valueFrom(item, this.valueField) === valueFrom(candidate, this.valueField);
|
|
41
|
-
const levelMatch = item.level === candidate.level;
|
|
42
|
-
return this.isHeterogeneous ? !(valueMatch && levelMatch) : !valueMatch;
|
|
43
|
-
});
|
|
39
|
+
.filter(item => valueFrom(item, this.valueField) !== valueFrom(candidate, this.valueField));
|
|
44
40
|
this.checkedKeys.delete(key);
|
|
45
41
|
}
|
|
46
42
|
isItemChecked(item) {
|
|
@@ -768,8 +768,8 @@ export class MultiSelectTreeComponent {
|
|
|
768
768
|
/**
|
|
769
769
|
* @hidden
|
|
770
770
|
* The flag is needed in order to determine how to construct the items map keys.
|
|
771
|
-
* If `true`, then the key consists of the item's value and
|
|
772
|
-
* else the key consists of the item's value and
|
|
771
|
+
* If `true`, then the key consists of the item's value and 0 (no leveling required),
|
|
772
|
+
* else the key consists of the item's value and level (depth)
|
|
773
773
|
*/
|
|
774
774
|
isHeterogeneous;
|
|
775
775
|
/**
|
|
@@ -1116,7 +1116,7 @@ export class MultiSelectTreeComponent {
|
|
|
1116
1116
|
}
|
|
1117
1117
|
else {
|
|
1118
1118
|
// Remove single tag when the child items are pre-fetched
|
|
1119
|
-
const dataItem = this.dataItems
|
|
1119
|
+
const dataItem = this.dataItems[index];
|
|
1120
1120
|
const itemKey = dataItem.key;
|
|
1121
1121
|
const lookup = this.lookup.itemLookup(itemKey);
|
|
1122
1122
|
const pendingCheck = [lookup.item];
|
|
@@ -1126,20 +1126,10 @@ export class MultiSelectTreeComponent {
|
|
|
1126
1126
|
pendingCheck.push(...this.removeParents(lookup.parent));
|
|
1127
1127
|
}
|
|
1128
1128
|
const keysToRemove = pendingCheck.map(item => item.key);
|
|
1129
|
-
// Holds the position indexes of the items to be removed
|
|
1130
|
-
const valueDepthIndices = [];
|
|
1131
1129
|
this.dataItems = this.dataItems.filter((_item, i) => {
|
|
1132
|
-
|
|
1133
|
-
if (!shouldStay) {
|
|
1134
|
-
// We need to know the index position of the data item to be able to update the valueDepth array accordignly
|
|
1135
|
-
// as each data item's position is corresponding to the same position in valueDepth
|
|
1136
|
-
valueDepthIndices.push(i);
|
|
1137
|
-
}
|
|
1138
|
-
return shouldStay;
|
|
1139
|
-
});
|
|
1140
|
-
this.valueDepth = this.valueDepth.filter((_item, i) => {
|
|
1141
|
-
return !valueDepthIndices.includes(i) || this.disabledIndices.has(i);
|
|
1130
|
+
return !keysToRemove.includes(_item.key) || this.disabledIndices.has(i);
|
|
1142
1131
|
});
|
|
1132
|
+
this.valueDepth = this.dataItems.map(i => i.level);
|
|
1143
1133
|
}
|
|
1144
1134
|
this.updateValue(this.dataItems);
|
|
1145
1135
|
if (!this.isFocused) {
|
|
@@ -1548,15 +1538,7 @@ export class MultiSelectTreeComponent {
|
|
|
1548
1538
|
const source = this.dataItems.map(item => item.dataItem);
|
|
1549
1539
|
this.tags = this.tagMapper(source);
|
|
1550
1540
|
this.disabledIndices = this.disabledItemsMapper();
|
|
1551
|
-
|
|
1552
|
-
const tagIndexMap = new Map(this.tags.map((tag, index) => [JSON.stringify(tag), index]));
|
|
1553
|
-
// Modify dataItems by adding a property to hold the item's position as displayed in the tags
|
|
1554
|
-
this.dataItems.forEach(item => {
|
|
1555
|
-
const serializedDataItem = JSON.stringify(item.dataItem);
|
|
1556
|
-
item.tagPositionIndex = tagIndexMap.has(serializedDataItem)
|
|
1557
|
-
? tagIndexMap.get(serializedDataItem) // Use the index from tags if it exists
|
|
1558
|
-
: null; // Assign a null value if the dataItem is not visible in the tags
|
|
1559
|
-
});
|
|
1541
|
+
this.dataItems.sort((a, b) => this.tags.indexOf(a.dataItem) - this.tags.indexOf(b.dataItem));
|
|
1560
1542
|
}
|
|
1561
1543
|
updateValue(value) {
|
|
1562
1544
|
const newValue = this.valuePrimitive ?
|
|
@@ -1648,8 +1630,6 @@ export class MultiSelectTreeComponent {
|
|
|
1648
1630
|
closeActionSheet() {
|
|
1649
1631
|
this.wrapper.nativeElement.focus();
|
|
1650
1632
|
this.actionSheet.toggle(false);
|
|
1651
|
-
this.renderer.removeAttribute(this.wrapper.nativeElement, 'aria-controls');
|
|
1652
|
-
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-expanded', 'false');
|
|
1653
1633
|
if (this.filterable) {
|
|
1654
1634
|
this.actionSheetSearchBar.value = '';
|
|
1655
1635
|
this.filterChange.emit('');
|
|
@@ -1661,8 +1641,6 @@ export class MultiSelectTreeComponent {
|
|
|
1661
1641
|
this.actionSheet.toggle(true);
|
|
1662
1642
|
this.title = setActionSheetTitle(this.wrapper, this.title);
|
|
1663
1643
|
this.cdr.detectChanges();
|
|
1664
|
-
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-controls', this.treeViewId);
|
|
1665
|
-
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-expanded', 'true');
|
|
1666
1644
|
updateActionSheetAdaptiveAppearance(this.actionSheet, this.windowSize, this.renderer);
|
|
1667
1645
|
this.cdr.detectChanges();
|
|
1668
1646
|
this.opened.emit();
|
|
@@ -10,7 +10,7 @@ export const packageMetadata = {
|
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCode: 'KENDOUIANGULAR',
|
|
12
12
|
productCodes: ['KENDOUIANGULAR'],
|
|
13
|
-
publishDate:
|
|
14
|
-
version: '18.1.0-develop.
|
|
13
|
+
publishDate: 1738227210,
|
|
14
|
+
version: '18.1.0-develop.2',
|
|
15
15
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
16
16
|
};
|
|
@@ -37,8 +37,8 @@ const packageMetadata = {
|
|
|
37
37
|
productName: 'Kendo UI for Angular',
|
|
38
38
|
productCode: 'KENDOUIANGULAR',
|
|
39
39
|
productCodes: ['KENDOUIANGULAR'],
|
|
40
|
-
publishDate:
|
|
41
|
-
version: '18.1.0-develop.
|
|
40
|
+
publishDate: 1738227210,
|
|
41
|
+
version: '18.1.0-develop.2',
|
|
42
42
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
43
43
|
};
|
|
44
44
|
|
|
@@ -7895,6 +7895,7 @@ class DropDownListComponent {
|
|
|
7895
7895
|
});
|
|
7896
7896
|
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-expanded', 'true');
|
|
7897
7897
|
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-controls', this.listBoxId);
|
|
7898
|
+
this.setAriaactivedescendant();
|
|
7898
7899
|
const popupWrapper = this.popupRef.popupElement;
|
|
7899
7900
|
const { min, max } = this.width;
|
|
7900
7901
|
popupWrapper.addEventListener('mousedown', this.popupMouseDownHandler);
|
|
@@ -7914,7 +7915,6 @@ class DropDownListComponent {
|
|
|
7914
7915
|
this.subs.add(this.popupRef.popupOpen.subscribe(() => {
|
|
7915
7916
|
this.cdr.detectChanges();
|
|
7916
7917
|
setListBoxAriaLabelledBy(this.optionsList, this.wrapper, this.renderer);
|
|
7917
|
-
this.setAriaactivedescendant();
|
|
7918
7918
|
this.optionsList.scrollToItem(this.selectionService.focused);
|
|
7919
7919
|
this.selectionService.focus(this.selectionService.focused);
|
|
7920
7920
|
this.opened.emit();
|
|
@@ -8018,7 +8018,7 @@ class DropDownListComponent {
|
|
|
8018
8018
|
setAriaactivedescendant() {
|
|
8019
8019
|
if (this.ariaActivedescendant) {
|
|
8020
8020
|
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-activedescendant', this.ariaActivedescendant);
|
|
8021
|
-
const searchInput = this.popupRef
|
|
8021
|
+
const searchInput = this.popupRef.popupElement.querySelector('input[role="searchbox"]');
|
|
8022
8022
|
if (searchInput) {
|
|
8023
8023
|
this.renderer.setAttribute(searchInput, 'aria-activedescendant', this.ariaActivedescendant);
|
|
8024
8024
|
}
|
|
@@ -8347,8 +8347,6 @@ class DropDownListComponent {
|
|
|
8347
8347
|
}
|
|
8348
8348
|
closeActionSheet() {
|
|
8349
8349
|
this.actionSheet.toggle(false);
|
|
8350
|
-
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-expanded', 'false');
|
|
8351
|
-
this.renderer.removeAttribute(this.wrapper.nativeElement, 'aria-controls');
|
|
8352
8350
|
if (this.filterable) {
|
|
8353
8351
|
this.actionSheetSearchBar.value = '';
|
|
8354
8352
|
this.filterChange.emit('');
|
|
@@ -8359,10 +8357,7 @@ class DropDownListComponent {
|
|
|
8359
8357
|
this.windowSize = this.adaptiveService.size;
|
|
8360
8358
|
this.actionSheet.toggle(true);
|
|
8361
8359
|
this.cdr.detectChanges();
|
|
8362
|
-
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-expanded', 'true');
|
|
8363
|
-
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-controls', this.listBoxId);
|
|
8364
8360
|
setListBoxAriaLabelledBy(this.optionsList, this.wrapper, this.renderer);
|
|
8365
|
-
this.setAriaactivedescendant();
|
|
8366
8361
|
this.title = setActionSheetTitle(this.wrapper, this.title);
|
|
8367
8362
|
updateActionSheetAdaptiveAppearance(this.actionSheet, this.windowSize, this.renderer);
|
|
8368
8363
|
this.cdr.detectChanges();
|
|
@@ -12055,10 +12050,14 @@ class MultiColumnComboBoxComponent extends ComboBoxComponent {
|
|
|
12055
12050
|
* @hidden
|
|
12056
12051
|
*/
|
|
12057
12052
|
getColumnWidth(index) {
|
|
12058
|
-
|
|
12053
|
+
const popupWidthNumber = +(this.popupWidth.max.slice(0, -2));
|
|
12054
|
+
if (this.totalColumnsWidth >= popupWidthNumber) {
|
|
12059
12055
|
return this.columns.get(index).width;
|
|
12060
12056
|
}
|
|
12061
|
-
|
|
12057
|
+
if (this.virtual && isPresent(this.headerColumnWidths[index])) {
|
|
12058
|
+
return this.headerColumnWidths[index];
|
|
12059
|
+
}
|
|
12060
|
+
return this.columns.get(index).width;
|
|
12062
12061
|
}
|
|
12063
12062
|
verifySettings() {
|
|
12064
12063
|
if (!isDevMode()) {
|
|
@@ -14683,8 +14682,8 @@ class BaseCheckDirective {
|
|
|
14683
14682
|
/**
|
|
14684
14683
|
* @hidden
|
|
14685
14684
|
* The flag is needed in order to determine how to construct the items map keys.
|
|
14686
|
-
* If `true`, then the key consists of the item's value and
|
|
14687
|
-
* else the key consists of the item's value and
|
|
14685
|
+
* If `true`, then the key consists of the item's value and 0 (no leveling required),
|
|
14686
|
+
* else the key consists of the item's value and level (depth)
|
|
14688
14687
|
*/
|
|
14689
14688
|
isHeterogeneous;
|
|
14690
14689
|
addItem(item) {
|
|
@@ -14705,11 +14704,7 @@ class BaseCheckDirective {
|
|
|
14705
14704
|
const key = this.getKey(item, level);
|
|
14706
14705
|
const candidate = { ...item, level, key };
|
|
14707
14706
|
this.checkedItems = this.checkedItems
|
|
14708
|
-
.filter(item =>
|
|
14709
|
-
const valueMatch = valueFrom(item, this.valueField) === valueFrom(candidate, this.valueField);
|
|
14710
|
-
const levelMatch = item.level === candidate.level;
|
|
14711
|
-
return this.isHeterogeneous ? !(valueMatch && levelMatch) : !valueMatch;
|
|
14712
|
-
});
|
|
14707
|
+
.filter(item => valueFrom(item, this.valueField) !== valueFrom(candidate, this.valueField));
|
|
14713
14708
|
this.checkedKeys.delete(key);
|
|
14714
14709
|
}
|
|
14715
14710
|
isItemChecked(item) {
|
|
@@ -15795,8 +15790,8 @@ class MultiSelectTreeComponent {
|
|
|
15795
15790
|
/**
|
|
15796
15791
|
* @hidden
|
|
15797
15792
|
* The flag is needed in order to determine how to construct the items map keys.
|
|
15798
|
-
* If `true`, then the key consists of the item's value and
|
|
15799
|
-
* else the key consists of the item's value and
|
|
15793
|
+
* If `true`, then the key consists of the item's value and 0 (no leveling required),
|
|
15794
|
+
* else the key consists of the item's value and level (depth)
|
|
15800
15795
|
*/
|
|
15801
15796
|
isHeterogeneous;
|
|
15802
15797
|
/**
|
|
@@ -16143,7 +16138,7 @@ class MultiSelectTreeComponent {
|
|
|
16143
16138
|
}
|
|
16144
16139
|
else {
|
|
16145
16140
|
// Remove single tag when the child items are pre-fetched
|
|
16146
|
-
const dataItem = this.dataItems
|
|
16141
|
+
const dataItem = this.dataItems[index];
|
|
16147
16142
|
const itemKey = dataItem.key;
|
|
16148
16143
|
const lookup = this.lookup.itemLookup(itemKey);
|
|
16149
16144
|
const pendingCheck = [lookup.item];
|
|
@@ -16153,20 +16148,10 @@ class MultiSelectTreeComponent {
|
|
|
16153
16148
|
pendingCheck.push(...this.removeParents(lookup.parent));
|
|
16154
16149
|
}
|
|
16155
16150
|
const keysToRemove = pendingCheck.map(item => item.key);
|
|
16156
|
-
// Holds the position indexes of the items to be removed
|
|
16157
|
-
const valueDepthIndices = [];
|
|
16158
16151
|
this.dataItems = this.dataItems.filter((_item, i) => {
|
|
16159
|
-
|
|
16160
|
-
if (!shouldStay) {
|
|
16161
|
-
// We need to know the index position of the data item to be able to update the valueDepth array accordignly
|
|
16162
|
-
// as each data item's position is corresponding to the same position in valueDepth
|
|
16163
|
-
valueDepthIndices.push(i);
|
|
16164
|
-
}
|
|
16165
|
-
return shouldStay;
|
|
16166
|
-
});
|
|
16167
|
-
this.valueDepth = this.valueDepth.filter((_item, i) => {
|
|
16168
|
-
return !valueDepthIndices.includes(i) || this.disabledIndices.has(i);
|
|
16152
|
+
return !keysToRemove.includes(_item.key) || this.disabledIndices.has(i);
|
|
16169
16153
|
});
|
|
16154
|
+
this.valueDepth = this.dataItems.map(i => i.level);
|
|
16170
16155
|
}
|
|
16171
16156
|
this.updateValue(this.dataItems);
|
|
16172
16157
|
if (!this.isFocused) {
|
|
@@ -16575,15 +16560,7 @@ class MultiSelectTreeComponent {
|
|
|
16575
16560
|
const source = this.dataItems.map(item => item.dataItem);
|
|
16576
16561
|
this.tags = this.tagMapper(source);
|
|
16577
16562
|
this.disabledIndices = this.disabledItemsMapper();
|
|
16578
|
-
|
|
16579
|
-
const tagIndexMap = new Map(this.tags.map((tag, index) => [JSON.stringify(tag), index]));
|
|
16580
|
-
// Modify dataItems by adding a property to hold the item's position as displayed in the tags
|
|
16581
|
-
this.dataItems.forEach(item => {
|
|
16582
|
-
const serializedDataItem = JSON.stringify(item.dataItem);
|
|
16583
|
-
item.tagPositionIndex = tagIndexMap.has(serializedDataItem)
|
|
16584
|
-
? tagIndexMap.get(serializedDataItem) // Use the index from tags if it exists
|
|
16585
|
-
: null; // Assign a null value if the dataItem is not visible in the tags
|
|
16586
|
-
});
|
|
16563
|
+
this.dataItems.sort((a, b) => this.tags.indexOf(a.dataItem) - this.tags.indexOf(b.dataItem));
|
|
16587
16564
|
}
|
|
16588
16565
|
updateValue(value) {
|
|
16589
16566
|
const newValue = this.valuePrimitive ?
|
|
@@ -16675,8 +16652,6 @@ class MultiSelectTreeComponent {
|
|
|
16675
16652
|
closeActionSheet() {
|
|
16676
16653
|
this.wrapper.nativeElement.focus();
|
|
16677
16654
|
this.actionSheet.toggle(false);
|
|
16678
|
-
this.renderer.removeAttribute(this.wrapper.nativeElement, 'aria-controls');
|
|
16679
|
-
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-expanded', 'false');
|
|
16680
16655
|
if (this.filterable) {
|
|
16681
16656
|
this.actionSheetSearchBar.value = '';
|
|
16682
16657
|
this.filterChange.emit('');
|
|
@@ -16688,8 +16663,6 @@ class MultiSelectTreeComponent {
|
|
|
16688
16663
|
this.actionSheet.toggle(true);
|
|
16689
16664
|
this.title = setActionSheetTitle(this.wrapper, this.title);
|
|
16690
16665
|
this.cdr.detectChanges();
|
|
16691
|
-
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-controls', this.treeViewId);
|
|
16692
|
-
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-expanded', 'true');
|
|
16693
16666
|
updateActionSheetAdaptiveAppearance(this.actionSheet, this.windowSize, this.renderer);
|
|
16694
16667
|
this.cdr.detectChanges();
|
|
16695
16668
|
this.opened.emit();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-dropdowns",
|
|
3
|
-
"version": "18.1.0-develop.
|
|
3
|
+
"version": "18.1.0-develop.2",
|
|
4
4
|
"description": "A wide variety of native Angular dropdown components including AutoComplete, ComboBox, DropDownList, DropDownTree, MultiColumnComboBox, MultiSelect, and MultiSelectTree ",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "Progress",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"package": {
|
|
21
21
|
"productName": "Kendo UI for Angular",
|
|
22
22
|
"productCode": "KENDOUIANGULAR",
|
|
23
|
-
"publishDate":
|
|
23
|
+
"publishDate": 1738227210,
|
|
24
24
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
25
25
|
}
|
|
26
26
|
},
|
|
@@ -31,18 +31,18 @@
|
|
|
31
31
|
"@angular/forms": "16 - 19",
|
|
32
32
|
"@angular/platform-browser": "16 - 19",
|
|
33
33
|
"@progress/kendo-licensing": "^1.0.2",
|
|
34
|
-
"@progress/kendo-angular-common": "18.1.0-develop.
|
|
35
|
-
"@progress/kendo-angular-utils": "18.1.0-develop.
|
|
36
|
-
"@progress/kendo-angular-l10n": "18.1.0-develop.
|
|
37
|
-
"@progress/kendo-angular-navigation": "18.1.0-develop.
|
|
38
|
-
"@progress/kendo-angular-popup": "18.1.0-develop.
|
|
39
|
-
"@progress/kendo-angular-icons": "18.1.0-develop.
|
|
40
|
-
"@progress/kendo-angular-treeview": "18.1.0-develop.
|
|
34
|
+
"@progress/kendo-angular-common": "18.1.0-develop.2",
|
|
35
|
+
"@progress/kendo-angular-utils": "18.1.0-develop.2",
|
|
36
|
+
"@progress/kendo-angular-l10n": "18.1.0-develop.2",
|
|
37
|
+
"@progress/kendo-angular-navigation": "18.1.0-develop.2",
|
|
38
|
+
"@progress/kendo-angular-popup": "18.1.0-develop.2",
|
|
39
|
+
"@progress/kendo-angular-icons": "18.1.0-develop.2",
|
|
40
|
+
"@progress/kendo-angular-treeview": "18.1.0-develop.2",
|
|
41
41
|
"rxjs": "^6.5.3 || ^7.0.0"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"tslib": "^2.3.1",
|
|
45
|
-
"@progress/kendo-angular-schematics": "18.1.0-develop.
|
|
45
|
+
"@progress/kendo-angular-schematics": "18.1.0-develop.2",
|
|
46
46
|
"@progress/kendo-common": "^1.0.1"
|
|
47
47
|
},
|
|
48
48
|
"schematics": "./schematics/collection.json",
|
|
@@ -4,9 +4,9 @@ const schematics_1 = require("@angular-devkit/schematics");
|
|
|
4
4
|
function default_1(options) {
|
|
5
5
|
const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'DropDownsModule', package: 'dropdowns', peerDependencies: {
|
|
6
6
|
// peers of the treeview
|
|
7
|
-
'@progress/kendo-angular-inputs': '18.1.0-develop.
|
|
7
|
+
'@progress/kendo-angular-inputs': '18.1.0-develop.2',
|
|
8
8
|
// peers of inputs
|
|
9
|
-
'@progress/kendo-angular-intl': '18.1.0-develop.
|
|
9
|
+
'@progress/kendo-angular-intl': '18.1.0-develop.2',
|
|
10
10
|
'@progress/kendo-drawing': '^1.17.2',
|
|
11
11
|
// Peer dependency of icons
|
|
12
12
|
'@progress/kendo-svg-icons': '^4.0.0'
|