@fundamental-ngx/core 0.41.0 → 0.41.1-rc.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/esm2020/multi-combobox/base-multi-combobox.class.mjs +1 -1
- package/esm2020/multi-combobox/multi-combobox.component.mjs +3 -9
- package/esm2020/radio/radio-button/radio-button.component.mjs +22 -5
- package/esm2020/tree/components/tree-item/tree-item.component.mjs +296 -0
- package/esm2020/tree/data-source/tree-data-source-parser.mjs +22 -0
- package/esm2020/tree/data-source/tree-data-source.mjs +23 -0
- package/esm2020/tree/directives/tree-item-button.directive.mjs +16 -0
- package/esm2020/tree/directives/tree-item-def.directive.mjs +23 -0
- package/esm2020/tree/directives/tree-item-icon.directive.mjs +41 -0
- package/esm2020/tree/directives/tree-item.directive.mjs +26 -0
- package/esm2020/tree/models/base-tree-item.class.mjs +25 -0
- package/esm2020/tree/models/selection-type.mjs +2 -0
- package/esm2020/tree/models/tree-item-def-context.mjs +2 -0
- package/esm2020/tree/models/tree-item.mjs +2 -0
- package/esm2020/tree/public_api.mjs +14 -3
- package/esm2020/tree/tokens.mjs +3 -0
- package/esm2020/tree/tree.component.mjs +399 -57
- package/esm2020/tree/tree.module.mjs +83 -7
- package/esm2020/tree/tree.service.mjs +101 -0
- package/fesm2015/fundamental-ngx-core-multi-combobox.mjs +2 -8
- package/fesm2015/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-radio.mjs +21 -4
- package/fesm2015/fundamental-ngx-core-radio.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-tree.mjs +997 -106
- package/fesm2015/fundamental-ngx-core-tree.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-multi-combobox.mjs +2 -8
- package/fesm2020/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-radio.mjs +21 -4
- package/fesm2020/fundamental-ngx-core-radio.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-tree.mjs +995 -106
- package/fesm2020/fundamental-ngx-core-tree.mjs.map +1 -1
- package/fundamental-ngx-core-v0.41.1-rc.1.tgz +0 -0
- package/multi-combobox/base-multi-combobox.class.d.ts +2 -2
- package/multi-combobox/multi-combobox.component.d.ts +2 -2
- package/package.json +3 -3
- package/radio/radio-button/radio-button.component.d.ts +9 -3
- package/schematics/add-dependencies/index.js +4 -4
- package/tree/components/tree-item/tree-item.component.d.ts +145 -0
- package/tree/data-source/tree-data-source-parser.d.ts +9 -0
- package/tree/data-source/tree-data-source.d.ts +22 -0
- package/tree/directives/tree-item-button.directive.d.ts +5 -0
- package/tree/directives/tree-item-def.directive.d.ts +18 -0
- package/tree/directives/tree-item-icon.directive.d.ts +13 -0
- package/tree/directives/tree-item.directive.d.ts +19 -0
- package/tree/models/base-tree-item.class.d.ts +91 -0
- package/tree/models/selection-type.d.ts +10 -0
- package/tree/models/tree-item-def-context.d.ts +3 -0
- package/tree/models/tree-item.d.ts +17 -0
- package/tree/public_api.d.ts +13 -2
- package/tree/tokens.d.ts +2 -0
- package/tree/tree.component.d.ts +137 -19
- package/tree/tree.module.d.ts +17 -7
- package/tree/tree.service.d.ts +62 -0
- package/esm2020/tree/tree-child.component.mjs +0 -66
- package/esm2020/tree/tree-row-object.model.mjs +0 -2
- package/fundamental-ngx-core-v0.41.0.tgz +0 -0
- package/tree/tree-child.component.d.ts +0 -27
- package/tree/tree-row-object.model.d.ts +0 -5
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { ElementRef } from '@angular/core';
|
|
2
|
+
import { Nullable, SelectableItemToken } from '@fundamental-ngx/cdk/utils';
|
|
3
|
+
import { FdTreeAcceptableDataSource } from '../data-source/tree-data-source';
|
|
4
|
+
import { TreeItem, TreeItemState } from './tree-item';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare abstract class BaseTreeItem<T extends TreeItem = TreeItem, P = any> implements Partial<SelectableItemToken<HTMLElement, P>> {
|
|
7
|
+
/**
|
|
8
|
+
* Tree item value.
|
|
9
|
+
*/
|
|
10
|
+
abstract value: P;
|
|
11
|
+
/**
|
|
12
|
+
* Tree item ID.
|
|
13
|
+
*/
|
|
14
|
+
abstract id: string;
|
|
15
|
+
/**
|
|
16
|
+
* Tree item parent ID.
|
|
17
|
+
*/
|
|
18
|
+
abstract parentId: Nullable<string>;
|
|
19
|
+
/**
|
|
20
|
+
* Whether the tree item is navigatable.
|
|
21
|
+
*/
|
|
22
|
+
abstract navigatable: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Tree item state.
|
|
25
|
+
*/
|
|
26
|
+
abstract state: Nullable<TreeItemState>;
|
|
27
|
+
/**
|
|
28
|
+
* Tree item child nodes data source.
|
|
29
|
+
*/
|
|
30
|
+
abstract childNodes: FdTreeAcceptableDataSource<T>;
|
|
31
|
+
/**
|
|
32
|
+
* Whether to wrap content.
|
|
33
|
+
*/
|
|
34
|
+
abstract wrapContent: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Whether the tree item is expanded.
|
|
37
|
+
*/
|
|
38
|
+
abstract expanded: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Tree item level.
|
|
41
|
+
*/
|
|
42
|
+
abstract level: number;
|
|
43
|
+
/**
|
|
44
|
+
* Tree item children.
|
|
45
|
+
*/
|
|
46
|
+
abstract children: T[];
|
|
47
|
+
/**
|
|
48
|
+
* Whether the tree item has content projected child nodes.
|
|
49
|
+
*/
|
|
50
|
+
abstract hasProjectedChildren: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Whether the tree item has content projected child nodes or data source for children.
|
|
53
|
+
*/
|
|
54
|
+
abstract hasChildren: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Focusable tree item container.
|
|
57
|
+
*/
|
|
58
|
+
abstract itemContainer: Nullable<ElementRef>;
|
|
59
|
+
/**
|
|
60
|
+
* Whether the tree item is keyboard navigatable.
|
|
61
|
+
*/
|
|
62
|
+
abstract keyboardAccessible: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Tree item selectable item.
|
|
65
|
+
*/
|
|
66
|
+
abstract selectableListItem: SelectableItemToken;
|
|
67
|
+
/**
|
|
68
|
+
* Whether the tree item has Data Source children.
|
|
69
|
+
*/
|
|
70
|
+
abstract hasDsChildren: boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Whether the children nodes being loaded from the Data Source.
|
|
73
|
+
*/
|
|
74
|
+
abstract childrenLoaded: boolean;
|
|
75
|
+
/** @hidden */
|
|
76
|
+
private readonly _elementRef;
|
|
77
|
+
/** @hidden */
|
|
78
|
+
private readonly _treeItemDir;
|
|
79
|
+
/** @hidden */
|
|
80
|
+
constructor();
|
|
81
|
+
/** @hidden */
|
|
82
|
+
elementRef(): ElementRef;
|
|
83
|
+
/** Method to focus on the tree item. */
|
|
84
|
+
abstract focus(): void;
|
|
85
|
+
/** Method to set the position of the item in set. */
|
|
86
|
+
abstract setPosition(totalItemsCount: number, currentIndex: number): void;
|
|
87
|
+
/** Method for setting the focusable tabindex. */
|
|
88
|
+
abstract setContainerTabIndex(value: number): void;
|
|
89
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BaseTreeItem<any, any>, never>;
|
|
90
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<BaseTreeItem<any, any>, never, never, {}, {}, never, never, false, never>;
|
|
91
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type SelectionType = 'none' | 'single' | 'multiple';
|
|
2
|
+
/**
|
|
3
|
+
* Selection control placement.
|
|
4
|
+
* - 'left' will place control at the most left side of the tree item;
|
|
5
|
+
* - 'right' will place control at the most right side of the tree item;
|
|
6
|
+
* - 'none' will not render the control, but selection will still work according to `SelectionType` mode;
|
|
7
|
+
* - 'afterExpand' will place control right after the expansion button (if present) or on the left side of the tree item,
|
|
8
|
+
* if expansion button is not present.
|
|
9
|
+
*/
|
|
10
|
+
export type SelectionPlacement = 'left' | 'right' | 'none' | 'afterExpand';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { TemplateRef } from '@angular/core';
|
|
2
|
+
import { FdTreeAcceptableDataSource } from '../data-source/tree-data-source';
|
|
3
|
+
import { TreeItemDefContext } from './tree-item-def-context';
|
|
4
|
+
export type TreeItemState = 'default' | 'error' | 'success' | 'warning';
|
|
5
|
+
export interface TreeItem<T = any> {
|
|
6
|
+
id: string;
|
|
7
|
+
children: FdTreeAcceptableDataSource<Partial<TreeItem<T>>>;
|
|
8
|
+
expanded: boolean;
|
|
9
|
+
navigatable: boolean;
|
|
10
|
+
navigationIndicator: boolean;
|
|
11
|
+
data: T;
|
|
12
|
+
level: number;
|
|
13
|
+
renderer: TemplateRef<TreeItemDefContext<T>>;
|
|
14
|
+
state: TreeItemState;
|
|
15
|
+
parentId: string;
|
|
16
|
+
}
|
|
17
|
+
export type TreeItemGeneric<Type> = Type extends TreeItem<infer X> ? X : never;
|
package/tree/public_api.d.ts
CHANGED
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
export * from './tree.module';
|
|
2
2
|
export * from './tree.component';
|
|
3
|
-
export * from './tree-
|
|
4
|
-
export * from './tree-
|
|
3
|
+
export * from './models/tree-item';
|
|
4
|
+
export * from './data-source/tree-data-source';
|
|
5
|
+
export * from './data-source/tree-data-source-parser';
|
|
6
|
+
export * from './components/tree-item/tree-item.component';
|
|
7
|
+
export * from './directives/tree-item-def.directive';
|
|
8
|
+
export * from './directives/tree-item.directive';
|
|
9
|
+
export * from './directives/tree-item-icon.directive';
|
|
10
|
+
export * from './directives/tree-item-button.directive';
|
|
11
|
+
export * from './tokens';
|
|
12
|
+
export * from './models/tree-item';
|
|
13
|
+
export * from './models/selection-type';
|
|
14
|
+
export * from './models/tree-item-def-context';
|
|
15
|
+
export * from './models/base-tree-item.class';
|
package/tree/tokens.d.ts
ADDED
package/tree/tree.component.d.ts
CHANGED
|
@@ -1,36 +1,154 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { BooleanInput } from '@angular/cdk/coercion';
|
|
2
|
+
import { AfterViewInit, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, QueryList, SimpleChanges } from '@angular/core';
|
|
3
|
+
import { CssClassBuilder, Nullable, SelectableListValueType, SelectComponentRootToken } from '@fundamental-ngx/cdk/utils';
|
|
4
|
+
import { FdTreeAcceptableDataSource, FdTreeItemType } from './data-source/tree-data-source';
|
|
5
|
+
import { TreeItemDefDirective } from './directives/tree-item-def.directive';
|
|
6
|
+
import { TreeItemDirective } from './directives/tree-item.directive';
|
|
7
|
+
import { BaseTreeItem } from './models/base-tree-item.class';
|
|
8
|
+
import { SelectionPlacement, SelectionType } from './models/selection-type';
|
|
9
|
+
import { TreeItem, TreeItemGeneric } from './models/tree-item';
|
|
4
10
|
import * as i0 from "@angular/core";
|
|
5
|
-
|
|
11
|
+
import * as i1 from "@fundamental-ngx/cdk/data-source";
|
|
12
|
+
import * as i2 from "@fundamental-ngx/cdk/forms";
|
|
13
|
+
export declare class TreeComponent<P extends FdTreeAcceptableDataSource, T extends TreeItem = FdTreeItemType<P>> implements CssClassBuilder, OnInit, OnChanges, AfterViewInit, SelectComponentRootToken, OnDestroy {
|
|
6
14
|
/** @hidden */
|
|
7
|
-
|
|
15
|
+
class: string;
|
|
16
|
+
/**
|
|
17
|
+
* Whether the tree should be borderless.
|
|
18
|
+
*/
|
|
19
|
+
noBorder: boolean;
|
|
20
|
+
/** Type of tree items selection. */
|
|
21
|
+
selection: SelectionType;
|
|
22
|
+
/** Placement of the selection control. */
|
|
23
|
+
selectionPlacement: SelectionPlacement;
|
|
24
|
+
/**
|
|
25
|
+
* Whether the sections should be dependent for selection mode.
|
|
26
|
+
* If true, selection control will shift, according to the level.
|
|
27
|
+
* If false, selection control will stay on the same place ignoring the item level.
|
|
28
|
+
*/
|
|
29
|
+
independentSections: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Whether the Tree component has navigation indicators.
|
|
32
|
+
*/
|
|
33
|
+
set navigationIndicator(value: boolean);
|
|
34
|
+
get navigationIndicator(): boolean;
|
|
8
35
|
/** @hidden */
|
|
9
|
-
|
|
36
|
+
private _navigationIndicator;
|
|
37
|
+
/** Event emitted when data loading is started. */
|
|
38
|
+
dataRequested: EventEmitter<boolean>;
|
|
39
|
+
/** Event emitted when data loading is finished. */
|
|
40
|
+
dataReceived: EventEmitter<boolean>;
|
|
41
|
+
/** Event emitted when selected state changed. */
|
|
42
|
+
selectedChange: EventEmitter<any>;
|
|
10
43
|
/** @hidden */
|
|
11
|
-
|
|
44
|
+
_items: TreeItem<TreeItemGeneric<T>>[];
|
|
45
|
+
/** Tree item template definition. */
|
|
46
|
+
set treeItemDef(value: Nullable<TreeItemDefDirective>);
|
|
47
|
+
get treeItemDef(): Nullable<TreeItemDefDirective>;
|
|
12
48
|
/** @hidden */
|
|
13
|
-
|
|
49
|
+
get multiple(): BooleanInput;
|
|
14
50
|
/** @hidden */
|
|
15
|
-
|
|
51
|
+
get toggle(): BooleanInput;
|
|
52
|
+
/**
|
|
53
|
+
* @hidden
|
|
54
|
+
* Used for skeleton to appear before first meaningful data being loaded.
|
|
55
|
+
*/
|
|
56
|
+
_initialDataLoaded: boolean;
|
|
16
57
|
/** @hidden */
|
|
17
|
-
|
|
58
|
+
_treeItemDirectives: QueryList<TreeItemDirective<TreeItem, any>>;
|
|
18
59
|
/** @hidden */
|
|
19
|
-
|
|
60
|
+
readonly _projectedTreeItems: QueryList<BaseTreeItem>;
|
|
61
|
+
/** @hidden */
|
|
62
|
+
private _treeItemDef;
|
|
63
|
+
/** @hidden */
|
|
64
|
+
private readonly _contentDensityObserver;
|
|
65
|
+
/** @hidden */
|
|
66
|
+
private readonly _dataSourceDirective;
|
|
67
|
+
/** @hidden */
|
|
68
|
+
private readonly _destroy$;
|
|
69
|
+
/** @hidden */
|
|
70
|
+
private readonly _elementRef;
|
|
71
|
+
/** @hidden */
|
|
72
|
+
private readonly _treeService;
|
|
73
|
+
/** @hidden */
|
|
74
|
+
private readonly _selectionService;
|
|
75
|
+
/** @hidden */
|
|
76
|
+
private readonly _rtl;
|
|
77
|
+
/** @hidden */
|
|
78
|
+
private readonly _cvaDirective;
|
|
79
|
+
/** @hidden */
|
|
80
|
+
private readonly _cdr;
|
|
81
|
+
/** @hidden */
|
|
82
|
+
private _dsSubscription;
|
|
83
|
+
/** @hidden */
|
|
84
|
+
private _expandedLevel;
|
|
85
|
+
/** @hidden */
|
|
86
|
+
private _focusKeyManager;
|
|
87
|
+
/**
|
|
88
|
+
* @hidden
|
|
89
|
+
* Sorted tree item components.
|
|
90
|
+
*/
|
|
91
|
+
private _sortedTreeItems;
|
|
92
|
+
/**
|
|
93
|
+
* @hidden
|
|
94
|
+
* All tree item components.
|
|
95
|
+
*/
|
|
96
|
+
private _allItems;
|
|
97
|
+
/** @hidden */
|
|
98
|
+
private _eventSub;
|
|
99
|
+
/** @hidden */
|
|
100
|
+
private _selectionSub;
|
|
101
|
+
/** @hidden */
|
|
102
|
+
constructor();
|
|
20
103
|
/** @hidden */
|
|
21
104
|
ngOnInit(): void;
|
|
22
105
|
/** @hidden */
|
|
23
|
-
|
|
106
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
107
|
+
/** @hidden */
|
|
108
|
+
ngAfterViewInit(): void;
|
|
109
|
+
/** @hidden */
|
|
110
|
+
ngOnDestroy(): void;
|
|
111
|
+
/** @hidden */
|
|
112
|
+
private _setSelectionListener;
|
|
113
|
+
/** @hidden */
|
|
114
|
+
private _listenToTreeItemDirectiveChanges;
|
|
115
|
+
/** @hidden */
|
|
116
|
+
private _listenToTreeItemsChanges;
|
|
117
|
+
/** @hidden */
|
|
118
|
+
private _setFlattenedItems;
|
|
119
|
+
/** @hidden */
|
|
120
|
+
_onItemFocused(treeItem: BaseTreeItem): void;
|
|
121
|
+
/** @hidden */
|
|
122
|
+
private _setupEventListeners;
|
|
123
|
+
/** @hidden */
|
|
124
|
+
private _sortTreeItems;
|
|
125
|
+
/** @hidden */
|
|
126
|
+
elementRef(): ElementRef<HTMLElement>;
|
|
127
|
+
/** @hidden */
|
|
128
|
+
buildComponentCssClass(): string[];
|
|
129
|
+
/**
|
|
130
|
+
* @hidden
|
|
131
|
+
* Keyboard navigation
|
|
132
|
+
* @param event Keyboard event.
|
|
133
|
+
*/
|
|
134
|
+
private _onKeyUp;
|
|
24
135
|
/** @hidden */
|
|
25
|
-
|
|
136
|
+
_onItemKeyDown(event: KeyboardEvent, treeItem: Nullable<BaseTreeItem>): void;
|
|
26
137
|
/** @hidden */
|
|
27
|
-
|
|
138
|
+
_trackFn(index: number, item: TreeItem<TreeItemGeneric<T>>): string;
|
|
28
139
|
/** @hidden */
|
|
29
|
-
|
|
140
|
+
private _expandTreeSection;
|
|
30
141
|
/** @hidden */
|
|
31
|
-
|
|
142
|
+
private _collapseTreeSection;
|
|
32
143
|
/** @hidden */
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
144
|
+
private _openDataStream;
|
|
145
|
+
/**
|
|
146
|
+
* @hidden
|
|
147
|
+
* Select list interface method implementation.
|
|
148
|
+
* Sets value for control value accessor and emits it.
|
|
149
|
+
* @param value value of the selection.
|
|
150
|
+
*/
|
|
151
|
+
onChange(value: SelectableListValueType<any>): void;
|
|
152
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TreeComponent<any, any>, never>;
|
|
153
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TreeComponent<any, any>, "fd-tree", never, { "class": "class"; "noBorder": "noBorder"; "selection": "selection"; "selectionPlacement": "selectionPlacement"; "independentSections": "independentSections"; "navigationIndicator": "navigationIndicator"; }, { "dataRequested": "dataRequested"; "dataReceived": "dataReceived"; "selectedChange": "selectedChange"; }, ["treeItemDef", "_projectedTreeItems"], ["fd-tree-item"], false, [{ directive: typeof i1.DataSourceDirective; inputs: { "dataSource": "dataSource"; }; outputs: { "dataChanged": "dataChanged"; }; }, { directive: typeof i2.CvaDirective; inputs: { "name": "name"; "id": "id"; "state": "state"; "stateMessage": "stateMessage"; "disabled": "disabled"; "readonly": "readonly"; }; outputs: {}; }]>;
|
|
36
154
|
}
|
package/tree/tree.module.d.ts
CHANGED
|
@@ -1,13 +1,23 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
import * as i1 from "./tree.component";
|
|
3
|
-
import * as i2 from "./tree-
|
|
4
|
-
import * as i3 from "
|
|
5
|
-
import * as i4 from "
|
|
6
|
-
import * as i5 from "
|
|
7
|
-
import * as i6 from "
|
|
8
|
-
import * as i7 from "@
|
|
3
|
+
import * as i2 from "./components/tree-item/tree-item.component";
|
|
4
|
+
import * as i3 from "./directives/tree-item-def.directive";
|
|
5
|
+
import * as i4 from "./directives/tree-item.directive";
|
|
6
|
+
import * as i5 from "./directives/tree-item-icon.directive";
|
|
7
|
+
import * as i6 from "./directives/tree-item-button.directive";
|
|
8
|
+
import * as i7 from "@angular/common";
|
|
9
|
+
import * as i8 from "@fundamental-ngx/core/button";
|
|
10
|
+
import * as i9 from "@fundamental-ngx/core/icon";
|
|
11
|
+
import * as i10 from "@fundamental-ngx/core/popover";
|
|
12
|
+
import * as i11 from "@fundamental-ngx/core/menu";
|
|
13
|
+
import * as i12 from "@fundamental-ngx/core/checkbox";
|
|
14
|
+
import * as i13 from "@fundamental-ngx/cdk/utils";
|
|
15
|
+
import * as i14 from "@angular/forms";
|
|
16
|
+
import * as i15 from "@fundamental-ngx/core/radio";
|
|
17
|
+
import * as i16 from "@fundamental-ngx/core/skeleton";
|
|
18
|
+
import * as i17 from "@fundamental-ngx/i18n";
|
|
9
19
|
export declare class TreeModule {
|
|
10
20
|
static ɵfac: i0.ɵɵFactoryDeclaration<TreeModule, never>;
|
|
11
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<TreeModule, [typeof i1.TreeComponent, typeof i2.
|
|
21
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<TreeModule, [typeof i1.TreeComponent, typeof i2.TreeItemComponent, typeof i3.TreeItemDefDirective, typeof i4.TreeItemDirective, typeof i5.TreeItemIconDirective, typeof i5.TreeItemTextDirective, typeof i6.TreeItemButtonDirective], [typeof i7.CommonModule, typeof i8.ButtonModule, typeof i9.IconModule, typeof i10.PopoverModule, typeof i11.MenuModule, typeof i12.CheckboxModule, typeof i13.ClickedBehaviorModule, typeof i14.FormsModule, typeof i13.SelectableItemDirective, typeof i15.RadioModule, typeof i16.SkeletonModule, typeof i13.RepeatDirective, typeof i14.ReactiveFormsModule, typeof i17.I18nModule], [typeof i1.TreeComponent, typeof i2.TreeItemComponent, typeof i3.TreeItemDefDirective, typeof i4.TreeItemDirective, typeof i5.TreeItemIconDirective, typeof i5.TreeItemTextDirective, typeof i6.TreeItemButtonDirective]>;
|
|
12
22
|
static ɵinj: i0.ɵɵInjectorDeclaration<TreeModule>;
|
|
13
23
|
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { TemplateRef } from '@angular/core';
|
|
2
|
+
import { Nullable } from '@fundamental-ngx/cdk/utils';
|
|
3
|
+
import { Observable, Subject } from 'rxjs';
|
|
4
|
+
import { BaseTreeItem } from './models/base-tree-item.class';
|
|
5
|
+
import { SelectionPlacement, SelectionType } from './models/selection-type';
|
|
6
|
+
import { TreeItem, TreeItemGeneric } from './models/tree-item';
|
|
7
|
+
import { TreeItemDefContext } from './models/tree-item-def-context';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export interface SelectionModeModel {
|
|
10
|
+
mode: SelectionType;
|
|
11
|
+
placement: SelectionPlacement;
|
|
12
|
+
}
|
|
13
|
+
export declare class TreeService {
|
|
14
|
+
/** Tree item template ref. */
|
|
15
|
+
treeItemTemplateRef: Nullable<TemplateRef<TreeItemDefContext>>;
|
|
16
|
+
/** Currently focused tree item. */
|
|
17
|
+
focusedTreeItem: Nullable<BaseTreeItem>;
|
|
18
|
+
/** Current expanded level. */
|
|
19
|
+
get expandedLevel(): Observable<number | undefined>;
|
|
20
|
+
/** Tree selection mode. */
|
|
21
|
+
get selectionMode(): Observable<SelectionModeModel>;
|
|
22
|
+
/** Whether to show navigation indicator. */
|
|
23
|
+
get navigationIndicator(): Observable<boolean>;
|
|
24
|
+
/** @hidden */
|
|
25
|
+
private readonly _expandableItems;
|
|
26
|
+
/** @hidden */
|
|
27
|
+
private readonly _selectionMode$;
|
|
28
|
+
/** @hidden */
|
|
29
|
+
private readonly _expandedLevel;
|
|
30
|
+
/** @hidden */
|
|
31
|
+
private readonly _navigationIndicator$;
|
|
32
|
+
/**
|
|
33
|
+
* @hidden
|
|
34
|
+
*/
|
|
35
|
+
readonly detectChanges: Subject<void>;
|
|
36
|
+
/** Sets whether the navigation indicator should be visible. */
|
|
37
|
+
setNavigationIndicator(value: boolean): void;
|
|
38
|
+
/** @hidden */
|
|
39
|
+
normalizeTreeItems<T extends TreeItem = TreeItem>(items: Nullable<T[]>, parentId?: string | null, level?: number): TreeItem<TreeItemGeneric<T>>[];
|
|
40
|
+
/**
|
|
41
|
+
* Adds expandable item to the object of expandable items.
|
|
42
|
+
* @param id
|
|
43
|
+
* @param level
|
|
44
|
+
*/
|
|
45
|
+
addExpandableItem(id: string, level: number, expanded: boolean): void;
|
|
46
|
+
/**
|
|
47
|
+
* Removes expandable item from the object of expandable items.
|
|
48
|
+
* @param id
|
|
49
|
+
* @param level
|
|
50
|
+
*/
|
|
51
|
+
removeExpandableItem(id: string, level: number): void;
|
|
52
|
+
/**
|
|
53
|
+
* Sets selection mode and it's placement.
|
|
54
|
+
* @param mode Selection mode.
|
|
55
|
+
* @param placement Selection control placement.
|
|
56
|
+
*/
|
|
57
|
+
setSelectionMode(mode: SelectionType, placement: SelectionPlacement): void;
|
|
58
|
+
/** @hidden */
|
|
59
|
+
private _emitNewExpandedLevel;
|
|
60
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TreeService, never>;
|
|
61
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<TreeService>;
|
|
62
|
+
}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
import * as i2 from "@fundamental-ngx/core/button";
|
|
5
|
-
import * as i3 from "@fundamental-ngx/core/menu";
|
|
6
|
-
export class TreeChildComponent {
|
|
7
|
-
constructor() {
|
|
8
|
-
/** @hidden */
|
|
9
|
-
this.editClicked = new EventEmitter();
|
|
10
|
-
/** @hidden */
|
|
11
|
-
this.deleteClicked = new EventEmitter();
|
|
12
|
-
}
|
|
13
|
-
/** @hidden */
|
|
14
|
-
ngOnInit() {
|
|
15
|
-
this.hideChildren = false;
|
|
16
|
-
}
|
|
17
|
-
/** @hidden */
|
|
18
|
-
toggleDisplayChildren(hideAll) {
|
|
19
|
-
if (hideAll !== undefined) {
|
|
20
|
-
this.hideChildren = hideAll;
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
this.hideChildren = !this.hideChildren;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
/** @hidden */
|
|
27
|
-
typeOf(variable) {
|
|
28
|
-
let retVal;
|
|
29
|
-
if (typeof variable === 'string') {
|
|
30
|
-
retVal = 'string';
|
|
31
|
-
}
|
|
32
|
-
else if (typeof variable === 'object') {
|
|
33
|
-
retVal = 'object';
|
|
34
|
-
}
|
|
35
|
-
return retVal;
|
|
36
|
-
}
|
|
37
|
-
/** @hidden */
|
|
38
|
-
editTreeItem(row) {
|
|
39
|
-
if (row) {
|
|
40
|
-
this.editClicked.emit(row);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
/** @hidden */
|
|
44
|
-
deleteTreeItem(row) {
|
|
45
|
-
if (row) {
|
|
46
|
-
this.deleteClicked.emit(row);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
TreeChildComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeChildComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
51
|
-
TreeChildComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: TreeChildComponent, selector: "fd-tree-child", inputs: { row: "row", hideChildren: "hideChildren", displayTreeActions: "displayTreeActions" }, outputs: { editClicked: "editClicked", deleteClicked: "deleteClicked" }, ngImport: i0, template: "<li #treeChild class=\"fd-tree__item\" role=\"treeitem\">\n <div class=\"fd-tree__row\">\n <div\n *ngFor=\"let cell of row.rowData; let i = index\"\n [attr.data-index]=\"i\"\n class=\"fd-tree__col\"\n [class.fd-tree__col--control]=\"i === 0\"\n >\n <button\n (click)=\"toggleDisplayChildren()\"\n *ngIf=\"row.children && i === 0\"\n class=\"fd-tree__control\"\n aria-label=\"Expand\"\n [class.is-pressed]=\"!hideChildren\"\n [attr.aria-pressed]=\"!hideChildren\"\n ></button>\n <ng-container *ngIf=\"typeOf(cell) === 'string'\">\n {{ cell }}\n </ng-container>\n <ng-container *ngIf=\"typeOf(cell) === 'object'\">\n <ng-container *ngIf=\"cell.linkUrl\">\n <ng-container *ngIf=\"cell.displayText\">\n <!-- link with display text -->\n <a [attr.href]=\"cell.linkUrl\" class=\"fd-has-font-weight-semi\">{{ cell.displayText }}</a>\n </ng-container>\n <ng-container *ngIf=\"!cell.displayText\">\n <!-- link without display text -->\n <a [attr.href]=\"cell.linkUrl\" class=\"fd-has-font-weight-semi\">{{ cell.linkUrl }}</a>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!cell.linkUrl\">\n {{ cell.displayText }}\n </ng-container>\n </ng-container>\n </div>\n <div class=\"fd-tree__col fd-tree__col--actions\">\n <ng-container *ngIf=\"displayTreeActions\">\n <button fd-button fdType=\"transparent\" glyph=\"vertical-grip\" [fdMenuTrigger]=\"menu\"></button>\n\n <fd-menu #menu>\n <li fd-menu-item (click)=\"editTreeItem(row)\">\n <div fd-menu-interactive>\n <span fd-menu-title>Edit</span>\n </div>\n </li>\n <li fd-menu-item (click)=\"deleteTreeItem(row)\">\n <div fd-menu-interactive>\n <span fd-menu-title>Delete</span>\n </div>\n </li>\n </fd-menu>\n </ng-container>\n </div>\n </div>\n <ul\n *ngIf=\"row.children && row.children.length > 0\"\n [class.is-hidden]=\"hideChildren\"\n class=\"fd-tree__group\"\n role=\"group\"\n >\n <fd-tree-child\n *ngFor=\"let child of row.children\"\n [displayTreeActions]=\"displayTreeActions\"\n [row]=\"child\"\n [class]=\"child.sublevelClass\"\n >\n </fd-tree-child>\n </ul>\n</li>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i3.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "tabbableScrollbar", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: i3.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "directive", type: i3.MenuInteractiveDirective, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i3.MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "directive", type: i3.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: TreeChildComponent, selector: "fd-tree-child", inputs: ["row", "hideChildren", "displayTreeActions"], outputs: ["editClicked", "deleteClicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeChildComponent, decorators: [{
|
|
53
|
-
type: Component,
|
|
54
|
-
args: [{ selector: 'fd-tree-child', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<li #treeChild class=\"fd-tree__item\" role=\"treeitem\">\n <div class=\"fd-tree__row\">\n <div\n *ngFor=\"let cell of row.rowData; let i = index\"\n [attr.data-index]=\"i\"\n class=\"fd-tree__col\"\n [class.fd-tree__col--control]=\"i === 0\"\n >\n <button\n (click)=\"toggleDisplayChildren()\"\n *ngIf=\"row.children && i === 0\"\n class=\"fd-tree__control\"\n aria-label=\"Expand\"\n [class.is-pressed]=\"!hideChildren\"\n [attr.aria-pressed]=\"!hideChildren\"\n ></button>\n <ng-container *ngIf=\"typeOf(cell) === 'string'\">\n {{ cell }}\n </ng-container>\n <ng-container *ngIf=\"typeOf(cell) === 'object'\">\n <ng-container *ngIf=\"cell.linkUrl\">\n <ng-container *ngIf=\"cell.displayText\">\n <!-- link with display text -->\n <a [attr.href]=\"cell.linkUrl\" class=\"fd-has-font-weight-semi\">{{ cell.displayText }}</a>\n </ng-container>\n <ng-container *ngIf=\"!cell.displayText\">\n <!-- link without display text -->\n <a [attr.href]=\"cell.linkUrl\" class=\"fd-has-font-weight-semi\">{{ cell.linkUrl }}</a>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!cell.linkUrl\">\n {{ cell.displayText }}\n </ng-container>\n </ng-container>\n </div>\n <div class=\"fd-tree__col fd-tree__col--actions\">\n <ng-container *ngIf=\"displayTreeActions\">\n <button fd-button fdType=\"transparent\" glyph=\"vertical-grip\" [fdMenuTrigger]=\"menu\"></button>\n\n <fd-menu #menu>\n <li fd-menu-item (click)=\"editTreeItem(row)\">\n <div fd-menu-interactive>\n <span fd-menu-title>Edit</span>\n </div>\n </li>\n <li fd-menu-item (click)=\"deleteTreeItem(row)\">\n <div fd-menu-interactive>\n <span fd-menu-title>Delete</span>\n </div>\n </li>\n </fd-menu>\n </ng-container>\n </div>\n </div>\n <ul\n *ngIf=\"row.children && row.children.length > 0\"\n [class.is-hidden]=\"hideChildren\"\n class=\"fd-tree__group\"\n role=\"group\"\n >\n <fd-tree-child\n *ngFor=\"let child of row.children\"\n [displayTreeActions]=\"displayTreeActions\"\n [row]=\"child\"\n [class]=\"child.sublevelClass\"\n >\n </fd-tree-child>\n </ul>\n</li>\n" }]
|
|
55
|
-
}], propDecorators: { row: [{
|
|
56
|
-
type: Input
|
|
57
|
-
}], hideChildren: [{
|
|
58
|
-
type: Input
|
|
59
|
-
}], displayTreeActions: [{
|
|
60
|
-
type: Input
|
|
61
|
-
}], editClicked: [{
|
|
62
|
-
type: Output
|
|
63
|
-
}], deleteClicked: [{
|
|
64
|
-
type: Output
|
|
65
|
-
}] } });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1jaGlsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi90cmVlL3RyZWUtY2hpbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdHJlZS90cmVlLWNoaWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFTdkIsTUFBTSxPQUFPLGtCQUFrQjtJQU4vQjtRQWdCSSxjQUFjO1FBQ0osZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVuRSxjQUFjO1FBQ0osa0JBQWEsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztLQXlDeEU7SUF2Q0csY0FBYztJQUNkLFFBQVE7UUFDSixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBRUQsY0FBYztJQUNkLHFCQUFxQixDQUFDLE9BQVE7UUFDMUIsSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDO1NBQy9CO2FBQU07WUFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztTQUMxQztJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ2QsTUFBTSxDQUFDLFFBQVM7UUFDWixJQUFJLE1BQU0sQ0FBQztRQUNYLElBQUksT0FBTyxRQUFRLEtBQUssUUFBUSxFQUFFO1lBQzlCLE1BQU0sR0FBRyxRQUFRLENBQUM7U0FDckI7YUFBTSxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRTtZQUNyQyxNQUFNLEdBQUcsUUFBUSxDQUFDO1NBQ3JCO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVELGNBQWM7SUFDZCxZQUFZLENBQUMsR0FBSTtRQUNiLElBQUksR0FBRyxFQUFFO1lBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDOUI7SUFDTCxDQUFDO0lBRUQsY0FBYztJQUNkLGNBQWMsQ0FBQyxHQUFJO1FBQ2YsSUFBSSxHQUFHLEVBQUU7WUFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNoQztJQUNMLENBQUM7OytHQXREUSxrQkFBa0I7bUdBQWxCLGtCQUFrQiw4TkNqQi9CLGczRkFxRUEsaW5DRHBEYSxrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDSSxlQUFlLGlCQUVWLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07OEJBSXRDLEdBQUc7c0JBQVgsS0FBSztnQkFHRyxZQUFZO3NCQUFwQixLQUFLO2dCQUdHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFHSSxXQUFXO3NCQUFwQixNQUFNO2dCQUdHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyZWVSb3dPYmplY3QgfSBmcm9tICcuL3RyZWUtcm93LW9iamVjdC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtdHJlZS1jaGlsZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RyZWUtY2hpbGQuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVHJlZUNoaWxkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBJbnB1dCgpIHJvdzogVHJlZVJvd09iamVjdDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQElucHV0KCkgaGlkZUNoaWxkcmVuOiBib29sZWFuO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASW5wdXQoKSBkaXNwbGF5VHJlZUFjdGlvbnM6IGJvb2xlYW47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBPdXRwdXQoKSBlZGl0Q2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQE91dHB1dCgpIGRlbGV0ZUNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhpZGVDaGlsZHJlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgdG9nZ2xlRGlzcGxheUNoaWxkcmVuKGhpZGVBbGw/KTogdm9pZCB7XG4gICAgICAgIGlmIChoaWRlQWxsICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuaGlkZUNoaWxkcmVuID0gaGlkZUFsbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaGlkZUNoaWxkcmVuID0gIXRoaXMuaGlkZUNoaWxkcmVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB0eXBlT2YodmFyaWFibGU/KTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHJldFZhbDtcbiAgICAgICAgaWYgKHR5cGVvZiB2YXJpYWJsZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHJldFZhbCA9ICdzdHJpbmcnO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YXJpYWJsZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIHJldFZhbCA9ICdvYmplY3QnO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJldFZhbDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGVkaXRUcmVlSXRlbShyb3c/KTogdm9pZCB7XG4gICAgICAgIGlmIChyb3cpIHtcbiAgICAgICAgICAgIHRoaXMuZWRpdENsaWNrZWQuZW1pdChyb3cpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBkZWxldGVUcmVlSXRlbShyb3c/KTogdm9pZCB7XG4gICAgICAgIGlmIChyb3cpIHtcbiAgICAgICAgICAgIHRoaXMuZGVsZXRlQ2xpY2tlZC5lbWl0KHJvdyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bGkgI3RyZWVDaGlsZCBjbGFzcz1cImZkLXRyZWVfX2l0ZW1cIiByb2xlPVwidHJlZWl0ZW1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmQtdHJlZV9fcm93XCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjZWxsIG9mIHJvdy5yb3dEYXRhOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtaW5kZXhdPVwiaVwiXG4gICAgICAgICAgICBjbGFzcz1cImZkLXRyZWVfX2NvbFwiXG4gICAgICAgICAgICBbY2xhc3MuZmQtdHJlZV9fY29sLS1jb250cm9sXT1cImkgPT09IDBcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZURpc3BsYXlDaGlsZHJlbigpXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInJvdy5jaGlsZHJlbiAmJiBpID09PSAwXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZkLXRyZWVfX2NvbnRyb2xcIlxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJFeHBhbmRcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5pcy1wcmVzc2VkXT1cIiFoaWRlQ2hpbGRyZW5cIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtcHJlc3NlZF09XCIhaGlkZUNoaWxkcmVuXCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0eXBlT2YoY2VsbCkgPT09ICdzdHJpbmcnXCI+XG4gICAgICAgICAgICAgICAge3sgY2VsbCB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidHlwZU9mKGNlbGwpID09PSAnb2JqZWN0J1wiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjZWxsLmxpbmtVcmxcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNlbGwuZGlzcGxheVRleHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gbGluayB3aXRoIGRpc3BsYXkgdGV4dCAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIFthdHRyLmhyZWZdPVwiY2VsbC5saW5rVXJsXCIgY2xhc3M9XCJmZC1oYXMtZm9udC13ZWlnaHQtc2VtaVwiPnt7IGNlbGwuZGlzcGxheVRleHQgfX08L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNlbGwuZGlzcGxheVRleHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gbGluayB3aXRob3V0IGRpc3BsYXkgdGV4dCAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIFthdHRyLmhyZWZdPVwiY2VsbC5saW5rVXJsXCIgY2xhc3M9XCJmZC1oYXMtZm9udC13ZWlnaHQtc2VtaVwiPnt7IGNlbGwubGlua1VybCB9fTwvYT5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjZWxsLmxpbmtVcmxcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgY2VsbC5kaXNwbGF5VGV4dCB9fVxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtdHJlZV9fY29sIGZkLXRyZWVfX2NvbC0tYWN0aW9uc1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRpc3BsYXlUcmVlQWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gZmQtYnV0dG9uIGZkVHlwZT1cInRyYW5zcGFyZW50XCIgZ2x5cGg9XCJ2ZXJ0aWNhbC1ncmlwXCIgW2ZkTWVudVRyaWdnZXJdPVwibWVudVwiPjwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgPGZkLW1lbnUgI21lbnU+XG4gICAgICAgICAgICAgICAgICAgIDxsaSBmZC1tZW51LWl0ZW0gKGNsaWNrKT1cImVkaXRUcmVlSXRlbShyb3cpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZkLW1lbnUtaW50ZXJhY3RpdmU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbWVudS10aXRsZT5FZGl0PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaSBmZC1tZW51LWl0ZW0gKGNsaWNrKT1cImRlbGV0ZVRyZWVJdGVtKHJvdylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZmQtbWVudS1pbnRlcmFjdGl2ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1tZW51LXRpdGxlPkRlbGV0ZTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDwvZmQtbWVudT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8dWxcbiAgICAgICAgKm5nSWY9XCJyb3cuY2hpbGRyZW4gJiYgcm93LmNoaWxkcmVuLmxlbmd0aCA+IDBcIlxuICAgICAgICBbY2xhc3MuaXMtaGlkZGVuXT1cImhpZGVDaGlsZHJlblwiXG4gICAgICAgIGNsYXNzPVwiZmQtdHJlZV9fZ3JvdXBcIlxuICAgICAgICByb2xlPVwiZ3JvdXBcIlxuICAgID5cbiAgICAgICAgPGZkLXRyZWUtY2hpbGRcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjaGlsZCBvZiByb3cuY2hpbGRyZW5cIlxuICAgICAgICAgICAgW2Rpc3BsYXlUcmVlQWN0aW9uc109XCJkaXNwbGF5VHJlZUFjdGlvbnNcIlxuICAgICAgICAgICAgW3Jvd109XCJjaGlsZFwiXG4gICAgICAgICAgICBbY2xhc3NdPVwiY2hpbGQuc3VibGV2ZWxDbGFzc1wiXG4gICAgICAgID5cbiAgICAgICAgPC9mZC10cmVlLWNoaWxkPlxuICAgIDwvdWw+XG48L2xpPlxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1yb3ctb2JqZWN0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdHJlZS90cmVlLXJvdy1vYmplY3QubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVHJlZVJvd09iamVjdCB7XG4gICAgcm93RGF0YTogYW55W107XG4gICAgY2hpbGRyZW4/OiBUcmVlUm93T2JqZWN0W107XG4gICAgc3VibGV2ZWxDbGFzcz86IHN0cmluZztcbn1cbiJdfQ==
|
|
Binary file
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
|
-
import { TreeRowObject } from './tree-row-object.model';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class TreeChildComponent implements OnInit {
|
|
5
|
-
/** @hidden */
|
|
6
|
-
row: TreeRowObject;
|
|
7
|
-
/** @hidden */
|
|
8
|
-
hideChildren: boolean;
|
|
9
|
-
/** @hidden */
|
|
10
|
-
displayTreeActions: boolean;
|
|
11
|
-
/** @hidden */
|
|
12
|
-
editClicked: EventEmitter<any>;
|
|
13
|
-
/** @hidden */
|
|
14
|
-
deleteClicked: EventEmitter<any>;
|
|
15
|
-
/** @hidden */
|
|
16
|
-
ngOnInit(): void;
|
|
17
|
-
/** @hidden */
|
|
18
|
-
toggleDisplayChildren(hideAll?: any): void;
|
|
19
|
-
/** @hidden */
|
|
20
|
-
typeOf(variable?: any): string;
|
|
21
|
-
/** @hidden */
|
|
22
|
-
editTreeItem(row?: any): void;
|
|
23
|
-
/** @hidden */
|
|
24
|
-
deleteTreeItem(row?: any): void;
|
|
25
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TreeChildComponent, never>;
|
|
26
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TreeChildComponent, "fd-tree-child", never, { "row": "row"; "hideChildren": "hideChildren"; "displayTreeActions": "displayTreeActions"; }, { "editClicked": "editClicked"; "deleteClicked": "deleteClicked"; }, never, never, false, never>;
|
|
27
|
-
}
|