@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,97 +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 { ExcelService } from './excel.service';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "./excel.service";
|
|
13
|
-
import * as i2 from "@progress/kendo-angular-l10n";
|
|
14
|
-
/**
|
|
15
|
-
* Represents the `export-to-Excel` command of the TreeList. Apply this directive to any `button` element inside a [`ToolbarTemplate`](slug:toolbartemplate_treelist).
|
|
16
|
-
* When the user clicks a button with this directive, the [`excelExport`]({% slug api_treelist_treelistcomponent %}#toc-excelexport) event fires ([see example]({% slug excelexport_treelist %})).
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* ```html
|
|
20
|
-
* <kendo-treelist ...>
|
|
21
|
-
* <ng-template kendoTreeListToolbarTemplate>
|
|
22
|
-
* <button kendoTreeListExcelCommand>Export to Excel</button>
|
|
23
|
-
* </ng-template>
|
|
24
|
-
* <kendo-treelist-excel fileName="TreeList.xlsx"> </kendo-treelist-excel>
|
|
25
|
-
* </kendo-treelist>
|
|
26
|
-
* ```
|
|
27
|
-
*/
|
|
28
|
-
export class ExcelCommandDirective extends Button {
|
|
29
|
-
excelService;
|
|
30
|
-
/**
|
|
31
|
-
* @hidden
|
|
32
|
-
*/
|
|
33
|
-
onClick(e) {
|
|
34
|
-
e.preventDefault();
|
|
35
|
-
this.excelService.exportClick.emit();
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* @hidden
|
|
39
|
-
*/
|
|
40
|
-
get excelClass() {
|
|
41
|
-
return true;
|
|
42
|
-
}
|
|
43
|
-
constructor(excelService, element, renderer, localization, ngZone) {
|
|
44
|
-
super(element, renderer, null, localization, ngZone);
|
|
45
|
-
this.excelService = excelService;
|
|
46
|
-
this.ngZone = ngZone;
|
|
47
|
-
}
|
|
48
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelCommandDirective, deps: [{ token: i1.ExcelService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i2.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
49
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ExcelCommandDirective, isStandalone: true, selector: "[kendoTreeListExcelCommand]", host: { listeners: { "click": "onClick($event)" }, properties: { "class.k-grid-excel": "this.excelClass" } }, usesInheritance: true, ngImport: i0, template: `
|
|
50
|
-
@if (icon || svgIcon) {
|
|
51
|
-
<kendo-icon-wrapper
|
|
52
|
-
innerCssClass="k-button-icon"
|
|
53
|
-
[name]="icon"
|
|
54
|
-
[svgIcon]="svgIcon"></kendo-icon-wrapper>
|
|
55
|
-
}
|
|
56
|
-
@if (imageUrl) {
|
|
57
|
-
<span class="k-button-icon k-icon">
|
|
58
|
-
<img [src]="imageUrl" class="k-image" role="presentation" />
|
|
59
|
-
</span>
|
|
60
|
-
}
|
|
61
|
-
@if (iconClass) {
|
|
62
|
-
<span class="k-button-icon" [ngClass]="iconClass"></span>
|
|
63
|
-
}
|
|
64
|
-
<span class="k-button-text"><ng-content></ng-content></span>
|
|
65
|
-
`, 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"] }] });
|
|
66
|
-
}
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelCommandDirective, decorators: [{
|
|
68
|
-
type: Component,
|
|
69
|
-
args: [{
|
|
70
|
-
selector: '[kendoTreeListExcelCommand]',
|
|
71
|
-
template: `
|
|
72
|
-
@if (icon || svgIcon) {
|
|
73
|
-
<kendo-icon-wrapper
|
|
74
|
-
innerCssClass="k-button-icon"
|
|
75
|
-
[name]="icon"
|
|
76
|
-
[svgIcon]="svgIcon"></kendo-icon-wrapper>
|
|
77
|
-
}
|
|
78
|
-
@if (imageUrl) {
|
|
79
|
-
<span class="k-button-icon k-icon">
|
|
80
|
-
<img [src]="imageUrl" class="k-image" role="presentation" />
|
|
81
|
-
</span>
|
|
82
|
-
}
|
|
83
|
-
@if (iconClass) {
|
|
84
|
-
<span class="k-button-icon" [ngClass]="iconClass"></span>
|
|
85
|
-
}
|
|
86
|
-
<span class="k-button-text"><ng-content></ng-content></span>
|
|
87
|
-
`,
|
|
88
|
-
standalone: true,
|
|
89
|
-
imports: [IconWrapperComponent, NgClass]
|
|
90
|
-
}]
|
|
91
|
-
}], ctorParameters: () => [{ type: i1.ExcelService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i2.LocalizationService }, { type: i0.NgZone }], propDecorators: { onClick: [{
|
|
92
|
-
type: HostListener,
|
|
93
|
-
args: ['click', ['$event']]
|
|
94
|
-
}], excelClass: [{
|
|
95
|
-
type: HostBinding,
|
|
96
|
-
args: ['class.k-grid-excel']
|
|
97
|
-
}] } });
|
|
@@ -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,15 +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
|
-
* Arguments for the `excelExport` event. [See example](slug:excelexport_treelist#toc-customizing-generated-workbooks).
|
|
8
|
-
*/
|
|
9
|
-
export class ExcelExportEvent extends PreventableEvent {
|
|
10
|
-
workbook;
|
|
11
|
-
constructor(workbook) {
|
|
12
|
-
super();
|
|
13
|
-
this.workbook = workbook;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
@@ -1,277 +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, ContentChildren, QueryList, NgZone } from '@angular/core';
|
|
6
|
-
import { isObservable } from 'rxjs';
|
|
7
|
-
import { take } from 'rxjs/operators';
|
|
8
|
-
import { saveAs } from '@progress/kendo-file-saver';
|
|
9
|
-
import { toDataURL, workbookOptions, ColumnBase } from '@progress/kendo-angular-excel-export';
|
|
10
|
-
import { ExcelService } from './excel.service';
|
|
11
|
-
import { ExcelExportEvent } from './excel-export-event';
|
|
12
|
-
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
13
|
-
import { orderBy } from '@progress/kendo-data-query';
|
|
14
|
-
import { sortColumns } from '../columns/column-common';
|
|
15
|
-
import { ViewCollection, EXPANDED_STATE } from '../data/data.collection';
|
|
16
|
-
import { hasObservers } from '@progress/kendo-angular-common';
|
|
17
|
-
import * as i0 from "@angular/core";
|
|
18
|
-
import * as i1 from "./excel.service";
|
|
19
|
-
import * as i2 from "@progress/kendo-angular-l10n";
|
|
20
|
-
const hierarchyData = (view) => {
|
|
21
|
-
const data = view.data;
|
|
22
|
-
const levels = {};
|
|
23
|
-
const aggregates = {};
|
|
24
|
-
const items = [];
|
|
25
|
-
let depth = 0;
|
|
26
|
-
for (let idx = 0, dataIndex = 0; idx < data.length; idx++) {
|
|
27
|
-
const item = data[idx];
|
|
28
|
-
if (item.type === 'data') {
|
|
29
|
-
items.push(item.data);
|
|
30
|
-
levels[dataIndex] = item.level;
|
|
31
|
-
depth = Math.max(depth, item.level);
|
|
32
|
-
dataIndex++;
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
aggregates[item.parentIndex] = item.aggregates;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
return {
|
|
39
|
-
itemId: (_item, idx) => idx,
|
|
40
|
-
itemLevel: (_item, idx) => levels[idx],
|
|
41
|
-
depth: depth + 1,
|
|
42
|
-
aggregates,
|
|
43
|
-
data: items
|
|
44
|
-
};
|
|
45
|
-
};
|
|
46
|
-
const toExcelColumn = (column) => {
|
|
47
|
-
return {
|
|
48
|
-
title: column.title,
|
|
49
|
-
field: column.field,
|
|
50
|
-
locked: Boolean(column.locked),
|
|
51
|
-
width: column.width,
|
|
52
|
-
level: column.level,
|
|
53
|
-
hidden: !column.isVisible,
|
|
54
|
-
footerTemplate: column.footerTemplate
|
|
55
|
-
};
|
|
56
|
-
};
|
|
57
|
-
const toExcelColumns = (columns) => {
|
|
58
|
-
const result = [];
|
|
59
|
-
sortColumns(columns)
|
|
60
|
-
.forEach((column) => {
|
|
61
|
-
if (column.isSpanColumn) {
|
|
62
|
-
result.push(...toExcelColumns(column.childrenArray));
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
const excelColumn = toExcelColumn(column);
|
|
66
|
-
if (column.isColumnGroup) {
|
|
67
|
-
excelColumn.children = [excelColumn].concat(toExcelColumns(column.childrenArray));
|
|
68
|
-
}
|
|
69
|
-
result.push(excelColumn);
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
return result;
|
|
73
|
-
};
|
|
74
|
-
const componentColumns = (component) => {
|
|
75
|
-
const columns = toExcelColumns(component.columns.toArray());
|
|
76
|
-
return orderBy(columns, [{ field: 'locked', dir: 'desc' }]);
|
|
77
|
-
};
|
|
78
|
-
/**
|
|
79
|
-
* Configures the settings for exporting the TreeList to Excel. [See example]({% slug excelexport_treelist %}).
|
|
80
|
-
*
|
|
81
|
-
* @example
|
|
82
|
-
* ```html
|
|
83
|
-
* <kendo-treelist [data]="data" [height]="500">
|
|
84
|
-
* <kendo-treelist-excel fileName="Employees.xlsx"></kendo-treelist-excel>
|
|
85
|
-
* </kendo-treelist>
|
|
86
|
-
* ```
|
|
87
|
-
*/
|
|
88
|
-
export class ExcelComponent {
|
|
89
|
-
excelService;
|
|
90
|
-
localization;
|
|
91
|
-
zone;
|
|
92
|
-
/**
|
|
93
|
-
* Specifies the file name of the exported Excel file.
|
|
94
|
-
* @default "Export.xlsx"
|
|
95
|
-
*/
|
|
96
|
-
fileName = 'Export.xlsx';
|
|
97
|
-
/**
|
|
98
|
-
* Enables or disables column filtering in the Excel file. This is different from the TreeList filtering feature.
|
|
99
|
-
*/
|
|
100
|
-
filterable;
|
|
101
|
-
/**
|
|
102
|
-
* Sets the author of the workbook.
|
|
103
|
-
*/
|
|
104
|
-
creator;
|
|
105
|
-
/**
|
|
106
|
-
* Sets the date the workbook was created. Defaults to `new Date()`.
|
|
107
|
-
*/
|
|
108
|
-
date;
|
|
109
|
-
/**
|
|
110
|
-
* If set to `true`, forwards the content to `proxyURL` even if the browser supports saving files locally.
|
|
111
|
-
*/
|
|
112
|
-
forceProxy;
|
|
113
|
-
/**
|
|
114
|
-
* The URL of the server-side proxy that streams the file to the user.
|
|
115
|
-
* Use a proxy if the browser cannot save files locally.
|
|
116
|
-
*
|
|
117
|
-
* Optionally, set up a proxy to reduce memory usage. This avoids copying the file contents into memory,
|
|
118
|
-
* but transmits it over the network instead. For this use case, set [forceProxy](#toc-forceproxy) to `true`
|
|
119
|
-
* to skip client-side saving even in browsers that support it.
|
|
120
|
-
*
|
|
121
|
-
* The proxy receives a POST request with specific parameters in the request body. [See example](slug:server_proxy#toc-implementations).
|
|
122
|
-
* The proxy returns the decoded file with the `"Content-Disposition"` header set to `attachment; filename="<fileName.xslx>"`.
|
|
123
|
-
*
|
|
124
|
-
* For details on server-side proxy usage and implementation, see the [File Saver]({% slug overview_filesaver %}) documentation.
|
|
125
|
-
*/
|
|
126
|
-
proxyURL;
|
|
127
|
-
/**
|
|
128
|
-
* The function used to get the exported data options. By default, uses the current TreeList data.
|
|
129
|
-
* To export data different from the current TreeList data, provide a custom function.
|
|
130
|
-
*/
|
|
131
|
-
fetchData;
|
|
132
|
-
/**
|
|
133
|
-
* Specifies if item levels in the Excel file are collapsible. Applies only if the TreeList has footers.
|
|
134
|
-
*/
|
|
135
|
-
collapsible;
|
|
136
|
-
/**
|
|
137
|
-
* Specifies if export should include all pages.
|
|
138
|
-
* @default true
|
|
139
|
-
*/
|
|
140
|
-
allPages = true;
|
|
141
|
-
/**
|
|
142
|
-
* Specifies if the export should expand all items or use the current TreeList state.
|
|
143
|
-
* @default true
|
|
144
|
-
*/
|
|
145
|
-
expandAll = true;
|
|
146
|
-
/**
|
|
147
|
-
* The options for the cells inserted before the data to indicate the hierarchy.
|
|
148
|
-
*/
|
|
149
|
-
paddingCellOptions;
|
|
150
|
-
/**
|
|
151
|
-
* @hidden
|
|
152
|
-
*/
|
|
153
|
-
columns = new QueryList();
|
|
154
|
-
saveSubscription;
|
|
155
|
-
dataSubscription;
|
|
156
|
-
constructor(excelService, localization, zone) {
|
|
157
|
-
this.excelService = excelService;
|
|
158
|
-
this.localization = localization;
|
|
159
|
-
this.zone = zone;
|
|
160
|
-
this.saveSubscription = excelService.saveToExcel.subscribe(this.save.bind(this));
|
|
161
|
-
}
|
|
162
|
-
ngOnDestroy() {
|
|
163
|
-
this.saveSubscription.unsubscribe();
|
|
164
|
-
if (this.dataSubscription) {
|
|
165
|
-
this.dataSubscription.unsubscribe();
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
save(component) {
|
|
169
|
-
const result = this.fetchData ? this.fetchData(component) : null;
|
|
170
|
-
this.excelService.toggleLoading(true);
|
|
171
|
-
this.zone.runOutsideAngular(() => {
|
|
172
|
-
if (result && isObservable(result.data)) {
|
|
173
|
-
this.dataSubscription = result.data.pipe(take(1)).subscribe((data) => {
|
|
174
|
-
this.dataSubscription = null;
|
|
175
|
-
this.exportData(component, {
|
|
176
|
-
data: data,
|
|
177
|
-
fetchChildren: result.fetchChildren,
|
|
178
|
-
hasChildren: result.hasChildren
|
|
179
|
-
});
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
else {
|
|
183
|
-
// allow the loading to be shown
|
|
184
|
-
setTimeout(() => {
|
|
185
|
-
this.exportData(component, result);
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
exportData(component, result) {
|
|
191
|
-
const viewOptions = result ? {
|
|
192
|
-
fields: result,
|
|
193
|
-
expandState: this.expandAll ? EXPANDED_STATE : component.expandStateService
|
|
194
|
-
} : this.componentViewOptions(component);
|
|
195
|
-
ViewCollection.loadView(viewOptions).subscribe((view) => {
|
|
196
|
-
if (!view) {
|
|
197
|
-
return;
|
|
198
|
-
}
|
|
199
|
-
const hierarchy = hierarchyData(view);
|
|
200
|
-
const options = workbookOptions({
|
|
201
|
-
columns: this.columns.length ? this.columns : componentColumns(component),
|
|
202
|
-
data: hierarchy.data,
|
|
203
|
-
aggregates: hierarchy.aggregates,
|
|
204
|
-
filterable: this.filterable,
|
|
205
|
-
creator: this.creator,
|
|
206
|
-
date: this.date,
|
|
207
|
-
rtl: this.localization.rtl,
|
|
208
|
-
collapsible: this.collapsible,
|
|
209
|
-
hierarchy: hierarchy,
|
|
210
|
-
paddingCellOptions: this.paddingCellOptions
|
|
211
|
-
});
|
|
212
|
-
const args = new ExcelExportEvent(options);
|
|
213
|
-
if (hasObservers(component.excelExport)) {
|
|
214
|
-
this.zone.run(() => {
|
|
215
|
-
component.excelExport.emit(args);
|
|
216
|
-
});
|
|
217
|
-
}
|
|
218
|
-
this.excelService.toggleLoading(false);
|
|
219
|
-
if (!args.isDefaultPrevented()) {
|
|
220
|
-
this.saveFile(options);
|
|
221
|
-
}
|
|
222
|
-
});
|
|
223
|
-
}
|
|
224
|
-
saveFile(options) {
|
|
225
|
-
toDataURL(options).then((dataURL) => {
|
|
226
|
-
saveAs(dataURL, this.fileName, {
|
|
227
|
-
forceProxy: this.forceProxy,
|
|
228
|
-
proxyURL: this.proxyURL
|
|
229
|
-
});
|
|
230
|
-
});
|
|
231
|
-
}
|
|
232
|
-
componentViewOptions(component) {
|
|
233
|
-
return {
|
|
234
|
-
fields: Object.assign(component.viewFieldAccessor(), {
|
|
235
|
-
pageable: !this.allPages,
|
|
236
|
-
skip: this.allPages ? 0 : component.skip
|
|
237
|
-
}),
|
|
238
|
-
expandState: !this.expandAll || (!this.allPages && component.pageable) ? component.expandStateService : EXPANDED_STATE,
|
|
239
|
-
loaded: new Map(component.view.loaded)
|
|
240
|
-
};
|
|
241
|
-
}
|
|
242
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelComponent, deps: [{ token: i1.ExcelService }, { token: i2.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
243
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ExcelComponent, isStandalone: true, selector: "kendo-treelist-excel", inputs: { fileName: "fileName", filterable: "filterable", creator: "creator", date: "date", forceProxy: "forceProxy", proxyURL: "proxyURL", fetchData: "fetchData", collapsible: "collapsible", allPages: "allPages", expandAll: "expandAll", paddingCellOptions: "paddingCellOptions" }, queries: [{ propertyName: "columns", predicate: ColumnBase, descendants: true }], ngImport: i0, template: ``, isInline: true });
|
|
244
|
-
}
|
|
245
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelComponent, decorators: [{
|
|
246
|
-
type: Component,
|
|
247
|
-
args: [{
|
|
248
|
-
selector: 'kendo-treelist-excel',
|
|
249
|
-
template: ``,
|
|
250
|
-
standalone: true
|
|
251
|
-
}]
|
|
252
|
-
}], ctorParameters: () => [{ type: i1.ExcelService }, { type: i2.LocalizationService }, { type: i0.NgZone }], propDecorators: { fileName: [{
|
|
253
|
-
type: Input
|
|
254
|
-
}], filterable: [{
|
|
255
|
-
type: Input
|
|
256
|
-
}], creator: [{
|
|
257
|
-
type: Input
|
|
258
|
-
}], date: [{
|
|
259
|
-
type: Input
|
|
260
|
-
}], forceProxy: [{
|
|
261
|
-
type: Input
|
|
262
|
-
}], proxyURL: [{
|
|
263
|
-
type: Input
|
|
264
|
-
}], fetchData: [{
|
|
265
|
-
type: Input
|
|
266
|
-
}], collapsible: [{
|
|
267
|
-
type: Input
|
|
268
|
-
}], allPages: [{
|
|
269
|
-
type: Input
|
|
270
|
-
}], expandAll: [{
|
|
271
|
-
type: Input
|
|
272
|
-
}], paddingCellOptions: [{
|
|
273
|
-
type: Input
|
|
274
|
-
}], columns: [{
|
|
275
|
-
type: ContentChildren,
|
|
276
|
-
args: [ColumnBase, { descendants: true }]
|
|
277
|
-
}] } });
|
|
@@ -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 { NgModule } from '@angular/core';
|
|
6
|
-
import { IconsService } from '@progress/kendo-angular-icons';
|
|
7
|
-
import { KENDO_TREELIST_EXCEL_EXPORT } from '../directives';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "./excel.component";
|
|
10
|
-
import * as i2 from "./excel-command.directive";
|
|
11
|
-
import * as i3 from "./excel-command-tool.directive";
|
|
12
|
-
import * as i4 from "@progress/kendo-angular-excel-export";
|
|
13
|
-
// IMPORTANT: NgModule export kept for backwards compatibility
|
|
14
|
-
/**
|
|
15
|
-
* Represents the [`NgModule`](link:site.data.urls.angular['ngmoduleapi'])
|
|
16
|
-
* definition for the Excel component of the TreeList.
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* ```ts
|
|
20
|
-
* import { NgModule } from '@angular/core';
|
|
21
|
-
* import { BrowserModule } from "@angular/platform-browser";
|
|
22
|
-
* import { TreeListModule, ExcelModule } from '@progress/kendo-angular-treelist';
|
|
23
|
-
* import { AppComponent } from './app.component';
|
|
24
|
-
*
|
|
25
|
-
* @NgModule({
|
|
26
|
-
* declarations: [AppComponent],
|
|
27
|
-
* imports: [BrowserModule, TreeListModule, ExcelModule],
|
|
28
|
-
* bootstrap: [AppComponent]
|
|
29
|
-
* })
|
|
30
|
-
* export class AppModule {}
|
|
31
|
-
* ```
|
|
32
|
-
*/
|
|
33
|
-
export class ExcelModule {
|
|
34
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
35
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: ExcelModule, imports: [i1.ExcelComponent, i2.ExcelCommandDirective, i3.ExcelCommandToolbarDirective, i4.ColumnComponent, i4.ColumnGroupComponent, i4.FooterTemplateDirective, i4.GroupFooterTemplateDirective, i4.GroupHeaderColumnTemplateDirective, i4.GroupHeaderTemplateDirective], exports: [i1.ExcelComponent, i2.ExcelCommandDirective, i3.ExcelCommandToolbarDirective, i4.ColumnComponent, i4.ColumnGroupComponent, i4.FooterTemplateDirective, i4.GroupFooterTemplateDirective, i4.GroupHeaderColumnTemplateDirective, i4.GroupHeaderTemplateDirective] });
|
|
36
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelModule, providers: [IconsService], imports: [i2.ExcelCommandDirective, i4.ColumnComponent, i4.ColumnGroupComponent] });
|
|
37
|
-
}
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelModule, decorators: [{
|
|
39
|
-
type: NgModule,
|
|
40
|
-
args: [{
|
|
41
|
-
imports: [...KENDO_TREELIST_EXCEL_EXPORT],
|
|
42
|
-
exports: [...KENDO_TREELIST_EXCEL_EXPORT],
|
|
43
|
-
providers: [IconsService]
|
|
44
|
-
}]
|
|
45
|
-
}] });
|
|
@@ -1,34 +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 ExcelService {
|
|
11
|
-
saveToExcel = new EventEmitter();
|
|
12
|
-
exportClick = new EventEmitter();
|
|
13
|
-
loadingChange = new EventEmitter();
|
|
14
|
-
loading;
|
|
15
|
-
save(component) {
|
|
16
|
-
if (this.saveToExcel.observers.length === 0) {
|
|
17
|
-
if (isDevMode()) {
|
|
18
|
-
throw new Error('Saving excel requires including the ExcelModule and adding the <kendo-treelist-excel> component.');
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
this.saveToExcel.emit(component);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
toggleLoading(value) {
|
|
26
|
-
this.loading = value;
|
|
27
|
-
this.loadingChange.emit();
|
|
28
|
-
}
|
|
29
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
30
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelService });
|
|
31
|
-
}
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelService, decorators: [{
|
|
33
|
-
type: Injectable
|
|
34
|
-
}] });
|
|
@@ -1,30 +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
|
-
* Arguments for the TreeList expand and collapse events. [See example]({% slug treelist_expanded_state %}).
|
|
8
|
-
*/
|
|
9
|
-
export class ExpandEvent extends PreventableEvent {
|
|
10
|
-
/**
|
|
11
|
-
* The expanded or collapsed data item.
|
|
12
|
-
*/
|
|
13
|
-
dataItem;
|
|
14
|
-
/**
|
|
15
|
-
* The TreeList component that triggers the event.
|
|
16
|
-
*/
|
|
17
|
-
sender;
|
|
18
|
-
/**
|
|
19
|
-
* @hidden
|
|
20
|
-
*/
|
|
21
|
-
expand;
|
|
22
|
-
/**
|
|
23
|
-
* @hidden
|
|
24
|
-
*/
|
|
25
|
-
constructor(args) {
|
|
26
|
-
super();
|
|
27
|
-
this.expand = args.expand;
|
|
28
|
-
this.dataItem = args.dataItem;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
@@ -1,38 +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 { Injectable } from '@angular/core';
|
|
6
|
-
import { ExpandEvent } from './expand-event';
|
|
7
|
-
import { Subject } from "rxjs";
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
/**
|
|
10
|
-
* @hidden
|
|
11
|
-
*/
|
|
12
|
-
export const defaultExpanded = (_item) => true;
|
|
13
|
-
/**
|
|
14
|
-
* @hidden
|
|
15
|
-
*/
|
|
16
|
-
export class ExpandStateService {
|
|
17
|
-
changes = new Subject();
|
|
18
|
-
isExpanded = defaultExpanded;
|
|
19
|
-
toggleState(dataItem) {
|
|
20
|
-
const isExpanded = this.isExpanded(dataItem);
|
|
21
|
-
this.changes.next(new ExpandEvent({ dataItem: dataItem, expand: !isExpanded }));
|
|
22
|
-
}
|
|
23
|
-
expand(dataItem) {
|
|
24
|
-
if (!this.isExpanded(dataItem)) {
|
|
25
|
-
this.changes.next(new ExpandEvent({ dataItem: dataItem, expand: true }));
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
collapse(dataItem) {
|
|
29
|
-
if (this.isExpanded(dataItem)) {
|
|
30
|
-
this.changes.next(new ExpandEvent({ dataItem: dataItem, expand: false }));
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExpandStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
34
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExpandStateService });
|
|
35
|
-
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExpandStateService, decorators: [{
|
|
37
|
-
type: Injectable
|
|
38
|
-
}] });
|
|
@@ -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 { Injectable } from '@angular/core';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
/**
|
|
8
|
-
* @hidden
|
|
9
|
-
*
|
|
10
|
-
* An injection token used by the expand-directive to interface with the TreeList or the Gantt.
|
|
11
|
-
*/
|
|
12
|
-
export class ExpandableTreeComponent {
|
|
13
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExpandableTreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
14
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExpandableTreeComponent });
|
|
15
|
-
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExpandableTreeComponent, decorators: [{
|
|
17
|
-
type: Injectable
|
|
18
|
-
}] });
|