@progress/kendo-angular-treeview 5.4.3 → 6.0.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.
Files changed (57) hide show
  1. package/LICENSE.md +1 -1
  2. package/NOTICE.txt +119 -79
  3. package/README.md +1 -1
  4. package/dist/cdn/js/kendo-angular-treeview.js +18 -18
  5. package/dist/cdn/main.js +1 -1
  6. package/dist/es/check.directive.js +30 -39
  7. package/dist/es/checkbox/checkbox.component.js +17 -1
  8. package/dist/es/drag-and-drop/drag-and-drop-utils.js +3 -3
  9. package/dist/es/drag-and-drop/drag-and-drop.directive.js +2 -2
  10. package/dist/es/expand.directive.js +40 -41
  11. package/dist/es/package-metadata.js +1 -1
  12. package/dist/es/selection/select.directive.js +22 -28
  13. package/dist/es/size.js +4 -0
  14. package/dist/es/treeview-group.component.js +7 -2
  15. package/dist/es/treeview-item-content.directive.js +2 -2
  16. package/dist/es/treeview-item.directive.js +1 -1
  17. package/dist/es/treeview.component.js +36 -4
  18. package/dist/es/utils.js +21 -11
  19. package/dist/es2015/check.directive.d.ts +8 -1
  20. package/dist/es2015/check.directive.js +30 -35
  21. package/dist/es2015/checkbox/checkbox.component.d.ts +6 -0
  22. package/dist/es2015/checkbox/checkbox.component.js +13 -1
  23. package/dist/es2015/drag-and-drop/drag-and-drop-utils.js +3 -3
  24. package/dist/es2015/drag-and-drop/drag-and-drop.directive.js +2 -2
  25. package/dist/es2015/expand.directive.d.ts +12 -3
  26. package/dist/es2015/expand.directive.js +39 -36
  27. package/dist/es2015/index.metadata.json +1 -1
  28. package/dist/es2015/package-metadata.js +1 -1
  29. package/dist/es2015/selection/select.directive.d.ts +11 -3
  30. package/dist/es2015/selection/select.directive.js +22 -24
  31. package/dist/es2015/size.d.ts +14 -0
  32. package/dist/es2015/size.js +4 -0
  33. package/dist/es2015/treeview-group.component.d.ts +2 -0
  34. package/dist/es2015/treeview-group.component.js +49 -35
  35. package/dist/es2015/treeview-item-content.directive.js +2 -2
  36. package/dist/es2015/treeview-item.directive.js +1 -1
  37. package/dist/es2015/treeview.component.d.ts +13 -0
  38. package/dist/es2015/treeview.component.js +46 -13
  39. package/dist/es2015/utils.d.ts +9 -4
  40. package/dist/es2015/utils.js +21 -11
  41. package/dist/fesm2015/index.js +224 -163
  42. package/dist/fesm5/index.js +177 -134
  43. package/dist/npm/check.directive.js +30 -39
  44. package/dist/npm/checkbox/checkbox.component.js +17 -1
  45. package/dist/npm/drag-and-drop/drag-and-drop-utils.js +3 -3
  46. package/dist/npm/drag-and-drop/drag-and-drop.directive.js +2 -2
  47. package/dist/npm/expand.directive.js +40 -41
  48. package/dist/npm/package-metadata.js +1 -1
  49. package/dist/npm/selection/select.directive.js +22 -28
  50. package/dist/npm/size.js +6 -0
  51. package/dist/npm/treeview-group.component.js +7 -2
  52. package/dist/npm/treeview-item-content.directive.js +2 -2
  53. package/dist/npm/treeview-item.directive.js +1 -1
  54. package/dist/npm/treeview.component.js +35 -3
  55. package/dist/npm/utils.js +21 -11
  56. package/dist/systemjs/kendo-angular-treeview.js +1 -1
  57. package/package.json +9 -8
@@ -232,6 +232,7 @@ var TreeViewComponent = /** @class */ (function () {
232
232
  this.isActive = false;
233
233
  this.data = new rxjs_1.BehaviorSubject([]);
234
234
  this._animate = true;
235
+ this._size = 'medium';
235
236
  this.subscriptions = new rxjs_1.Subscription();
236
237
  this.domSubscriptions = [];
237
238
  kendo_licensing_1.validatePackage(package_metadata_1.packageMetadata);
@@ -363,6 +364,30 @@ var TreeViewComponent = /** @class */ (function () {
363
364
  enumerable: true,
364
365
  configurable: true
365
366
  });
367
+ Object.defineProperty(TreeViewComponent.prototype, "size", {
368
+ get: function () {
369
+ return this._size;
370
+ },
371
+ /**
372
+ * Sets the size of the component.
373
+ *
374
+ * The possible values are:
375
+ * * `'small'`
376
+ * * `'medium'` (default)
377
+ * * `'large'`
378
+ * * `null`
379
+ *
380
+ */
381
+ set: function (size) {
382
+ this.renderer.removeClass(this.element.nativeElement, utils_1.getSizeClass('treeview', this.size));
383
+ if (size) {
384
+ this.renderer.addClass(this.element.nativeElement, utils_1.getSizeClass('treeview', size));
385
+ }
386
+ this._size = size;
387
+ },
388
+ enumerable: true,
389
+ configurable: true
390
+ });
366
391
  TreeViewComponent.prototype.ngOnChanges = function (changes) {
367
392
  this.navigationService.navigable = Boolean(this.navigable);
368
393
  // TODO: should react to changes.loadOnDemand as well - should preload the data or clear the already cached items
@@ -403,6 +428,9 @@ var TreeViewComponent = /** @class */ (function () {
403
428
  _this.attachDomHandlers();
404
429
  });
405
430
  }
431
+ if (this.size) {
432
+ this.renderer.addClass(this.element.nativeElement, utils_1.getSizeClass('treeview', this.size));
433
+ }
406
434
  };
407
435
  /**
408
436
  * Blurs the focused TreeView item.
@@ -562,7 +590,7 @@ var TreeViewComponent = /** @class */ (function () {
562
590
  return;
563
591
  }
564
592
  var index = utils_1.nodeId(utils_1.closestNode(target));
565
- // the disabled check is probably not needed due to the k-state-disabled styles
593
+ // the disabled check is probably not needed due to the k-disabled styles
566
594
  if (!index || this.navigationService.isDisabled(index)) {
567
595
  return;
568
596
  }
@@ -624,7 +652,6 @@ var TreeViewComponent = /** @class */ (function () {
624
652
  });
625
653
  };
626
654
  tslib_1.__decorate([
627
- core_1.HostBinding("class.k-widget"),
628
655
  core_1.HostBinding("class.k-treeview"),
629
656
  tslib_1.__metadata("design:type", Boolean)
630
657
  ], TreeViewComponent.prototype, "classNames", void 0);
@@ -798,13 +825,18 @@ var TreeViewComponent = /** @class */ (function () {
798
825
  core_1.Input(),
799
826
  tslib_1.__metadata("design:type", String)
800
827
  ], TreeViewComponent.prototype, "filter", void 0);
828
+ tslib_1.__decorate([
829
+ core_1.Input(),
830
+ tslib_1.__metadata("design:type", String),
831
+ tslib_1.__metadata("design:paramtypes", [String])
832
+ ], TreeViewComponent.prototype, "size", null);
801
833
  TreeViewComponent = tslib_1.__decorate([
802
834
  core_1.Component({
803
835
  changeDetection: core_1.ChangeDetectionStrategy.Default,
804
836
  exportAs: 'kendoTreeView',
805
837
  providers: providers,
806
838
  selector: 'kendo-treeview',
807
- template: "\n <kendo-textbox\n #filterInput\n *ngIf=\"filterable\"\n [value]=\"filter\"\n [clearButton]=\"true\"\n (valueChange)=\"filterChange.emit($event)\"\n [placeholder]=\"filterInputPlaceholder\"\n >\n <ng-template kendoTextBoxPrefixTemplate>\n <span class=\"k-icon k-i-search\"></span>\n </ng-template>\n </kendo-textbox>\n <ul class=\"k-treeview-lines\"\n kendoTreeViewGroup\n role=\"group\"\n [loadOnDemand]=\"loadOnDemand\"\n [checkboxes]=\"checkboxes\"\n [expandIcons]=\"expandIcons\"\n [selectable]=\"selectable\"\n [touchActions]=\"touchActions\"\n [children]=\"children\"\n [hasChildren]=\"hasChildren\"\n [isChecked]=\"isChecked\"\n [isDisabled]=\"isDisabled\"\n [isExpanded]=\"isExpanded\"\n [isSelected]=\"isSelected\"\n [isVisible]=\"isVisible\"\n [nodeTemplateRef]=\"nodeTemplateRef?.templateRef\"\n [loadMoreButtonTemplateRef]=\"loadMoreButtonTemplateRef?.templateRef\"\n [textField]=\"textField\"\n [nodes]=\"fetchNodes\"\n [loadMoreService]=\"loadMoreService\"\n [trackBy]=\"trackBy\"\n >\n </ul>\n <ng-container #assetsContainer></ng-container>\n "
839
+ template: "\n <span\n class=\"k-treeview-filter\"\n *ngIf=\"filterable\"\n >\n <kendo-textbox\n [size]=\"size\"\n [value]=\"filter\"\n [clearButton]=\"true\"\n (valueChange)=\"filterChange.emit($event)\"\n [placeholder]=\"filterInputPlaceholder\"\n >\n <ng-template kendoTextBoxPrefixTemplate>\n <span class=\"k-input-icon k-icon k-i-search\"></span>\n </ng-template>\n </kendo-textbox>\n </span>\n <ul class=\"k-treeview-lines\"\n kendoTreeViewGroup\n role=\"group\"\n [size]=\"size\"\n [loadOnDemand]=\"loadOnDemand\"\n [checkboxes]=\"checkboxes\"\n [expandIcons]=\"expandIcons\"\n [selectable]=\"selectable\"\n [touchActions]=\"touchActions\"\n [children]=\"children\"\n [hasChildren]=\"hasChildren\"\n [isChecked]=\"isChecked\"\n [isDisabled]=\"isDisabled\"\n [isExpanded]=\"isExpanded\"\n [isSelected]=\"isSelected\"\n [isVisible]=\"isVisible\"\n [nodeTemplateRef]=\"nodeTemplateRef?.templateRef\"\n [loadMoreButtonTemplateRef]=\"loadMoreButtonTemplateRef?.templateRef\"\n [textField]=\"textField\"\n [nodes]=\"fetchNodes\"\n [loadMoreService]=\"loadMoreService\"\n [trackBy]=\"trackBy\"\n >\n </ul>\n <ng-container #assetsContainer></ng-container>\n "
808
840
  }),
809
841
  tslib_1.__metadata("design:paramtypes", [core_1.ElementRef,
810
842
  core_1.ChangeDetectorRef,
package/dist/npm/utils.js CHANGED
@@ -92,7 +92,7 @@ exports.isFocusable = function (element) {
92
92
  * @hidden
93
93
  */
94
94
  exports.isContent = function (element) {
95
- var scopeSelector = '.k-in:not(.k-treeview-load-more-button),.k-treeview-item,.k-treeview';
95
+ var scopeSelector = '.k-treeview-leaf:not(.k-treeview-load-more-button),.k-treeview-item,.k-treeview';
96
96
  if (!kendo_angular_common_1.isDocumentAvailable()) {
97
97
  return null;
98
98
  }
@@ -101,20 +101,20 @@ exports.isContent = function (element) {
101
101
  node = node.parentNode;
102
102
  }
103
103
  if (node) {
104
- return exports.match(node, '.k-in:not(.k-treeview-load-more-button)');
104
+ return exports.match(node, '.k-treeview-leaf:not(.k-treeview-load-more-button)');
105
105
  }
106
106
  };
107
107
  /**
108
108
  * @hidden
109
109
  *
110
- * Returns the nested .k-in:not(.k-treeview-load-more-button) element.
110
+ * Returns the nested .k-treeview-leaf:not(.k-treeview-load-more-button) element.
111
111
  * If the passed parent item is itself a content node, it is returned.
112
112
  */
113
113
  exports.getContentElement = function (parent) {
114
114
  if (!exports.isPresent(parent)) {
115
115
  return null;
116
116
  }
117
- var selector = '.k-in:not(.k-treeview-load-more-button)';
117
+ var selector = '.k-treeview-leaf:not(.k-treeview-load-more-button)';
118
118
  if (exports.match(parent, selector)) {
119
119
  return parent;
120
120
  }
@@ -124,7 +124,7 @@ exports.getContentElement = function (parent) {
124
124
  * @hidden
125
125
  */
126
126
  exports.isLoadMoreButton = function (element) {
127
- return exports.isPresent(exports.closestWithMatch(element, '.k-in.k-treeview-load-more-button'));
127
+ return exports.isPresent(exports.closestWithMatch(element, '.k-treeview-leaf.k-treeview-load-more-button'));
128
128
  };
129
129
  /**
130
130
  * @hidden
@@ -298,15 +298,25 @@ exports.fetchLoadedDescendants = function (lookup, filterExpression) {
298
298
  /**
299
299
  * @hidden
300
300
  *
301
- * Compares two arrays to determine whether all unique elements in one, are present in the other.
301
+ * Compares two Seets to determine whether all unique elements in one, are present in the other.
302
302
  * Important:
303
303
  * - it disregards the element order
304
- * - it disregards element repetitions - sameValues([1, 1, 2], [1, 2, 2]) will return true
305
304
  */
306
- exports.sameValues = function (a, b) {
307
- if (a.length !== b.length) {
305
+ exports.sameValues = function (as, bs) {
306
+ if (as.size !== bs.size) {
308
307
  return false;
309
308
  }
310
- var values = new Set(b);
311
- return a.every(function (v) { return values.has(v); });
309
+ return Array.from(as).every(function (v) { return bs.has(v); });
310
+ };
311
+ /**
312
+ * @hidden
313
+ * Returns the size class based on the component and size input.
314
+ */
315
+ exports.getSizeClass = function (component, size) {
316
+ var SIZE_CLASSES = {
317
+ 'small': "k-" + component + "-sm",
318
+ 'medium': "k-" + component + "-md",
319
+ 'large': "k-" + component + "-lg"
320
+ };
321
+ return SIZE_CLASSES[size];
312
322
  };