@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,28 +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
|
-
/**
|
|
6
|
-
* @hidden
|
|
7
|
-
*/
|
|
8
|
-
export class TreeListFocusableElement {
|
|
9
|
-
navigationService;
|
|
10
|
-
constructor(navigationService) {
|
|
11
|
-
this.navigationService = navigationService;
|
|
12
|
-
}
|
|
13
|
-
focus() {
|
|
14
|
-
this.navigationService.focusCell();
|
|
15
|
-
}
|
|
16
|
-
toggle(active) {
|
|
17
|
-
this.navigationService.toggle(active);
|
|
18
|
-
}
|
|
19
|
-
canFocus() {
|
|
20
|
-
return true;
|
|
21
|
-
}
|
|
22
|
-
hasFocus() {
|
|
23
|
-
return this.navigationService.hasFocus();
|
|
24
|
-
}
|
|
25
|
-
isNavigable() {
|
|
26
|
-
return false;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
@@ -1,16 +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
|
-
/**
|
|
6
|
-
* @hidden
|
|
7
|
-
*/
|
|
8
|
-
export const packageMetadata = {
|
|
9
|
-
name: '@progress/kendo-angular-treelist',
|
|
10
|
-
productName: 'Kendo UI for Angular',
|
|
11
|
-
productCode: 'KENDOUIANGULAR',
|
|
12
|
-
productCodes: ['KENDOUIANGULAR'],
|
|
13
|
-
publishDate: 1768386532,
|
|
14
|
-
version: '21.4.1-develop.1',
|
|
15
|
-
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
16
|
-
};
|
|
@@ -1,129 +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 { isDocumentAvailable } from '@progress/kendo-angular-common';
|
|
6
|
-
import { TreeListQuery } from './treelist-query';
|
|
7
|
-
const FIRST_CLASS = 'k-first';
|
|
8
|
-
const INPUTS = ['input', 'select', 'textarea', 'option'];
|
|
9
|
-
/** @hidden */
|
|
10
|
-
export const cloneNode = (node) => {
|
|
11
|
-
const clone = node.cloneNode(false);
|
|
12
|
-
if (node._kendoExportVisual) {
|
|
13
|
-
clone._kendoExportVisual = node._kendoExportVisual;
|
|
14
|
-
}
|
|
15
|
-
if (INPUTS.indexOf(String(node.nodeName).toLowerCase()) >= 0) {
|
|
16
|
-
clone.removeAttribute("id");
|
|
17
|
-
clone.removeAttribute("name");
|
|
18
|
-
clone.value = node.value;
|
|
19
|
-
clone.checked = node.checked;
|
|
20
|
-
clone.selected = node.selected;
|
|
21
|
-
}
|
|
22
|
-
let child = node.firstChild;
|
|
23
|
-
while (child) {
|
|
24
|
-
clone.appendChild(cloneNode(child));
|
|
25
|
-
child = child.nextSibling;
|
|
26
|
-
}
|
|
27
|
-
return clone;
|
|
28
|
-
};
|
|
29
|
-
const appendNodes = (element, nodes) => {
|
|
30
|
-
const length = nodes.length;
|
|
31
|
-
for (let idx = 0; idx < length; idx++) {
|
|
32
|
-
element.appendChild(cloneNode(nodes[idx]));
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
const wrapTable = (table) => {
|
|
36
|
-
if (!isDocumentAvailable()) {
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
const wrapper = document.createElement('div');
|
|
40
|
-
wrapper.className = 'k-grid k-grid-md';
|
|
41
|
-
wrapper.appendChild(table);
|
|
42
|
-
return wrapper;
|
|
43
|
-
};
|
|
44
|
-
const createTableElement = (sources) => {
|
|
45
|
-
const sourceCount = sources.length;
|
|
46
|
-
const element = cloneNode(sources[0]);
|
|
47
|
-
const rowsCount = element.rows.length;
|
|
48
|
-
if (sourceCount > 1) {
|
|
49
|
-
for (let rowIdx = 0; rowIdx < rowsCount; rowIdx++) {
|
|
50
|
-
for (let sourceIdx = 1; sourceIdx < sourceCount; sourceIdx++) {
|
|
51
|
-
appendNodes(element.rows[rowIdx], sources[sourceIdx].rows[rowIdx].cells);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return element;
|
|
56
|
-
};
|
|
57
|
-
const setFirstCellClass = (header, headers) => {
|
|
58
|
-
if (headers.length > 1 && header.rows.length > 1) {
|
|
59
|
-
for (let idx = 1; idx < header.rows.length; idx++) {
|
|
60
|
-
const firstCellIndex = headers[0].rows[idx].cells.length;
|
|
61
|
-
const cell = header.rows[idx].cells[firstCellIndex];
|
|
62
|
-
if (String(cell.className).indexOf(FIRST_CLASS) === -1) {
|
|
63
|
-
cell.className += ` ${FIRST_CLASS}`;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
const createTable = (colGroups, headers, bodies, footers) => {
|
|
69
|
-
const table = document.createElement('table');
|
|
70
|
-
table.classList.add('k-table', 'k-table-md');
|
|
71
|
-
const colGroup = colGroups[0].cloneNode(true);
|
|
72
|
-
for (let idx = 1; idx < colGroups.length; idx++) {
|
|
73
|
-
appendNodes(colGroup, colGroups[idx].querySelectorAll('col'));
|
|
74
|
-
}
|
|
75
|
-
const body = createTableElement(bodies);
|
|
76
|
-
let header;
|
|
77
|
-
if (headers.length > 0) {
|
|
78
|
-
header = createTableElement(headers);
|
|
79
|
-
setFirstCellClass(header, headers);
|
|
80
|
-
}
|
|
81
|
-
table.appendChild(colGroup);
|
|
82
|
-
if (header) {
|
|
83
|
-
table.appendChild(header);
|
|
84
|
-
}
|
|
85
|
-
table.appendChild(body);
|
|
86
|
-
if (footers.length) {
|
|
87
|
-
const footer = createTableElement(footers);
|
|
88
|
-
table.appendChild(footer);
|
|
89
|
-
}
|
|
90
|
-
return wrapTable(table);
|
|
91
|
-
};
|
|
92
|
-
/**
|
|
93
|
-
* @hidden
|
|
94
|
-
*/
|
|
95
|
-
export const exportElement = (wrapper) => {
|
|
96
|
-
const query = new TreeListQuery(wrapper);
|
|
97
|
-
const content = query.content();
|
|
98
|
-
let result;
|
|
99
|
-
if (content) {
|
|
100
|
-
const colGroups = [content.querySelector('colgroup')];
|
|
101
|
-
const bodies = [content.querySelector('tbody')];
|
|
102
|
-
const header = query.header();
|
|
103
|
-
const footer = query.footer();
|
|
104
|
-
const headers = [];
|
|
105
|
-
const footers = [];
|
|
106
|
-
if (header) {
|
|
107
|
-
headers.push(header.querySelector('thead'));
|
|
108
|
-
}
|
|
109
|
-
if (footer) {
|
|
110
|
-
footers.push(footer.querySelector('tfoot'));
|
|
111
|
-
}
|
|
112
|
-
const lockedContent = query.content(true);
|
|
113
|
-
if (lockedContent) {
|
|
114
|
-
if (headers.length > 0) {
|
|
115
|
-
headers.unshift(query.header(true).querySelector('thead'));
|
|
116
|
-
}
|
|
117
|
-
colGroups.unshift(lockedContent.querySelector('colgroup'));
|
|
118
|
-
bodies.unshift(lockedContent.querySelector('tbody'));
|
|
119
|
-
if (footer) {
|
|
120
|
-
footers.unshift(query.footer(true).querySelector('tfoot'));
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
result = createTable(colGroups, headers, bodies, footers);
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
result = wrapTable(query.table().cloneNode(true));
|
|
127
|
-
}
|
|
128
|
-
return result;
|
|
129
|
-
};
|
|
@@ -1,68 +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 { Directive } from '@angular/core';
|
|
6
|
-
import { PDFService } from './pdf.service';
|
|
7
|
-
import { ToolBarButtonComponent } from '@progress/kendo-angular-toolbar';
|
|
8
|
-
import { Subscription } from 'rxjs';
|
|
9
|
-
import { filePdfIcon } from '@progress/kendo-svg-icons';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "./pdf.service";
|
|
12
|
-
import * as i2 from "@progress/kendo-angular-toolbar";
|
|
13
|
-
/**
|
|
14
|
-
* Represents the `export-to-PDF` toolbar tool of the TreeList.
|
|
15
|
-
* Apply this directive to any `kendo-toolbar-button` element inside a
|
|
16
|
-
* ToolbarComponent.
|
|
17
|
-
*
|
|
18
|
-
* When you click the toolbar button that contains the directive, the
|
|
19
|
-
* [`pdfExport`]({% slug api_treelist_treelistcomponent %}#toc-pdfexport) event
|
|
20
|
-
* fires ([see example]({% slug pdfexport_treelist %})).
|
|
21
|
-
*
|
|
22
|
-
* @example
|
|
23
|
-
* ```html
|
|
24
|
-
* <kendo-treelist>
|
|
25
|
-
* <kendo-toolbar>
|
|
26
|
-
* <kendo-toolbar-button text="PDF Export" kendoTreeListPDFTool></kendo-toolbar-button>
|
|
27
|
-
* </kendo-toolbar>
|
|
28
|
-
* <kendo-treelist-pdf fileName="TreeList.pdf">
|
|
29
|
-
* </kendo-treelist-pdf>
|
|
30
|
-
* </kendo-treelist>
|
|
31
|
-
* ```
|
|
32
|
-
* @remarks
|
|
33
|
-
* Applied to: {@link ToolBarButtonComponent}
|
|
34
|
-
*/
|
|
35
|
-
export class PDFCommandToolbarDirective {
|
|
36
|
-
pdfService;
|
|
37
|
-
host;
|
|
38
|
-
clickSub = new Subscription();
|
|
39
|
-
constructor(pdfService, host) {
|
|
40
|
-
this.pdfService = pdfService;
|
|
41
|
-
this.host = host;
|
|
42
|
-
}
|
|
43
|
-
ngOnInit() {
|
|
44
|
-
this.clickSub = this.host.click.subscribe(e => this.onClick(e));
|
|
45
|
-
this.host.className = 'k-grid-pdf';
|
|
46
|
-
this.host.svgIcon = filePdfIcon;
|
|
47
|
-
this.host.icon = 'file-pdf';
|
|
48
|
-
}
|
|
49
|
-
ngOnDestroy() {
|
|
50
|
-
this.clickSub.unsubscribe();
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* @hidden
|
|
54
|
-
*/
|
|
55
|
-
onClick(e) {
|
|
56
|
-
e.preventDefault();
|
|
57
|
-
this.pdfService.exportClick.emit();
|
|
58
|
-
}
|
|
59
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PDFCommandToolbarDirective, deps: [{ token: i1.PDFService }, { token: i2.ToolBarButtonComponent }], target: i0.ɵɵFactoryTarget.Directive });
|
|
60
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: PDFCommandToolbarDirective, isStandalone: true, selector: "[kendoTreeListPDFTool]", ngImport: i0 });
|
|
61
|
-
}
|
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PDFCommandToolbarDirective, decorators: [{
|
|
63
|
-
type: Directive,
|
|
64
|
-
args: [{
|
|
65
|
-
selector: '[kendoTreeListPDFTool]',
|
|
66
|
-
standalone: true
|
|
67
|
-
}]
|
|
68
|
-
}], ctorParameters: () => [{ type: i1.PDFService }, { type: i2.ToolBarButtonComponent }] });
|
|
@@ -1,101 +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, HostListener, HostBinding, ElementRef, Renderer2 as Renderer, NgZone } from '@angular/core';
|
|
6
|
-
import { NgClass } from '@angular/common';
|
|
7
|
-
import { Button } from '@progress/kendo-angular-buttons';
|
|
8
|
-
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
9
|
-
import { IconWrapperComponent } from '@progress/kendo-angular-icons';
|
|
10
|
-
import { PDFService } from './pdf.service';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "./pdf.service";
|
|
13
|
-
import * as i2 from "@progress/kendo-angular-l10n";
|
|
14
|
-
/**
|
|
15
|
-
* Represents the `export-to-PDF` command of the TreeList.
|
|
16
|
-
* Apply this directive to any `button` element inside a
|
|
17
|
-
* [`ToolbarTemplate`](slug:toolbartemplate_treelist).
|
|
18
|
-
* When you click a button that contains the directive, the
|
|
19
|
-
* [`pdfExport`]({% slug api_treelist_treelistcomponent %}#toc-pdfexport) event
|
|
20
|
-
* fires ([see example]({% slug pdfexport_treelist %})).
|
|
21
|
-
*
|
|
22
|
-
* @example
|
|
23
|
-
* ```html
|
|
24
|
-
* <kendo-treelist ...>
|
|
25
|
-
* <ng-template kendoTreeListToolbarTemplate>
|
|
26
|
-
* <button kendoTreeListPDFCommand>Export to PDF</button>
|
|
27
|
-
* </ng-template>
|
|
28
|
-
* <kendo-treelist-pdf fileName="TreeList.pdf"></kendo-treelist-pdf>
|
|
29
|
-
* </kendo-treelist>
|
|
30
|
-
* ```
|
|
31
|
-
*/
|
|
32
|
-
export class PDFCommandDirective extends Button {
|
|
33
|
-
pdfService;
|
|
34
|
-
/**
|
|
35
|
-
* @hidden
|
|
36
|
-
*/
|
|
37
|
-
onClick(e) {
|
|
38
|
-
e.preventDefault();
|
|
39
|
-
this.pdfService.exportClick.emit();
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* @hidden
|
|
43
|
-
*/
|
|
44
|
-
get pdfClass() {
|
|
45
|
-
return true;
|
|
46
|
-
}
|
|
47
|
-
constructor(pdfService, element, renderer, localization, ngZone) {
|
|
48
|
-
super(element, renderer, null, localization, ngZone);
|
|
49
|
-
this.pdfService = pdfService;
|
|
50
|
-
this.ngZone = ngZone;
|
|
51
|
-
}
|
|
52
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PDFCommandDirective, deps: [{ token: i1.PDFService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i2.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
53
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: PDFCommandDirective, isStandalone: true, selector: "[kendoTreeListPDFCommand]", host: { listeners: { "click": "onClick($event)" }, properties: { "class.k-grid-pdf": "this.pdfClass" } }, usesInheritance: true, ngImport: i0, template: `
|
|
54
|
-
@if (icon || svgIcon) {
|
|
55
|
-
<kendo-icon-wrapper
|
|
56
|
-
innerCssClass="k-button-icon"
|
|
57
|
-
[name]="icon"
|
|
58
|
-
[svgIcon]="svgIcon"></kendo-icon-wrapper>
|
|
59
|
-
}
|
|
60
|
-
@if (imageUrl) {
|
|
61
|
-
<span class="k-button-icon k-icon">
|
|
62
|
-
<img [src]="imageUrl" class="k-image" role="presentation" />
|
|
63
|
-
</span>
|
|
64
|
-
}
|
|
65
|
-
@if (iconClass) {
|
|
66
|
-
<span class="k-button-icon" [ngClass]="iconClass"></span>
|
|
67
|
-
}
|
|
68
|
-
<span class="k-button-text"><ng-content></ng-content></span>
|
|
69
|
-
`, isInline: true, dependencies: [{ kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
70
|
-
}
|
|
71
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PDFCommandDirective, decorators: [{
|
|
72
|
-
type: Component,
|
|
73
|
-
args: [{
|
|
74
|
-
selector: '[kendoTreeListPDFCommand]',
|
|
75
|
-
template: `
|
|
76
|
-
@if (icon || svgIcon) {
|
|
77
|
-
<kendo-icon-wrapper
|
|
78
|
-
innerCssClass="k-button-icon"
|
|
79
|
-
[name]="icon"
|
|
80
|
-
[svgIcon]="svgIcon"></kendo-icon-wrapper>
|
|
81
|
-
}
|
|
82
|
-
@if (imageUrl) {
|
|
83
|
-
<span class="k-button-icon k-icon">
|
|
84
|
-
<img [src]="imageUrl" class="k-image" role="presentation" />
|
|
85
|
-
</span>
|
|
86
|
-
}
|
|
87
|
-
@if (iconClass) {
|
|
88
|
-
<span class="k-button-icon" [ngClass]="iconClass"></span>
|
|
89
|
-
}
|
|
90
|
-
<span class="k-button-text"><ng-content></ng-content></span>
|
|
91
|
-
`,
|
|
92
|
-
standalone: true,
|
|
93
|
-
imports: [IconWrapperComponent, NgClass]
|
|
94
|
-
}]
|
|
95
|
-
}], ctorParameters: () => [{ type: i1.PDFService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i2.LocalizationService }, { type: i0.NgZone }], propDecorators: { onClick: [{
|
|
96
|
-
type: HostListener,
|
|
97
|
-
args: ['click', ['$event']]
|
|
98
|
-
}], pdfClass: [{
|
|
99
|
-
type: HostBinding,
|
|
100
|
-
args: ['class.k-grid-pdf']
|
|
101
|
-
}] } });
|
|
@@ -1,18 +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 { PreventableEvent } from '../common/preventable-event';
|
|
6
|
-
/**
|
|
7
|
-
* Provides the arguments for the `pdfExport` event.
|
|
8
|
-
*
|
|
9
|
-
* Use this event to customize or prevent the PDF export process.
|
|
10
|
-
*/
|
|
11
|
-
export class PDFExportEvent extends PreventableEvent {
|
|
12
|
-
/**
|
|
13
|
-
* @hidden
|
|
14
|
-
*/
|
|
15
|
-
constructor() {
|
|
16
|
-
super();
|
|
17
|
-
}
|
|
18
|
-
}
|
|
@@ -1,33 +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 } from '@angular/core';
|
|
6
|
-
import { PDFExportMarginComponent } from '@progress/kendo-angular-pdf-export';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
/**
|
|
9
|
-
* Represents the Kendo UI PDFMargin component for Angular.
|
|
10
|
-
* The supported units are `"mm"`, `"cm"`, `"in"`, and `"pt"` (default).
|
|
11
|
-
* Numbers are considered to be points (`"pt"`).
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* ```html
|
|
15
|
-
* <kendo-treelist>
|
|
16
|
-
* <kendo-treelist-pdf [allPages]="true" [delay]="100">
|
|
17
|
-
* <kendo-treelist-pdf-margin top="1cm" bottom="1cm" left="1cm" right="1cm"></kendo-treelist-pdf-margin>
|
|
18
|
-
* </kendo-treelist-pdf>
|
|
19
|
-
* </kendo-treelist>
|
|
20
|
-
* ```
|
|
21
|
-
*/
|
|
22
|
-
export class PDFMarginComponent extends PDFExportMarginComponent {
|
|
23
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PDFMarginComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
24
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: PDFMarginComponent, isStandalone: true, selector: "kendo-treelist-pdf-margin", usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
25
|
-
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PDFMarginComponent, decorators: [{
|
|
27
|
-
type: Component,
|
|
28
|
-
args: [{
|
|
29
|
-
selector: 'kendo-treelist-pdf-margin',
|
|
30
|
-
template: '',
|
|
31
|
-
standalone: true
|
|
32
|
-
}]
|
|
33
|
-
}] });
|
|
@@ -1,5 +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
|
-
export {};
|
|
@@ -1,45 +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 { Directive, Optional, TemplateRef } from '@angular/core';
|
|
6
|
-
import { PDFExportTemplateDirective } from '@progress/kendo-angular-pdf-export';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
/**
|
|
9
|
-
* Represents the PDF page template of the TreeList. Use this directive to customize the PDF pages.
|
|
10
|
-
* To define a page template, nest an `<ng-template>` tag with the `kendoTreeListPDFTemplate` directive inside `<kendo-treelist-pdf>`.
|
|
11
|
-
*
|
|
12
|
-
* The template context provides the following fields:
|
|
13
|
-
* - `pageNumber`—Defines PDF page number.
|
|
14
|
-
* - `totalPages`—Defines the total number of PDF pages.
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* ```html
|
|
18
|
-
* <kendo-treelist-pdf fileName="Files.pdf" ...>
|
|
19
|
-
* <ng-template
|
|
20
|
-
* kendoTreeListPDFTemplate
|
|
21
|
-
* let-pageNum="pageNum"
|
|
22
|
-
* let-totalPages="totalPages">
|
|
23
|
-
* <div style="position: absolute; top: 5px; left: 5px;">
|
|
24
|
-
* Page {{ pageNum }} of {{ totalPages }}
|
|
25
|
-
* </div>
|
|
26
|
-
* </ng-template>
|
|
27
|
-
* </kendo-treelist-pdf>
|
|
28
|
-
* ```
|
|
29
|
-
*/
|
|
30
|
-
export class PDFTemplateDirective extends PDFExportTemplateDirective {
|
|
31
|
-
constructor(templateRef) {
|
|
32
|
-
super(templateRef);
|
|
33
|
-
}
|
|
34
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PDFTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
35
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: PDFTemplateDirective, isStandalone: true, selector: "[kendoTreeListPDFTemplate]", usesInheritance: true, ngImport: i0 });
|
|
36
|
-
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PDFTemplateDirective, decorators: [{
|
|
38
|
-
type: Directive,
|
|
39
|
-
args: [{
|
|
40
|
-
selector: '[kendoTreeListPDFTemplate]',
|
|
41
|
-
standalone: true
|
|
42
|
-
}]
|
|
43
|
-
}], ctorParameters: () => [{ type: i0.TemplateRef, decorators: [{
|
|
44
|
-
type: Optional
|
|
45
|
-
}] }] });
|