@progress/kendo-angular-dropdowns 7.2.1 → 7.2.2-dev.202210060746

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.
@@ -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((item, index) => {
444
- if (hasProps(item, ['dataItem', 'index', 'level'])) {
445
- return item;
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: item,
454
+ dataItem,
449
455
  index: null,
450
- level: this.valueDepth[index] || 0,
451
- key: valueFrom({ dataItem: item }, this.valueField) + '_' + (this.isHeterogeneous ? this.valueDepth[index] : 0)
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
- dataItem: value,
459
- index: null,
460
- level: this.valueDepth[index] || 0,
461
- key: valueFrom({ dataItem: value }, this.valueField) + '_' + (this.isHeterogeneous ? this.valueDepth[index] : 0)
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: 1665041198,
12
+ publishDate: 1665042305,
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: 1665041198,
32
+ publishDate: 1665042305,
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((item, index) => {
12387
- if (hasProps(item, ['dataItem', 'index', 'level'])) {
12388
- return item;
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: item,
12397
+ dataItem,
12392
12398
  index: null,
12393
- level: this.valueDepth[index] || 0,
12394
- key: valueFrom({ dataItem: item }, this.valueField) + '_' + (this.isHeterogeneous ? this.valueDepth[index] : 0)
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
- dataItem: value,
12402
- index: null,
12403
- level: this.valueDepth[index] || 0,
12404
- key: valueFrom({ dataItem: value }, this.valueField) + '_' + (this.isHeterogeneous ? this.valueDepth[index] : 0)
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.1",
3
+ "version": "7.2.2-dev.202210060746",
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",