@progress/kendo-angular-treelist 16.9.0-develop.1 → 16.9.0-develop.3
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/column-menu/column-menu.component.d.ts +3 -2
- package/esm2020/column-menu/column-chooser.component.mjs +1 -0
- package/esm2020/column-menu/column-menu.component.mjs +6 -4
- package/esm2020/package-metadata.mjs +2 -2
- package/esm2020/rendering/list.component.mjs +53 -29
- package/fesm2015/progress-kendo-angular-treelist.mjs +60 -33
- package/fesm2020/progress-kendo-angular-treelist.mjs +60 -33
- package/package.json +15 -15
- package/rendering/list.component.d.ts +5 -0
- package/schematics/ngAdd/index.js +3 -3
@@ -2,7 +2,7 @@
|
|
2
2
|
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
5
|
-
import { TemplateRef, OnChanges, OnDestroy } from '@angular/core';
|
5
|
+
import { TemplateRef, OnChanges, OnDestroy, ChangeDetectorRef } from '@angular/core';
|
6
6
|
import { LocalizationService } from "@progress/kendo-angular-l10n";
|
7
7
|
import { SVGIcon } from '@progress/kendo-svg-icons';
|
8
8
|
import { SinglePopupService } from '../common/single-popup.service';
|
@@ -16,6 +16,7 @@ export declare class ColumnMenuComponent implements OnChanges, OnDestroy {
|
|
16
16
|
protected popupService: SinglePopupService;
|
17
17
|
localization: LocalizationService;
|
18
18
|
service: ColumnMenuService;
|
19
|
+
private cdr;
|
19
20
|
/**
|
20
21
|
* @hidden
|
21
22
|
*/
|
@@ -57,7 +58,7 @@ export declare class ColumnMenuComponent implements OnChanges, OnDestroy {
|
|
57
58
|
moreVerticalIcon: SVGIcon;
|
58
59
|
private popupRef;
|
59
60
|
private closeSubscription;
|
60
|
-
constructor(popupService: SinglePopupService, localization: LocalizationService, service: ColumnMenuService);
|
61
|
+
constructor(popupService: SinglePopupService, localization: LocalizationService, service: ColumnMenuService, cdr: ChangeDetectorRef);
|
61
62
|
/**
|
62
63
|
* @hidden
|
63
64
|
*/
|
@@ -2,7 +2,7 @@
|
|
2
2
|
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
5
|
-
import { Component, Input, TemplateRef, HostBinding } from '@angular/core';
|
5
|
+
import { Component, Input, TemplateRef, HostBinding, ChangeDetectorRef } from '@angular/core';
|
6
6
|
import { NgClass, NgTemplateOutlet, NgIf } from '@angular/common';
|
7
7
|
import { LocalizationService } from "@progress/kendo-angular-l10n";
|
8
8
|
import { moreVerticalIcon } from '@progress/kendo-svg-icons';
|
@@ -24,10 +24,11 @@ const POPUP_CLASSES = 'k-grid-columnmenu-popup k-column-menu';
|
|
24
24
|
* Represents the [column menu]({% slug columnmenu_treelist %}) component of the TreeList.
|
25
25
|
*/
|
26
26
|
export class ColumnMenuComponent {
|
27
|
-
constructor(popupService, localization, service) {
|
27
|
+
constructor(popupService, localization, service, cdr) {
|
28
28
|
this.popupService = popupService;
|
29
29
|
this.localization = localization;
|
30
30
|
this.service = service;
|
31
|
+
this.cdr = cdr;
|
31
32
|
/**
|
32
33
|
* @hidden
|
33
34
|
*/
|
@@ -107,6 +108,7 @@ export class ColumnMenuComponent {
|
|
107
108
|
close() {
|
108
109
|
this.popupService.destroy();
|
109
110
|
this.popupRef = null;
|
111
|
+
this.cdr.markForCheck();
|
110
112
|
}
|
111
113
|
/**
|
112
114
|
* @hidden
|
@@ -123,7 +125,7 @@ export class ColumnMenuComponent {
|
|
123
125
|
this.expandedColumns = false;
|
124
126
|
}
|
125
127
|
}
|
126
|
-
ColumnMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ColumnMenuComponent, deps: [{ token: i1.SinglePopupService }, { token: i2.LocalizationService }, { token: i3.ColumnMenuService }], target: i0.ɵɵFactoryTarget.Component });
|
128
|
+
ColumnMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ColumnMenuComponent, deps: [{ token: i1.SinglePopupService }, { token: i2.LocalizationService }, { token: i3.ColumnMenuService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
127
129
|
ColumnMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ColumnMenuComponent, isStandalone: true, selector: "kendo-treelist-column-menu", inputs: { standalone: "standalone", column: "column", settings: "settings", sort: "sort", filter: "filter", sortable: "sortable", columnMenuTemplate: "columnMenuTemplate" }, host: { properties: { "class.k-grid-column-menu-standalone": "this.standalone" } }, providers: [ColumnMenuService], usesOnChanges: true, ngImport: i0, template: `
|
128
130
|
<a #anchor
|
129
131
|
class="k-grid-column-menu k-grid-header-menu"
|
@@ -192,7 +194,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
192
194
|
standalone: true,
|
193
195
|
imports: [NgClass, IconWrapperComponent, NgTemplateOutlet, NgIf, ColumnMenuSortComponent, ColumnMenuLockComponent, ColumnMenuChooserComponent, ColumnMenuFilterComponent]
|
194
196
|
}]
|
195
|
-
}], ctorParameters: function () { return [{ type: i1.SinglePopupService }, { type: i2.LocalizationService }, { type: i3.ColumnMenuService }]; }, propDecorators: { standalone: [{
|
197
|
+
}], ctorParameters: function () { return [{ type: i1.SinglePopupService }, { type: i2.LocalizationService }, { type: i3.ColumnMenuService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { standalone: [{
|
196
198
|
type: HostBinding,
|
197
199
|
args: ['class.k-grid-column-menu-standalone']
|
198
200
|
}, {
|
@@ -9,7 +9,7 @@ export const packageMetadata = {
|
|
9
9
|
name: '@progress/kendo-angular-treelist',
|
10
10
|
productName: 'Kendo UI for Angular',
|
11
11
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
12
|
-
publishDate:
|
13
|
-
version: '16.9.0-develop.
|
12
|
+
publishDate: 1724759402,
|
13
|
+
version: '16.9.0-develop.3',
|
14
14
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
15
15
|
};
|
@@ -19,7 +19,7 @@ import { SuspendService } from '../scrolling/suspend.service';
|
|
19
19
|
import { expandColumns, sumColumnWidths } from "../columns/column-common";
|
20
20
|
import { ScrollSyncService } from "../scrolling/scroll-sync.service";
|
21
21
|
import { ResizeService } from "../layout/resize.service";
|
22
|
-
import { ResizeSensorComponent } from "@progress/kendo-angular-common";
|
22
|
+
import { EventsOutsideAngularDirective, ResizeSensorComponent } from "@progress/kendo-angular-common";
|
23
23
|
import { BrowserSupportService } from "../layout/browser-support.service";
|
24
24
|
import { EditService } from '../editing/edit.service';
|
25
25
|
import { NavigationService } from '../navigation/navigation.service';
|
@@ -81,10 +81,10 @@ const wheelDeltaY = (e) => {
|
|
81
81
|
}
|
82
82
|
return 0;
|
83
83
|
};
|
84
|
-
const preventLockedScroll =
|
85
|
-
const delta = wheelDeltaY(
|
86
|
-
const scrollTop =
|
87
|
-
const allowScroll = (scrollTop === 0 && 0 < delta) || (
|
84
|
+
const preventLockedScroll = (args, element) => {
|
85
|
+
const delta = wheelDeltaY(args);
|
86
|
+
const scrollTop = element.scrollTop;
|
87
|
+
const allowScroll = (scrollTop === 0 && 0 < delta) || (element.scrollHeight <= element.offsetHeight + scrollTop && delta < 0);
|
88
88
|
if (!allowScroll) {
|
89
89
|
event.preventDefault();
|
90
90
|
}
|
@@ -204,6 +204,13 @@ export class ListComponent {
|
|
204
204
|
this.attachContainerScroll();
|
205
205
|
this.initResizeService();
|
206
206
|
}
|
207
|
+
ngAfterViewChecked() {
|
208
|
+
const isLocked = this.isLocked;
|
209
|
+
if (isLocked && !this.hasLockedContainer) {
|
210
|
+
this.syncRowsHeight();
|
211
|
+
}
|
212
|
+
this.hasLockedContainer = isLocked;
|
213
|
+
}
|
207
214
|
syncRowsHeight() {
|
208
215
|
if (this.lockedContainer) {
|
209
216
|
syncRowsHeight(this.lockedTable.nativeElement, this.table.nativeElement);
|
@@ -228,6 +235,29 @@ export class ListComponent {
|
|
228
235
|
this.ngZone.runOutsideAngular(this.createScroller.bind(this));
|
229
236
|
}
|
230
237
|
}
|
238
|
+
lockedScroll() {
|
239
|
+
if (!this.suspendService.scroll) {
|
240
|
+
const lockedScrollTop = this.lockedContainer.nativeElement.scrollTop;
|
241
|
+
if (lockedScrollTop !== this.containerScrollTop) {
|
242
|
+
this.container.nativeElement.scrollTop = this.containerScrollTop = lockedScrollTop;
|
243
|
+
}
|
244
|
+
}
|
245
|
+
}
|
246
|
+
lockedMousewheel(args) {
|
247
|
+
if (!args.ctrlKey) {
|
248
|
+
preventLockedScroll(args, this.container.nativeElement);
|
249
|
+
const scrollDelta = wheelDeltaY(args);
|
250
|
+
this.container.nativeElement.scrollTop -= scrollDelta;
|
251
|
+
}
|
252
|
+
}
|
253
|
+
lockedKeydown(args) {
|
254
|
+
if (args.keyCode === Keys.PageDown || args.keyCode === Keys.PageUp) {
|
255
|
+
const dir = args.keyCode === Keys.PageDown ? 1 : -1;
|
256
|
+
const element = this.container.nativeElement;
|
257
|
+
element.scrollTop += element.offsetHeight * dir * 0.8;
|
258
|
+
args.preventDefault();
|
259
|
+
}
|
260
|
+
}
|
231
261
|
attachContainerScroll() {
|
232
262
|
if (isUniversal()) {
|
233
263
|
return;
|
@@ -252,26 +282,6 @@ export class ListComponent {
|
|
252
282
|
})).subscribe(this.dispatcher));
|
253
283
|
});
|
254
284
|
this.scrollSyncService.registerEmitter(this.container.nativeElement, "body");
|
255
|
-
if (this.lockedContainer) {
|
256
|
-
this.ngZone.runOutsideAngular(() => {
|
257
|
-
this.subscriptions.add(merge(fromEvent(this.lockedContainer.nativeElement, 'mousewheel'), fromEvent(this.lockedContainer.nativeElement, 'DOMMouseScroll')).pipe(filter((event) => !event.ctrlKey), tap(preventLockedScroll(this.container.nativeElement)), map(wheelDeltaY))
|
258
|
-
.subscribe(x => this.container.nativeElement.scrollTop -= x));
|
259
|
-
this.subscriptions.add(fromEvent(this.lockedContainer.nativeElement, 'scroll').pipe(filter(() => !this.suspendService.scroll))
|
260
|
-
.subscribe(() => {
|
261
|
-
const lockedScrollTop = this.lockedContainer.nativeElement.scrollTop;
|
262
|
-
if (lockedScrollTop !== this.containerScrollTop) {
|
263
|
-
this.container.nativeElement.scrollTop = this.containerScrollTop = lockedScrollTop;
|
264
|
-
}
|
265
|
-
}));
|
266
|
-
this.subscriptions.add(fromEvent(this.lockedContainer.nativeElement, 'keydown').pipe(filter((event) => event.keyCode === Keys.PageDown || event.keyCode === Keys.PageUp)).subscribe((event) => {
|
267
|
-
const dir = event.keyCode === Keys.PageDown ? 1 : -1;
|
268
|
-
const element = this.container.nativeElement;
|
269
|
-
element.scrollTop += element.offsetHeight * dir * 0.8;
|
270
|
-
event.preventDefault();
|
271
|
-
}));
|
272
|
-
});
|
273
|
-
this.syncRowsHeight();
|
274
|
-
}
|
275
285
|
}
|
276
286
|
createScroller() {
|
277
287
|
this.cleanupScroller();
|
@@ -515,7 +525,14 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
|
|
515
525
|
}
|
516
526
|
], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, static: true }, { propertyName: "table", first: true, predicate: ["table"], descendants: true, static: true }, { propertyName: "lockedContainer", first: true, predicate: ["lockedContainer"], descendants: true }, { propertyName: "lockedTable", first: true, predicate: ["lockedTable"], descendants: true }, { propertyName: "resizeSensors", predicate: ResizeSensorComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
517
527
|
<div #lockedContainer class="k-grid-content-locked" role="presentation"
|
518
|
-
*ngIf="isLocked" [style.width.px]="lockedWidth"
|
528
|
+
*ngIf="isLocked" [style.width.px]="lockedWidth"
|
529
|
+
[kendoEventsOutsideAngular]="{
|
530
|
+
keydown: lockedKeydown,
|
531
|
+
scroll: lockedScroll,
|
532
|
+
mousewheel: lockedMousewheel,
|
533
|
+
DOMMouseScroll: lockedMousewheel
|
534
|
+
}"
|
535
|
+
[scope]="this">
|
519
536
|
<div role="presentation" class="k-grid-table-wrap">
|
520
537
|
<table
|
521
538
|
kendoTreeListResizableTable
|
@@ -596,7 +613,7 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
|
|
596
613
|
</div>
|
597
614
|
<div *ngIf="loading" kendoTreeListLoading>
|
598
615
|
</div>
|
599
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TableDirective, selector: "[kendoTreeListResizableTable]", inputs: ["locked", "virtualColumns"] }, { kind: "component", type: ColGroupComponent, selector: "[kendoTreeListColGroup]", inputs: ["columns"] }, { kind: "component", type: TableBodyComponent, selector: "[kendoTreeListTableBody]", inputs: ["columns", "allColumns", "noRecordsTemplate", "view", "skip", "filterable", "noRecordsText", "isLocked", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "expandIcons", "trackBy", "totalColumns", "rowClass"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "directive", type: ResizableContainerDirective, selector: "[kendoTreeListResizableContainer]", inputs: ["lockedWidth", "kendoTreeListResizableContainer"] }, { kind: "component", type: LoadingComponent, selector: "[kendoTreeListLoading]" }] });
|
616
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "directive", type: TableDirective, selector: "[kendoTreeListResizableTable]", inputs: ["locked", "virtualColumns"] }, { kind: "component", type: ColGroupComponent, selector: "[kendoTreeListColGroup]", inputs: ["columns"] }, { kind: "component", type: TableBodyComponent, selector: "[kendoTreeListTableBody]", inputs: ["columns", "allColumns", "noRecordsTemplate", "view", "skip", "filterable", "noRecordsText", "isLocked", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "expandIcons", "trackBy", "totalColumns", "rowClass"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "directive", type: ResizableContainerDirective, selector: "[kendoTreeListResizableContainer]", inputs: ["lockedWidth", "kendoTreeListResizableContainer"] }, { kind: "component", type: LoadingComponent, selector: "[kendoTreeListLoading]" }] });
|
600
617
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListComponent, decorators: [{
|
601
618
|
type: Component,
|
602
619
|
args: [{
|
@@ -609,7 +626,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
609
626
|
selector: 'kendo-treelist-list',
|
610
627
|
template: `
|
611
628
|
<div #lockedContainer class="k-grid-content-locked" role="presentation"
|
612
|
-
*ngIf="isLocked" [style.width.px]="lockedWidth"
|
629
|
+
*ngIf="isLocked" [style.width.px]="lockedWidth"
|
630
|
+
[kendoEventsOutsideAngular]="{
|
631
|
+
keydown: lockedKeydown,
|
632
|
+
scroll: lockedScroll,
|
633
|
+
mousewheel: lockedMousewheel,
|
634
|
+
DOMMouseScroll: lockedMousewheel
|
635
|
+
}"
|
636
|
+
[scope]="this">
|
613
637
|
<div role="presentation" class="k-grid-table-wrap">
|
614
638
|
<table
|
615
639
|
kendoTreeListResizableTable
|
@@ -692,7 +716,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
692
716
|
</div>
|
693
717
|
`,
|
694
718
|
standalone: true,
|
695
|
-
imports: [NgIf, TableDirective, ColGroupComponent, TableBodyComponent, ResizeSensorComponent, ResizableContainerDirective, LoadingComponent]
|
719
|
+
imports: [NgIf, EventsOutsideAngularDirective, TableDirective, ColGroupComponent, TableBodyComponent, ResizeSensorComponent, ResizableContainerDirective, LoadingComponent]
|
696
720
|
}]
|
697
721
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
698
722
|
type: Inject,
|
@@ -47,8 +47,8 @@ const packageMetadata = {
|
|
47
47
|
name: '@progress/kendo-angular-treelist',
|
48
48
|
productName: 'Kendo UI for Angular',
|
49
49
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
50
|
-
publishDate:
|
51
|
-
version: '16.9.0-develop.
|
50
|
+
publishDate: 1724759402,
|
51
|
+
version: '16.9.0-develop.3',
|
52
52
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
53
53
|
};
|
54
54
|
|
@@ -8668,10 +8668,10 @@ const wheelDeltaY = (e) => {
|
|
8668
8668
|
}
|
8669
8669
|
return 0;
|
8670
8670
|
};
|
8671
|
-
const preventLockedScroll =
|
8672
|
-
const delta = wheelDeltaY(
|
8673
|
-
const scrollTop =
|
8674
|
-
const allowScroll = (scrollTop === 0 && 0 < delta) || (
|
8671
|
+
const preventLockedScroll = (args, element) => {
|
8672
|
+
const delta = wheelDeltaY(args);
|
8673
|
+
const scrollTop = element.scrollTop;
|
8674
|
+
const allowScroll = (scrollTop === 0 && 0 < delta) || (element.scrollHeight <= element.offsetHeight + scrollTop && delta < 0);
|
8675
8675
|
if (!allowScroll) {
|
8676
8676
|
event.preventDefault();
|
8677
8677
|
}
|
@@ -8791,6 +8791,13 @@ class ListComponent {
|
|
8791
8791
|
this.attachContainerScroll();
|
8792
8792
|
this.initResizeService();
|
8793
8793
|
}
|
8794
|
+
ngAfterViewChecked() {
|
8795
|
+
const isLocked = this.isLocked;
|
8796
|
+
if (isLocked && !this.hasLockedContainer) {
|
8797
|
+
this.syncRowsHeight();
|
8798
|
+
}
|
8799
|
+
this.hasLockedContainer = isLocked;
|
8800
|
+
}
|
8794
8801
|
syncRowsHeight() {
|
8795
8802
|
if (this.lockedContainer) {
|
8796
8803
|
syncRowsHeight(this.lockedTable.nativeElement, this.table.nativeElement);
|
@@ -8815,6 +8822,29 @@ class ListComponent {
|
|
8815
8822
|
this.ngZone.runOutsideAngular(this.createScroller.bind(this));
|
8816
8823
|
}
|
8817
8824
|
}
|
8825
|
+
lockedScroll() {
|
8826
|
+
if (!this.suspendService.scroll) {
|
8827
|
+
const lockedScrollTop = this.lockedContainer.nativeElement.scrollTop;
|
8828
|
+
if (lockedScrollTop !== this.containerScrollTop) {
|
8829
|
+
this.container.nativeElement.scrollTop = this.containerScrollTop = lockedScrollTop;
|
8830
|
+
}
|
8831
|
+
}
|
8832
|
+
}
|
8833
|
+
lockedMousewheel(args) {
|
8834
|
+
if (!args.ctrlKey) {
|
8835
|
+
preventLockedScroll(args, this.container.nativeElement);
|
8836
|
+
const scrollDelta = wheelDeltaY(args);
|
8837
|
+
this.container.nativeElement.scrollTop -= scrollDelta;
|
8838
|
+
}
|
8839
|
+
}
|
8840
|
+
lockedKeydown(args) {
|
8841
|
+
if (args.keyCode === Keys.PageDown || args.keyCode === Keys.PageUp) {
|
8842
|
+
const dir = args.keyCode === Keys.PageDown ? 1 : -1;
|
8843
|
+
const element = this.container.nativeElement;
|
8844
|
+
element.scrollTop += element.offsetHeight * dir * 0.8;
|
8845
|
+
args.preventDefault();
|
8846
|
+
}
|
8847
|
+
}
|
8818
8848
|
attachContainerScroll() {
|
8819
8849
|
if (isUniversal()) {
|
8820
8850
|
return;
|
@@ -8839,26 +8869,6 @@ class ListComponent {
|
|
8839
8869
|
})).subscribe(this.dispatcher));
|
8840
8870
|
});
|
8841
8871
|
this.scrollSyncService.registerEmitter(this.container.nativeElement, "body");
|
8842
|
-
if (this.lockedContainer) {
|
8843
|
-
this.ngZone.runOutsideAngular(() => {
|
8844
|
-
this.subscriptions.add(merge(fromEvent(this.lockedContainer.nativeElement, 'mousewheel'), fromEvent(this.lockedContainer.nativeElement, 'DOMMouseScroll')).pipe(filter((event) => !event.ctrlKey), tap(preventLockedScroll(this.container.nativeElement)), map(wheelDeltaY))
|
8845
|
-
.subscribe(x => this.container.nativeElement.scrollTop -= x));
|
8846
|
-
this.subscriptions.add(fromEvent(this.lockedContainer.nativeElement, 'scroll').pipe(filter(() => !this.suspendService.scroll))
|
8847
|
-
.subscribe(() => {
|
8848
|
-
const lockedScrollTop = this.lockedContainer.nativeElement.scrollTop;
|
8849
|
-
if (lockedScrollTop !== this.containerScrollTop) {
|
8850
|
-
this.container.nativeElement.scrollTop = this.containerScrollTop = lockedScrollTop;
|
8851
|
-
}
|
8852
|
-
}));
|
8853
|
-
this.subscriptions.add(fromEvent(this.lockedContainer.nativeElement, 'keydown').pipe(filter((event) => event.keyCode === Keys.PageDown || event.keyCode === Keys.PageUp)).subscribe((event) => {
|
8854
|
-
const dir = event.keyCode === Keys.PageDown ? 1 : -1;
|
8855
|
-
const element = this.container.nativeElement;
|
8856
|
-
element.scrollTop += element.offsetHeight * dir * 0.8;
|
8857
|
-
event.preventDefault();
|
8858
|
-
}));
|
8859
|
-
});
|
8860
|
-
this.syncRowsHeight();
|
8861
|
-
}
|
8862
8872
|
}
|
8863
8873
|
createScroller() {
|
8864
8874
|
this.cleanupScroller();
|
@@ -9102,7 +9112,14 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
|
|
9102
9112
|
}
|
9103
9113
|
], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, static: true }, { propertyName: "table", first: true, predicate: ["table"], descendants: true, static: true }, { propertyName: "lockedContainer", first: true, predicate: ["lockedContainer"], descendants: true }, { propertyName: "lockedTable", first: true, predicate: ["lockedTable"], descendants: true }, { propertyName: "resizeSensors", predicate: ResizeSensorComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
9104
9114
|
<div #lockedContainer class="k-grid-content-locked" role="presentation"
|
9105
|
-
*ngIf="isLocked" [style.width.px]="lockedWidth"
|
9115
|
+
*ngIf="isLocked" [style.width.px]="lockedWidth"
|
9116
|
+
[kendoEventsOutsideAngular]="{
|
9117
|
+
keydown: lockedKeydown,
|
9118
|
+
scroll: lockedScroll,
|
9119
|
+
mousewheel: lockedMousewheel,
|
9120
|
+
DOMMouseScroll: lockedMousewheel
|
9121
|
+
}"
|
9122
|
+
[scope]="this">
|
9106
9123
|
<div role="presentation" class="k-grid-table-wrap">
|
9107
9124
|
<table
|
9108
9125
|
kendoTreeListResizableTable
|
@@ -9183,7 +9200,7 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
|
|
9183
9200
|
</div>
|
9184
9201
|
<div *ngIf="loading" kendoTreeListLoading>
|
9185
9202
|
</div>
|
9186
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TableDirective, selector: "[kendoTreeListResizableTable]", inputs: ["locked", "virtualColumns"] }, { kind: "component", type: ColGroupComponent, selector: "[kendoTreeListColGroup]", inputs: ["columns"] }, { kind: "component", type: TableBodyComponent, selector: "[kendoTreeListTableBody]", inputs: ["columns", "allColumns", "noRecordsTemplate", "view", "skip", "filterable", "noRecordsText", "isLocked", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "expandIcons", "trackBy", "totalColumns", "rowClass"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "directive", type: ResizableContainerDirective, selector: "[kendoTreeListResizableContainer]", inputs: ["lockedWidth", "kendoTreeListResizableContainer"] }, { kind: "component", type: LoadingComponent, selector: "[kendoTreeListLoading]" }] });
|
9203
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "directive", type: TableDirective, selector: "[kendoTreeListResizableTable]", inputs: ["locked", "virtualColumns"] }, { kind: "component", type: ColGroupComponent, selector: "[kendoTreeListColGroup]", inputs: ["columns"] }, { kind: "component", type: TableBodyComponent, selector: "[kendoTreeListTableBody]", inputs: ["columns", "allColumns", "noRecordsTemplate", "view", "skip", "filterable", "noRecordsText", "isLocked", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "expandIcons", "trackBy", "totalColumns", "rowClass"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "directive", type: ResizableContainerDirective, selector: "[kendoTreeListResizableContainer]", inputs: ["lockedWidth", "kendoTreeListResizableContainer"] }, { kind: "component", type: LoadingComponent, selector: "[kendoTreeListLoading]" }] });
|
9187
9204
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListComponent, decorators: [{
|
9188
9205
|
type: Component,
|
9189
9206
|
args: [{
|
@@ -9196,7 +9213,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
9196
9213
|
selector: 'kendo-treelist-list',
|
9197
9214
|
template: `
|
9198
9215
|
<div #lockedContainer class="k-grid-content-locked" role="presentation"
|
9199
|
-
*ngIf="isLocked" [style.width.px]="lockedWidth"
|
9216
|
+
*ngIf="isLocked" [style.width.px]="lockedWidth"
|
9217
|
+
[kendoEventsOutsideAngular]="{
|
9218
|
+
keydown: lockedKeydown,
|
9219
|
+
scroll: lockedScroll,
|
9220
|
+
mousewheel: lockedMousewheel,
|
9221
|
+
DOMMouseScroll: lockedMousewheel
|
9222
|
+
}"
|
9223
|
+
[scope]="this">
|
9200
9224
|
<div role="presentation" class="k-grid-table-wrap">
|
9201
9225
|
<table
|
9202
9226
|
kendoTreeListResizableTable
|
@@ -9279,7 +9303,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
9279
9303
|
</div>
|
9280
9304
|
`,
|
9281
9305
|
standalone: true,
|
9282
|
-
imports: [NgIf, TableDirective, ColGroupComponent, TableBodyComponent, ResizeSensorComponent, ResizableContainerDirective, LoadingComponent]
|
9306
|
+
imports: [NgIf, EventsOutsideAngularDirective, TableDirective, ColGroupComponent, TableBodyComponent, ResizeSensorComponent, ResizableContainerDirective, LoadingComponent]
|
9283
9307
|
}]
|
9284
9308
|
}], ctorParameters: function () {
|
9285
9309
|
return [{ type: undefined, decorators: [{
|
@@ -13602,10 +13626,11 @@ const POPUP_CLASSES = 'k-grid-columnmenu-popup k-column-menu';
|
|
13602
13626
|
* Represents the [column menu]({% slug columnmenu_treelist %}) component of the TreeList.
|
13603
13627
|
*/
|
13604
13628
|
class ColumnMenuComponent {
|
13605
|
-
constructor(popupService, localization, service) {
|
13629
|
+
constructor(popupService, localization, service, cdr) {
|
13606
13630
|
this.popupService = popupService;
|
13607
13631
|
this.localization = localization;
|
13608
13632
|
this.service = service;
|
13633
|
+
this.cdr = cdr;
|
13609
13634
|
/**
|
13610
13635
|
* @hidden
|
13611
13636
|
*/
|
@@ -13685,6 +13710,7 @@ class ColumnMenuComponent {
|
|
13685
13710
|
close() {
|
13686
13711
|
this.popupService.destroy();
|
13687
13712
|
this.popupRef = null;
|
13713
|
+
this.cdr.markForCheck();
|
13688
13714
|
}
|
13689
13715
|
/**
|
13690
13716
|
* @hidden
|
@@ -13701,7 +13727,7 @@ class ColumnMenuComponent {
|
|
13701
13727
|
this.expandedColumns = false;
|
13702
13728
|
}
|
13703
13729
|
}
|
13704
|
-
ColumnMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ColumnMenuComponent, deps: [{ token: SinglePopupService }, { token: i1$1.LocalizationService }, { token: ColumnMenuService }], target: i0.ɵɵFactoryTarget.Component });
|
13730
|
+
ColumnMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ColumnMenuComponent, deps: [{ token: SinglePopupService }, { token: i1$1.LocalizationService }, { token: ColumnMenuService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
13705
13731
|
ColumnMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ColumnMenuComponent, isStandalone: true, selector: "kendo-treelist-column-menu", inputs: { standalone: "standalone", column: "column", settings: "settings", sort: "sort", filter: "filter", sortable: "sortable", columnMenuTemplate: "columnMenuTemplate" }, host: { properties: { "class.k-grid-column-menu-standalone": "this.standalone" } }, providers: [ColumnMenuService], usesOnChanges: true, ngImport: i0, template: `
|
13706
13732
|
<a #anchor
|
13707
13733
|
class="k-grid-column-menu k-grid-header-menu"
|
@@ -13770,7 +13796,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
13770
13796
|
standalone: true,
|
13771
13797
|
imports: [NgClass, IconWrapperComponent, NgTemplateOutlet, NgIf, ColumnMenuSortComponent, ColumnMenuLockComponent, ColumnMenuChooserComponent, ColumnMenuFilterComponent]
|
13772
13798
|
}]
|
13773
|
-
}], ctorParameters: function () { return [{ type: SinglePopupService }, { type: i1$1.LocalizationService }, { type: ColumnMenuService }]; }, propDecorators: { standalone: [{
|
13799
|
+
}], ctorParameters: function () { return [{ type: SinglePopupService }, { type: i1$1.LocalizationService }, { type: ColumnMenuService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { standalone: [{
|
13774
13800
|
type: HostBinding,
|
13775
13801
|
args: ['class.k-grid-column-menu-standalone']
|
13776
13802
|
}, {
|
@@ -20068,6 +20094,7 @@ class ColumnChooserComponent {
|
|
20068
20094
|
if (this.popupRef) {
|
20069
20095
|
this.popupRef.close();
|
20070
20096
|
this.popupRef = null;
|
20097
|
+
this.changeDetector.markForCheck();
|
20071
20098
|
}
|
20072
20099
|
this.detachClose();
|
20073
20100
|
}
|
@@ -47,8 +47,8 @@ const packageMetadata = {
|
|
47
47
|
name: '@progress/kendo-angular-treelist',
|
48
48
|
productName: 'Kendo UI for Angular',
|
49
49
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
50
|
-
publishDate:
|
51
|
-
version: '16.9.0-develop.
|
50
|
+
publishDate: 1724759402,
|
51
|
+
version: '16.9.0-develop.3',
|
52
52
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
53
53
|
};
|
54
54
|
|
@@ -8632,10 +8632,10 @@ const wheelDeltaY = (e) => {
|
|
8632
8632
|
}
|
8633
8633
|
return 0;
|
8634
8634
|
};
|
8635
|
-
const preventLockedScroll =
|
8636
|
-
const delta = wheelDeltaY(
|
8637
|
-
const scrollTop =
|
8638
|
-
const allowScroll = (scrollTop === 0 && 0 < delta) || (
|
8635
|
+
const preventLockedScroll = (args, element) => {
|
8636
|
+
const delta = wheelDeltaY(args);
|
8637
|
+
const scrollTop = element.scrollTop;
|
8638
|
+
const allowScroll = (scrollTop === 0 && 0 < delta) || (element.scrollHeight <= element.offsetHeight + scrollTop && delta < 0);
|
8639
8639
|
if (!allowScroll) {
|
8640
8640
|
event.preventDefault();
|
8641
8641
|
}
|
@@ -8755,6 +8755,13 @@ class ListComponent {
|
|
8755
8755
|
this.attachContainerScroll();
|
8756
8756
|
this.initResizeService();
|
8757
8757
|
}
|
8758
|
+
ngAfterViewChecked() {
|
8759
|
+
const isLocked = this.isLocked;
|
8760
|
+
if (isLocked && !this.hasLockedContainer) {
|
8761
|
+
this.syncRowsHeight();
|
8762
|
+
}
|
8763
|
+
this.hasLockedContainer = isLocked;
|
8764
|
+
}
|
8758
8765
|
syncRowsHeight() {
|
8759
8766
|
if (this.lockedContainer) {
|
8760
8767
|
syncRowsHeight(this.lockedTable.nativeElement, this.table.nativeElement);
|
@@ -8779,6 +8786,29 @@ class ListComponent {
|
|
8779
8786
|
this.ngZone.runOutsideAngular(this.createScroller.bind(this));
|
8780
8787
|
}
|
8781
8788
|
}
|
8789
|
+
lockedScroll() {
|
8790
|
+
if (!this.suspendService.scroll) {
|
8791
|
+
const lockedScrollTop = this.lockedContainer.nativeElement.scrollTop;
|
8792
|
+
if (lockedScrollTop !== this.containerScrollTop) {
|
8793
|
+
this.container.nativeElement.scrollTop = this.containerScrollTop = lockedScrollTop;
|
8794
|
+
}
|
8795
|
+
}
|
8796
|
+
}
|
8797
|
+
lockedMousewheel(args) {
|
8798
|
+
if (!args.ctrlKey) {
|
8799
|
+
preventLockedScroll(args, this.container.nativeElement);
|
8800
|
+
const scrollDelta = wheelDeltaY(args);
|
8801
|
+
this.container.nativeElement.scrollTop -= scrollDelta;
|
8802
|
+
}
|
8803
|
+
}
|
8804
|
+
lockedKeydown(args) {
|
8805
|
+
if (args.keyCode === Keys.PageDown || args.keyCode === Keys.PageUp) {
|
8806
|
+
const dir = args.keyCode === Keys.PageDown ? 1 : -1;
|
8807
|
+
const element = this.container.nativeElement;
|
8808
|
+
element.scrollTop += element.offsetHeight * dir * 0.8;
|
8809
|
+
args.preventDefault();
|
8810
|
+
}
|
8811
|
+
}
|
8782
8812
|
attachContainerScroll() {
|
8783
8813
|
if (isUniversal()) {
|
8784
8814
|
return;
|
@@ -8803,26 +8833,6 @@ class ListComponent {
|
|
8803
8833
|
})).subscribe(this.dispatcher));
|
8804
8834
|
});
|
8805
8835
|
this.scrollSyncService.registerEmitter(this.container.nativeElement, "body");
|
8806
|
-
if (this.lockedContainer) {
|
8807
|
-
this.ngZone.runOutsideAngular(() => {
|
8808
|
-
this.subscriptions.add(merge(fromEvent(this.lockedContainer.nativeElement, 'mousewheel'), fromEvent(this.lockedContainer.nativeElement, 'DOMMouseScroll')).pipe(filter((event) => !event.ctrlKey), tap(preventLockedScroll(this.container.nativeElement)), map(wheelDeltaY))
|
8809
|
-
.subscribe(x => this.container.nativeElement.scrollTop -= x));
|
8810
|
-
this.subscriptions.add(fromEvent(this.lockedContainer.nativeElement, 'scroll').pipe(filter(() => !this.suspendService.scroll))
|
8811
|
-
.subscribe(() => {
|
8812
|
-
const lockedScrollTop = this.lockedContainer.nativeElement.scrollTop;
|
8813
|
-
if (lockedScrollTop !== this.containerScrollTop) {
|
8814
|
-
this.container.nativeElement.scrollTop = this.containerScrollTop = lockedScrollTop;
|
8815
|
-
}
|
8816
|
-
}));
|
8817
|
-
this.subscriptions.add(fromEvent(this.lockedContainer.nativeElement, 'keydown').pipe(filter((event) => event.keyCode === Keys.PageDown || event.keyCode === Keys.PageUp)).subscribe((event) => {
|
8818
|
-
const dir = event.keyCode === Keys.PageDown ? 1 : -1;
|
8819
|
-
const element = this.container.nativeElement;
|
8820
|
-
element.scrollTop += element.offsetHeight * dir * 0.8;
|
8821
|
-
event.preventDefault();
|
8822
|
-
}));
|
8823
|
-
});
|
8824
|
-
this.syncRowsHeight();
|
8825
|
-
}
|
8826
8836
|
}
|
8827
8837
|
createScroller() {
|
8828
8838
|
this.cleanupScroller();
|
@@ -9066,7 +9076,14 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
|
|
9066
9076
|
}
|
9067
9077
|
], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, static: true }, { propertyName: "table", first: true, predicate: ["table"], descendants: true, static: true }, { propertyName: "lockedContainer", first: true, predicate: ["lockedContainer"], descendants: true }, { propertyName: "lockedTable", first: true, predicate: ["lockedTable"], descendants: true }, { propertyName: "resizeSensors", predicate: ResizeSensorComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
9068
9078
|
<div #lockedContainer class="k-grid-content-locked" role="presentation"
|
9069
|
-
*ngIf="isLocked" [style.width.px]="lockedWidth"
|
9079
|
+
*ngIf="isLocked" [style.width.px]="lockedWidth"
|
9080
|
+
[kendoEventsOutsideAngular]="{
|
9081
|
+
keydown: lockedKeydown,
|
9082
|
+
scroll: lockedScroll,
|
9083
|
+
mousewheel: lockedMousewheel,
|
9084
|
+
DOMMouseScroll: lockedMousewheel
|
9085
|
+
}"
|
9086
|
+
[scope]="this">
|
9070
9087
|
<div role="presentation" class="k-grid-table-wrap">
|
9071
9088
|
<table
|
9072
9089
|
kendoTreeListResizableTable
|
@@ -9147,7 +9164,7 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
|
|
9147
9164
|
</div>
|
9148
9165
|
<div *ngIf="loading" kendoTreeListLoading>
|
9149
9166
|
</div>
|
9150
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TableDirective, selector: "[kendoTreeListResizableTable]", inputs: ["locked", "virtualColumns"] }, { kind: "component", type: ColGroupComponent, selector: "[kendoTreeListColGroup]", inputs: ["columns"] }, { kind: "component", type: TableBodyComponent, selector: "[kendoTreeListTableBody]", inputs: ["columns", "allColumns", "noRecordsTemplate", "view", "skip", "filterable", "noRecordsText", "isLocked", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "expandIcons", "trackBy", "totalColumns", "rowClass"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "directive", type: ResizableContainerDirective, selector: "[kendoTreeListResizableContainer]", inputs: ["lockedWidth", "kendoTreeListResizableContainer"] }, { kind: "component", type: LoadingComponent, selector: "[kendoTreeListLoading]" }] });
|
9167
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "directive", type: TableDirective, selector: "[kendoTreeListResizableTable]", inputs: ["locked", "virtualColumns"] }, { kind: "component", type: ColGroupComponent, selector: "[kendoTreeListColGroup]", inputs: ["columns"] }, { kind: "component", type: TableBodyComponent, selector: "[kendoTreeListTableBody]", inputs: ["columns", "allColumns", "noRecordsTemplate", "view", "skip", "filterable", "noRecordsText", "isLocked", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "expandIcons", "trackBy", "totalColumns", "rowClass"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "directive", type: ResizableContainerDirective, selector: "[kendoTreeListResizableContainer]", inputs: ["lockedWidth", "kendoTreeListResizableContainer"] }, { kind: "component", type: LoadingComponent, selector: "[kendoTreeListLoading]" }] });
|
9151
9168
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListComponent, decorators: [{
|
9152
9169
|
type: Component,
|
9153
9170
|
args: [{
|
@@ -9160,7 +9177,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
9160
9177
|
selector: 'kendo-treelist-list',
|
9161
9178
|
template: `
|
9162
9179
|
<div #lockedContainer class="k-grid-content-locked" role="presentation"
|
9163
|
-
*ngIf="isLocked" [style.width.px]="lockedWidth"
|
9180
|
+
*ngIf="isLocked" [style.width.px]="lockedWidth"
|
9181
|
+
[kendoEventsOutsideAngular]="{
|
9182
|
+
keydown: lockedKeydown,
|
9183
|
+
scroll: lockedScroll,
|
9184
|
+
mousewheel: lockedMousewheel,
|
9185
|
+
DOMMouseScroll: lockedMousewheel
|
9186
|
+
}"
|
9187
|
+
[scope]="this">
|
9164
9188
|
<div role="presentation" class="k-grid-table-wrap">
|
9165
9189
|
<table
|
9166
9190
|
kendoTreeListResizableTable
|
@@ -9243,7 +9267,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
9243
9267
|
</div>
|
9244
9268
|
`,
|
9245
9269
|
standalone: true,
|
9246
|
-
imports: [NgIf, TableDirective, ColGroupComponent, TableBodyComponent, ResizeSensorComponent, ResizableContainerDirective, LoadingComponent]
|
9270
|
+
imports: [NgIf, EventsOutsideAngularDirective, TableDirective, ColGroupComponent, TableBodyComponent, ResizeSensorComponent, ResizableContainerDirective, LoadingComponent]
|
9247
9271
|
}]
|
9248
9272
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
9249
9273
|
type: Inject,
|
@@ -13551,10 +13575,11 @@ const POPUP_CLASSES = 'k-grid-columnmenu-popup k-column-menu';
|
|
13551
13575
|
* Represents the [column menu]({% slug columnmenu_treelist %}) component of the TreeList.
|
13552
13576
|
*/
|
13553
13577
|
class ColumnMenuComponent {
|
13554
|
-
constructor(popupService, localization, service) {
|
13578
|
+
constructor(popupService, localization, service, cdr) {
|
13555
13579
|
this.popupService = popupService;
|
13556
13580
|
this.localization = localization;
|
13557
13581
|
this.service = service;
|
13582
|
+
this.cdr = cdr;
|
13558
13583
|
/**
|
13559
13584
|
* @hidden
|
13560
13585
|
*/
|
@@ -13634,6 +13659,7 @@ class ColumnMenuComponent {
|
|
13634
13659
|
close() {
|
13635
13660
|
this.popupService.destroy();
|
13636
13661
|
this.popupRef = null;
|
13662
|
+
this.cdr.markForCheck();
|
13637
13663
|
}
|
13638
13664
|
/**
|
13639
13665
|
* @hidden
|
@@ -13650,7 +13676,7 @@ class ColumnMenuComponent {
|
|
13650
13676
|
this.expandedColumns = false;
|
13651
13677
|
}
|
13652
13678
|
}
|
13653
|
-
ColumnMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ColumnMenuComponent, deps: [{ token: SinglePopupService }, { token: i1$1.LocalizationService }, { token: ColumnMenuService }], target: i0.ɵɵFactoryTarget.Component });
|
13679
|
+
ColumnMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ColumnMenuComponent, deps: [{ token: SinglePopupService }, { token: i1$1.LocalizationService }, { token: ColumnMenuService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
13654
13680
|
ColumnMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ColumnMenuComponent, isStandalone: true, selector: "kendo-treelist-column-menu", inputs: { standalone: "standalone", column: "column", settings: "settings", sort: "sort", filter: "filter", sortable: "sortable", columnMenuTemplate: "columnMenuTemplate" }, host: { properties: { "class.k-grid-column-menu-standalone": "this.standalone" } }, providers: [ColumnMenuService], usesOnChanges: true, ngImport: i0, template: `
|
13655
13681
|
<a #anchor
|
13656
13682
|
class="k-grid-column-menu k-grid-header-menu"
|
@@ -13719,7 +13745,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
13719
13745
|
standalone: true,
|
13720
13746
|
imports: [NgClass, IconWrapperComponent, NgTemplateOutlet, NgIf, ColumnMenuSortComponent, ColumnMenuLockComponent, ColumnMenuChooserComponent, ColumnMenuFilterComponent]
|
13721
13747
|
}]
|
13722
|
-
}], ctorParameters: function () { return [{ type: SinglePopupService }, { type: i1$1.LocalizationService }, { type: ColumnMenuService }]; }, propDecorators: { standalone: [{
|
13748
|
+
}], ctorParameters: function () { return [{ type: SinglePopupService }, { type: i1$1.LocalizationService }, { type: ColumnMenuService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { standalone: [{
|
13723
13749
|
type: HostBinding,
|
13724
13750
|
args: ['class.k-grid-column-menu-standalone']
|
13725
13751
|
}, {
|
@@ -20003,6 +20029,7 @@ class ColumnChooserComponent {
|
|
20003
20029
|
if (this.popupRef) {
|
20004
20030
|
this.popupRef.close();
|
20005
20031
|
this.popupRef = null;
|
20032
|
+
this.changeDetector.markForCheck();
|
20006
20033
|
}
|
20007
20034
|
this.detachClose();
|
20008
20035
|
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@progress/kendo-angular-treelist",
|
3
|
-
"version": "16.9.0-develop.
|
3
|
+
"version": "16.9.0-develop.3",
|
4
4
|
"description": "Kendo UI TreeList for Angular - Display hierarchical data in an Angular tree grid view that supports sorting, filtering, paging, and much more.",
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
6
6
|
"author": "Progress",
|
@@ -31,24 +31,24 @@
|
|
31
31
|
"@progress/kendo-data-query": "^1.0.0",
|
32
32
|
"@progress/kendo-drawing": "^1.19.0",
|
33
33
|
"@progress/kendo-licensing": "^1.0.2",
|
34
|
-
"@progress/kendo-angular-buttons": "16.9.0-develop.
|
35
|
-
"@progress/kendo-angular-common": "16.9.0-develop.
|
36
|
-
"@progress/kendo-angular-dateinputs": "16.9.0-develop.
|
37
|
-
"@progress/kendo-angular-dropdowns": "16.9.0-develop.
|
38
|
-
"@progress/kendo-angular-excel-export": "16.9.0-develop.
|
39
|
-
"@progress/kendo-angular-icons": "16.9.0-develop.
|
40
|
-
"@progress/kendo-angular-inputs": "16.9.0-develop.
|
41
|
-
"@progress/kendo-angular-intl": "16.9.0-develop.
|
42
|
-
"@progress/kendo-angular-l10n": "16.9.0-develop.
|
43
|
-
"@progress/kendo-angular-label": "16.9.0-develop.
|
44
|
-
"@progress/kendo-angular-pdf-export": "16.9.0-develop.
|
45
|
-
"@progress/kendo-angular-popup": "16.9.0-develop.
|
46
|
-
"@progress/kendo-angular-utils": "16.9.0-develop.
|
34
|
+
"@progress/kendo-angular-buttons": "16.9.0-develop.3",
|
35
|
+
"@progress/kendo-angular-common": "16.9.0-develop.3",
|
36
|
+
"@progress/kendo-angular-dateinputs": "16.9.0-develop.3",
|
37
|
+
"@progress/kendo-angular-dropdowns": "16.9.0-develop.3",
|
38
|
+
"@progress/kendo-angular-excel-export": "16.9.0-develop.3",
|
39
|
+
"@progress/kendo-angular-icons": "16.9.0-develop.3",
|
40
|
+
"@progress/kendo-angular-inputs": "16.9.0-develop.3",
|
41
|
+
"@progress/kendo-angular-intl": "16.9.0-develop.3",
|
42
|
+
"@progress/kendo-angular-l10n": "16.9.0-develop.3",
|
43
|
+
"@progress/kendo-angular-label": "16.9.0-develop.3",
|
44
|
+
"@progress/kendo-angular-pdf-export": "16.9.0-develop.3",
|
45
|
+
"@progress/kendo-angular-popup": "16.9.0-develop.3",
|
46
|
+
"@progress/kendo-angular-utils": "16.9.0-develop.3",
|
47
47
|
"rxjs": "^6.5.3 || ^7.0.0"
|
48
48
|
},
|
49
49
|
"dependencies": {
|
50
50
|
"tslib": "^2.3.1",
|
51
|
-
"@progress/kendo-angular-schematics": "16.9.0-develop.
|
51
|
+
"@progress/kendo-angular-schematics": "16.9.0-develop.3",
|
52
52
|
"@progress/kendo-common": "^0.2.0",
|
53
53
|
"@progress/kendo-file-saver": "^1.0.0"
|
54
54
|
},
|
@@ -99,6 +99,7 @@ export declare class ListComponent implements OnInit, OnDestroy, AfterViewInit,
|
|
99
99
|
get isLocked(): boolean;
|
100
100
|
private rtl;
|
101
101
|
private columnUpdateFrame;
|
102
|
+
private hasLockedContainer;
|
102
103
|
constructor(scrollerFactory: any, changeNotification: ChangeNotificationService, suspendService: SuspendService, ngZone: NgZone, renderer: Renderer2, scrollSyncService: ScrollSyncService, resizeService: ResizeService, editService: EditService, supportService: BrowserSupportService, navigationService: NavigationService, scrollRequestService: ScrollRequestService, localization: LocalizationService, columnResizingService: ColumnResizingService, changeDetector: ChangeDetectorRef, pdfService: PDFService, columnInfo: ColumnInfoService);
|
103
104
|
ngOnInit(): void;
|
104
105
|
ngOnChanges(changes: {
|
@@ -106,9 +107,13 @@ export declare class ListComponent implements OnInit, OnDestroy, AfterViewInit,
|
|
106
107
|
}): void;
|
107
108
|
ngDoCheck(): void;
|
108
109
|
ngAfterViewInit(): void;
|
110
|
+
ngAfterViewChecked(): void;
|
109
111
|
syncRowsHeight(): void;
|
110
112
|
ngOnDestroy(): void;
|
111
113
|
init(): void;
|
114
|
+
lockedScroll(): void;
|
115
|
+
lockedMousewheel(args: any): void;
|
116
|
+
lockedKeydown(args: any): void;
|
112
117
|
private attachContainerScroll;
|
113
118
|
private createScroller;
|
114
119
|
private scroll;
|
@@ -4,13 +4,13 @@ const schematics_1 = require("@angular-devkit/schematics");
|
|
4
4
|
function default_1(options) {
|
5
5
|
const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'TreeListModule', package: 'treelist', peerDependencies: {
|
6
6
|
// peer dep of the dropdowns
|
7
|
-
'@progress/kendo-angular-treeview': '16.9.0-develop.
|
7
|
+
'@progress/kendo-angular-treeview': '16.9.0-develop.3',
|
8
8
|
// peer dependency of kendo-angular-inputs
|
9
|
-
'@progress/kendo-angular-dialog': '16.9.0-develop.
|
9
|
+
'@progress/kendo-angular-dialog': '16.9.0-develop.3',
|
10
10
|
// peer dependency of kendo-angular-icons
|
11
11
|
'@progress/kendo-svg-icons': '^3.0.0',
|
12
12
|
// peer dependency of kendo-angular-dateinputs
|
13
|
-
'@progress/kendo-angular-navigation': '16.9.0-develop.
|
13
|
+
'@progress/kendo-angular-navigation': '16.9.0-develop.3',
|
14
14
|
} });
|
15
15
|
return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
|
16
16
|
}
|