@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,269 +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, Input, ContentChild, ContentChildren, ElementRef, NgZone, QueryList } from '@angular/core';
|
|
6
|
-
import { take } from 'rxjs/operators';
|
|
7
|
-
import { SuspendService } from '../scrolling/suspend.service';
|
|
8
|
-
import { PDFService } from './pdf.service';
|
|
9
|
-
import { PDFMarginComponent } from './pdf-margin.component';
|
|
10
|
-
import { PDFTemplateDirective } from './pdf-template.directive';
|
|
11
|
-
import { exportElement, cloneNode } from './export-element';
|
|
12
|
-
import { TreeListQuery } from './treelist-query';
|
|
13
|
-
import { ColumnBase } from '../columns/column-base';
|
|
14
|
-
import { PDFExportComponent } from '@progress/kendo-angular-pdf-export';
|
|
15
|
-
import { isDocumentAvailable } from '@progress/kendo-angular-common';
|
|
16
|
-
import * as i0 from "@angular/core";
|
|
17
|
-
import * as i1 from "./pdf.service";
|
|
18
|
-
import * as i2 from "../scrolling/suspend.service";
|
|
19
|
-
const createElement = (tagName, className) => {
|
|
20
|
-
if (!isDocumentAvailable()) {
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
const element = document.createElement(tagName);
|
|
24
|
-
if (className) {
|
|
25
|
-
element.className = className;
|
|
26
|
-
}
|
|
27
|
-
return element;
|
|
28
|
-
};
|
|
29
|
-
const createDiv = (className) => {
|
|
30
|
-
return createElement('div', className);
|
|
31
|
-
};
|
|
32
|
-
/**
|
|
33
|
-
* Configures the settings for exporting TreeList to PDF ([see example]({% slug pdfexport_treelist %})).
|
|
34
|
-
*
|
|
35
|
-
* @example
|
|
36
|
-
* ```html
|
|
37
|
-
* <kendo-treelist>
|
|
38
|
-
* <kendo-treelist-pdf [allPages]="true" [fileName]="'export.pdf'"></kendo-treelist-pdf>
|
|
39
|
-
* </kendo-treelist>
|
|
40
|
-
* ```
|
|
41
|
-
*
|
|
42
|
-
* @remarks
|
|
43
|
-
* Supported children components are: {@link PDFMarginComponent}.
|
|
44
|
-
*/
|
|
45
|
-
export class PDFComponent extends PDFExportComponent {
|
|
46
|
-
pdfService;
|
|
47
|
-
suspendService;
|
|
48
|
-
ngZone;
|
|
49
|
-
/**
|
|
50
|
-
* Specifies if the export includes all TreeList pages, starting from the first one.
|
|
51
|
-
*/
|
|
52
|
-
allPages;
|
|
53
|
-
columns = new QueryList();
|
|
54
|
-
marginComponent;
|
|
55
|
-
pageTemplateDirective;
|
|
56
|
-
progress;
|
|
57
|
-
component;
|
|
58
|
-
container;
|
|
59
|
-
skip;
|
|
60
|
-
pageSize;
|
|
61
|
-
originalHeight;
|
|
62
|
-
originalOverflow;
|
|
63
|
-
saveSubscription;
|
|
64
|
-
drawSubscription;
|
|
65
|
-
renderAllPages;
|
|
66
|
-
originalColumns;
|
|
67
|
-
constructor(pdfService, suspendService, ngZone, element) {
|
|
68
|
-
super(element);
|
|
69
|
-
this.pdfService = pdfService;
|
|
70
|
-
this.suspendService = suspendService;
|
|
71
|
-
this.ngZone = ngZone;
|
|
72
|
-
this.saveSubscription = pdfService.savePDF.subscribe(this.savePDF.bind(this));
|
|
73
|
-
this.drawSubscription = pdfService.drawPDF.subscribe(this.drawPDF.bind(this));
|
|
74
|
-
this.reset = this.reset.bind(this);
|
|
75
|
-
this.draw = this.draw.bind(this);
|
|
76
|
-
}
|
|
77
|
-
ngOnDestroy() {
|
|
78
|
-
this.saveSubscription.unsubscribe();
|
|
79
|
-
this.drawSubscription.unsubscribe();
|
|
80
|
-
this.reset();
|
|
81
|
-
}
|
|
82
|
-
savePDF(component) {
|
|
83
|
-
this.createPDF(component, this.draw);
|
|
84
|
-
}
|
|
85
|
-
drawPDF({ component, promise }) {
|
|
86
|
-
this.createPDF(component, () => {
|
|
87
|
-
this.createExportGroup(promise);
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
createPDF(component, callback) {
|
|
91
|
-
const pageSize = component.pageSize;
|
|
92
|
-
const total = component.view.totalVisible;
|
|
93
|
-
const columns = this.columns.toArray();
|
|
94
|
-
if (columns.length) {
|
|
95
|
-
this.originalColumns = component.columns.toArray();
|
|
96
|
-
}
|
|
97
|
-
this.component = component;
|
|
98
|
-
this.suspendService.scroll = true;
|
|
99
|
-
this.pdfService.exporting = true;
|
|
100
|
-
this.initProgress();
|
|
101
|
-
this.renderAllPages = this.allPages && pageSize < total;
|
|
102
|
-
if (this.renderAllPages) {
|
|
103
|
-
this.skip = component.skip;
|
|
104
|
-
this.pageSize = pageSize;
|
|
105
|
-
this.changePage(0, total, callback, columns);
|
|
106
|
-
}
|
|
107
|
-
else if (columns.length || component.virtualColumns) {
|
|
108
|
-
this.changeColumns(columns, callback);
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
callback();
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
initProgress() {
|
|
115
|
-
const wrapperElement = this.component.wrapper.nativeElement;
|
|
116
|
-
const progress = this.progress = createDiv('k-loading-pdf-mask');
|
|
117
|
-
const overlay = cloneNode(wrapperElement);
|
|
118
|
-
progress.appendChild(overlay);
|
|
119
|
-
progress.appendChild(createDiv('k-loading-color'));
|
|
120
|
-
progress.appendChild(createElement('span', 'k-i-loading k-icon'));
|
|
121
|
-
this.originalHeight = wrapperElement.style.height;
|
|
122
|
-
this.originalOverflow = wrapperElement.style.overflow;
|
|
123
|
-
wrapperElement.style.height = wrapperElement.offsetHeight + 'px';
|
|
124
|
-
wrapperElement.style.overflow = 'hidden';
|
|
125
|
-
wrapperElement.appendChild(progress);
|
|
126
|
-
this.applyScroll(overlay);
|
|
127
|
-
}
|
|
128
|
-
applyScroll(overlay) {
|
|
129
|
-
const query = new TreeListQuery(this.component.wrapper.nativeElement);
|
|
130
|
-
const content = query.content();
|
|
131
|
-
if (content) {
|
|
132
|
-
const overlayQuery = new TreeListQuery(overlay);
|
|
133
|
-
const overlayContent = overlayQuery.content();
|
|
134
|
-
overlayContent.scrollTop = content.scrollTop;
|
|
135
|
-
overlayContent.scrollLeft = content.scrollLeft;
|
|
136
|
-
const header = query.header();
|
|
137
|
-
const overlayHeader = overlayQuery.header();
|
|
138
|
-
if (header && overlayHeader) {
|
|
139
|
-
overlayHeader.scrollLeft = header.scrollLeft;
|
|
140
|
-
}
|
|
141
|
-
const footer = query.footer();
|
|
142
|
-
const overlayFooter = overlayQuery.footer();
|
|
143
|
-
if (footer && overlayFooter) {
|
|
144
|
-
overlayFooter.scrollLeft = footer.scrollLeft;
|
|
145
|
-
}
|
|
146
|
-
const lockedContent = query.content(true);
|
|
147
|
-
if (lockedContent) {
|
|
148
|
-
const overlayLockedContent = overlayQuery.content(true);
|
|
149
|
-
overlayLockedContent.scrollTop = lockedContent.scrollTop;
|
|
150
|
-
overlayLockedContent.scrollLeft = lockedContent.scrollLeft;
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
draw() {
|
|
155
|
-
this.createExportElement((element) => {
|
|
156
|
-
this.save(element, this.fileName);
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
createExportGroup(promise) {
|
|
160
|
-
this.createExportElement((element) => {
|
|
161
|
-
this.exportElement(element).then(group => promise.resolve(group));
|
|
162
|
-
});
|
|
163
|
-
}
|
|
164
|
-
createExportElement(callback) {
|
|
165
|
-
this.ngZone.runOutsideAngular(() => {
|
|
166
|
-
const container = this.container = createDiv('k-grid-pdf-export-element');
|
|
167
|
-
const element = exportElement(this.component.wrapper.nativeElement);
|
|
168
|
-
container.appendChild(element);
|
|
169
|
-
document.body.appendChild(container);
|
|
170
|
-
callback(element);
|
|
171
|
-
});
|
|
172
|
-
}
|
|
173
|
-
drawOptions() {
|
|
174
|
-
const options = super.drawOptions();
|
|
175
|
-
options._destructive = true;
|
|
176
|
-
return options;
|
|
177
|
-
}
|
|
178
|
-
cleanup() {
|
|
179
|
-
super.cleanup();
|
|
180
|
-
this.pdfService.exporting = false;
|
|
181
|
-
if (this.component) {
|
|
182
|
-
const originalColumns = this.originalColumns;
|
|
183
|
-
delete this.originalColumns;
|
|
184
|
-
if (this.renderAllPages) {
|
|
185
|
-
this.changePage(this.skip, this.pageSize, this.reset, originalColumns);
|
|
186
|
-
}
|
|
187
|
-
else if (originalColumns || this.component.virtualColumns) {
|
|
188
|
-
this.changeColumns(originalColumns, this.reset);
|
|
189
|
-
}
|
|
190
|
-
else {
|
|
191
|
-
this.reset();
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
else {
|
|
195
|
-
this.reset();
|
|
196
|
-
}
|
|
197
|
-
this.removeContainer();
|
|
198
|
-
}
|
|
199
|
-
removeContainer() {
|
|
200
|
-
if (this.container) {
|
|
201
|
-
document.body.removeChild(this.container);
|
|
202
|
-
delete this.container;
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
changePage(skip, _take, callback, columns) {
|
|
206
|
-
this.ngZone.run(() => {
|
|
207
|
-
const onPageChanged = () => {
|
|
208
|
-
if ((columns && columns.length) || this.component.virtualColumns) {
|
|
209
|
-
this.changeColumns(columns, callback);
|
|
210
|
-
}
|
|
211
|
-
else {
|
|
212
|
-
this.onStable(callback);
|
|
213
|
-
}
|
|
214
|
-
};
|
|
215
|
-
this.component.notifyPageChange('pdf', { skip: skip, take: _take });
|
|
216
|
-
if (this.component.view.loading) {
|
|
217
|
-
this.component.view.dataLoaded.pipe(take(1)).subscribe(onPageChanged);
|
|
218
|
-
}
|
|
219
|
-
else {
|
|
220
|
-
onPageChanged();
|
|
221
|
-
}
|
|
222
|
-
});
|
|
223
|
-
}
|
|
224
|
-
changeColumns(columns, callback) {
|
|
225
|
-
this.ngZone.run(() => {
|
|
226
|
-
this.onStable(callback);
|
|
227
|
-
if (columns && columns.length) {
|
|
228
|
-
this.component.columns.reset(columns);
|
|
229
|
-
}
|
|
230
|
-
});
|
|
231
|
-
}
|
|
232
|
-
reset() {
|
|
233
|
-
this.suspendService.scroll = false;
|
|
234
|
-
this.renderAllPages = false;
|
|
235
|
-
if (!this.component) {
|
|
236
|
-
return;
|
|
237
|
-
}
|
|
238
|
-
const wrapperElement = this.component.wrapper.nativeElement;
|
|
239
|
-
wrapperElement.removeChild(this.progress);
|
|
240
|
-
wrapperElement.style.height = this.originalHeight;
|
|
241
|
-
wrapperElement.style.overflow = this.originalOverflow;
|
|
242
|
-
delete this.progress;
|
|
243
|
-
delete this.component;
|
|
244
|
-
}
|
|
245
|
-
onStable(callback) {
|
|
246
|
-
this.ngZone.onStable.asObservable().pipe(take(1)).subscribe(callback);
|
|
247
|
-
}
|
|
248
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PDFComponent, deps: [{ token: i1.PDFService }, { token: i2.SuspendService }, { token: i0.NgZone }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
249
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: PDFComponent, isStandalone: true, selector: "kendo-treelist-pdf", inputs: { allPages: "allPages" }, queries: [{ propertyName: "marginComponent", first: true, predicate: PDFMarginComponent, descendants: true }, { propertyName: "pageTemplateDirective", first: true, predicate: PDFTemplateDirective, descendants: true }, { propertyName: "columns", predicate: ColumnBase }], usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
250
|
-
}
|
|
251
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PDFComponent, decorators: [{
|
|
252
|
-
type: Component,
|
|
253
|
-
args: [{
|
|
254
|
-
selector: 'kendo-treelist-pdf',
|
|
255
|
-
template: '',
|
|
256
|
-
standalone: true
|
|
257
|
-
}]
|
|
258
|
-
}], ctorParameters: () => [{ type: i1.PDFService }, { type: i2.SuspendService }, { type: i0.NgZone }, { type: i0.ElementRef }], propDecorators: { allPages: [{
|
|
259
|
-
type: Input
|
|
260
|
-
}], columns: [{
|
|
261
|
-
type: ContentChildren,
|
|
262
|
-
args: [ColumnBase]
|
|
263
|
-
}], marginComponent: [{
|
|
264
|
-
type: ContentChild,
|
|
265
|
-
args: [PDFMarginComponent, { static: false }]
|
|
266
|
-
}], pageTemplateDirective: [{
|
|
267
|
-
type: ContentChild,
|
|
268
|
-
args: [PDFTemplateDirective, { static: false }]
|
|
269
|
-
}] } });
|
|
@@ -1,48 +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 { NgModule } from '@angular/core';
|
|
6
|
-
import { IconsService, KENDO_ICONS } from '@progress/kendo-angular-icons';
|
|
7
|
-
import { KENDO_TREELIST_PDF_EXPORT } from '../directives';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "./pdf.component";
|
|
10
|
-
import * as i2 from "./pdf-margin.component";
|
|
11
|
-
import * as i3 from "./pdf-command.directive";
|
|
12
|
-
import * as i4 from "./pdf-template.directive";
|
|
13
|
-
import * as i5 from "./pdf-command-tool.directive";
|
|
14
|
-
import * as i6 from "@progress/kendo-angular-icons";
|
|
15
|
-
// IMPORTANT: NgModule export kept for backwards compatibility
|
|
16
|
-
/**
|
|
17
|
-
* Represents the [`NgModule`](link:site.data.urls.angular['ngmoduleapi']) definition for the TreeList PDF component.
|
|
18
|
-
* Use this module to enable PDF export features of the TreeList inside NgModule-based Angular application.
|
|
19
|
-
*
|
|
20
|
-
* @example
|
|
21
|
-
*
|
|
22
|
-
* ```ts
|
|
23
|
-
* import { NgModule } from '@angular/core';
|
|
24
|
-
* import { BrowserModule } from "@angular/platform-browser";
|
|
25
|
-
* import { TreeListModule, PDFModule } from '@progress/kendo-angular-treelist';
|
|
26
|
-
* import { AppComponent } from './app.component';
|
|
27
|
-
*
|
|
28
|
-
* @NgModule({
|
|
29
|
-
* declarations: [AppComponent],
|
|
30
|
-
* imports: [BrowserModule, TreeListModule, PDFModule],
|
|
31
|
-
* bootstrap: [AppComponent]
|
|
32
|
-
* })
|
|
33
|
-
* export class AppModule {}
|
|
34
|
-
* ```
|
|
35
|
-
*/
|
|
36
|
-
export class PDFModule {
|
|
37
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PDFModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
38
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: PDFModule, imports: [i1.PDFComponent, i2.PDFMarginComponent, i3.PDFCommandDirective, i4.PDFTemplateDirective, i5.PDFCommandToolbarDirective, i6.IconComponent, i6.SVGIconComponent], exports: [i1.PDFComponent, i2.PDFMarginComponent, i3.PDFCommandDirective, i4.PDFTemplateDirective, i5.PDFCommandToolbarDirective] });
|
|
39
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PDFModule, providers: [IconsService], imports: [i3.PDFCommandDirective, KENDO_ICONS] });
|
|
40
|
-
}
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PDFModule, decorators: [{
|
|
42
|
-
type: NgModule,
|
|
43
|
-
args: [{
|
|
44
|
-
imports: [...KENDO_TREELIST_PDF_EXPORT, ...KENDO_ICONS],
|
|
45
|
-
exports: [...KENDO_TREELIST_PDF_EXPORT],
|
|
46
|
-
providers: [IconsService]
|
|
47
|
-
}]
|
|
48
|
-
}] });
|
|
@@ -1,40 +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 { EventEmitter, Injectable, isDevMode } from '@angular/core';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
/**
|
|
8
|
-
* @hidden
|
|
9
|
-
*/
|
|
10
|
-
export class PDFService {
|
|
11
|
-
savePDF = new EventEmitter();
|
|
12
|
-
drawPDF = new EventEmitter();
|
|
13
|
-
exportClick = new EventEmitter();
|
|
14
|
-
dataChanged = new EventEmitter();
|
|
15
|
-
exporting;
|
|
16
|
-
save(component) {
|
|
17
|
-
this.emitEvent(this.savePDF, component);
|
|
18
|
-
}
|
|
19
|
-
draw(component, promise) {
|
|
20
|
-
this.emitEvent(this.drawPDF, { component, promise });
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* @hidden
|
|
24
|
-
*/
|
|
25
|
-
emitEvent(emitter, args) {
|
|
26
|
-
if (emitter.observers.length === 0) {
|
|
27
|
-
if (isDevMode()) {
|
|
28
|
-
throw new Error('Creating PDF requires including the PDFModule and adding the <kendo-treelist-pdf> component.');
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
emitter.emit(args);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PDFService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
36
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PDFService });
|
|
37
|
-
}
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PDFService, decorators: [{
|
|
39
|
-
type: Injectable
|
|
40
|
-
}] });
|
|
@@ -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 { matchesClasses, matchesNodeName, findElement } from '../rendering/common/dom-queries';
|
|
6
|
-
/**
|
|
7
|
-
* @hidden
|
|
8
|
-
*/
|
|
9
|
-
export const HEADER_CLASS = 'k-grid-header';
|
|
10
|
-
/**
|
|
11
|
-
* @hidden
|
|
12
|
-
*/
|
|
13
|
-
export const FOOTER_CLASS = 'k-grid-footer';
|
|
14
|
-
const GRID_LIST = 'KENDO-TREELIST-LIST';
|
|
15
|
-
const TABLE = 'TABLE';
|
|
16
|
-
const matchesList = matchesNodeName(GRID_LIST);
|
|
17
|
-
const matchesTable = matchesNodeName(TABLE);
|
|
18
|
-
const suffix = (locked) => locked ? 'locked' : 'wrap';
|
|
19
|
-
/**
|
|
20
|
-
* @hidden
|
|
21
|
-
*/
|
|
22
|
-
export class TreeListQuery {
|
|
23
|
-
element;
|
|
24
|
-
headerWrap;
|
|
25
|
-
list;
|
|
26
|
-
footerWrap;
|
|
27
|
-
constructor(element) {
|
|
28
|
-
this.element = element;
|
|
29
|
-
this.list = findElement(element, matchesList);
|
|
30
|
-
}
|
|
31
|
-
content(locked) {
|
|
32
|
-
return findElement(this.list, matchesClasses(`k-grid-content${locked ? '-locked' : ''}`));
|
|
33
|
-
}
|
|
34
|
-
header(locked) {
|
|
35
|
-
this.headerWrap = this.headerWrap || findElement(this.element, matchesClasses(HEADER_CLASS));
|
|
36
|
-
return findElement(this.headerWrap, matchesClasses(`${HEADER_CLASS}-${suffix(locked)}`));
|
|
37
|
-
}
|
|
38
|
-
footer(locked) {
|
|
39
|
-
this.footerWrap = this.footerWrap || findElement(this.element, matchesClasses(FOOTER_CLASS));
|
|
40
|
-
return findElement(this.footerWrap, matchesClasses(`${FOOTER_CLASS}-${suffix(locked)}`));
|
|
41
|
-
}
|
|
42
|
-
table() {
|
|
43
|
-
return findElement(this.element, matchesTable);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
@@ -1,8 +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
|
-
* Generated bundle index. Do not edit.
|
|
7
|
-
*/
|
|
8
|
-
export * from './index';
|
|
@@ -1,49 +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, TemplateRef, Optional } from '@angular/core';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
/**
|
|
8
|
-
* Represents the column cell template of the TreeList ([more information and example]({% slug templates_columns_treelist %}#toc-cell-template)).
|
|
9
|
-
* Use this directive to customize the content of the cells. To define the cell template, nest an `<ng-template>` tag with the `kendoTreeListCellTemplate` directive inside a `<kendo-treelist-column>` tag.
|
|
10
|
-
*
|
|
11
|
-
* The template context is set to the current data item and provides the following fields:
|
|
12
|
-
* - `columnIndex`—The current column index. Use as an alias for a template variable with `let-columnIndex="columnIndex"`.
|
|
13
|
-
* - `column`—The current column instance. Use as an alias for a template variable with `let-column="column"`.
|
|
14
|
-
* - `dataItem`—The current data item. Represents the default context for any template variable using `let-x` syntax, for example, `let-dataItem`.
|
|
15
|
-
* - `cellContext`—An object for passing context information to built-in directives.
|
|
16
|
-
* - `hasChildren`—Specifies if the item has children.
|
|
17
|
-
* - `isExpanded`—Specifies if the item is expanded.
|
|
18
|
-
* - `level`—The hierarchy level of the item.
|
|
19
|
-
* - `loading`—Specifies if the item children are currently loading.
|
|
20
|
-
* - `rowIndex`—The current row index. Use it as an alias for a template variable with `let-rowIndex="rowIndex"`.
|
|
21
|
-
*
|
|
22
|
-
* @example
|
|
23
|
-
* ```html
|
|
24
|
-
* <kendo-treelist ...>
|
|
25
|
-
* <kendo-treelist-column field="ProductName">
|
|
26
|
-
* <ng-template kendoTreeListCellTemplate let-dataItem let-rowIndex="rowIndex" let-column="column">
|
|
27
|
-
* Data Row: {{rowIndex}}
|
|
28
|
-
* </ng-template>
|
|
29
|
-
* </kendo-treelist-column>
|
|
30
|
-
* </kendo-treelist>
|
|
31
|
-
* ```
|
|
32
|
-
*/
|
|
33
|
-
export class CellTemplateDirective {
|
|
34
|
-
templateRef;
|
|
35
|
-
constructor(templateRef) {
|
|
36
|
-
this.templateRef = templateRef;
|
|
37
|
-
}
|
|
38
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CellTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
39
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: CellTemplateDirective, isStandalone: true, selector: "[kendoTreeListCellTemplate]", ngImport: i0 });
|
|
40
|
-
}
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CellTemplateDirective, decorators: [{
|
|
42
|
-
type: Directive,
|
|
43
|
-
args: [{
|
|
44
|
-
selector: '[kendoTreeListCellTemplate]',
|
|
45
|
-
standalone: true
|
|
46
|
-
}]
|
|
47
|
-
}], ctorParameters: () => [{ type: i0.TemplateRef, decorators: [{
|
|
48
|
-
type: Optional
|
|
49
|
-
}] }] });
|