@progress/kendo-angular-treeview 6.0.0-dev.202112021059 → 6.0.1-dev.202202151121
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/LICENSE.md +1 -1
- package/NOTICE.txt +119 -79
- package/README.md +1 -1
- package/dist/cdn/js/kendo-angular-treeview.js +18 -18
- package/dist/cdn/main.js +1 -1
- package/dist/es/checkbox/checkbox.component.js +17 -1
- package/dist/es/drag-and-drop/drag-and-drop-utils.js +3 -3
- package/dist/es/drag-and-drop/drag-and-drop.directive.js +2 -2
- package/dist/es/navigation/navigation.service.js +9 -6
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/size.js +4 -0
- package/dist/es/treeview-group.component.js +7 -2
- package/dist/es/treeview-item-content.directive.js +2 -2
- package/dist/es/treeview-item.directive.js +6 -5
- package/dist/es/treeview.component.js +36 -4
- package/dist/es/utils.js +17 -5
- package/dist/es2015/checkbox/checkbox.component.d.ts +6 -0
- package/dist/es2015/checkbox/checkbox.component.js +13 -1
- package/dist/es2015/drag-and-drop/drag-and-drop-utils.js +3 -3
- package/dist/es2015/drag-and-drop/drag-and-drop.directive.js +2 -2
- package/dist/es2015/index.metadata.json +1 -1
- package/dist/es2015/navigation/navigation-state.interface.d.ts +1 -0
- package/dist/es2015/navigation/navigation.service.d.ts +2 -1
- package/dist/es2015/navigation/navigation.service.js +8 -6
- package/dist/es2015/package-metadata.js +1 -1
- package/dist/es2015/size.d.ts +14 -0
- package/dist/es2015/size.js +4 -0
- package/dist/es2015/treeview-group.component.d.ts +2 -0
- package/dist/es2015/treeview-group.component.js +49 -35
- package/dist/es2015/treeview-item-content.directive.js +2 -2
- package/dist/es2015/treeview-item.directive.js +5 -5
- package/dist/es2015/treeview.component.d.ts +13 -0
- package/dist/es2015/treeview.component.js +46 -13
- package/dist/es2015/utils.d.ts +7 -1
- package/dist/es2015/utils.js +17 -5
- package/dist/fesm2015/index.js +144 -72
- package/dist/fesm5/index.js +98 -30
- package/dist/npm/checkbox/checkbox.component.js +17 -1
- package/dist/npm/drag-and-drop/drag-and-drop-utils.js +3 -3
- package/dist/npm/drag-and-drop/drag-and-drop.directive.js +2 -2
- package/dist/npm/navigation/navigation.service.js +9 -6
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/size.js +6 -0
- package/dist/npm/treeview-group.component.js +7 -2
- package/dist/npm/treeview-item-content.directive.js +2 -2
- package/dist/npm/treeview-item.directive.js +6 -5
- package/dist/npm/treeview.component.js +35 -3
- package/dist/npm/utils.js +17 -5
- package/dist/systemjs/kendo-angular-treeview.js +1 -1
- package/package.json +9 -8
package/dist/fesm2015/index.js
CHANGED
|
@@ -22,7 +22,7 @@ const packageMetadata = {
|
|
|
22
22
|
name: '@progress/kendo-angular-treeview',
|
|
23
23
|
productName: 'Kendo UI for Angular',
|
|
24
24
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
25
|
-
publishDate:
|
|
25
|
+
publishDate: 1644923991,
|
|
26
26
|
version: '',
|
|
27
27
|
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'
|
|
28
28
|
};
|
|
@@ -224,7 +224,7 @@ const isFocusable = (element) => {
|
|
|
224
224
|
* @hidden
|
|
225
225
|
*/
|
|
226
226
|
const isContent = (element) => {
|
|
227
|
-
const scopeSelector = '.k-
|
|
227
|
+
const scopeSelector = '.k-treeview-leaf:not(.k-treeview-load-more-button),.k-treeview-item,.k-treeview';
|
|
228
228
|
if (!isDocumentAvailable()) {
|
|
229
229
|
return null;
|
|
230
230
|
}
|
|
@@ -233,20 +233,20 @@ const isContent = (element) => {
|
|
|
233
233
|
node = node.parentNode;
|
|
234
234
|
}
|
|
235
235
|
if (node) {
|
|
236
|
-
return match(node, '.k-
|
|
236
|
+
return match(node, '.k-treeview-leaf:not(.k-treeview-load-more-button)');
|
|
237
237
|
}
|
|
238
238
|
};
|
|
239
239
|
/**
|
|
240
240
|
* @hidden
|
|
241
241
|
*
|
|
242
|
-
* Returns the nested .k-
|
|
242
|
+
* Returns the nested .k-treeview-leaf:not(.k-treeview-load-more-button) element.
|
|
243
243
|
* If the passed parent item is itself a content node, it is returned.
|
|
244
244
|
*/
|
|
245
245
|
const getContentElement = (parent) => {
|
|
246
246
|
if (!isPresent(parent)) {
|
|
247
247
|
return null;
|
|
248
248
|
}
|
|
249
|
-
const selector = '.k-
|
|
249
|
+
const selector = '.k-treeview-leaf:not(.k-treeview-load-more-button)';
|
|
250
250
|
if (match(parent, selector)) {
|
|
251
251
|
return parent;
|
|
252
252
|
}
|
|
@@ -256,7 +256,7 @@ const getContentElement = (parent) => {
|
|
|
256
256
|
* @hidden
|
|
257
257
|
*/
|
|
258
258
|
const isLoadMoreButton = (element) => {
|
|
259
|
-
return isPresent(closestWithMatch(element, '.k-
|
|
259
|
+
return isPresent(closestWithMatch(element, '.k-treeview-leaf.k-treeview-load-more-button'));
|
|
260
260
|
};
|
|
261
261
|
/**
|
|
262
262
|
* @hidden
|
|
@@ -415,6 +415,18 @@ const sameValues = (as, bs) => {
|
|
|
415
415
|
}
|
|
416
416
|
return Array.from(as).every(v => bs.has(v));
|
|
417
417
|
};
|
|
418
|
+
/**
|
|
419
|
+
* @hidden
|
|
420
|
+
* Returns the size class based on the component and size input.
|
|
421
|
+
*/
|
|
422
|
+
const getSizeClass = (component, size) => {
|
|
423
|
+
const SIZE_CLASSES = {
|
|
424
|
+
'small': `k-${component}-sm`,
|
|
425
|
+
'medium': `k-${component}-md`,
|
|
426
|
+
'large': `k-${component}-lg`
|
|
427
|
+
};
|
|
428
|
+
return SIZE_CLASSES[size];
|
|
429
|
+
};
|
|
418
430
|
|
|
419
431
|
const safe = node => (node || {});
|
|
420
432
|
const safeChildren = node => (safe(node).children || []);
|
|
@@ -578,8 +590,8 @@ let NavigationService = class NavigationService {
|
|
|
578
590
|
this.loadMore = new Subject();
|
|
579
591
|
this.navigable = true;
|
|
580
592
|
this.actions = {
|
|
581
|
-
[Keys.ArrowUp]: () => this.activate(this.model.findVisiblePrev(this.focusableItem)),
|
|
582
|
-
[Keys.ArrowDown]: () => this.activate(this.model.findVisibleNext(this.focusableItem)),
|
|
593
|
+
[Keys.ArrowUp]: () => this.activate(this.model.findVisiblePrev(this.focusableItem), true),
|
|
594
|
+
[Keys.ArrowDown]: () => this.activate(this.model.findVisibleNext(this.focusableItem), true),
|
|
583
595
|
[Keys.ArrowLeft]: () => !this.isLoadMoreButton && (this.expand({
|
|
584
596
|
expand: this.localization.rtl,
|
|
585
597
|
intercept: this.localization.rtl ? this.moveToFirstVisibleChild : this.moveToParent
|
|
@@ -588,12 +600,13 @@ let NavigationService = class NavigationService {
|
|
|
588
600
|
expand: !this.localization.rtl,
|
|
589
601
|
intercept: this.localization.rtl ? this.moveToParent : this.moveToFirstVisibleChild
|
|
590
602
|
})),
|
|
591
|
-
[Keys.Home]: () => this.activate(this.model.firstVisibleNode()),
|
|
592
|
-
[Keys.End]: () => this.activate(this.model.lastVisibleNode()),
|
|
603
|
+
[Keys.Home]: () => this.activate(this.model.firstVisibleNode(), true),
|
|
604
|
+
[Keys.End]: () => this.activate(this.model.lastVisibleNode(), true),
|
|
593
605
|
[Keys.Enter]: () => this.handleEnter(),
|
|
594
606
|
[Keys.Space]: () => this.handleSpace()
|
|
595
607
|
};
|
|
596
608
|
this.isFocused = false;
|
|
609
|
+
this.shouldScroll = false;
|
|
597
610
|
this._model = new NavigationModel();
|
|
598
611
|
this.moveToFirstVisibleChild = this.moveToFirstVisibleChild.bind(this);
|
|
599
612
|
this.moveToParent = this.moveToParent.bind(this);
|
|
@@ -616,12 +629,13 @@ let NavigationService = class NavigationService {
|
|
|
616
629
|
get focusableItem() {
|
|
617
630
|
return this.activeItem || this.model.firstFocusableNode();
|
|
618
631
|
}
|
|
619
|
-
activate(item) {
|
|
632
|
+
activate(item, shouldScroll = false) {
|
|
620
633
|
if (!this.navigable || !item || this.isActive(nodeIndex(item))) {
|
|
621
634
|
return;
|
|
622
635
|
}
|
|
623
636
|
this.isFocused = true;
|
|
624
637
|
this.activeItem = item || this.activeItem;
|
|
638
|
+
this.shouldScroll = shouldScroll;
|
|
625
639
|
this.notifyMove();
|
|
626
640
|
}
|
|
627
641
|
activateParent(index) {
|
|
@@ -737,7 +751,7 @@ let NavigationService = class NavigationService {
|
|
|
737
751
|
this.moves.next(this.navigationState());
|
|
738
752
|
}
|
|
739
753
|
navigationState(expand = false) {
|
|
740
|
-
return ({ expand, index: this.activeIndex, isFocused: this.isFocused });
|
|
754
|
+
return ({ expand, index: this.activeIndex, isFocused: this.isFocused, shouldScroll: this.shouldScroll });
|
|
741
755
|
}
|
|
742
756
|
handleEnter() {
|
|
743
757
|
if (!this.navigable) {
|
|
@@ -1220,6 +1234,7 @@ let TreeViewComponent = class TreeViewComponent {
|
|
|
1220
1234
|
this.isActive = false;
|
|
1221
1235
|
this.data = new BehaviorSubject([]);
|
|
1222
1236
|
this._animate = true;
|
|
1237
|
+
this._size = 'medium';
|
|
1223
1238
|
this.subscriptions = new Subscription();
|
|
1224
1239
|
this.domSubscriptions = [];
|
|
1225
1240
|
validatePackage(packageMetadata);
|
|
@@ -1315,6 +1330,26 @@ let TreeViewComponent = class TreeViewComponent {
|
|
|
1315
1330
|
this._isSelected = callback;
|
|
1316
1331
|
this.selectable = Boolean(this._isSelected);
|
|
1317
1332
|
}
|
|
1333
|
+
/**
|
|
1334
|
+
* Sets the size of the component.
|
|
1335
|
+
*
|
|
1336
|
+
* The possible values are:
|
|
1337
|
+
* * `'small'`
|
|
1338
|
+
* * `'medium'` (default)
|
|
1339
|
+
* * `'large'`
|
|
1340
|
+
* * `null`
|
|
1341
|
+
*
|
|
1342
|
+
*/
|
|
1343
|
+
set size(size) {
|
|
1344
|
+
this.renderer.removeClass(this.element.nativeElement, getSizeClass('treeview', this.size));
|
|
1345
|
+
if (size) {
|
|
1346
|
+
this.renderer.addClass(this.element.nativeElement, getSizeClass('treeview', size));
|
|
1347
|
+
}
|
|
1348
|
+
this._size = size;
|
|
1349
|
+
}
|
|
1350
|
+
get size() {
|
|
1351
|
+
return this._size;
|
|
1352
|
+
}
|
|
1318
1353
|
ngOnChanges(changes) {
|
|
1319
1354
|
this.navigationService.navigable = Boolean(this.navigable);
|
|
1320
1355
|
// TODO: should react to changes.loadOnDemand as well - should preload the data or clear the already cached items
|
|
@@ -1349,6 +1384,9 @@ let TreeViewComponent = class TreeViewComponent {
|
|
|
1349
1384
|
this.attachDomHandlers();
|
|
1350
1385
|
});
|
|
1351
1386
|
}
|
|
1387
|
+
if (this.size) {
|
|
1388
|
+
this.renderer.addClass(this.element.nativeElement, getSizeClass('treeview', this.size));
|
|
1389
|
+
}
|
|
1352
1390
|
}
|
|
1353
1391
|
/**
|
|
1354
1392
|
* Blurs the focused TreeView item.
|
|
@@ -1505,7 +1543,7 @@ let TreeViewComponent = class TreeViewComponent {
|
|
|
1505
1543
|
return;
|
|
1506
1544
|
}
|
|
1507
1545
|
const index = nodeId(closestNode(target));
|
|
1508
|
-
// the disabled check is probably not needed due to the k-
|
|
1546
|
+
// the disabled check is probably not needed due to the k-disabled styles
|
|
1509
1547
|
if (!index || this.navigationService.isDisabled(index)) {
|
|
1510
1548
|
return;
|
|
1511
1549
|
}
|
|
@@ -1561,7 +1599,6 @@ let TreeViewComponent = class TreeViewComponent {
|
|
|
1561
1599
|
}
|
|
1562
1600
|
};
|
|
1563
1601
|
__decorate([
|
|
1564
|
-
HostBinding("class.k-widget"),
|
|
1565
1602
|
HostBinding("class.k-treeview"),
|
|
1566
1603
|
__metadata("design:type", Boolean)
|
|
1567
1604
|
], TreeViewComponent.prototype, "classNames", void 0);
|
|
@@ -1735,6 +1772,11 @@ __decorate([
|
|
|
1735
1772
|
Input(),
|
|
1736
1773
|
__metadata("design:type", String)
|
|
1737
1774
|
], TreeViewComponent.prototype, "filter", void 0);
|
|
1775
|
+
__decorate([
|
|
1776
|
+
Input(),
|
|
1777
|
+
__metadata("design:type", String),
|
|
1778
|
+
__metadata("design:paramtypes", [String])
|
|
1779
|
+
], TreeViewComponent.prototype, "size", null);
|
|
1738
1780
|
TreeViewComponent = __decorate([
|
|
1739
1781
|
Component({
|
|
1740
1782
|
changeDetection: ChangeDetectionStrategy.Default,
|
|
@@ -1742,21 +1784,26 @@ TreeViewComponent = __decorate([
|
|
|
1742
1784
|
providers: providers,
|
|
1743
1785
|
selector: 'kendo-treeview',
|
|
1744
1786
|
template: `
|
|
1745
|
-
<
|
|
1746
|
-
|
|
1787
|
+
<span
|
|
1788
|
+
class="k-treeview-filter"
|
|
1747
1789
|
*ngIf="filterable"
|
|
1748
|
-
[value]="filter"
|
|
1749
|
-
[clearButton]="true"
|
|
1750
|
-
(valueChange)="filterChange.emit($event)"
|
|
1751
|
-
[placeholder]="filterInputPlaceholder"
|
|
1752
1790
|
>
|
|
1753
|
-
<
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1791
|
+
<kendo-textbox
|
|
1792
|
+
[size]="size"
|
|
1793
|
+
[value]="filter"
|
|
1794
|
+
[clearButton]="true"
|
|
1795
|
+
(valueChange)="filterChange.emit($event)"
|
|
1796
|
+
[placeholder]="filterInputPlaceholder"
|
|
1797
|
+
>
|
|
1798
|
+
<ng-template kendoTextBoxPrefixTemplate>
|
|
1799
|
+
<span class="k-input-icon k-icon k-i-search"></span>
|
|
1800
|
+
</ng-template>
|
|
1801
|
+
</kendo-textbox>
|
|
1802
|
+
</span>
|
|
1757
1803
|
<ul class="k-treeview-lines"
|
|
1758
1804
|
kendoTreeViewGroup
|
|
1759
1805
|
role="group"
|
|
1806
|
+
[size]="size"
|
|
1760
1807
|
[loadOnDemand]="loadOnDemand"
|
|
1761
1808
|
[checkboxes]="checkboxes"
|
|
1762
1809
|
[expandIcons]="expandIcons"
|
|
@@ -1810,6 +1857,7 @@ let TreeViewGroupComponent = class TreeViewGroupComponent {
|
|
|
1810
1857
|
this.role = 'group';
|
|
1811
1858
|
this.loadOnDemand = true;
|
|
1812
1859
|
this.textField = "";
|
|
1860
|
+
this.size = 'medium';
|
|
1813
1861
|
this.initialNodesLoaded = false;
|
|
1814
1862
|
this.loadingMoreNodes = false;
|
|
1815
1863
|
this._data = [];
|
|
@@ -2010,7 +2058,7 @@ let TreeViewGroupComponent = class TreeViewGroupComponent {
|
|
|
2010
2058
|
}
|
|
2011
2059
|
};
|
|
2012
2060
|
__decorate([
|
|
2013
|
-
HostBinding("class.k-group"),
|
|
2061
|
+
HostBinding("class.k-treeview-group"),
|
|
2014
2062
|
__metadata("design:type", Boolean)
|
|
2015
2063
|
], TreeViewGroupComponent.prototype, "kGroupClass", void 0);
|
|
2016
2064
|
__decorate([
|
|
@@ -2073,6 +2121,10 @@ __decorate([
|
|
|
2073
2121
|
Input(),
|
|
2074
2122
|
__metadata("design:type", Object)
|
|
2075
2123
|
], TreeViewGroupComponent.prototype, "loadMoreService", void 0);
|
|
2124
|
+
__decorate([
|
|
2125
|
+
Input(),
|
|
2126
|
+
__metadata("design:type", String)
|
|
2127
|
+
], TreeViewGroupComponent.prototype, "size", void 0);
|
|
2076
2128
|
__decorate([
|
|
2077
2129
|
Input(),
|
|
2078
2130
|
__metadata("design:type", Function)
|
|
@@ -2119,7 +2171,7 @@ TreeViewGroupComponent = __decorate([
|
|
|
2119
2171
|
template: `
|
|
2120
2172
|
<li
|
|
2121
2173
|
*ngFor="let node of data; let index = index; trackBy: trackBy"
|
|
2122
|
-
class="k-
|
|
2174
|
+
class="k-treeview-item"
|
|
2123
2175
|
[class.k-display-none]="!isVisible(node, nodeIndex(index))"
|
|
2124
2176
|
kendoTreeViewItem
|
|
2125
2177
|
[attr.aria-setsize]="totalNodesCount"
|
|
@@ -2138,18 +2190,23 @@ TreeViewGroupComponent = __decorate([
|
|
|
2138
2190
|
[isSelected]="isSelected(node, nodeIndex(index))"
|
|
2139
2191
|
[attr.data-treeindex]="nodeIndex(index)"
|
|
2140
2192
|
>
|
|
2141
|
-
<div class="k-mid">
|
|
2193
|
+
<div class="k-treeview-mid">
|
|
2142
2194
|
<span
|
|
2143
|
-
class="k-
|
|
2144
|
-
[class.k-i-collapse]="isExpanded(node, nodeIndex(index))"
|
|
2145
|
-
[class.k-i-expand]="!isExpanded(node, nodeIndex(index))"
|
|
2195
|
+
class="k-treeview-toggle"
|
|
2146
2196
|
[kendoTreeViewLoading]="nodeIndex(index)"
|
|
2147
2197
|
(click)="expandNode(nodeIndex(index), node, !isExpanded(node, nodeIndex(index)))"
|
|
2148
2198
|
*ngIf="expandIcons && hasChildren(node)"
|
|
2149
2199
|
>
|
|
2200
|
+
<span
|
|
2201
|
+
class="k-icon"
|
|
2202
|
+
[class.k-i-collapse]="isExpanded(node, nodeIndex(index))"
|
|
2203
|
+
[class.k-i-expand]="!isExpanded(node, nodeIndex(index))"
|
|
2204
|
+
>
|
|
2205
|
+
</span>
|
|
2150
2206
|
</span>
|
|
2151
2207
|
<kendo-checkbox
|
|
2152
2208
|
*ngIf="checkboxes"
|
|
2209
|
+
[size]="size"
|
|
2153
2210
|
[node]="node"
|
|
2154
2211
|
[index]="nodeIndex(index)"
|
|
2155
2212
|
[isChecked]="isChecked"
|
|
@@ -2162,24 +2219,26 @@ TreeViewGroupComponent = __decorate([
|
|
|
2162
2219
|
[index]="nodeIndex(index)"
|
|
2163
2220
|
[initialSelection]="isSelected(node, nodeIndex(index))"
|
|
2164
2221
|
[isSelected]="isSelected"
|
|
2165
|
-
class="k-
|
|
2222
|
+
class="k-treeview-leaf"
|
|
2166
2223
|
[style.touch-action]="touchActions ? '' : 'none'"
|
|
2167
2224
|
>
|
|
2168
|
-
<
|
|
2169
|
-
<ng-container
|
|
2170
|
-
<ng-
|
|
2171
|
-
|
|
2172
|
-
|
|
2173
|
-
|
|
2174
|
-
|
|
2175
|
-
|
|
2176
|
-
|
|
2177
|
-
|
|
2225
|
+
<span class="k-treeview-leaf-text">
|
|
2226
|
+
<ng-container [ngSwitch]="hasTemplate">
|
|
2227
|
+
<ng-container *ngSwitchCase="true">
|
|
2228
|
+
<ng-template
|
|
2229
|
+
[ngTemplateOutlet]="nodeTemplateRef"
|
|
2230
|
+
[ngTemplateOutletContext]="{
|
|
2231
|
+
$implicit: node,
|
|
2232
|
+
index: nodeIndex(index)
|
|
2233
|
+
}"
|
|
2234
|
+
>
|
|
2235
|
+
</ng-template>
|
|
2236
|
+
</ng-container>
|
|
2237
|
+
<ng-container *ngSwitchDefault>
|
|
2238
|
+
{{nodeText(node)}}
|
|
2239
|
+
</ng-container>
|
|
2178
2240
|
</ng-container>
|
|
2179
|
-
|
|
2180
|
-
{{nodeText(node)}}
|
|
2181
|
-
</ng-container>
|
|
2182
|
-
</ng-container>
|
|
2241
|
+
</span>
|
|
2183
2242
|
</span>
|
|
2184
2243
|
</div>
|
|
2185
2244
|
<ul
|
|
@@ -2213,7 +2272,7 @@ TreeViewGroupComponent = __decorate([
|
|
|
2213
2272
|
</li>
|
|
2214
2273
|
<li
|
|
2215
2274
|
*ngIf="initialNodesLoaded && moreNodesAvailable"
|
|
2216
|
-
class="k-
|
|
2275
|
+
class="k-treeview-item"
|
|
2217
2276
|
[class.k-treeview-load-more-checkboxes-container]="checkboxes"
|
|
2218
2277
|
kendoTreeViewItem
|
|
2219
2278
|
role="button"
|
|
@@ -2225,29 +2284,31 @@ TreeViewGroupComponent = __decorate([
|
|
|
2225
2284
|
[parentIndex]="parentIndex"
|
|
2226
2285
|
[attr.data-treeindex]="loadMoreButtonIndex"
|
|
2227
2286
|
>
|
|
2228
|
-
<div class="k-mid">
|
|
2287
|
+
<div class="k-treeview-mid">
|
|
2229
2288
|
<span
|
|
2230
2289
|
*ngIf="loadingMoreNodes"
|
|
2231
2290
|
class="k-icon k-i-loading k-i-expand"
|
|
2232
2291
|
>
|
|
2233
2292
|
</span>
|
|
2234
2293
|
<span
|
|
2235
|
-
class="k-
|
|
2294
|
+
class="k-treeview-leaf k-treeview-load-more-button"
|
|
2236
2295
|
[attr.data-treeindex]="loadMoreButtonIndex"
|
|
2237
2296
|
kendoTreeViewItemContent
|
|
2238
2297
|
[index]="loadMoreButtonIndex"
|
|
2239
2298
|
>
|
|
2240
|
-
<
|
|
2241
|
-
|
|
2242
|
-
|
|
2243
|
-
|
|
2244
|
-
|
|
2245
|
-
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
|
|
2249
|
-
|
|
2250
|
-
|
|
2299
|
+
<span class="k-treeview-leaf-text">
|
|
2300
|
+
<ng-template
|
|
2301
|
+
*ngIf="loadMoreButtonTemplateRef"
|
|
2302
|
+
[ngTemplateOutlet]="loadMoreButtonTemplateRef"
|
|
2303
|
+
[ngTemplateOutletContext]="{
|
|
2304
|
+
index: loadMoreButtonIndex
|
|
2305
|
+
}"
|
|
2306
|
+
>
|
|
2307
|
+
</ng-template>
|
|
2308
|
+
<ng-container *ngIf="!loadMoreButtonTemplateRef">
|
|
2309
|
+
Load more
|
|
2310
|
+
</ng-container>
|
|
2311
|
+
</span>
|
|
2251
2312
|
</span>
|
|
2252
2313
|
</div>
|
|
2253
2314
|
</li>
|
|
@@ -3079,12 +3140,12 @@ const getDropPosition = (draggedItem, target, clientY, targetTreeView, container
|
|
|
3079
3140
|
if (!(isPresent(draggedItem) && isPresent(target) && isPresent(targetTreeView) && isPresent(containerOffset))) {
|
|
3080
3141
|
return;
|
|
3081
3142
|
}
|
|
3082
|
-
// the .k-mid element starts just after the checkbox/expand arrow and stretches till the end of the treeview on the right
|
|
3083
|
-
const item = closestWithMatch(target, '.k-mid');
|
|
3143
|
+
// the .k-treeview-mid element starts just after the checkbox/expand arrow and stretches till the end of the treeview on the right
|
|
3144
|
+
const item = closestWithMatch(target, '.k-treeview-mid');
|
|
3084
3145
|
if (!isPresent(item)) {
|
|
3085
3146
|
return;
|
|
3086
3147
|
}
|
|
3087
|
-
// the content element (.k-
|
|
3148
|
+
// the content element (.k-treeview-leaf:not(.k-treeview-load-more-button)) holds just the treeview item text
|
|
3088
3149
|
const content = getContentElement(item);
|
|
3089
3150
|
const targetChildOfDraggedItem = hasParent(item, closestNode(draggedItem));
|
|
3090
3151
|
if (!isPresent(content) || (content === draggedItem) || targetChildOfDraggedItem) {
|
|
@@ -3797,7 +3858,7 @@ let DragAndDropDirective = class DragAndDropDirective {
|
|
|
3797
3858
|
return;
|
|
3798
3859
|
}
|
|
3799
3860
|
// store the drag target on press, show it only when it's actually dragged
|
|
3800
|
-
this.draggedItem = closestWithMatch(originalEvent.target, '.k-
|
|
3861
|
+
this.draggedItem = closestWithMatch(originalEvent.target, '.k-treeview-leaf');
|
|
3801
3862
|
// record the current pointer down coords - copared to the `startDragAfter` value to calculate whether to initiate dragging
|
|
3802
3863
|
this.pendingDragStartEvent = originalEvent;
|
|
3803
3864
|
}
|
|
@@ -3817,7 +3878,7 @@ let DragAndDropDirective = class DragAndDropDirective {
|
|
|
3817
3878
|
}
|
|
3818
3879
|
const targetTreeView = this.getTargetTreeView(dropTarget);
|
|
3819
3880
|
const dropPosition = getDropPosition(this.draggedItem, dropTarget, clientY, targetTreeView, this.containerOffset);
|
|
3820
|
-
const dropHintAnchor = closestWithMatch(dropTarget, '.k-mid');
|
|
3881
|
+
const dropHintAnchor = closestWithMatch(dropTarget, '.k-treeview-mid');
|
|
3821
3882
|
const dropAction = getDropAction(dropPosition, dropTarget);
|
|
3822
3883
|
const sourceItem = treeItemFromEventTarget(this.treeview, this.draggedItem);
|
|
3823
3884
|
const destinationItem = treeItemFromEventTarget(targetTreeView, dropTarget);
|
|
@@ -4610,9 +4671,9 @@ let TreeViewItemDirective = class TreeViewItemDirective {
|
|
|
4610
4671
|
subscribe() {
|
|
4611
4672
|
this.subscriptions = [
|
|
4612
4673
|
this.navigationService.moves
|
|
4613
|
-
.subscribe(() => {
|
|
4674
|
+
.subscribe((navState) => {
|
|
4614
4675
|
this.updateTabIndex();
|
|
4615
|
-
this.focusItem();
|
|
4676
|
+
this.focusItem(navState.shouldScroll);
|
|
4616
4677
|
}),
|
|
4617
4678
|
this.navigationService.expands
|
|
4618
4679
|
.pipe(filter(({ index }) => index === this.index && !this.isDisabled))
|
|
@@ -4641,9 +4702,9 @@ let TreeViewItemDirective = class TreeViewItemDirective {
|
|
|
4641
4702
|
isFocusable() {
|
|
4642
4703
|
return !this.isDisabled && this.navigationService.isFocusable(this.index);
|
|
4643
4704
|
}
|
|
4644
|
-
focusItem() {
|
|
4705
|
+
focusItem(scrollIntoView = false) {
|
|
4645
4706
|
if (this.isInitialized && this.navigationService.isActive(this.index)) {
|
|
4646
|
-
this.element.nativeElement.focus();
|
|
4707
|
+
this.element.nativeElement.focus({ preventScroll: !scrollIntoView });
|
|
4647
4708
|
}
|
|
4648
4709
|
}
|
|
4649
4710
|
moveLookupItem(changes = {}) {
|
|
@@ -4681,7 +4742,7 @@ let TreeViewItemDirective = class TreeViewItemDirective {
|
|
|
4681
4742
|
this.setAttribute('aria-checked', this.checkable ? this.ariaChecked : null);
|
|
4682
4743
|
}
|
|
4683
4744
|
setDisabledClass() {
|
|
4684
|
-
this.setClass('k-
|
|
4745
|
+
this.setClass('k-disabled', this.isDisabled);
|
|
4685
4746
|
}
|
|
4686
4747
|
setClass(className, toggle) {
|
|
4687
4748
|
const action = toggle ? 'addClass' : 'removeClass';
|
|
@@ -4804,10 +4865,10 @@ let TreeViewItemContentDirective = class TreeViewItemContentDirective {
|
|
|
4804
4865
|
this.subscriptions.unsubscribe();
|
|
4805
4866
|
}
|
|
4806
4867
|
updateFocusClass() {
|
|
4807
|
-
this.render(this.navigationService.isActive(this.index), 'k-
|
|
4868
|
+
this.render(this.navigationService.isActive(this.index), 'k-focus');
|
|
4808
4869
|
}
|
|
4809
4870
|
updateSelectionClass(selected) {
|
|
4810
|
-
this.render(selected, 'k-
|
|
4871
|
+
this.render(selected, 'k-selected');
|
|
4811
4872
|
}
|
|
4812
4873
|
render(addClass, className) {
|
|
4813
4874
|
const action = addClass ? 'addClass' : 'removeClass';
|
|
@@ -4857,6 +4918,10 @@ let CheckBoxComponent = class CheckBoxComponent {
|
|
|
4857
4918
|
* Specifies the [`tabindex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
|
|
4858
4919
|
*/
|
|
4859
4920
|
this.tabindex = 0;
|
|
4921
|
+
/**
|
|
4922
|
+
* Specifies the size of the component.
|
|
4923
|
+
*/
|
|
4924
|
+
this.size = 'medium';
|
|
4860
4925
|
/**
|
|
4861
4926
|
* Fires when the user changes the check state of the component.
|
|
4862
4927
|
*/
|
|
@@ -4872,6 +4937,9 @@ let CheckBoxComponent = class CheckBoxComponent {
|
|
|
4872
4937
|
get checked() {
|
|
4873
4938
|
return this.checkState === 'checked';
|
|
4874
4939
|
}
|
|
4940
|
+
get checkBoxClasses() {
|
|
4941
|
+
return `k-checkbox ${this.size ? getSizeClass('checkbox', this.size) : ''} k-rounded-md`;
|
|
4942
|
+
}
|
|
4875
4943
|
ngOnInit() {
|
|
4876
4944
|
this.renderer.removeAttribute(this.element.nativeElement, "tabindex");
|
|
4877
4945
|
}
|
|
@@ -4915,6 +4983,10 @@ __decorate([
|
|
|
4915
4983
|
Input(),
|
|
4916
4984
|
__metadata("design:type", Number)
|
|
4917
4985
|
], CheckBoxComponent.prototype, "tabindex", void 0);
|
|
4986
|
+
__decorate([
|
|
4987
|
+
Input(),
|
|
4988
|
+
__metadata("design:type", String)
|
|
4989
|
+
], CheckBoxComponent.prototype, "size", void 0);
|
|
4918
4990
|
__decorate([
|
|
4919
4991
|
Output(),
|
|
4920
4992
|
__metadata("design:type", EventEmitter)
|
|
@@ -4924,8 +4996,8 @@ CheckBoxComponent = __decorate([
|
|
|
4924
4996
|
selector: 'kendo-checkbox',
|
|
4925
4997
|
template: `
|
|
4926
4998
|
<input
|
|
4927
|
-
class="k-checkbox"
|
|
4928
4999
|
type="checkbox"
|
|
5000
|
+
[class]="checkBoxClasses"
|
|
4929
5001
|
[id]="id"
|
|
4930
5002
|
[checked]="checked"
|
|
4931
5003
|
[indeterminate]="indeterminate"
|