@progress-chef/platform-shared-components 0.0.154 → 0.0.155
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/assets/icons/IconFont.css +6 -3
- package/assets/icons/IconFont.scss +6 -3
- package/assets/icons/IconFont.ttf +0 -0
- package/assets/icons/IconFont.woff +0 -0
- package/assets/icons/IconFont.woff2 +0 -0
- package/esm2022/lib/atoms/atoms.module.mjs +15 -1
- package/esm2022/lib/atoms/drag-and-drop/drag-and-drop.component.mjs +31 -3
- package/esm2022/lib/atoms/markdown-display/markdown-display.component.mjs +39 -0
- package/esm2022/lib/atoms/markdown-display/markdown-display.module.mjs +26 -0
- package/esm2022/lib/atoms/markdown-display/markdown-display.service.mjs +53 -0
- package/esm2022/lib/atoms/tree-list/tree-list.component.mjs +404 -0
- package/esm2022/lib/atoms/tree-list/tree-list.interfaces.mjs +2 -0
- package/esm2022/lib/atoms/tree-list/tree-list.module.mjs +44 -0
- package/esm2022/lib/atoms/tree-view/tree-view.component.mjs +521 -0
- package/esm2022/lib/atoms/tree-view/tree-view.interfaces.mjs +2 -0
- package/esm2022/lib/atoms/tree-view/tree-view.module.mjs +44 -0
- package/esm2022/public-api.mjs +7 -1
- package/fesm2022/progress-chef-platform-shared-components.mjs +1139 -13
- package/fesm2022/progress-chef-platform-shared-components.mjs.map +1 -1
- package/lib/atoms/atoms.module.d.ts +5 -3
- package/lib/atoms/drag-and-drop/drag-and-drop.component.d.ts +10 -1
- package/lib/atoms/markdown-display/markdown-display.component.d.ts +22 -0
- package/lib/atoms/markdown-display/markdown-display.module.d.ts +8 -0
- package/lib/atoms/markdown-display/markdown-display.service.d.ts +23 -0
- package/lib/atoms/tree-list/tree-list.component.d.ts +288 -0
- package/lib/atoms/tree-list/tree-list.interfaces.d.ts +31 -0
- package/lib/atoms/tree-list/tree-list.module.d.ts +13 -0
- package/lib/atoms/tree-view/tree-view.component.d.ts +279 -0
- package/lib/atoms/tree-view/tree-view.interfaces.d.ts +23 -0
- package/lib/atoms/tree-view/tree-view.module.d.ts +13 -0
- package/package.json +2 -1
- package/public-api.d.ts +6 -0
|
@@ -38,10 +38,12 @@ import * as i36 from "./textbox/textbox.module";
|
|
|
38
38
|
import * as i37 from "./time-picker/time-picker.module";
|
|
39
39
|
import * as i38 from "./timescheduler/timescheduler.module";
|
|
40
40
|
import * as i39 from "./tooltip/tooltip.module";
|
|
41
|
-
import * as i40 from "./
|
|
42
|
-
import * as i41 from "./
|
|
41
|
+
import * as i40 from "./tree-list/tree-list.module";
|
|
42
|
+
import * as i41 from "./tree-view/tree-view.module";
|
|
43
|
+
import * as i42 from "./typography/typography.module";
|
|
44
|
+
import * as i43 from "./uploader/uploader.module";
|
|
43
45
|
export declare class AtomsModule {
|
|
44
46
|
static ɵfac: i0.ɵɵFactoryDeclaration<AtomsModule, never>;
|
|
45
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AtomsModule, never, [typeof i1.CommonModule, typeof i2.FormsModule, typeof i2.ReactiveFormsModule, typeof i3.AlertModule, typeof i4.AngularPopupModule, typeof i5.AvatarModule, typeof i6.BreadcrumbModule, typeof i7.ButtonModule, typeof i8.ButtonGroupModule, typeof i9.CheckboxModule, typeof i10.ChipModule, typeof i11.ChipListModule, typeof i12.ClipboardModule, typeof i13.ContainerModule, typeof i14.DateRangeModule, typeof i15.DatepickerModule, typeof i16.DragAndDropModule, typeof i17.DropdownModule, typeof i18.DropdownButtonModule, typeof i19.DropdowntreeModule, typeof i20.ExpansionPanelModule, typeof i21.IconModule, typeof i22.LabelsModule, typeof i23.ListViewsModule, typeof i24.LoaderModule, typeof i25.LoadingSpinnerModule, typeof i26.MultiSelectDropdownModule, typeof i27.NotificationModule, typeof i28.NumericTextboxModule, typeof i29.ProgressBarsModule, typeof i30.RadioButtonModule, typeof i31.SearchBoxModule, typeof i32.SliderModule, typeof i33.StepperModule, typeof i34.SwitchModule, typeof i35.TextAreaModule, typeof i36.TextboxModule, typeof i37.TimePickerModule, typeof i38.TimeschedulerModule, typeof i39.TooltipModule, typeof i40.
|
|
47
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AtomsModule, never, [typeof i1.CommonModule, typeof i2.FormsModule, typeof i2.ReactiveFormsModule, typeof i3.AlertModule, typeof i4.AngularPopupModule, typeof i5.AvatarModule, typeof i6.BreadcrumbModule, typeof i7.ButtonModule, typeof i8.ButtonGroupModule, typeof i9.CheckboxModule, typeof i10.ChipModule, typeof i11.ChipListModule, typeof i12.ClipboardModule, typeof i13.ContainerModule, typeof i14.DateRangeModule, typeof i15.DatepickerModule, typeof i16.DragAndDropModule, typeof i17.DropdownModule, typeof i18.DropdownButtonModule, typeof i19.DropdowntreeModule, typeof i20.ExpansionPanelModule, typeof i21.IconModule, typeof i22.LabelsModule, typeof i23.ListViewsModule, typeof i24.LoaderModule, typeof i25.LoadingSpinnerModule, typeof i26.MultiSelectDropdownModule, typeof i27.NotificationModule, typeof i28.NumericTextboxModule, typeof i29.ProgressBarsModule, typeof i30.RadioButtonModule, typeof i31.SearchBoxModule, typeof i32.SliderModule, typeof i33.StepperModule, typeof i34.SwitchModule, typeof i35.TextAreaModule, typeof i36.TextboxModule, typeof i37.TimePickerModule, typeof i38.TimeschedulerModule, typeof i39.TooltipModule, typeof i40.TreeListModule, typeof i41.TreeViewModule, typeof i42.TypographyModule, typeof i43.UploaderModule], [typeof i3.AlertModule, typeof i4.AngularPopupModule, typeof i5.AvatarModule, typeof i6.BreadcrumbModule, typeof i7.ButtonModule, typeof i8.ButtonGroupModule, typeof i9.CheckboxModule, typeof i10.ChipModule, typeof i11.ChipListModule, typeof i12.ClipboardModule, typeof i13.ContainerModule, typeof i14.DateRangeModule, typeof i15.DatepickerModule, typeof i16.DragAndDropModule, typeof i17.DropdownModule, typeof i18.DropdownButtonModule, typeof i19.DropdowntreeModule, typeof i20.ExpansionPanelModule, typeof i21.IconModule, typeof i22.LabelsModule, typeof i23.ListViewsModule, typeof i24.LoaderModule, typeof i25.LoadingSpinnerModule, typeof i26.MultiSelectDropdownModule, typeof i27.NotificationModule, typeof i28.NumericTextboxModule, typeof i29.ProgressBarsModule, typeof i30.RadioButtonModule, typeof i31.SearchBoxModule, typeof i32.SliderModule, typeof i33.StepperModule, typeof i34.SwitchModule, typeof i35.TextAreaModule, typeof i36.TextboxModule, typeof i37.TimePickerModule, typeof i38.TimeschedulerModule, typeof i39.TooltipModule, typeof i40.TreeListModule, typeof i41.TreeViewModule, typeof i42.TypographyModule, typeof i43.UploaderModule]>;
|
|
46
48
|
static ɵinj: i0.ɵɵInjectorDeclaration<AtomsModule>;
|
|
47
49
|
}
|
|
@@ -10,6 +10,11 @@ export declare class DragAndDropComponent implements AfterViewInit {
|
|
|
10
10
|
set listData(value: any);
|
|
11
11
|
private _listData;
|
|
12
12
|
emitListChangeEv: EventEmitter<any>;
|
|
13
|
+
dragEnter: EventEmitter<any>;
|
|
14
|
+
dragLeave: EventEmitter<any>;
|
|
15
|
+
dropDone: EventEmitter<any>;
|
|
16
|
+
dragStart: EventEmitter<any>;
|
|
17
|
+
dragRelease: EventEmitter<any>;
|
|
13
18
|
dragTargetContainer: DragTargetContainerDirective;
|
|
14
19
|
dropTargetContainer: DropTargetContainerDirective;
|
|
15
20
|
ngAfterViewInit(): void;
|
|
@@ -17,10 +22,14 @@ export declare class DragAndDropComponent implements AfterViewInit {
|
|
|
17
22
|
fromElement: number;
|
|
18
23
|
fromIndex: number;
|
|
19
24
|
};
|
|
25
|
+
onDragEnter(e: DropTargetEvent): void;
|
|
26
|
+
onDragLeave(e: DropTargetEvent): void;
|
|
27
|
+
onRelease(e: DropTargetEvent): void;
|
|
28
|
+
onDragStart(e: DropTargetEvent): void;
|
|
20
29
|
onDrop(e: DropTargetEvent): void;
|
|
21
30
|
setElement(target: HTMLDivElement, selector: any, attribute: string): number;
|
|
22
31
|
updateData(fromCollection: any[], fromIndex: number, toIndex: number, dataFromCollection: any): void;
|
|
23
32
|
calculateDestinationIndex(e: any, fromIndex: any): number;
|
|
24
33
|
static ɵfac: i0.ɵɵFactoryDeclaration<DragAndDropComponent, never>;
|
|
25
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DragAndDropComponent, "lib-drag-and-drop", never, { "dragDropContainerClassSelector": { "alias": "dragDropContainerClassSelector"; "required": false; }; "dragDropItemClassSelector": { "alias": "dragDropItemClassSelector"; "required": false; }; "dragDropContainerIndexAttribute": { "alias": "dragDropContainerIndexAttribute"; "required": false; }; "dragDropItemIndexAttribute": { "alias": "dragDropItemIndexAttribute"; "required": false; }; "dragHandleClassSelector": { "alias": "dragHandleClassSelector"; "required": false; }; "listData": { "alias": "listData"; "required": false; }; }, { "emitListChangeEv": "emitListChangeEv"; }, never, ["*"], true, never>;
|
|
34
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DragAndDropComponent, "lib-drag-and-drop", never, { "dragDropContainerClassSelector": { "alias": "dragDropContainerClassSelector"; "required": false; }; "dragDropItemClassSelector": { "alias": "dragDropItemClassSelector"; "required": false; }; "dragDropContainerIndexAttribute": { "alias": "dragDropContainerIndexAttribute"; "required": false; }; "dragDropItemIndexAttribute": { "alias": "dragDropItemIndexAttribute"; "required": false; }; "dragHandleClassSelector": { "alias": "dragHandleClassSelector"; "required": false; }; "listData": { "alias": "listData"; "required": false; }; }, { "emitListChangeEv": "emitListChangeEv"; "dragEnter": "dragEnter"; "dragLeave": "dragLeave"; "dropDone": "dropDone"; "dragStart": "dragStart"; "dragRelease": "dragRelease"; }, never, ["*"], true, never>;
|
|
26
35
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { OnInit, OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { MarkdownDisplayService } from './markdown-display.service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Component for displaying markdown files with rendering
|
|
6
|
+
* Uses the MarkdownDisplayService to convert markdown to HTML
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* <!-- Display markdown content from string -->
|
|
10
|
+
* <lib-markdown-display [content]="markdownContent"></lib-markdown-display>
|
|
11
|
+
*/
|
|
12
|
+
export declare class MarkdownDisplayComponent implements OnInit, OnChanges {
|
|
13
|
+
private markdownDisplayService;
|
|
14
|
+
content: string;
|
|
15
|
+
renderedContent: string;
|
|
16
|
+
constructor(markdownDisplayService: MarkdownDisplayService);
|
|
17
|
+
ngOnInit(): void;
|
|
18
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
19
|
+
private renderMarkdown;
|
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MarkdownDisplayComponent, never>;
|
|
21
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MarkdownDisplayComponent, "lib-markdown-display", never, { "content": { "alias": "content"; "required": false; }; }, {}, never, never, true, never>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "@angular/common";
|
|
3
|
+
import * as i2 from "./markdown-display.component";
|
|
4
|
+
export declare class MarkdownDisplayModule {
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MarkdownDisplayModule, never>;
|
|
6
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<MarkdownDisplayModule, never, [typeof i1.CommonModule, typeof i2.MarkdownDisplayComponent], [typeof i1.CommonModule, typeof i2.MarkdownDisplayComponent]>;
|
|
7
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<MarkdownDisplayModule>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { DomSanitizer } from '@angular/platform-browser';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Service for rendering markdown content to safe HTML
|
|
5
|
+
* Handles configuration of the marked library and sanitization
|
|
6
|
+
*/
|
|
7
|
+
export declare class MarkdownDisplayService {
|
|
8
|
+
private sanitizer;
|
|
9
|
+
constructor(sanitizer: DomSanitizer);
|
|
10
|
+
/**
|
|
11
|
+
* Configure marked options for GitHub-flavored markdown rendering
|
|
12
|
+
* @private
|
|
13
|
+
*/
|
|
14
|
+
private configureMarked;
|
|
15
|
+
/**
|
|
16
|
+
* Render markdown content to safe HTML
|
|
17
|
+
* @param content - The markdown content to render
|
|
18
|
+
* @returns Promise resolving to sanitized HTML string or empty string if no content
|
|
19
|
+
*/
|
|
20
|
+
renderMarkdown(content: string): Promise<string>;
|
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MarkdownDisplayService, never>;
|
|
22
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<MarkdownDisplayService>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { TreeListComponent as KendoTreeListComponent, AddEvent, CancelEvent, EditEvent, RemoveEvent, SaveEvent, PageChangeEvent } from '@progress/kendo-angular-treelist';
|
|
3
|
+
import { SortDescriptor } from '@progress/kendo-data-query';
|
|
4
|
+
import { TreeListNode, TreeListColumn } from './tree-list.interfaces';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
/**
|
|
7
|
+
* Custom TreeList component that wraps Kendo's TreeList with design system styling.
|
|
8
|
+
*
|
|
9
|
+
* This component provides a hierarchical data grid for displaying and editing tabular data.
|
|
10
|
+
* It supports selection, sorting, filtering, editing, and custom column templates.
|
|
11
|
+
*/
|
|
12
|
+
export declare class TreeListComponent {
|
|
13
|
+
/**
|
|
14
|
+
* ViewChild reference to the Kendo TreeList component instance
|
|
15
|
+
*/
|
|
16
|
+
treeListElement: KendoTreeListComponent;
|
|
17
|
+
/**
|
|
18
|
+
* The data source for the tree list
|
|
19
|
+
*/
|
|
20
|
+
data: TreeListNode[];
|
|
21
|
+
/**
|
|
22
|
+
* Column definitions for the tree list
|
|
23
|
+
*/
|
|
24
|
+
columns: TreeListColumn[];
|
|
25
|
+
/**
|
|
26
|
+
* Field name that contains the unique identifier for each node
|
|
27
|
+
*/
|
|
28
|
+
idField: string;
|
|
29
|
+
/**
|
|
30
|
+
* Field name that contains the child nodes array (for hierarchical binding)
|
|
31
|
+
*/
|
|
32
|
+
childrenField: string;
|
|
33
|
+
/**
|
|
34
|
+
* Field name that contains the parent identifier (for flat binding)
|
|
35
|
+
*/
|
|
36
|
+
parentIdField: string;
|
|
37
|
+
/**
|
|
38
|
+
* Binding type: 'hierarchy' for nested data with children, 'flat' for parent-child relationship data
|
|
39
|
+
*/
|
|
40
|
+
bindingType: 'hierarchy' | 'flat';
|
|
41
|
+
/**
|
|
42
|
+
* Callback function that retrieves child nodes for a particular node (for manual binding)
|
|
43
|
+
*/
|
|
44
|
+
fetchChildren: ((item: any) => any[]) | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* Callback function that determines if a particular node has children (for manual binding)
|
|
47
|
+
*/
|
|
48
|
+
hasChildren: ((item: any) => boolean) | undefined;
|
|
49
|
+
/**
|
|
50
|
+
* Callback function that determines if a particular node is expanded (for manual binding)
|
|
51
|
+
*/
|
|
52
|
+
isExpanded: ((item: any) => boolean) | undefined;
|
|
53
|
+
/**
|
|
54
|
+
* Enable selection functionality
|
|
55
|
+
*/
|
|
56
|
+
selectable: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Enable sorting functionality
|
|
59
|
+
*/
|
|
60
|
+
sortable: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Enable filtering functionality
|
|
63
|
+
*/
|
|
64
|
+
filterable: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Enable resizing functionality
|
|
67
|
+
*/
|
|
68
|
+
resizable: boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Enable reordering functionality
|
|
71
|
+
*/
|
|
72
|
+
reorderable: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Enable editing functionality
|
|
75
|
+
*/
|
|
76
|
+
editable: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Loading state - shows loading indicator when true
|
|
79
|
+
*/
|
|
80
|
+
loading: boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Height of the tree list container
|
|
83
|
+
*/
|
|
84
|
+
height: number | string;
|
|
85
|
+
/**
|
|
86
|
+
* Enable virtual scrolling
|
|
87
|
+
*/
|
|
88
|
+
scrollable: boolean;
|
|
89
|
+
/**
|
|
90
|
+
* Page size for pagination
|
|
91
|
+
*/
|
|
92
|
+
pageSize: number;
|
|
93
|
+
/**
|
|
94
|
+
* Enable pagination
|
|
95
|
+
*/
|
|
96
|
+
pageable: boolean;
|
|
97
|
+
/**
|
|
98
|
+
* Current sort configuration
|
|
99
|
+
*/
|
|
100
|
+
sort: SortDescriptor[];
|
|
101
|
+
/**
|
|
102
|
+
* Custom cell template
|
|
103
|
+
*/
|
|
104
|
+
cellTemplate?: any;
|
|
105
|
+
/**
|
|
106
|
+
* Custom header template
|
|
107
|
+
*/
|
|
108
|
+
headerTemplate?: any;
|
|
109
|
+
/**
|
|
110
|
+
* Custom footer template
|
|
111
|
+
*/
|
|
112
|
+
footerTemplate?: any;
|
|
113
|
+
/**
|
|
114
|
+
* Custom edit template
|
|
115
|
+
*/
|
|
116
|
+
editTemplate?: any;
|
|
117
|
+
/**
|
|
118
|
+
* Custom command column template
|
|
119
|
+
*/
|
|
120
|
+
commandTemplate?: any;
|
|
121
|
+
/**
|
|
122
|
+
* Custom no records template
|
|
123
|
+
*/
|
|
124
|
+
noRecordsTemplate?: any;
|
|
125
|
+
/**
|
|
126
|
+
* Custom loading template
|
|
127
|
+
*/
|
|
128
|
+
loadingTemplate?: any;
|
|
129
|
+
selectionChange: EventEmitter<any>;
|
|
130
|
+
expand: EventEmitter<{
|
|
131
|
+
dataItem: TreeListNode;
|
|
132
|
+
index: string;
|
|
133
|
+
}>;
|
|
134
|
+
collapse: EventEmitter<{
|
|
135
|
+
dataItem: TreeListNode;
|
|
136
|
+
index: string;
|
|
137
|
+
}>;
|
|
138
|
+
sortChange: EventEmitter<SortDescriptor[]>;
|
|
139
|
+
filterChange: EventEmitter<any>;
|
|
140
|
+
pageChange: EventEmitter<PageChangeEvent>;
|
|
141
|
+
add: EventEmitter<AddEvent>;
|
|
142
|
+
edit: EventEmitter<EditEvent>;
|
|
143
|
+
cancelEvent: EventEmitter<SaveEvent>;
|
|
144
|
+
save: EventEmitter<SaveEvent>;
|
|
145
|
+
remove: EventEmitter<RemoveEvent>;
|
|
146
|
+
cellClick: EventEmitter<any>;
|
|
147
|
+
cellClose: EventEmitter<any>;
|
|
148
|
+
/**
|
|
149
|
+
* Generates CSS classes for the tree-list container element based on current state.
|
|
150
|
+
* Applies conditional classes for loading state and editing mode to enable appropriate styling.
|
|
151
|
+
*
|
|
152
|
+
* @returns A space-separated string of CSS class names to apply to the container
|
|
153
|
+
*/
|
|
154
|
+
getTreeListClasses(): string;
|
|
155
|
+
/**
|
|
156
|
+
* Handles selection state changes when users select or deselect tree-list rows.
|
|
157
|
+
* Propagates the selection event to parent components for external handling.
|
|
158
|
+
*
|
|
159
|
+
* @param event - The selection change event containing selected items and metadata
|
|
160
|
+
*/
|
|
161
|
+
onSelectionChange(event: any): void;
|
|
162
|
+
/**
|
|
163
|
+
* Handles node expansion events when users expand collapsed hierarchical tree nodes.
|
|
164
|
+
* Emits the expand event to notify parent components of the state change for potential data loading.
|
|
165
|
+
*
|
|
166
|
+
* @param event - The expand event containing the expanded node data and index information
|
|
167
|
+
*/
|
|
168
|
+
onExpand(event: any): void;
|
|
169
|
+
/**
|
|
170
|
+
* Handles node collapse events when users collapse expanded hierarchical tree nodes.
|
|
171
|
+
* Emits the collapse event to notify parent components of the state change for cleanup or optimization.
|
|
172
|
+
*
|
|
173
|
+
* @param event - The collapse event containing the collapsed node data and index information
|
|
174
|
+
*/
|
|
175
|
+
onCollapse(event: any): void;
|
|
176
|
+
/**
|
|
177
|
+
* Handles column sorting changes when users click on sortable column headers.
|
|
178
|
+
* Updates the internal sort state and propagates the change to parent components for data reordering.
|
|
179
|
+
*
|
|
180
|
+
* @param sort - Array of sort descriptors defining field names and sort directions (asc/desc)
|
|
181
|
+
*/
|
|
182
|
+
onSortChange(sort: SortDescriptor[]): void;
|
|
183
|
+
/**
|
|
184
|
+
* Handles filter criteria changes when users interact with column filters or search functionality.
|
|
185
|
+
* Propagates filter events to parent components for server-side or client-side data filtering.
|
|
186
|
+
*
|
|
187
|
+
* @param filter - The filter object containing criteria, operators, and field specifications
|
|
188
|
+
*/
|
|
189
|
+
onFilterChange(filter: any): void;
|
|
190
|
+
/**
|
|
191
|
+
* Handles pagination navigation when users interact with pager controls.
|
|
192
|
+
* Propagates page change events to parent components for data loading of the requested page.
|
|
193
|
+
*
|
|
194
|
+
* @param event - The page change event containing skip, take, and page size information
|
|
195
|
+
*/
|
|
196
|
+
onPageChange(event: PageChangeEvent): void;
|
|
197
|
+
/**
|
|
198
|
+
* Handles add/create events when users initiate creation of new tree-list items.
|
|
199
|
+
* Propagates the add event to parent components for handling new item creation logic and validation.
|
|
200
|
+
*
|
|
201
|
+
* @param event - The add event containing parent item context and position information for insertion
|
|
202
|
+
*/
|
|
203
|
+
onAdd(event: AddEvent): void;
|
|
204
|
+
/**
|
|
205
|
+
* Handles edit mode activation when users enter editing mode for tree-list items.
|
|
206
|
+
* Propagates the edit event to parent components for setting up edit state and validation rules.
|
|
207
|
+
*
|
|
208
|
+
* @param event - The edit event containing the item data being edited and row context
|
|
209
|
+
*/
|
|
210
|
+
onEdit(event: EditEvent): void;
|
|
211
|
+
/**
|
|
212
|
+
* Handles edit cancellation when users discard changes and exit editing mode without saving.
|
|
213
|
+
* Propagates the cancel event to parent components for cleanup and restoring original data state.
|
|
214
|
+
*
|
|
215
|
+
* @param event - The cancel event containing the item data that was being edited
|
|
216
|
+
*/
|
|
217
|
+
onCancel(event: CancelEvent): void;
|
|
218
|
+
/**
|
|
219
|
+
* Handles save operations when users commit changes after editing tree-list items.
|
|
220
|
+
* Propagates the save event to parent components for validation, persistence, and data refresh.
|
|
221
|
+
*
|
|
222
|
+
* @param event - The save event containing the modified item data and original values for comparison
|
|
223
|
+
*/
|
|
224
|
+
onSave(event: SaveEvent): void;
|
|
225
|
+
/**
|
|
226
|
+
* Handles delete/removal operations when users confirm deletion of tree-list items.
|
|
227
|
+
* Propagates the remove event to parent components for confirmation dialogs and data deletion.
|
|
228
|
+
*
|
|
229
|
+
* @param event - The remove event containing the item data to be deleted and hierarchical context
|
|
230
|
+
*/
|
|
231
|
+
onRemove(event: RemoveEvent): void;
|
|
232
|
+
/**
|
|
233
|
+
* Handles individual cell click events within the tree-list for custom interaction handling.
|
|
234
|
+
* Propagates cell click events to parent components for custom actions, navigation, or cell-specific logic.
|
|
235
|
+
*
|
|
236
|
+
* @param event - The cell click event containing cell data, coordinates, and column information
|
|
237
|
+
*/
|
|
238
|
+
onCellClick(event: any): void;
|
|
239
|
+
/**
|
|
240
|
+
* Handles cell editor close events when users exit cell editing mode.
|
|
241
|
+
* Propagates cell close events to parent components for cleanup and state management.
|
|
242
|
+
*
|
|
243
|
+
* @param event - The cell close event containing editor state and any pending changes
|
|
244
|
+
*/
|
|
245
|
+
onCellClose(event: any): void;
|
|
246
|
+
/**
|
|
247
|
+
* Handles edit button clicks from command column or custom templates to initiate item editing.
|
|
248
|
+
* Creates and emits a properly formatted EditEvent to notify parent components of edit intention.
|
|
249
|
+
* This method bridges custom UI elements with the standard Kendo TreeList editing workflow.
|
|
250
|
+
*
|
|
251
|
+
* @param dataItem - The tree-list item data object to be edited
|
|
252
|
+
*/
|
|
253
|
+
onEditButtonClick(dataItem: any): void;
|
|
254
|
+
/**
|
|
255
|
+
* Handles remove button clicks from command column or custom templates to initiate item deletion.
|
|
256
|
+
* Creates and emits a properly formatted RemoveEvent to notify parent components of deletion request.
|
|
257
|
+
* This method bridges custom UI elements with the standard Kendo TreeList removal workflow.
|
|
258
|
+
*
|
|
259
|
+
* @param dataItem - The tree-list item data object to be deleted
|
|
260
|
+
*/
|
|
261
|
+
onRemoveButtonClick(dataItem: any): void;
|
|
262
|
+
/**
|
|
263
|
+
* Recursively expands all collapsible nodes in the tree-list hierarchy.
|
|
264
|
+
* Iterates through all top-level data items and uses the Kendo TreeList API to expand each node,
|
|
265
|
+
* which triggers cascading expansion of all child nodes. Safely handles cases where the
|
|
266
|
+
* TreeList element is not yet initialized.
|
|
267
|
+
*/
|
|
268
|
+
expandAll(): void;
|
|
269
|
+
/**
|
|
270
|
+
* Recursively collapses all expandable nodes in the tree-list hierarchy.
|
|
271
|
+
* Iterates through all top-level data items and uses the Kendo TreeList API to collapse each node,
|
|
272
|
+
* which triggers cascading collapse of all child nodes. Safely handles cases where the
|
|
273
|
+
* TreeList element is not yet initialized.
|
|
274
|
+
*/
|
|
275
|
+
collapseAll(): void;
|
|
276
|
+
/**
|
|
277
|
+
* Provides a tracking function for Angular's ngFor optimization when rendering column definitions.
|
|
278
|
+
* Returns a unique identifier for each column to help Angular efficiently track and update
|
|
279
|
+
* column elements during re-rendering. Falls back to array index if no field property exists.
|
|
280
|
+
*
|
|
281
|
+
* @param index - The array index of the column in the columns collection
|
|
282
|
+
* @param column - The column configuration object containing field and other properties
|
|
283
|
+
* @returns A unique identifier for the column (field name or array index)
|
|
284
|
+
*/
|
|
285
|
+
trackByColumn(index: number, column: TreeListColumn): any;
|
|
286
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TreeListComponent, never>;
|
|
287
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TreeListComponent, "lib-tree-list", never, { "data": { "alias": "data"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "idField": { "alias": "idField"; "required": false; }; "childrenField": { "alias": "childrenField"; "required": false; }; "parentIdField": { "alias": "parentIdField"; "required": false; }; "bindingType": { "alias": "bindingType"; "required": false; }; "fetchChildren": { "alias": "fetchChildren"; "required": false; }; "hasChildren": { "alias": "hasChildren"; "required": false; }; "isExpanded": { "alias": "isExpanded"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; "sortable": { "alias": "sortable"; "required": false; }; "filterable": { "alias": "filterable"; "required": false; }; "resizable": { "alias": "resizable"; "required": false; }; "reorderable": { "alias": "reorderable"; "required": false; }; "editable": { "alias": "editable"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "height": { "alias": "height"; "required": false; }; "scrollable": { "alias": "scrollable"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "pageable": { "alias": "pageable"; "required": false; }; "sort": { "alias": "sort"; "required": false; }; "cellTemplate": { "alias": "cellTemplate"; "required": false; }; "headerTemplate": { "alias": "headerTemplate"; "required": false; }; "footerTemplate": { "alias": "footerTemplate"; "required": false; }; "editTemplate": { "alias": "editTemplate"; "required": false; }; "commandTemplate": { "alias": "commandTemplate"; "required": false; }; "noRecordsTemplate": { "alias": "noRecordsTemplate"; "required": false; }; "loadingTemplate": { "alias": "loadingTemplate"; "required": false; }; }, { "selectionChange": "selectionChange"; "expand": "expand"; "collapse": "collapse"; "sortChange": "sortChange"; "filterChange": "filterChange"; "pageChange": "pageChange"; "add": "add"; "edit": "edit"; "cancelEvent": "cancelEvent"; "save": "save"; "remove": "remove"; "cellClick": "cellClick"; "cellClose": "cellClose"; }, never, never, true, never>;
|
|
288
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TreeList node interface
|
|
3
|
+
*/
|
|
4
|
+
export interface TreeListNode {
|
|
5
|
+
[key: string]: any;
|
|
6
|
+
id?: any;
|
|
7
|
+
parentId?: any;
|
|
8
|
+
expanded?: boolean;
|
|
9
|
+
hasChildren?: boolean;
|
|
10
|
+
children?: TreeListNode[];
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Column configuration interface
|
|
14
|
+
*/
|
|
15
|
+
export interface TreeListColumn {
|
|
16
|
+
field: string;
|
|
17
|
+
title?: string;
|
|
18
|
+
width?: number | string;
|
|
19
|
+
minWidth?: number;
|
|
20
|
+
maxWidth?: number;
|
|
21
|
+
locked?: boolean;
|
|
22
|
+
hidden?: boolean;
|
|
23
|
+
sortable?: boolean;
|
|
24
|
+
filterable?: boolean;
|
|
25
|
+
editable?: boolean;
|
|
26
|
+
format?: string;
|
|
27
|
+
template?: any;
|
|
28
|
+
headerTemplate?: any;
|
|
29
|
+
footerTemplate?: any;
|
|
30
|
+
[key: string]: any;
|
|
31
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./tree-list.component";
|
|
3
|
+
import * as i2 from "@angular/common";
|
|
4
|
+
import * as i3 from "@progress/kendo-angular-treelist";
|
|
5
|
+
import * as i4 from "@progress/kendo-angular-icons";
|
|
6
|
+
import * as i5 from "../button/button.module";
|
|
7
|
+
import * as i6 from "../icon/icon.module";
|
|
8
|
+
import * as i7 from "../loader/loader.module";
|
|
9
|
+
export declare class TreeListModule {
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TreeListModule, never>;
|
|
11
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<TreeListModule, never, [typeof i1.TreeListComponent, typeof i2.CommonModule, typeof i3.TreeListModule, typeof i4.IconsModule, typeof i5.ButtonModule, typeof i6.IconModule, typeof i7.LoaderModule], [typeof i1.TreeListComponent]>;
|
|
12
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<TreeListModule>;
|
|
13
|
+
}
|