@progress/kendo-angular-treelist 21.4.1-develop.1 → 22.0.0-develop.1
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/binding-directives/base-binding.directive.d.ts +1 -1
- package/column-menu/column-menu-item-base.d.ts +1 -1
- package/columns/column-base.d.ts +1 -1
- package/editing-directives/editing-directive-base.d.ts +1 -1
- package/editing-directives/row-editing-directive-base.d.ts +1 -1
- package/fesm2022/progress-kendo-angular-treelist.mjs +519 -519
- package/filtering/base-filter-cell.component.d.ts +1 -1
- package/filtering/boolean-filter.component.d.ts +1 -1
- package/filtering/date-filter.component.d.ts +1 -1
- package/filtering/filter-host.directive.d.ts +1 -1
- package/filtering/filter-input-wrapper.component.d.ts +1 -1
- package/filtering/numeric-filter.component.d.ts +1 -1
- package/filtering/operators/filter-operator.base.d.ts +1 -1
- package/filtering/string-filter.component.d.ts +1 -1
- package/localization/messages.d.ts +1 -1
- package/package.json +23 -31
- package/schematics/ngAdd/index.js +3 -3
- package/esm2022/binding-directives/base-binding.directive.mjs +0 -180
- package/esm2022/binding-directives/data-bound-tree-component.mjs +0 -18
- package/esm2022/binding-directives/flat-binding.directive.mjs +0 -130
- package/esm2022/binding-directives/hierarchy-binding.directive.mjs +0 -109
- package/esm2022/column-menu/column-chooser-item-checked.directive.mjs +0 -45
- package/esm2022/column-menu/column-chooser.component.mjs +0 -221
- package/esm2022/column-menu/column-list-kb-nav.service.mjs +0 -40
- package/esm2022/column-menu/column-list.component.mjs +0 -380
- package/esm2022/column-menu/column-locked-change-event.mjs +0 -21
- package/esm2022/column-menu/column-menu-autosize-all.component.mjs +0 -78
- package/esm2022/column-menu/column-menu-autosize.component.mjs +0 -86
- package/esm2022/column-menu/column-menu-chooser.component.mjs +0 -164
- package/esm2022/column-menu/column-menu-container.component.mjs +0 -58
- package/esm2022/column-menu/column-menu-expandable-item.interface.mjs +0 -5
- package/esm2022/column-menu/column-menu-filter.component.mjs +0 -141
- package/esm2022/column-menu/column-menu-item-base.mjs +0 -41
- package/esm2022/column-menu/column-menu-item-content-template.directive.mjs +0 -43
- package/esm2022/column-menu/column-menu-item.component.mjs +0 -329
- package/esm2022/column-menu/column-menu-item.directive.mjs +0 -147
- package/esm2022/column-menu/column-menu-lock.component.mjs +0 -112
- package/esm2022/column-menu/column-menu-settings.interface.mjs +0 -5
- package/esm2022/column-menu/column-menu-sort.component.mjs +0 -115
- package/esm2022/column-menu/column-menu-template.directive.mjs +0 -47
- package/esm2022/column-menu/column-menu.component.mjs +0 -470
- package/esm2022/column-menu/column-menu.service.mjs +0 -70
- package/esm2022/column-menu/column-visibility-change-event.mjs +0 -19
- package/esm2022/column-menu/utils.mjs +0 -44
- package/esm2022/column-resizing/column-handle.directive.mjs +0 -226
- package/esm2022/column-resizing/column-resize.interface.mjs +0 -5
- package/esm2022/column-resizing/column-resizing.service.mjs +0 -143
- package/esm2022/column-resizing/table.directive.mjs +0 -130
- package/esm2022/columns/checkbox-column.component.mjs +0 -88
- package/esm2022/columns/column-base.mjs +0 -319
- package/esm2022/columns/column-common.mjs +0 -73
- package/esm2022/columns/column-group.component.mjs +0 -115
- package/esm2022/columns/column-list.mjs +0 -94
- package/esm2022/columns/column.component.mjs +0 -165
- package/esm2022/columns/columns-container.mjs +0 -90
- package/esm2022/columns/command-column.component.mjs +0 -77
- package/esm2022/columns/rowreorder-column.component.mjs +0 -57
- package/esm2022/columns/sort-settings.mjs +0 -17
- package/esm2022/columns/span-column.component.mjs +0 -201
- package/esm2022/common/cell-click-event-args.interface.mjs +0 -5
- package/esm2022/common/column-info.service.mjs +0 -54
- package/esm2022/common/create-form-group.mjs +0 -5
- package/esm2022/common/default-track-by.mjs +0 -13
- package/esm2022/common/dom-events.service.mjs +0 -24
- package/esm2022/common/error-messages.mjs +0 -15
- package/esm2022/common/filter-descriptor-differ.mjs +0 -69
- package/esm2022/common/filter-operator.interface.mjs +0 -5
- package/esm2022/common/id.service.mjs +0 -34
- package/esm2022/common/option-changes.service.mjs +0 -24
- package/esm2022/common/pager-settings.mjs +0 -19
- package/esm2022/common/preventable-event.mjs +0 -28
- package/esm2022/common/provider.service.mjs +0 -34
- package/esm2022/common/remove-confirmation.mjs +0 -5
- package/esm2022/common/single-popup.service.mjs +0 -132
- package/esm2022/common/sort.service.mjs +0 -14
- package/esm2022/data/change-event-args.interface.mjs +0 -5
- package/esm2022/data/change-notification.service.mjs +0 -30
- package/esm2022/data/data-item.interface.mjs +0 -5
- package/esm2022/data/data.collection.mjs +0 -503
- package/esm2022/data/treelist-item.interface.mjs +0 -5
- package/esm2022/directives.mjs +0 -291
- package/esm2022/dragdrop/column-reorder-config.mjs +0 -5
- package/esm2022/dragdrop/column-reorder-event.mjs +0 -31
- package/esm2022/dragdrop/column-reorder.service.mjs +0 -20
- package/esm2022/dragdrop/common.mjs +0 -69
- package/esm2022/dragdrop/context-types.mjs +0 -5
- package/esm2022/dragdrop/drag-and-drop.service.mjs +0 -65
- package/esm2022/dragdrop/drag-hint.service.mjs +0 -137
- package/esm2022/dragdrop/draggable-column.directive.mjs +0 -141
- package/esm2022/dragdrop/drop-cue.service.mjs +0 -46
- package/esm2022/dragdrop/drop-target.directive.mjs +0 -71
- package/esm2022/editing/add-command-tool.directive.mjs +0 -60
- package/esm2022/editing/add-command.directive.mjs +0 -96
- package/esm2022/editing/add-event-args.interface.mjs +0 -5
- package/esm2022/editing/base-command.directive.mjs +0 -95
- package/esm2022/editing/cancel-command.directive.mjs +0 -97
- package/esm2022/editing/cancel-event-args.interface.mjs +0 -5
- package/esm2022/editing/cell-close-event.mjs +0 -34
- package/esm2022/editing/edit-command.directive.mjs +0 -96
- package/esm2022/editing/edit-event-args.interface.mjs +0 -5
- package/esm2022/editing/edit-template.directive.mjs +0 -45
- package/esm2022/editing/edit.service.mjs +0 -174
- package/esm2022/editing/remove-command.directive.mjs +0 -96
- package/esm2022/editing/remove-event-args.interface.mjs +0 -5
- package/esm2022/editing/save-command.directive.mjs +0 -96
- package/esm2022/editing/save-event-args.interface.mjs +0 -5
- package/esm2022/editing-directives/create-form-group-args.interface.mjs +0 -5
- package/esm2022/editing-directives/edit-service.interface.mjs +0 -5
- package/esm2022/editing-directives/editing-directive-base.mjs +0 -137
- package/esm2022/editing-directives/flat-edit.service.mjs +0 -52
- package/esm2022/editing-directives/hierarchy-edit.service.mjs +0 -48
- package/esm2022/editing-directives/in-cell-editing.directive.mjs +0 -89
- package/esm2022/editing-directives/local-edit.service.mjs +0 -28
- package/esm2022/editing-directives/reactive-editing.directive.mjs +0 -61
- package/esm2022/editing-directives/row-editing-directive-base.mjs +0 -39
- package/esm2022/editing-directives/template-editing.directive.mjs +0 -68
- package/esm2022/editing-directives/utils.mjs +0 -41
- package/esm2022/excel/excel-command-tool.directive.mjs +0 -64
- package/esm2022/excel/excel-command.directive.mjs +0 -97
- package/esm2022/excel/excel-export-data.interface.mjs +0 -5
- package/esm2022/excel/excel-export-event.mjs +0 -15
- package/esm2022/excel/excel.component.mjs +0 -277
- package/esm2022/excel/excel.module.mjs +0 -45
- package/esm2022/excel/excel.service.mjs +0 -34
- package/esm2022/expand-state/expand-event.mjs +0 -30
- package/esm2022/expand-state/expand-state.service.mjs +0 -38
- package/esm2022/expand-state/expandable-tree-component.mjs +0 -18
- package/esm2022/expand-state/expandable.directive.mjs +0 -119
- package/esm2022/filtering/base-filter-cell.component.mjs +0 -172
- package/esm2022/filtering/boolean-filter.component.mjs +0 -91
- package/esm2022/filtering/cell/autocomplete-filter-cell.component.mjs +0 -113
- package/esm2022/filtering/cell/boolean-filter-cell.component.mjs +0 -107
- package/esm2022/filtering/cell/date-filter-cell.component.mjs +0 -132
- package/esm2022/filtering/cell/filter-cell-component.factory.mjs +0 -19
- package/esm2022/filtering/cell/filter-cell-host.directive.mjs +0 -33
- package/esm2022/filtering/cell/filter-cell-operators.component.mjs +0 -235
- package/esm2022/filtering/cell/filter-cell-template.directive.mjs +0 -46
- package/esm2022/filtering/cell/filter-cell-wrapper.component.mjs +0 -74
- package/esm2022/filtering/cell/filter-cell.component.mjs +0 -91
- package/esm2022/filtering/cell/numeric-filter-cell.component.mjs +0 -143
- package/esm2022/filtering/cell/string-filter-cell.component.mjs +0 -115
- package/esm2022/filtering/date-filter.component.mjs +0 -176
- package/esm2022/filtering/filter-component.interface.mjs +0 -5
- package/esm2022/filtering/filter-host.directive.mjs +0 -56
- package/esm2022/filtering/filter-input-wrapper.component.mjs +0 -119
- package/esm2022/filtering/filter-input.directive.mjs +0 -114
- package/esm2022/filtering/filter-row.component.mjs +0 -79
- package/esm2022/filtering/filter.service.mjs +0 -42
- package/esm2022/filtering/filterable.mjs +0 -16
- package/esm2022/filtering/menu/boolean-filter-menu.component.mjs +0 -168
- package/esm2022/filtering/menu/date-filter-menu-input.component.mjs +0 -174
- package/esm2022/filtering/menu/date-filter-menu.component.mjs +0 -207
- package/esm2022/filtering/menu/filter-menu-component.factory.mjs +0 -19
- package/esm2022/filtering/menu/filter-menu-container.component.mjs +0 -299
- package/esm2022/filtering/menu/filter-menu-dropdownlist.directive.mjs +0 -44
- package/esm2022/filtering/menu/filter-menu-host.directive.mjs +0 -46
- package/esm2022/filtering/menu/filter-menu-input-wrapper.component.mjs +0 -136
- package/esm2022/filtering/menu/filter-menu-template.directive.mjs +0 -43
- package/esm2022/filtering/menu/filter-menu.component.mjs +0 -202
- package/esm2022/filtering/menu/filter-radio-button.directive.mjs +0 -34
- package/esm2022/filtering/menu/menu-tabbing.service.mjs +0 -22
- package/esm2022/filtering/menu/numeric-filter-menu-input.component.mjs +0 -152
- package/esm2022/filtering/menu/numeric-filter-menu.component.mjs +0 -224
- package/esm2022/filtering/menu/string-filter-menu-input.component.mjs +0 -105
- package/esm2022/filtering/menu/string-filter-menu.component.mjs +0 -183
- package/esm2022/filtering/numeric-filter.component.mjs +0 -144
- package/esm2022/filtering/operators/after-eq-filter-operator.component.mjs +0 -72
- package/esm2022/filtering/operators/after-filter-operator.component.mjs +0 -72
- package/esm2022/filtering/operators/before-eq-filter-operator.component.mjs +0 -72
- package/esm2022/filtering/operators/before-filter-operator.component.mjs +0 -72
- package/esm2022/filtering/operators/contains-filter-operator.component.mjs +0 -64
- package/esm2022/filtering/operators/ends-with-filter-operator.component.mjs +0 -64
- package/esm2022/filtering/operators/eq-filter-operator.component.mjs +0 -112
- package/esm2022/filtering/operators/filter-operator.base.mjs +0 -98
- package/esm2022/filtering/operators/gt-filter-operator.component.mjs +0 -63
- package/esm2022/filtering/operators/gte-filter-operator.component.mjs +0 -63
- package/esm2022/filtering/operators/is-empty-filter-operator.component.mjs +0 -64
- package/esm2022/filtering/operators/is-not-empty-filter-operator.component.mjs +0 -64
- package/esm2022/filtering/operators/is-not-null-filter-operator.component.mjs +0 -112
- package/esm2022/filtering/operators/isnull-filter-operator.component.mjs +0 -112
- package/esm2022/filtering/operators/lt-filter-operator.component.mjs +0 -63
- package/esm2022/filtering/operators/lte-filter-operator.component.mjs +0 -63
- package/esm2022/filtering/operators/neq-filter-operator.component.mjs +0 -112
- package/esm2022/filtering/operators/not-contains-filter-operator.component.mjs +0 -64
- package/esm2022/filtering/operators/starts-with-filter-operator.component.mjs +0 -64
- package/esm2022/filtering/string-filter.component.mjs +0 -89
- package/esm2022/index.mjs +0 -146
- package/esm2022/layout/browser-support.service.mjs +0 -85
- package/esm2022/layout/resizable.directive.mjs +0 -83
- package/esm2022/layout/resize.service.mjs +0 -29
- package/esm2022/layout/responsive.service.mjs +0 -34
- package/esm2022/layout/row-sync.mjs +0 -47
- package/esm2022/localization/custom-messages.component.mjs +0 -53
- package/esm2022/localization/localized-messages.directive.mjs +0 -39
- package/esm2022/localization/messages.mjs +0 -510
- package/esm2022/navigation/default-focusable-element.mjs +0 -47
- package/esm2022/navigation/focus-group.mjs +0 -105
- package/esm2022/navigation/focus-root.mjs +0 -50
- package/esm2022/navigation/focusable-element.interface.mjs +0 -5
- package/esm2022/navigation/focusable.directive.mjs +0 -174
- package/esm2022/navigation/item-map.mjs +0 -59
- package/esm2022/navigation/logical-cell.directive.mjs +0 -187
- package/esm2022/navigation/logical-cell.interface.mjs +0 -5
- package/esm2022/navigation/logical-row.directive.mjs +0 -135
- package/esm2022/navigation/logical-row.interface.mjs +0 -5
- package/esm2022/navigation/model-cell.mjs +0 -37
- package/esm2022/navigation/navigation-cell.interface.mjs +0 -5
- package/esm2022/navigation/navigation-change.interface.mjs +0 -5
- package/esm2022/navigation/navigation-cursor.mjs +0 -176
- package/esm2022/navigation/navigation-metadata.mjs +0 -31
- package/esm2022/navigation/navigation-mode.mjs +0 -5
- package/esm2022/navigation/navigation-model.mjs +0 -126
- package/esm2022/navigation/navigation-row.interface.mjs +0 -5
- package/esm2022/navigation/navigation.service.mjs +0 -695
- package/esm2022/navigation/treelist-focusable-element.mjs +0 -28
- package/esm2022/package-metadata.mjs +0 -16
- package/esm2022/pdf/export-element.mjs +0 -129
- package/esm2022/pdf/pdf-command-tool.directive.mjs +0 -68
- package/esm2022/pdf/pdf-command.directive.mjs +0 -101
- package/esm2022/pdf/pdf-export-event.mjs +0 -18
- package/esm2022/pdf/pdf-margin.component.mjs +0 -33
- package/esm2022/pdf/pdf-margin.interface.mjs +0 -5
- package/esm2022/pdf/pdf-template.directive.mjs +0 -45
- package/esm2022/pdf/pdf.component.mjs +0 -269
- package/esm2022/pdf/pdf.module.mjs +0 -48
- package/esm2022/pdf/pdf.service.mjs +0 -40
- package/esm2022/pdf/treelist-query.mjs +0 -45
- package/esm2022/progress-kendo-angular-treelist.mjs +0 -8
- package/esm2022/rendering/cell-template.directive.mjs +0 -49
- package/esm2022/rendering/cell.component.mjs +0 -383
- package/esm2022/rendering/common/col-group.component.mjs +0 -39
- package/esm2022/rendering/common/dom-queries.mjs +0 -158
- package/esm2022/rendering/common/field-accessor.pipe.mjs +0 -48
- package/esm2022/rendering/common/level-items.pipe.mjs +0 -30
- package/esm2022/rendering/common/loading.component.mjs +0 -42
- package/esm2022/rendering/common/row-class.mjs +0 -5
- package/esm2022/rendering/common/spacer.component.mjs +0 -61
- package/esm2022/rendering/constants.mjs +0 -28
- package/esm2022/rendering/footer-template.directive.mjs +0 -45
- package/esm2022/rendering/header/header-template.directive.mjs +0 -45
- package/esm2022/rendering/header/header.component.mjs +0 -978
- package/esm2022/rendering/header/select-all-checkbox.directive.mjs +0 -90
- package/esm2022/rendering/list.component.mjs +0 -850
- package/esm2022/rendering/no-records-template.directive.mjs +0 -40
- package/esm2022/rendering/table-body.component.mjs +0 -665
- package/esm2022/rendering/toolbar/toolbar-focusable.directive.mjs +0 -77
- package/esm2022/rendering/toolbar/toolbar-navigation.service.mjs +0 -54
- package/esm2022/rendering/toolbar/toolbar-template.directive.mjs +0 -58
- package/esm2022/rendering/toolbar/toolbar.component.mjs +0 -110
- package/esm2022/row-reordering/flat-reorder.service.mjs +0 -48
- package/esm2022/row-reordering/hierarchical-reorder.service.mjs +0 -55
- package/esm2022/row-reordering/row-reorder.service.mjs +0 -273
- package/esm2022/row-reordering/types.mjs +0 -5
- package/esm2022/row-reordering/utils.mjs +0 -128
- package/esm2022/scrolling/content-scroll-event.mjs +0 -5
- package/esm2022/scrolling/row-height.service.mjs +0 -30
- package/esm2022/scrolling/scroll-bottom-event.mjs +0 -5
- package/esm2022/scrolling/scroll-request.service.mjs +0 -21
- package/esm2022/scrolling/scroll-sync.service.mjs +0 -80
- package/esm2022/scrolling/scroller.service.mjs +0 -112
- package/esm2022/scrolling/scrollmode.mjs +0 -5
- package/esm2022/scrolling/suspend.service.mjs +0 -17
- package/esm2022/selection/is-selected.mjs +0 -5
- package/esm2022/selection/marquee.directive.mjs +0 -196
- package/esm2022/selection/selectable-settings.mjs +0 -5
- package/esm2022/selection/selectable.directive.mjs +0 -223
- package/esm2022/selection/selection-change-event.mjs +0 -28
- package/esm2022/selection/selection-state.mjs +0 -104
- package/esm2022/selection/selection.service.mjs +0 -264
- package/esm2022/treelist.component.mjs +0 -3111
- package/esm2022/treelist.module.mjs +0 -183
- package/esm2022/utils.mjs +0 -113
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Component, forwardRef, ContentChild, SkipSelf, Host, Optional, Input } from '@angular/core';
|
|
6
|
-
import { ColumnBase } from './column-base';
|
|
7
|
-
import { CellTemplateDirective } from '../rendering/cell-template.directive';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "./column-base";
|
|
10
|
-
/**
|
|
11
|
-
* Represents the checkbox column for selecting rows in the TreeList. [See example](slug:treelist_row_selection#toc-select-all-checkbox).
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* ```html
|
|
15
|
-
* <kendo-treelist ...>
|
|
16
|
-
* <kendo-treelist-checkbox-column
|
|
17
|
-
* [showSelectAll]="true"
|
|
18
|
-
* [checkChildren]="true"
|
|
19
|
-
* [expandable]="true">
|
|
20
|
-
* </kendo-treelist-checkbox-column>
|
|
21
|
-
* <kendo-treelist-column field="ProductName" title="Product Name"></kendo-treelist-column>
|
|
22
|
-
* </kendo-treelist>
|
|
23
|
-
* ```
|
|
24
|
-
*/
|
|
25
|
-
export class CheckboxColumnComponent extends ColumnBase {
|
|
26
|
-
parent;
|
|
27
|
-
/**
|
|
28
|
-
* Specifies if a select-all checkbox appears in the header.
|
|
29
|
-
*/
|
|
30
|
-
showSelectAll;
|
|
31
|
-
/**
|
|
32
|
-
* Specifies if clicking the checkbox selects or deselects all children.
|
|
33
|
-
*/
|
|
34
|
-
checkChildren;
|
|
35
|
-
/**
|
|
36
|
-
* Specifies if the expanded indicator appears in the column.
|
|
37
|
-
* @default false
|
|
38
|
-
*/
|
|
39
|
-
expandable;
|
|
40
|
-
/*
|
|
41
|
-
* @hidden
|
|
42
|
-
*/
|
|
43
|
-
isCheckboxColumn = true;
|
|
44
|
-
template;
|
|
45
|
-
constructor(parent) {
|
|
46
|
-
super(parent);
|
|
47
|
-
this.parent = parent;
|
|
48
|
-
}
|
|
49
|
-
get templateRef() {
|
|
50
|
-
return this.template ? this.template.templateRef : undefined;
|
|
51
|
-
}
|
|
52
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CheckboxColumnComponent, deps: [{ token: i1.ColumnBase, host: true, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
53
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CheckboxColumnComponent, isStandalone: true, selector: "kendo-treelist-checkbox-column", inputs: { showSelectAll: "showSelectAll", checkChildren: "checkChildren", expandable: "expandable" }, providers: [
|
|
54
|
-
{
|
|
55
|
-
provide: ColumnBase,
|
|
56
|
-
useExisting: forwardRef(() => CheckboxColumnComponent)
|
|
57
|
-
}
|
|
58
|
-
], queries: [{ propertyName: "template", first: true, predicate: CellTemplateDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
|
59
|
-
}
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CheckboxColumnComponent, decorators: [{
|
|
61
|
-
type: Component,
|
|
62
|
-
args: [{
|
|
63
|
-
providers: [
|
|
64
|
-
{
|
|
65
|
-
provide: ColumnBase,
|
|
66
|
-
useExisting: forwardRef(() => CheckboxColumnComponent)
|
|
67
|
-
}
|
|
68
|
-
],
|
|
69
|
-
selector: 'kendo-treelist-checkbox-column',
|
|
70
|
-
template: ``,
|
|
71
|
-
standalone: true
|
|
72
|
-
}]
|
|
73
|
-
}], ctorParameters: () => [{ type: i1.ColumnBase, decorators: [{
|
|
74
|
-
type: SkipSelf
|
|
75
|
-
}, {
|
|
76
|
-
type: Host
|
|
77
|
-
}, {
|
|
78
|
-
type: Optional
|
|
79
|
-
}] }], propDecorators: { showSelectAll: [{
|
|
80
|
-
type: Input
|
|
81
|
-
}], checkChildren: [{
|
|
82
|
-
type: Input
|
|
83
|
-
}], expandable: [{
|
|
84
|
-
type: Input
|
|
85
|
-
}], template: [{
|
|
86
|
-
type: ContentChild,
|
|
87
|
-
args: [CellTemplateDirective, { static: false }]
|
|
88
|
-
}] } });
|
|
@@ -1,319 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { ContentChild, ContentChildren, Directive, Input, QueryList } from '@angular/core';
|
|
6
|
-
import { ColumnMenuTemplateDirective } from '../column-menu/column-menu-template.directive';
|
|
7
|
-
import { OptionChangesService } from '../common/option-changes.service';
|
|
8
|
-
import { FooterTemplateDirective } from '../rendering/footer-template.directive';
|
|
9
|
-
import { HeaderTemplateDirective } from '../rendering/header/header-template.directive';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "../common/option-changes.service";
|
|
12
|
-
let columnId = 0;
|
|
13
|
-
/**
|
|
14
|
-
* @hidden
|
|
15
|
-
*/
|
|
16
|
-
export const isSpanColumn = column => column.isSpanColumn;
|
|
17
|
-
/**
|
|
18
|
-
* @hidden
|
|
19
|
-
*/
|
|
20
|
-
export const isCheckboxColumn = column => column.isCheckboxColumn;
|
|
21
|
-
/**
|
|
22
|
-
* @hidden
|
|
23
|
-
*/
|
|
24
|
-
export const isRowReorderColumn = column => column.isRowReorderColumn;
|
|
25
|
-
const isColumnContainer = column => column.isColumnGroup || isSpanColumn(column);
|
|
26
|
-
/**
|
|
27
|
-
* Serves as the base class for column components in the TreeList.
|
|
28
|
-
*/
|
|
29
|
-
export class ColumnBase {
|
|
30
|
-
parent;
|
|
31
|
-
optionChanges;
|
|
32
|
-
/**
|
|
33
|
-
* @hidden
|
|
34
|
-
*/
|
|
35
|
-
matchesMedia = true;
|
|
36
|
-
/**
|
|
37
|
-
* The column index after reordering.
|
|
38
|
-
* The orderIndex` is a read-only property. Setting this field does not affect column order.
|
|
39
|
-
* @default 0
|
|
40
|
-
*/
|
|
41
|
-
orderIndex = 0;
|
|
42
|
-
/**
|
|
43
|
-
* @hidden
|
|
44
|
-
*/
|
|
45
|
-
set leafIndex(value) {
|
|
46
|
-
this._leafIndex = value;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* @hidden
|
|
50
|
-
*/
|
|
51
|
-
get leafIndex() {
|
|
52
|
-
return this._leafIndex;
|
|
53
|
-
}
|
|
54
|
-
_leafIndex;
|
|
55
|
-
/**
|
|
56
|
-
* @hidden
|
|
57
|
-
*/
|
|
58
|
-
isColumnGroup = false;
|
|
59
|
-
/**
|
|
60
|
-
* @hidden
|
|
61
|
-
*/
|
|
62
|
-
isSpanColumn = false;
|
|
63
|
-
/**
|
|
64
|
-
* @hidden
|
|
65
|
-
*/
|
|
66
|
-
get id() {
|
|
67
|
-
return this._id;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Indicates whether the column is resizable.
|
|
71
|
-
* @default true
|
|
72
|
-
*/
|
|
73
|
-
resizable = true;
|
|
74
|
-
/**
|
|
75
|
-
* Indicates whether the column is reorderable.
|
|
76
|
-
* @default true
|
|
77
|
-
*/
|
|
78
|
-
reorderable = true;
|
|
79
|
-
/**
|
|
80
|
-
* Sets the minimum width (in pixels) for resizing the column using the UI.
|
|
81
|
-
* @default 10
|
|
82
|
-
*/
|
|
83
|
-
minResizableWidth = 10;
|
|
84
|
-
/**
|
|
85
|
-
* Sets the title of the column.
|
|
86
|
-
*/
|
|
87
|
-
title;
|
|
88
|
-
/**
|
|
89
|
-
* Sets the width of the column (in pixels).
|
|
90
|
-
*/
|
|
91
|
-
set width(value) {
|
|
92
|
-
this._width = parseInt(value, 10);
|
|
93
|
-
}
|
|
94
|
-
get width() { return this._width; }
|
|
95
|
-
/**
|
|
96
|
-
* Indicates whether the column is automatically resized during initialization to fit its header and row content.
|
|
97
|
-
*/
|
|
98
|
-
autoSize;
|
|
99
|
-
/**
|
|
100
|
-
* Toggles the locked (frozen) state of the columns ([more information and example](slug:locked_columns_treelist)).
|
|
101
|
-
* @default false
|
|
102
|
-
*/
|
|
103
|
-
set locked(value) {
|
|
104
|
-
this._locked = value;
|
|
105
|
-
}
|
|
106
|
-
get locked() {
|
|
107
|
-
return this._locked;
|
|
108
|
-
}
|
|
109
|
-
_locked = false;
|
|
110
|
-
/**
|
|
111
|
-
* Sets the visibility of the column ([see example](slug:hidden_columns_treelist#toc-using-the-built-in-options)).
|
|
112
|
-
* @default false
|
|
113
|
-
*/
|
|
114
|
-
hidden;
|
|
115
|
-
/**
|
|
116
|
-
* Sets the condition that must be satisfied for a column to remain visible ([see example](slug:responsive_treelist#toc-columns)).
|
|
117
|
-
* If you set the `hidden` property, the behavior of `media` is overridden.
|
|
118
|
-
*/
|
|
119
|
-
media;
|
|
120
|
-
/**
|
|
121
|
-
* Specifies if the column can be locked or unlocked from the column menu or by reordering the columns.
|
|
122
|
-
* @default true
|
|
123
|
-
*/
|
|
124
|
-
lockable = true;
|
|
125
|
-
/**
|
|
126
|
-
* Specifies if the column menu is shown for the column.
|
|
127
|
-
* @default true
|
|
128
|
-
*/
|
|
129
|
-
columnMenu = true;
|
|
130
|
-
/**
|
|
131
|
-
* Specifies if the column is included in the column-chooser list.
|
|
132
|
-
* @default true
|
|
133
|
-
*/
|
|
134
|
-
includeInChooser = true;
|
|
135
|
-
/**
|
|
136
|
-
* Sets the `role` attribute for the table cells (excluding the footer and header) of the column.
|
|
137
|
-
* @default "gridcell"
|
|
138
|
-
*/
|
|
139
|
-
tableCellsRole = 'gridcell';
|
|
140
|
-
/**
|
|
141
|
-
* Sets custom styles for the table cells (excluding the footer and header) of the column. Uses the [`NgStyle`](link:site.data.urls.angular['ngstyleapi']) directive. [See example](slug:styling_treelist_columns).
|
|
142
|
-
*/
|
|
143
|
-
style;
|
|
144
|
-
/**
|
|
145
|
-
* Sets custom styles for the header cell of the column. Uses the [`NgStyle`](link:site.data.urls.angular['ngstyleapi']) directive. [See example.](slug:styling_treelist_columns)
|
|
146
|
-
*/
|
|
147
|
-
headerStyle;
|
|
148
|
-
/**
|
|
149
|
-
* Sets custom styles for the footer cell of the column. Uses the [`NgStyle`](link:site.data.urls.angular['ngstyleapi']) directive. [See example.](slug:styling_treelist_columns)
|
|
150
|
-
*/
|
|
151
|
-
footerStyle;
|
|
152
|
-
/**
|
|
153
|
-
* Sets custom CSS classes to the column cells. Uses the [`NgClass`](link:site.data.urls.angular['ngclassapi']) directive. To customize header and footer column cells, use the [`headerClass`]({% slug api_treelist_columncomponent %}#toc-headerclass) and [`footerClass`]({% slug api_treelist_columncomponent %}#toc-footerclass) inputs.
|
|
154
|
-
*/
|
|
155
|
-
cssClass;
|
|
156
|
-
/**
|
|
157
|
-
* Sets custom CSS classes to the column header cell. Uses the [`NgClass`](link:site.data.urls.angular['ngclassapi']) directive. [See example](slug:styling_treelist_columns).
|
|
158
|
-
*/
|
|
159
|
-
headerClass;
|
|
160
|
-
/**
|
|
161
|
-
* Sets the custom CSS classes to the column footer cell. Under the hood, to apply the property,
|
|
162
|
-
* the `footerClass` option uses the
|
|
163
|
-
* [`NgClass`](link:site.data.urls.angular['ngclassapi']) directive. [See example](slug:styling_treelist_columns).
|
|
164
|
-
*/
|
|
165
|
-
footerClass;
|
|
166
|
-
/**
|
|
167
|
-
* @hidden
|
|
168
|
-
*/
|
|
169
|
-
headerTemplates = new QueryList();
|
|
170
|
-
/**
|
|
171
|
-
* @hidden
|
|
172
|
-
*/
|
|
173
|
-
footerTemplate;
|
|
174
|
-
/**
|
|
175
|
-
* @hidden
|
|
176
|
-
*/
|
|
177
|
-
columnMenuTemplates = new QueryList();
|
|
178
|
-
/**
|
|
179
|
-
* @hidden
|
|
180
|
-
*/
|
|
181
|
-
resizeStartWidth;
|
|
182
|
-
/**
|
|
183
|
-
* @hidden
|
|
184
|
-
*/
|
|
185
|
-
get level() {
|
|
186
|
-
if (this.parent && isSpanColumn(this.parent)) {
|
|
187
|
-
return this.parent.level;
|
|
188
|
-
}
|
|
189
|
-
return this.parent ? this.parent.level + 1 : 0;
|
|
190
|
-
}
|
|
191
|
-
/**
|
|
192
|
-
* @hidden
|
|
193
|
-
*/
|
|
194
|
-
get isLocked() {
|
|
195
|
-
return this.parent ? this.parent.isLocked : this.locked;
|
|
196
|
-
}
|
|
197
|
-
_width;
|
|
198
|
-
/**
|
|
199
|
-
* @hidden
|
|
200
|
-
*/
|
|
201
|
-
get colspan() {
|
|
202
|
-
return 1;
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* @hidden
|
|
206
|
-
*/
|
|
207
|
-
rowspan(totalColumnLevels) {
|
|
208
|
-
return this.level < totalColumnLevels ? (totalColumnLevels - this.level) + 1 : 1;
|
|
209
|
-
}
|
|
210
|
-
/**
|
|
211
|
-
* @hidden
|
|
212
|
-
*/
|
|
213
|
-
get headerTemplateRef() {
|
|
214
|
-
const template = this.headerTemplates.first;
|
|
215
|
-
return template ? template.templateRef : undefined;
|
|
216
|
-
}
|
|
217
|
-
/**
|
|
218
|
-
* @hidden
|
|
219
|
-
*/
|
|
220
|
-
get footerTemplateRef() {
|
|
221
|
-
return this.footerTemplate ? this.footerTemplate.templateRef : undefined;
|
|
222
|
-
}
|
|
223
|
-
/**
|
|
224
|
-
* @hidden
|
|
225
|
-
*/
|
|
226
|
-
get columnMenuTemplateRef() {
|
|
227
|
-
const template = this.columnMenuTemplates.first;
|
|
228
|
-
return template ? template.templateRef : null;
|
|
229
|
-
}
|
|
230
|
-
/**
|
|
231
|
-
* @hidden
|
|
232
|
-
*/
|
|
233
|
-
get displayTitle() {
|
|
234
|
-
return this.title;
|
|
235
|
-
}
|
|
236
|
-
/**
|
|
237
|
-
* @hidden
|
|
238
|
-
*/
|
|
239
|
-
get isVisible() {
|
|
240
|
-
return !this.hidden && this.matchesMedia;
|
|
241
|
-
}
|
|
242
|
-
/**
|
|
243
|
-
* @hidden
|
|
244
|
-
*/
|
|
245
|
-
get isEditable() {
|
|
246
|
-
return false;
|
|
247
|
-
}
|
|
248
|
-
_id;
|
|
249
|
-
/**
|
|
250
|
-
* @hidden
|
|
251
|
-
*/
|
|
252
|
-
constructor(parent, optionChanges) {
|
|
253
|
-
this.parent = parent;
|
|
254
|
-
this.optionChanges = optionChanges;
|
|
255
|
-
if (parent && !isColumnContainer(parent)) {
|
|
256
|
-
throw new Error('Columns can be nested only inside ColumnGroupComponent');
|
|
257
|
-
}
|
|
258
|
-
this._id = `k-grid-column-${columnId++}`;
|
|
259
|
-
}
|
|
260
|
-
ngOnChanges(_changes) {
|
|
261
|
-
if (this.optionChanges) {
|
|
262
|
-
this.optionChanges.columnChanged();
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ColumnBase, deps: [{ token: ColumnBase }, { token: i1.OptionChangesService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
266
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: ColumnBase, inputs: { resizable: "resizable", reorderable: "reorderable", minResizableWidth: "minResizableWidth", title: "title", width: "width", autoSize: "autoSize", locked: "locked", hidden: "hidden", media: "media", lockable: "lockable", columnMenu: "columnMenu", includeInChooser: "includeInChooser", tableCellsRole: "tableCellsRole", style: "style", headerStyle: "headerStyle", footerStyle: "footerStyle", cssClass: ["class", "cssClass"], headerClass: "headerClass", footerClass: "footerClass" }, queries: [{ propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }, { propertyName: "headerTemplates", predicate: HeaderTemplateDirective }, { propertyName: "columnMenuTemplates", predicate: ColumnMenuTemplateDirective }], usesOnChanges: true, ngImport: i0 });
|
|
267
|
-
}
|
|
268
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ColumnBase, decorators: [{
|
|
269
|
-
type: Directive,
|
|
270
|
-
args: [{}]
|
|
271
|
-
}], ctorParameters: () => [{ type: ColumnBase }, { type: i1.OptionChangesService }], propDecorators: { resizable: [{
|
|
272
|
-
type: Input
|
|
273
|
-
}], reorderable: [{
|
|
274
|
-
type: Input
|
|
275
|
-
}], minResizableWidth: [{
|
|
276
|
-
type: Input
|
|
277
|
-
}], title: [{
|
|
278
|
-
type: Input
|
|
279
|
-
}], width: [{
|
|
280
|
-
type: Input
|
|
281
|
-
}], autoSize: [{
|
|
282
|
-
type: Input
|
|
283
|
-
}], locked: [{
|
|
284
|
-
type: Input
|
|
285
|
-
}], hidden: [{
|
|
286
|
-
type: Input
|
|
287
|
-
}], media: [{
|
|
288
|
-
type: Input
|
|
289
|
-
}], lockable: [{
|
|
290
|
-
type: Input
|
|
291
|
-
}], columnMenu: [{
|
|
292
|
-
type: Input
|
|
293
|
-
}], includeInChooser: [{
|
|
294
|
-
type: Input
|
|
295
|
-
}], tableCellsRole: [{
|
|
296
|
-
type: Input
|
|
297
|
-
}], style: [{
|
|
298
|
-
type: Input
|
|
299
|
-
}], headerStyle: [{
|
|
300
|
-
type: Input
|
|
301
|
-
}], footerStyle: [{
|
|
302
|
-
type: Input
|
|
303
|
-
}], cssClass: [{
|
|
304
|
-
type: Input,
|
|
305
|
-
args: ['class']
|
|
306
|
-
}], headerClass: [{
|
|
307
|
-
type: Input
|
|
308
|
-
}], footerClass: [{
|
|
309
|
-
type: Input
|
|
310
|
-
}], headerTemplates: [{
|
|
311
|
-
type: ContentChildren,
|
|
312
|
-
args: [HeaderTemplateDirective, { descendants: false }]
|
|
313
|
-
}], footerTemplate: [{
|
|
314
|
-
type: ContentChild,
|
|
315
|
-
args: [FooterTemplateDirective, { static: false }]
|
|
316
|
-
}], columnMenuTemplates: [{
|
|
317
|
-
type: ContentChildren,
|
|
318
|
-
args: [ColumnMenuTemplateDirective]
|
|
319
|
-
}] } });
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { isSpanColumnComponent } from "./span-column.component";
|
|
6
|
-
import { isNullOrEmptyString, isTruthy } from "../utils";
|
|
7
|
-
import { orderBy } from '@progress/kendo-data-query';
|
|
8
|
-
/**
|
|
9
|
-
* @hidden
|
|
10
|
-
*/
|
|
11
|
-
export const expandColumns = (columns) => (columns.reduce((acc, column) => acc.concat(isSpanColumnComponent(column) ? column.childrenArray : [column]), []));
|
|
12
|
-
/**
|
|
13
|
-
* @hidden
|
|
14
|
-
*/
|
|
15
|
-
export const expandColumnsWithSpan = (columns) => (columns.reduce((acc, column) => acc.concat(isSpanColumnComponent(column) ?
|
|
16
|
-
[column].concat(column.childrenArray) :
|
|
17
|
-
[column]), []));
|
|
18
|
-
/**
|
|
19
|
-
* @hidden
|
|
20
|
-
*/
|
|
21
|
-
export const columnsToRender = (columns) => (expandColumns(columns).filter(x => x.isVisible));
|
|
22
|
-
const sumProp = (prop) => (array) => (array || []).reduce((prev, curr) => prev + (curr[prop] || 0), 0);
|
|
23
|
-
/**
|
|
24
|
-
* @hidden
|
|
25
|
-
*/
|
|
26
|
-
export const sumColumnWidths = sumProp('width');
|
|
27
|
-
/**
|
|
28
|
-
* @hidden
|
|
29
|
-
*/
|
|
30
|
-
export const columnsSpan = sumProp('colspan');
|
|
31
|
-
const validField = new RegExp(`^[$A-Z\_a-z][$A-Z\_a-z0-9\\.]*$`);
|
|
32
|
-
/**
|
|
33
|
-
* @hidden
|
|
34
|
-
*/
|
|
35
|
-
export const isValidFieldName = (fieldName) => !isNullOrEmptyString(fieldName) && validField.test(fieldName) &&
|
|
36
|
-
fieldName[0] !== "." && fieldName[fieldName.length - 1] !== ".";
|
|
37
|
-
/**
|
|
38
|
-
* @hidden
|
|
39
|
-
*/
|
|
40
|
-
export const children = column => column.children.filter(child => child !== column);
|
|
41
|
-
/**
|
|
42
|
-
* @hidden
|
|
43
|
-
*/
|
|
44
|
-
export const leafColumns = columns => {
|
|
45
|
-
return columns.reduce((acc, column) => {
|
|
46
|
-
if (column.isColumnGroup) {
|
|
47
|
-
acc = acc.concat(leafColumns(children(column)));
|
|
48
|
-
}
|
|
49
|
-
else if (column.isSpanColumn) {
|
|
50
|
-
acc = acc.concat(column.childrenArray);
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
acc.push(column);
|
|
54
|
-
}
|
|
55
|
-
return acc;
|
|
56
|
-
}, []).filter(x => x.isVisible);
|
|
57
|
-
};
|
|
58
|
-
/**
|
|
59
|
-
* @hidden
|
|
60
|
-
*/
|
|
61
|
-
export const someLeafColumn = (callback, ...columns) => leafColumns(columns).some(callback);
|
|
62
|
-
/**
|
|
63
|
-
* @hidden
|
|
64
|
-
*/
|
|
65
|
-
export const resizableColumns = columns => columns.filter(column => isTruthy(column.resizable) && column.isVisible);
|
|
66
|
-
/**
|
|
67
|
-
* @hidden
|
|
68
|
-
*/
|
|
69
|
-
export const sortColumns = (columns) => orderBy(columns, [{ field: 'orderIndex', dir: 'asc' }]);
|
|
70
|
-
/**
|
|
71
|
-
* @hidden
|
|
72
|
-
*/
|
|
73
|
-
export const isInSpanColumn = (column) => isTruthy(column.parent) && isSpanColumnComponent(column.parent);
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Component, forwardRef, SkipSelf, Host, Optional, QueryList, ContentChildren } from '@angular/core';
|
|
6
|
-
import { ColumnBase } from './column-base';
|
|
7
|
-
import { columnsSpan } from './column-common';
|
|
8
|
-
import { OptionChangesService } from '../common/option-changes.service';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "./column-base";
|
|
11
|
-
import * as i2 from "../common/option-changes.service";
|
|
12
|
-
/**
|
|
13
|
-
* @hidden
|
|
14
|
-
*/
|
|
15
|
-
export function isColumnGroupComponent(column) {
|
|
16
|
-
return column.isColumnGroup;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Represents the column group header of the TreeList. ([More information and examples]({% slug multicolumnheaders_columns_treelist %})).
|
|
20
|
-
*
|
|
21
|
-
* @example
|
|
22
|
-
* ```html
|
|
23
|
-
* <kendo-treelist ...>
|
|
24
|
-
* <kendo-treelist-column-group title="File Info">
|
|
25
|
-
* <kendo-treelist-column field="type" title="Type"> </kendo-treelist-column>
|
|
26
|
-
* <kendo-treelist-column field="size" title="Size"> </kendo-treelist-column>
|
|
27
|
-
* </kendo-treelist-column-group>
|
|
28
|
-
* </kendo-treelist>
|
|
29
|
-
* ```
|
|
30
|
-
*/
|
|
31
|
-
export class ColumnGroupComponent extends ColumnBase {
|
|
32
|
-
/**
|
|
33
|
-
* @hidden
|
|
34
|
-
*/
|
|
35
|
-
includeInChooser = false;
|
|
36
|
-
/**
|
|
37
|
-
* @hidden
|
|
38
|
-
*/
|
|
39
|
-
isColumnGroup = true;
|
|
40
|
-
/**
|
|
41
|
-
* @hidden
|
|
42
|
-
*/
|
|
43
|
-
minResizableWidth = 10;
|
|
44
|
-
/**
|
|
45
|
-
* @hidden
|
|
46
|
-
*/
|
|
47
|
-
children;
|
|
48
|
-
constructor(parent, optionChanges) {
|
|
49
|
-
super(parent, optionChanges);
|
|
50
|
-
if (parent && parent.isSpanColumn) {
|
|
51
|
-
throw new Error('ColumnGroupComponent cannot be nested inside SpanColumnComponent');
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* @hidden
|
|
56
|
-
*/
|
|
57
|
-
rowspan() {
|
|
58
|
-
return 1;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* @hidden
|
|
62
|
-
*/
|
|
63
|
-
get colspan() {
|
|
64
|
-
if (!this.children) {
|
|
65
|
-
return 1;
|
|
66
|
-
}
|
|
67
|
-
return columnsSpan(this.children
|
|
68
|
-
.filter(child => child !== this && child.isVisible));
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* @hidden
|
|
72
|
-
*/
|
|
73
|
-
get leafIndex() {
|
|
74
|
-
return this.children ? (this.firstChild || {}).leafIndex : -1;
|
|
75
|
-
}
|
|
76
|
-
get childrenArray() {
|
|
77
|
-
return this.children.filter(c => c !== this);
|
|
78
|
-
}
|
|
79
|
-
get hasChildren() {
|
|
80
|
-
return Boolean(this.firstChild);
|
|
81
|
-
}
|
|
82
|
-
get firstChild() {
|
|
83
|
-
return this.children.find(column => column !== this);
|
|
84
|
-
}
|
|
85
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ColumnGroupComponent, deps: [{ token: i1.ColumnBase, host: true, optional: true, skipSelf: true }, { token: i2.OptionChangesService }], target: i0.ɵɵFactoryTarget.Component });
|
|
86
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ColumnGroupComponent, isStandalone: true, selector: "kendo-treelist-column-group", providers: [
|
|
87
|
-
{
|
|
88
|
-
provide: ColumnBase,
|
|
89
|
-
useExisting: forwardRef(() => ColumnGroupComponent)
|
|
90
|
-
}
|
|
91
|
-
], queries: [{ propertyName: "children", predicate: ColumnBase }], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
|
92
|
-
}
|
|
93
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ColumnGroupComponent, decorators: [{
|
|
94
|
-
type: Component,
|
|
95
|
-
args: [{
|
|
96
|
-
providers: [
|
|
97
|
-
{
|
|
98
|
-
provide: ColumnBase,
|
|
99
|
-
useExisting: forwardRef(() => ColumnGroupComponent)
|
|
100
|
-
}
|
|
101
|
-
],
|
|
102
|
-
selector: 'kendo-treelist-column-group',
|
|
103
|
-
template: ``,
|
|
104
|
-
standalone: true
|
|
105
|
-
}]
|
|
106
|
-
}], ctorParameters: () => [{ type: i1.ColumnBase, decorators: [{
|
|
107
|
-
type: SkipSelf
|
|
108
|
-
}, {
|
|
109
|
-
type: Host
|
|
110
|
-
}, {
|
|
111
|
-
type: Optional
|
|
112
|
-
}] }, { type: i2.OptionChangesService }], propDecorators: { children: [{
|
|
113
|
-
type: ContentChildren,
|
|
114
|
-
args: [ColumnBase]
|
|
115
|
-
}] } });
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { QueryList } from '@angular/core';
|
|
6
|
-
import { sortColumns } from './column-common';
|
|
7
|
-
const forEachColumn = (list, callback) => {
|
|
8
|
-
list.forEach((column) => {
|
|
9
|
-
callback(column);
|
|
10
|
-
if (column.isColumnGroup && column.hasChildren) {
|
|
11
|
-
forEachColumn(column.childrenArray, callback);
|
|
12
|
-
}
|
|
13
|
-
});
|
|
14
|
-
};
|
|
15
|
-
const forEachLevel = (list, callback) => {
|
|
16
|
-
sortColumns(list)
|
|
17
|
-
.forEach((column) => {
|
|
18
|
-
callback(column);
|
|
19
|
-
if (column.isColumnGroup && column.hasChildren) {
|
|
20
|
-
forEachLevel(column.childrenArray, callback);
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
};
|
|
24
|
-
const filterHierarchy = (list, predicate) => {
|
|
25
|
-
const result = [];
|
|
26
|
-
sortColumns(list)
|
|
27
|
-
.forEach((column) => {
|
|
28
|
-
if (predicate(column)) {
|
|
29
|
-
if (column.isColumnGroup) {
|
|
30
|
-
const children = filterHierarchy(column.childrenArray, predicate);
|
|
31
|
-
if (children.length) {
|
|
32
|
-
result.push(column, ...children);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
else if (!column.isSpanColumn || filterHierarchy(column.childrenArray, predicate).length) {
|
|
36
|
-
result.push(column);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
return result.sort((a, b) => Number(b.locked) - Number(a.locked));
|
|
41
|
-
};
|
|
42
|
-
/**
|
|
43
|
-
* @hidden
|
|
44
|
-
*/
|
|
45
|
-
export class ColumnList {
|
|
46
|
-
columns;
|
|
47
|
-
static empty() {
|
|
48
|
-
return new ColumnList(new QueryList());
|
|
49
|
-
}
|
|
50
|
-
constructor(columns) {
|
|
51
|
-
this.columns = columns;
|
|
52
|
-
}
|
|
53
|
-
forEach(callback) {
|
|
54
|
-
forEachColumn(this.columns, callback);
|
|
55
|
-
}
|
|
56
|
-
filter(callback) {
|
|
57
|
-
const result = [];
|
|
58
|
-
forEachColumn(this.columns, (column) => {
|
|
59
|
-
if (callback(column)) {
|
|
60
|
-
result.push(column);
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
return result;
|
|
64
|
-
}
|
|
65
|
-
filterHierarchy(predicate) {
|
|
66
|
-
return filterHierarchy(this.columns.toArray(), predicate);
|
|
67
|
-
}
|
|
68
|
-
filterSort(callback) {
|
|
69
|
-
const result = [];
|
|
70
|
-
forEachLevel(this.columns.toArray(), (column) => {
|
|
71
|
-
if (callback(column)) {
|
|
72
|
-
result.push(column);
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
return result;
|
|
76
|
-
}
|
|
77
|
-
toArray() {
|
|
78
|
-
const result = [];
|
|
79
|
-
forEachColumn(this.columns, (column) => {
|
|
80
|
-
result.push(column);
|
|
81
|
-
});
|
|
82
|
-
return result;
|
|
83
|
-
}
|
|
84
|
-
rootColumns() {
|
|
85
|
-
return this.columns.toArray();
|
|
86
|
-
}
|
|
87
|
-
totalColumnLevels() {
|
|
88
|
-
let totalLevels = 0;
|
|
89
|
-
this.forEach(column => {
|
|
90
|
-
totalLevels = Math.max(column.level, totalLevels);
|
|
91
|
-
});
|
|
92
|
-
return totalLevels;
|
|
93
|
-
}
|
|
94
|
-
}
|