@progress/kendo-angular-dropdowns 7.2.1 → 7.2.2-dev.202210120944
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/kendo-angular-dropdowns.umd.js +1 -1
- package/common/searchbar.component.d.ts +1 -1
- package/dropdowntrees/multiselecttree.component.d.ts +1 -0
- package/esm2015/dropdowntrees/multiselecttree.component.js +30 -15
- package/esm2015/package-metadata.js +1 -1
- package/fesm2015/kendo-angular-dropdowns.js +31 -16
- package/package.json +1 -1
|
@@ -46,7 +46,7 @@ export declare class SearchBarComponent implements OnChanges, OnInit, OnDestroy,
|
|
|
46
46
|
private _placeholder;
|
|
47
47
|
private _isSuggestable;
|
|
48
48
|
private _isFilterable;
|
|
49
|
-
private control
|
|
49
|
+
private control;
|
|
50
50
|
private renderer;
|
|
51
51
|
private subs;
|
|
52
52
|
constructor(localization: LocalizationService, renderer: Renderer2, injector: Injector);
|
|
@@ -429,6 +429,7 @@ export declare class MultiSelectTreeComponent implements OnInit, OnDestroy, OnCh
|
|
|
429
429
|
private _fillMode;
|
|
430
430
|
private subscriptions;
|
|
431
431
|
private lastNodeOnFocus;
|
|
432
|
+
private isContentInit;
|
|
432
433
|
constructor(wrapper: ElementRef, popupService: PopupService, renderer: Renderer2, navigationService: NavigationService, _zone: NgZone, localization: LocalizationService, cdr: ChangeDetectorRef, lookup: MultiSelectTreeLookupService, touchEnabled: boolean);
|
|
433
434
|
ngOnInit(): void;
|
|
434
435
|
/**
|
|
@@ -418,6 +418,10 @@ export class MultiSelectTreeComponent {
|
|
|
418
418
|
set data(data) {
|
|
419
419
|
this._nodes = data;
|
|
420
420
|
this.setState();
|
|
421
|
+
if (this.isContentInit) {
|
|
422
|
+
// Needed for when the data is loaded later/asynchronously because it would not exist on ngContentInit
|
|
423
|
+
this.registerLookupItems(data);
|
|
424
|
+
}
|
|
421
425
|
}
|
|
422
426
|
get data() {
|
|
423
427
|
return this._nodes;
|
|
@@ -440,26 +444,32 @@ export class MultiSelectTreeComponent {
|
|
|
440
444
|
* Needs to be provided when when programmatically setting a `value` and `valuePrimitive` is set to `true`.
|
|
441
445
|
*/
|
|
442
446
|
set dataItems(items) {
|
|
443
|
-
this._dataItems = (items || []).map((
|
|
444
|
-
if (hasProps(
|
|
445
|
-
return
|
|
447
|
+
this._dataItems = (items || []).map((dataItem, index) => {
|
|
448
|
+
if (hasProps(dataItem, ['dataItem', 'index', 'level'])) {
|
|
449
|
+
return dataItem;
|
|
446
450
|
}
|
|
451
|
+
const level = this.valueDepth[index] || 0;
|
|
452
|
+
const key = valueFrom({ dataItem, level }, this.valueField) + '_' + (this.isHeterogeneous ? this.valueDepth[index] : 0);
|
|
447
453
|
return {
|
|
448
|
-
dataItem
|
|
454
|
+
dataItem,
|
|
449
455
|
index: null,
|
|
450
|
-
level
|
|
451
|
-
key
|
|
456
|
+
level,
|
|
457
|
+
key
|
|
452
458
|
};
|
|
453
459
|
});
|
|
454
460
|
this.setState();
|
|
455
461
|
}
|
|
456
462
|
get dataItems() {
|
|
457
|
-
return this._dataItems || this.value.map((value, index) =>
|
|
458
|
-
|
|
459
|
-
index:
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
+
return this._dataItems || this.value.map((value, index) => {
|
|
464
|
+
const level = this.valueDepth[index] || 0;
|
|
465
|
+
const key = valueFrom({ dataItem: value, level }, this.valueField) + '_' + (this.isHeterogeneous ? this.valueDepth[index] : 0);
|
|
466
|
+
return {
|
|
467
|
+
dataItem: value,
|
|
468
|
+
index: null,
|
|
469
|
+
level,
|
|
470
|
+
key
|
|
471
|
+
};
|
|
472
|
+
});
|
|
463
473
|
}
|
|
464
474
|
/**
|
|
465
475
|
* @hidden
|
|
@@ -626,7 +636,7 @@ export class MultiSelectTreeComponent {
|
|
|
626
636
|
}
|
|
627
637
|
else {
|
|
628
638
|
// Re-map the dataItems because `valueDepth` is not yet available when the check directive parses the items
|
|
629
|
-
this.dataItems = this.dataItems.map((item, index) => (Object.assign(Object.assign({}, item), { level: this.valueDepth[index] || 0 })));
|
|
639
|
+
this.dataItems = this.dataItems.map((item, index) => (Object.assign(Object.assign({}, item), { key: valueFrom({ dataItem: item.dataItem, index: null, level: this.valueDepth[index] || 0 }, this.valueField) + '_' + (this.isHeterogeneous ? this.valueDepth[index] : 0), level: this.valueDepth[index] || 0 })));
|
|
630
640
|
}
|
|
631
641
|
}
|
|
632
642
|
if (anyChanged(['data', 'children', 'hasChildren', 'loadOnDemand', 'valueField'], changes, true) && !this.loadOnDemand) {
|
|
@@ -641,6 +651,9 @@ export class MultiSelectTreeComponent {
|
|
|
641
651
|
this.verifySettings();
|
|
642
652
|
}
|
|
643
653
|
ngAfterContentInit() {
|
|
654
|
+
this.isContentInit = true;
|
|
655
|
+
// Still need to keep the call of 'registerLookupItems()' from ngAfterContentInit in the cases when the data is passed initially
|
|
656
|
+
// The call is execute here because we have to make sure it happens after all input properties are loaded (not the case in the data setter initially)
|
|
644
657
|
this.registerLookupItems(this.data);
|
|
645
658
|
}
|
|
646
659
|
/**
|
|
@@ -1414,6 +1427,7 @@ MultiSelectTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
|
|
|
1414
1427
|
[style.maxHeight.px]="listHeight"
|
|
1415
1428
|
[animate]="false"
|
|
1416
1429
|
kendoMultiSelectTreeCheckable
|
|
1430
|
+
[isHeterogeneous]="isHeterogeneous"
|
|
1417
1431
|
[checkable]="checkableSettings"
|
|
1418
1432
|
[checkedItems]="checkedItems"
|
|
1419
1433
|
[valueField]="valueField"
|
|
@@ -1445,7 +1459,7 @@ MultiSelectTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
|
|
|
1445
1459
|
}">
|
|
1446
1460
|
</ng-template>
|
|
1447
1461
|
<!--no-data template-->
|
|
1448
|
-
<div class="k-no-data" *ngIf="data?.length === 0 || allNodesHidden">
|
|
1462
|
+
<div class="k-no-data" *ngIf="!data || data?.length === 0 || allNodesHidden">
|
|
1449
1463
|
<ng-template [ngIf]="noDataTemplate"
|
|
1450
1464
|
[templateContext]="{
|
|
1451
1465
|
templateRef: noDataTemplate?.templateRef
|
|
@@ -1618,6 +1632,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
1618
1632
|
[style.maxHeight.px]="listHeight"
|
|
1619
1633
|
[animate]="false"
|
|
1620
1634
|
kendoMultiSelectTreeCheckable
|
|
1635
|
+
[isHeterogeneous]="isHeterogeneous"
|
|
1621
1636
|
[checkable]="checkableSettings"
|
|
1622
1637
|
[checkedItems]="checkedItems"
|
|
1623
1638
|
[valueField]="valueField"
|
|
@@ -1649,7 +1664,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
1649
1664
|
}">
|
|
1650
1665
|
</ng-template>
|
|
1651
1666
|
<!--no-data template-->
|
|
1652
|
-
<div class="k-no-data" *ngIf="data?.length === 0 || allNodesHidden">
|
|
1667
|
+
<div class="k-no-data" *ngIf="!data || data?.length === 0 || allNodesHidden">
|
|
1653
1668
|
<ng-template [ngIf]="noDataTemplate"
|
|
1654
1669
|
[templateContext]="{
|
|
1655
1670
|
templateRef: noDataTemplate?.templateRef
|
|
@@ -9,7 +9,7 @@ export const packageMetadata = {
|
|
|
9
9
|
name: '@progress/kendo-angular-dropdowns',
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
12
|
-
publishDate:
|
|
12
|
+
publishDate: 1665567817,
|
|
13
13
|
version: '',
|
|
14
14
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
|
|
15
15
|
};
|
|
@@ -29,7 +29,7 @@ const packageMetadata = {
|
|
|
29
29
|
name: '@progress/kendo-angular-dropdowns',
|
|
30
30
|
productName: 'Kendo UI for Angular',
|
|
31
31
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
32
|
-
publishDate:
|
|
32
|
+
publishDate: 1665567817,
|
|
33
33
|
version: '',
|
|
34
34
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
|
|
35
35
|
};
|
|
@@ -12361,6 +12361,10 @@ class MultiSelectTreeComponent {
|
|
|
12361
12361
|
set data(data) {
|
|
12362
12362
|
this._nodes = data;
|
|
12363
12363
|
this.setState();
|
|
12364
|
+
if (this.isContentInit) {
|
|
12365
|
+
// Needed for when the data is loaded later/asynchronously because it would not exist on ngContentInit
|
|
12366
|
+
this.registerLookupItems(data);
|
|
12367
|
+
}
|
|
12364
12368
|
}
|
|
12365
12369
|
get data() {
|
|
12366
12370
|
return this._nodes;
|
|
@@ -12383,26 +12387,32 @@ class MultiSelectTreeComponent {
|
|
|
12383
12387
|
* Needs to be provided when when programmatically setting a `value` and `valuePrimitive` is set to `true`.
|
|
12384
12388
|
*/
|
|
12385
12389
|
set dataItems(items) {
|
|
12386
|
-
this._dataItems = (items || []).map((
|
|
12387
|
-
if (hasProps(
|
|
12388
|
-
return
|
|
12390
|
+
this._dataItems = (items || []).map((dataItem, index) => {
|
|
12391
|
+
if (hasProps(dataItem, ['dataItem', 'index', 'level'])) {
|
|
12392
|
+
return dataItem;
|
|
12389
12393
|
}
|
|
12394
|
+
const level = this.valueDepth[index] || 0;
|
|
12395
|
+
const key = valueFrom({ dataItem, level }, this.valueField) + '_' + (this.isHeterogeneous ? this.valueDepth[index] : 0);
|
|
12390
12396
|
return {
|
|
12391
|
-
dataItem
|
|
12397
|
+
dataItem,
|
|
12392
12398
|
index: null,
|
|
12393
|
-
level
|
|
12394
|
-
key
|
|
12399
|
+
level,
|
|
12400
|
+
key
|
|
12395
12401
|
};
|
|
12396
12402
|
});
|
|
12397
12403
|
this.setState();
|
|
12398
12404
|
}
|
|
12399
12405
|
get dataItems() {
|
|
12400
|
-
return this._dataItems || this.value.map((value, index) =>
|
|
12401
|
-
|
|
12402
|
-
index:
|
|
12403
|
-
|
|
12404
|
-
|
|
12405
|
-
|
|
12406
|
+
return this._dataItems || this.value.map((value, index) => {
|
|
12407
|
+
const level = this.valueDepth[index] || 0;
|
|
12408
|
+
const key = valueFrom({ dataItem: value, level }, this.valueField) + '_' + (this.isHeterogeneous ? this.valueDepth[index] : 0);
|
|
12409
|
+
return {
|
|
12410
|
+
dataItem: value,
|
|
12411
|
+
index: null,
|
|
12412
|
+
level,
|
|
12413
|
+
key
|
|
12414
|
+
};
|
|
12415
|
+
});
|
|
12406
12416
|
}
|
|
12407
12417
|
/**
|
|
12408
12418
|
* @hidden
|
|
@@ -12569,7 +12579,7 @@ class MultiSelectTreeComponent {
|
|
|
12569
12579
|
}
|
|
12570
12580
|
else {
|
|
12571
12581
|
// Re-map the dataItems because `valueDepth` is not yet available when the check directive parses the items
|
|
12572
|
-
this.dataItems = this.dataItems.map((item, index) => (Object.assign(Object.assign({}, item), { level: this.valueDepth[index] || 0 })));
|
|
12582
|
+
this.dataItems = this.dataItems.map((item, index) => (Object.assign(Object.assign({}, item), { key: valueFrom({ dataItem: item.dataItem, index: null, level: this.valueDepth[index] || 0 }, this.valueField) + '_' + (this.isHeterogeneous ? this.valueDepth[index] : 0), level: this.valueDepth[index] || 0 })));
|
|
12573
12583
|
}
|
|
12574
12584
|
}
|
|
12575
12585
|
if (anyChanged(['data', 'children', 'hasChildren', 'loadOnDemand', 'valueField'], changes, true) && !this.loadOnDemand) {
|
|
@@ -12584,6 +12594,9 @@ class MultiSelectTreeComponent {
|
|
|
12584
12594
|
this.verifySettings();
|
|
12585
12595
|
}
|
|
12586
12596
|
ngAfterContentInit() {
|
|
12597
|
+
this.isContentInit = true;
|
|
12598
|
+
// Still need to keep the call of 'registerLookupItems()' from ngAfterContentInit in the cases when the data is passed initially
|
|
12599
|
+
// The call is execute here because we have to make sure it happens after all input properties are loaded (not the case in the data setter initially)
|
|
12587
12600
|
this.registerLookupItems(this.data);
|
|
12588
12601
|
}
|
|
12589
12602
|
/**
|
|
@@ -13357,6 +13370,7 @@ MultiSelectTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
|
|
|
13357
13370
|
[style.maxHeight.px]="listHeight"
|
|
13358
13371
|
[animate]="false"
|
|
13359
13372
|
kendoMultiSelectTreeCheckable
|
|
13373
|
+
[isHeterogeneous]="isHeterogeneous"
|
|
13360
13374
|
[checkable]="checkableSettings"
|
|
13361
13375
|
[checkedItems]="checkedItems"
|
|
13362
13376
|
[valueField]="valueField"
|
|
@@ -13388,7 +13402,7 @@ MultiSelectTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
|
|
|
13388
13402
|
}">
|
|
13389
13403
|
</ng-template>
|
|
13390
13404
|
<!--no-data template-->
|
|
13391
|
-
<div class="k-no-data" *ngIf="data?.length === 0 || allNodesHidden">
|
|
13405
|
+
<div class="k-no-data" *ngIf="!data || data?.length === 0 || allNodesHidden">
|
|
13392
13406
|
<ng-template [ngIf]="noDataTemplate"
|
|
13393
13407
|
[templateContext]="{
|
|
13394
13408
|
templateRef: noDataTemplate?.templateRef
|
|
@@ -13561,6 +13575,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
13561
13575
|
[style.maxHeight.px]="listHeight"
|
|
13562
13576
|
[animate]="false"
|
|
13563
13577
|
kendoMultiSelectTreeCheckable
|
|
13578
|
+
[isHeterogeneous]="isHeterogeneous"
|
|
13564
13579
|
[checkable]="checkableSettings"
|
|
13565
13580
|
[checkedItems]="checkedItems"
|
|
13566
13581
|
[valueField]="valueField"
|
|
@@ -13592,7 +13607,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
13592
13607
|
}">
|
|
13593
13608
|
</ng-template>
|
|
13594
13609
|
<!--no-data template-->
|
|
13595
|
-
<div class="k-no-data" *ngIf="data?.length === 0 || allNodesHidden">
|
|
13610
|
+
<div class="k-no-data" *ngIf="!data || data?.length === 0 || allNodesHidden">
|
|
13596
13611
|
<ng-template [ngIf]="noDataTemplate"
|
|
13597
13612
|
[templateContext]="{
|
|
13598
13613
|
templateRef: noDataTemplate?.templateRef
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-dropdowns",
|
|
3
|
-
"version": "7.2.
|
|
3
|
+
"version": "7.2.2-dev.202210120944",
|
|
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",
|