@huntsman-cancer-institute/angular-tree-component 13.1.1 → 13.1.3

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.
Files changed (61) hide show
  1. package/dist/angular-tree-component/LICENSE +21 -0
  2. package/dist/angular-tree-component/README.md +66 -0
  3. package/dist/angular-tree-component/esm2020/lib/components/tree.component.mjs +196 -0
  4. package/{fesm2015 → dist/angular-tree-component/fesm2015}/huntsman-cancer-institute-angular-tree-component.mjs +13 -14
  5. package/dist/angular-tree-component/fesm2015/huntsman-cancer-institute-angular-tree-component.mjs.map +1 -0
  6. package/{fesm2020 → dist/angular-tree-component/fesm2020}/huntsman-cancer-institute-angular-tree-component.mjs +13 -14
  7. package/dist/angular-tree-component/fesm2020/huntsman-cancer-institute-angular-tree-component.mjs.map +1 -0
  8. package/{lib → dist/angular-tree-component/lib}/components/tree.component.d.ts +0 -1
  9. package/dist/angular-tree-component/package.json +56 -0
  10. package/package.json +136 -56
  11. package/esm2020/lib/components/tree.component.mjs +0 -197
  12. package/fesm2015/huntsman-cancer-institute-angular-tree-component.mjs.map +0 -1
  13. package/fesm2020/huntsman-cancer-institute-angular-tree-component.mjs.map +0 -1
  14. /package/{css → dist/angular-tree-component/css}/angular-tree-component.css +0 -0
  15. /package/{esm2020 → dist/angular-tree-component/esm2020}/huntsman-cancer-institute-angular-tree-component.mjs +0 -0
  16. /package/{esm2020 → dist/angular-tree-component/esm2020}/lib/angular-tree-component.module.mjs +0 -0
  17. /package/{esm2020 → dist/angular-tree-component/esm2020}/lib/components/loading.component.mjs +0 -0
  18. /package/{esm2020 → dist/angular-tree-component/esm2020}/lib/components/tree-node-checkbox.component.mjs +0 -0
  19. /package/{esm2020 → dist/angular-tree-component/esm2020}/lib/components/tree-node-collection.component.mjs +0 -0
  20. /package/{esm2020 → dist/angular-tree-component/esm2020}/lib/components/tree-node-content.component.mjs +0 -0
  21. /package/{esm2020 → dist/angular-tree-component/esm2020}/lib/components/tree-node-drop-slot.component.mjs +0 -0
  22. /package/{esm2020 → dist/angular-tree-component/esm2020}/lib/components/tree-node-expander.component.mjs +0 -0
  23. /package/{esm2020 → dist/angular-tree-component/esm2020}/lib/components/tree-node-wrapper.component.mjs +0 -0
  24. /package/{esm2020 → dist/angular-tree-component/esm2020}/lib/components/tree-viewport.component.mjs +0 -0
  25. /package/{esm2020 → dist/angular-tree-component/esm2020}/lib/constants/events.mjs +0 -0
  26. /package/{esm2020 → dist/angular-tree-component/esm2020}/lib/constants/keys.mjs +0 -0
  27. /package/{esm2020 → dist/angular-tree-component/esm2020}/lib/defs/api.mjs +0 -0
  28. /package/{esm2020 → dist/angular-tree-component/esm2020}/lib/directives/tree-animate-open.directive.mjs +0 -0
  29. /package/{esm2020 → dist/angular-tree-component/esm2020}/lib/directives/tree-drag.directive.mjs +0 -0
  30. /package/{esm2020 → dist/angular-tree-component/esm2020}/lib/directives/tree-drop.directive.mjs +0 -0
  31. /package/{esm2020 → dist/angular-tree-component/esm2020}/lib/mobx-angular/tree-mobx-autorun.directive.mjs +0 -0
  32. /package/{esm2020 → dist/angular-tree-component/esm2020}/lib/models/tree-dragged-element.model.mjs +0 -0
  33. /package/{esm2020 → dist/angular-tree-component/esm2020}/lib/models/tree-node.model.mjs +0 -0
  34. /package/{esm2020 → dist/angular-tree-component/esm2020}/lib/models/tree-options.model.mjs +0 -0
  35. /package/{esm2020 → dist/angular-tree-component/esm2020}/lib/models/tree-virtual-scroll.model.mjs +0 -0
  36. /package/{esm2020 → dist/angular-tree-component/esm2020}/lib/models/tree.model.mjs +0 -0
  37. /package/{esm2020 → dist/angular-tree-component/esm2020}/public-api.mjs +0 -0
  38. /package/{huntsman-cancer-institute-angular-tree-component.d.ts → dist/angular-tree-component/huntsman-cancer-institute-angular-tree-component.d.ts} +0 -0
  39. /package/{lib → dist/angular-tree-component/lib}/angular-tree-component.module.d.ts +0 -0
  40. /package/{lib → dist/angular-tree-component/lib}/components/loading.component.d.ts +0 -0
  41. /package/{lib → dist/angular-tree-component/lib}/components/tree-node-checkbox.component.d.ts +0 -0
  42. /package/{lib → dist/angular-tree-component/lib}/components/tree-node-collection.component.d.ts +0 -0
  43. /package/{lib → dist/angular-tree-component/lib}/components/tree-node-content.component.d.ts +0 -0
  44. /package/{lib → dist/angular-tree-component/lib}/components/tree-node-drop-slot.component.d.ts +0 -0
  45. /package/{lib → dist/angular-tree-component/lib}/components/tree-node-expander.component.d.ts +0 -0
  46. /package/{lib → dist/angular-tree-component/lib}/components/tree-node-wrapper.component.d.ts +0 -0
  47. /package/{lib → dist/angular-tree-component/lib}/components/tree-viewport.component.d.ts +0 -0
  48. /package/{lib → dist/angular-tree-component/lib}/constants/events.d.ts +0 -0
  49. /package/{lib → dist/angular-tree-component/lib}/constants/keys.d.ts +0 -0
  50. /package/{lib → dist/angular-tree-component/lib}/defs/api.d.ts +0 -0
  51. /package/{lib → dist/angular-tree-component/lib}/directives/tree-animate-open.directive.d.ts +0 -0
  52. /package/{lib → dist/angular-tree-component/lib}/directives/tree-drag.directive.d.ts +0 -0
  53. /package/{lib → dist/angular-tree-component/lib}/directives/tree-drop.directive.d.ts +0 -0
  54. /package/{lib → dist/angular-tree-component/lib}/mobx-angular/tree-mobx-autorun.directive.d.ts +0 -0
  55. /package/{lib → dist/angular-tree-component/lib}/models/tree-dragged-element.model.d.ts +0 -0
  56. /package/{lib → dist/angular-tree-component/lib}/models/tree-node.model.d.ts +0 -0
  57. /package/{lib → dist/angular-tree-component/lib}/models/tree-options.model.d.ts +0 -0
  58. /package/{lib → dist/angular-tree-component/lib}/models/tree-virtual-scroll.model.d.ts +0 -0
  59. /package/{lib → dist/angular-tree-component/lib}/models/tree.model.d.ts +0 -0
  60. /package/{public-api.d.ts → dist/angular-tree-component/public-api.d.ts} +0 -0
  61. /package/{src → dist/angular-tree-component/src}/lib/angular-tree-component.css +0 -0
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2020 Circlon Group
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,66 @@
1
+ [![npm version](https://badge.fury.io/js/%40circlon%2Fangular-tree-component.svg)](https://badge.fury.io/js/%40circlon%2Fangular-tree-component)
2
+ [![Build Status](https://dev.azure.com/pdsgmbh/AngularTree/_apis/build/status/AngularTreeComponent-CI?branchName=master)](https://dev.azure.com/pdsgmbh/AngularTree/_build/latest?definitionId=59&branchName=master)
3
+ <a href="https://angular-tree-component.herokuapp.com/"><img src="https://angular-tree-component.herokuapp.com/badge.svg" alt="slack" ></a>
4
+
5
+ # angular tree component
6
+
7
+ ## Getting started
8
+
9
+ Install `angular-tree-component`:
10
+
11
+ ```npm install @huntsman-cancer-institute/angular-tree-component```
12
+
13
+ Import `TreeModule`:
14
+
15
+ ```
16
+ import { TreeModule } from '@huntsman-cancer-institute/angular-tree-component';
17
+
18
+ @NgModule({
19
+ declarations: [AppComponent],
20
+ imports: [TreeModule],
21
+ bootstrap: [AppComponent]
22
+ })
23
+ export class AppModule {}
24
+ ```
25
+
26
+ Add css to `styles.scss` or include in `angular.json`:
27
+
28
+ ```
29
+ @import '~@huntsman-cancer-institute/angular-tree-component/css/angular-tree-component.css';
30
+ ```
31
+
32
+ ## Docs, Demos & More
33
+ We are redoing the documentation. You can find the new documentation here:
34
+ [https://circlongroup.github.io/angular-tree-component/](https://circlongroup.github.io/angular-tree-component/)
35
+
36
+ The API Reference is still in our old documentation for now:
37
+
38
+ [https://angular2-tree.readme.io/docs/](https://angular2-tree.readme.io/docs/)
39
+
40
+ ## Support
41
+ [Stackoverflow](https://stackoverflow.com/questions/tagged/angular-tree-component)
42
+
43
+ [Slack Community](https://angular-tree-component.herokuapp.com/)
44
+
45
+ ## Angular supported version
46
+
47
+ angular-tree-component supports angular 2 and above, and AoT compilation.
48
+
49
+ ## Contributing
50
+
51
+ Run `npm run build` (`npm run build:win` for windows users) to build. Run `npm start:example-app` and open [localhost:4200](http://localhost:4200) to test your code before submitting a pull request.
52
+
53
+ To run tests locally - make sure port 4200 is available and run:
54
+
55
+ ```
56
+ $ npm run build # build:win for windows; wait until build finished
57
+ $ npm run start:example-app # Wait until webpack finishes and http://localhost:4200 is available
58
+ $ npm run test:dev
59
+ ```
60
+
61
+ Please check the issues / project before starting to work on a feature / bug to make sure it's not already in progress.
62
+
63
+ ## Contributors
64
+
65
+ This project exists thanks to all the people who contribute.
66
+ <a href="https://github.com/CirclonGroup/angular-tree-component/graphs/contributors"><img src="https://opencollective.com/angular-tree-component/contributors.svg?width=890&button=false" /></a>
@@ -0,0 +1,196 @@
1
+ import { Component, ContentChild, EventEmitter, HostListener, HostBinding, Input, Output, TemplateRef, ViewChild } from '@angular/core';
2
+ import { TreeModel } from '../models/tree.model';
3
+ import { TreeDraggedElement } from '../models/tree-dragged-element.model';
4
+ import { TreeViewportComponent } from './tree-viewport.component';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../models/tree.model";
7
+ import * as i2 from "../models/tree-dragged-element.model";
8
+ import * as i3 from "./tree-viewport.component";
9
+ import * as i4 from "./tree-node-collection.component";
10
+ import * as i5 from "./tree-node-drop-slot.component";
11
+ import * as i6 from "@angular/common";
12
+ export class TreeComponent {
13
+ constructor(treeModel, treeDraggedElement) {
14
+ this.treeModel = treeModel;
15
+ this.treeDraggedElement = treeDraggedElement;
16
+ this.tabindex = '0';
17
+ treeModel.eventNames.forEach((name) => this[name] = new EventEmitter());
18
+ treeModel.subscribeToState((state) => this.stateChange.emit(state));
19
+ }
20
+ // Will be handled in ngOnChanges
21
+ set nodes(nodes) {
22
+ }
23
+ ;
24
+ set options(options) {
25
+ }
26
+ ;
27
+ set focused(value) {
28
+ this.treeModel.setFocus(value);
29
+ }
30
+ set state(state) {
31
+ this.treeModel.setState(state);
32
+ }
33
+ onKeydown($event) {
34
+ //if (!this.treeModel.isFocused) return;
35
+ if (['input', 'textarea', 'button'].includes(document.activeElement.tagName.toLowerCase()))
36
+ return;
37
+ const focusedNode = this.treeModel.getFocusedNode();
38
+ this.treeModel.performKeyAction(focusedNode, $event);
39
+ }
40
+ /*
41
+ @HostListener('body: mousedown', ['$event'])
42
+ onMousedown($event) {
43
+ function isOutsideClick(startElement: Element, nodeName: string) {
44
+ return !startElement ? true : startElement.localName === nodeName ? false : isOutsideClick(startElement.parentElement, nodeName);
45
+ }
46
+
47
+ if (isOutsideClick($event.target, 'tree-root')) {
48
+ this.treeModel.setFocus(false);
49
+ }
50
+ }*/
51
+ ngOnChanges(changes) {
52
+ if (changes.options || changes.nodes) {
53
+ this.treeModel.setData({
54
+ options: changes.options && changes.options.currentValue,
55
+ nodes: changes.nodes && changes.nodes.currentValue,
56
+ events: this.pick(this, this.treeModel.eventNames)
57
+ });
58
+ }
59
+ }
60
+ sizeChanged() {
61
+ this.viewportComponent.setViewport();
62
+ }
63
+ pick(object, keys) {
64
+ return keys.reduce((obj, key) => {
65
+ if (object && object.hasOwnProperty(key)) {
66
+ obj[key] = object[key];
67
+ }
68
+ return obj;
69
+ }, {});
70
+ }
71
+ }
72
+ /** @nocollapse */ TreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TreeComponent, deps: [{ token: i1.TreeModel }, { token: i2.TreeDraggedElement }], target: i0.ɵɵFactoryTarget.Component });
73
+ /** @nocollapse */ TreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: TreeComponent, selector: "Tree, tree-root", inputs: { nodes: "nodes", options: "options", focused: "focused", state: "state" }, outputs: { toggleExpanded: "toggleExpanded", activate: "activate", deactivate: "deactivate", nodeActivate: "nodeActivate", nodeDeactivate: "nodeDeactivate", select: "select", deselect: "deselect", focus: "focus", blur: "blur", updateData: "updateData", initialized: "initialized", moveNode: "moveNode", copyNode: "copyNode", loadNodeChildren: "loadNodeChildren", changeFilter: "changeFilter", event: "event", stateChange: "stateChange" }, host: { listeners: { "keydown": "onKeydown($event)" }, properties: { "attr.tabindex": "this.tabindex" } }, providers: [TreeModel], queries: [{ propertyName: "loadingTemplate", first: true, predicate: ["loadingTemplate"], descendants: true }, { propertyName: "treeNodeTemplate", first: true, predicate: ["treeNodeTemplate"], descendants: true }, { propertyName: "treeNodeWrapperTemplate", first: true, predicate: ["treeNodeWrapperTemplate"], descendants: true }, { propertyName: "treeNodeFullTemplate", first: true, predicate: ["treeNodeFullTemplate"], descendants: true }], viewQueries: [{ propertyName: "viewportComponent", first: true, predicate: ["viewport"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
74
+ <tree-viewport #viewport>
75
+ <div
76
+ class="angular-tree-component"
77
+ [class.node-dragging]="treeDraggedElement.isDragging()"
78
+ [class.angular-tree-component-rtl]="treeModel.options.rtl">
79
+ <tree-node-collection
80
+ *ngIf="treeModel.roots"
81
+ [nodes]="treeModel.roots"
82
+ [treeModel]="treeModel"
83
+ [templates]="{
84
+ loadingTemplate: loadingTemplate,
85
+ treeNodeTemplate: treeNodeTemplate,
86
+ treeNodeWrapperTemplate: treeNodeWrapperTemplate,
87
+ treeNodeFullTemplate: treeNodeFullTemplate
88
+ }">
89
+ </tree-node-collection>
90
+ <tree-node-drop-slot
91
+ class="empty-tree-drop-slot"
92
+ *ngIf="treeModel.isEmptyTree()"
93
+ [dropIndex]="0"
94
+ [node]="treeModel.virtualRoot">
95
+ </tree-node-drop-slot>
96
+ </div>
97
+ </tree-viewport>
98
+ `, isInline: true, components: [{ type: i3.TreeViewportComponent, selector: "tree-viewport" }, { type: i4.TreeNodeCollectionComponent, selector: "tree-node-collection", inputs: ["nodes", "treeModel", "templates"] }, { type: i5.TreeNodeDropSlotComponent, selector: "TreeNodeDropSlot, tree-node-drop-slot", inputs: ["node", "dropIndex"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
99
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TreeComponent, decorators: [{
100
+ type: Component,
101
+ args: [{
102
+ selector: 'Tree, tree-root',
103
+ providers: [TreeModel],
104
+ styles: [],
105
+ template: `
106
+ <tree-viewport #viewport>
107
+ <div
108
+ class="angular-tree-component"
109
+ [class.node-dragging]="treeDraggedElement.isDragging()"
110
+ [class.angular-tree-component-rtl]="treeModel.options.rtl">
111
+ <tree-node-collection
112
+ *ngIf="treeModel.roots"
113
+ [nodes]="treeModel.roots"
114
+ [treeModel]="treeModel"
115
+ [templates]="{
116
+ loadingTemplate: loadingTemplate,
117
+ treeNodeTemplate: treeNodeTemplate,
118
+ treeNodeWrapperTemplate: treeNodeWrapperTemplate,
119
+ treeNodeFullTemplate: treeNodeFullTemplate
120
+ }">
121
+ </tree-node-collection>
122
+ <tree-node-drop-slot
123
+ class="empty-tree-drop-slot"
124
+ *ngIf="treeModel.isEmptyTree()"
125
+ [dropIndex]="0"
126
+ [node]="treeModel.virtualRoot">
127
+ </tree-node-drop-slot>
128
+ </div>
129
+ </tree-viewport>
130
+ `
131
+ }]
132
+ }], ctorParameters: function () { return [{ type: i1.TreeModel }, { type: i2.TreeDraggedElement }]; }, propDecorators: { loadingTemplate: [{
133
+ type: ContentChild,
134
+ args: ['loadingTemplate', { static: false }]
135
+ }], treeNodeTemplate: [{
136
+ type: ContentChild,
137
+ args: ['treeNodeTemplate', { static: false }]
138
+ }], treeNodeWrapperTemplate: [{
139
+ type: ContentChild,
140
+ args: ['treeNodeWrapperTemplate', { static: false }]
141
+ }], treeNodeFullTemplate: [{
142
+ type: ContentChild,
143
+ args: ['treeNodeFullTemplate', { static: false }]
144
+ }], viewportComponent: [{
145
+ type: ViewChild,
146
+ args: ['viewport', { static: false }]
147
+ }], nodes: [{
148
+ type: Input
149
+ }], options: [{
150
+ type: Input
151
+ }], focused: [{
152
+ type: Input
153
+ }], state: [{
154
+ type: Input
155
+ }], toggleExpanded: [{
156
+ type: Output
157
+ }], activate: [{
158
+ type: Output
159
+ }], deactivate: [{
160
+ type: Output
161
+ }], nodeActivate: [{
162
+ type: Output
163
+ }], nodeDeactivate: [{
164
+ type: Output
165
+ }], select: [{
166
+ type: Output
167
+ }], deselect: [{
168
+ type: Output
169
+ }], focus: [{
170
+ type: Output
171
+ }], blur: [{
172
+ type: Output
173
+ }], updateData: [{
174
+ type: Output
175
+ }], initialized: [{
176
+ type: Output
177
+ }], moveNode: [{
178
+ type: Output
179
+ }], copyNode: [{
180
+ type: Output
181
+ }], loadNodeChildren: [{
182
+ type: Output
183
+ }], changeFilter: [{
184
+ type: Output
185
+ }], event: [{
186
+ type: Output
187
+ }], stateChange: [{
188
+ type: Output
189
+ }], tabindex: [{
190
+ type: HostBinding,
191
+ args: ['attr.tabindex']
192
+ }], onKeydown: [{
193
+ type: HostListener,
194
+ args: ['keydown', ['$event']]
195
+ }] } });
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRyZWUtY29tcG9uZW50L3NyYy9saWIvY29tcG9uZW50cy90cmVlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkosT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRzFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7OztBQWlDbEUsTUFBTSxPQUFPLGFBQWE7SUEyQ3hCLFlBQ1MsU0FBb0IsRUFDcEIsa0JBQXNDO1FBRHRDLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQU1qQixhQUFRLEdBQUcsR0FBRyxDQUFDO1FBSjNDLFNBQVMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBdkNELGlDQUFpQztJQUNqQyxJQUFhLEtBQUssQ0FBQyxLQUFZO0lBQy9CLENBQUM7SUFBQSxDQUFDO0lBRUYsSUFBYSxPQUFPLENBQUMsT0FBcUI7SUFDMUMsQ0FBQztJQUFB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Z0JBSU8sS0FBSztzQkFBakIsS0FBSztnQkFJSSxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNO2dCQUNHLElBQUk7c0JBQWIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQVV1QixRQUFRO3NCQUFyQyxXQUFXO3VCQUFDLGVBQWU7Z0JBRTVCLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJlZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3RyZWUubW9kZWwnO1xyXG5pbXBvcnQgeyBUcmVlRHJhZ2dlZEVsZW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvdHJlZS1kcmFnZ2VkLWVsZW1lbnQubW9kZWwnO1xyXG5pbXBvcnQgeyBUcmVlT3B0aW9ucyB9IGZyb20gJy4uL21vZGVscy90cmVlLW9wdGlvbnMubW9kZWwnO1xyXG5pbXBvcnQgeyBJVHJlZU9wdGlvbnMgfSBmcm9tICcuLi9kZWZzL2FwaSc7XHJcbmltcG9ydCB7IFRyZWVWaWV3cG9ydENvbXBvbmVudCB9IGZyb20gJy4vdHJlZS12aWV3cG9ydC5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdUcmVlLCB0cmVlLXJvb3QnLFxyXG4gIHByb3ZpZGVyczogW1RyZWVNb2RlbF0sXHJcbiAgc3R5bGVzOiBbXSxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8dHJlZS12aWV3cG9ydCAjdmlld3BvcnQ+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYW5ndWxhci10cmVlLWNvbXBvbmVudFwiXHJcbiAgICAgICAgICAgICAgICAgIFtjbGFzcy5ub2RlLWRyYWdnaW5nXT1cInRyZWVEcmFnZ2VkRWxlbWVudC5pc0RyYWdnaW5nKClcIlxyXG4gICAgICAgICAgICAgICAgICBbY2xhc3MuYW5ndWxhci10cmVlLWNvbXBvbmVudC1ydGxdPVwidHJlZU1vZGVsLm9wdGlvbnMucnRsXCI+XHJcbiAgICAgICAgICAgICAgPHRyZWUtbm9kZS1jb2xsZWN0aW9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRyZWVNb2RlbC5yb290c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbbm9kZXNdPVwidHJlZU1vZGVsLnJvb3RzXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFt0cmVlTW9kZWxdPVwidHJlZU1vZGVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZXNdPVwie1xyXG4gICAgICAgICAgICBsb2FkaW5nVGVtcGxhdGU6IGxvYWRpbmdUZW1wbGF0ZSxcclxuICAgICAgICAgICAgdHJlZU5vZGVUZW1wbGF0ZTogdHJlZU5vZGVUZW1wbGF0ZSxcclxuICAgICAgICAgICAgdHJlZU5vZGVXcmFwcGVyVGVtcGxhdGU6IHRyZWVOb2RlV3JhcHBlclRlbXBsYXRlLFxyXG4gICAgICAgICAgICB0cmVlTm9kZUZ1bGxUZW1wbGF0ZTogdHJlZU5vZGVGdWxsVGVtcGxhdGVcclxuICAgICAgICAgIH1cIj5cclxuICAgICAgICAgICAgICA8L3RyZWUtbm9kZS1jb2xsZWN0aW9uPlxyXG4gICAgICAgICAgICAgIDx0cmVlLW5vZGUtZHJvcC1zbG90XHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImVtcHR5LXRyZWUtZHJvcC1zbG90XCJcclxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidHJlZU1vZGVsLmlzRW1wdHlUcmVlKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2Ryb3BJbmRleF09XCIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtub2RlXT1cInRyZWVNb2RlbC52aXJ0dWFsUm9vdFwiPlxyXG4gICAgICAgICAgICAgIDwvdHJlZS1ub2RlLWRyb3Atc2xvdD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICA8L3RyZWUtdmlld3BvcnQ+XHJcbiAgYFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJlZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgX25vZGVzOiBhbnlbXTtcclxuICBfb3B0aW9uczogVHJlZU9wdGlvbnM7XHJcblxyXG4gIEBDb250ZW50Q2hpbGQoJ2xvYWRpbmdUZW1wbGF0ZScsIHsgc3RhdGljOiBmYWxzZSB9KSBsb2FkaW5nVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQENvbnRlbnRDaGlsZCgndHJlZU5vZGVUZW1wbGF0ZScsIHsgc3RhdGljOiBmYWxzZSB9KSB0cmVlTm9kZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBDb250ZW50Q2hpbGQoJ3RyZWVOb2RlV3JhcHBlclRlbXBsYXRlJywgeyBzdGF0aWM6IGZhbHNlIH0pIHRyZWVOb2RlV3JhcHBlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBDb250ZW50Q2hpbGQoJ3RyZWVOb2RlRnVsbFRlbXBsYXRlJywgeyBzdGF0aWM6IGZhbHNlIH0pIHRyZWVOb2RlRnVsbFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBWaWV3Q2hpbGQoJ3ZpZXdwb3J0JywgeyBzdGF0aWM6IGZhbHNlIH0pIHZpZXdwb3J0Q29tcG9uZW50OiBUcmVlVmlld3BvcnRDb21wb25lbnQ7XHJcblxyXG4gIC8vIFdpbGwgYmUgaGFuZGxlZCBpbiBuZ09uQ2hhbmdlc1xyXG4gIEBJbnB1dCgpIHNldCBub2Rlcyhub2RlczogYW55W10pIHtcclxuICB9O1xyXG5cclxuICBASW5wdXQoKSBzZXQgb3B0aW9ucyhvcHRpb25zOiBJVHJlZU9wdGlvbnMpIHtcclxuICB9O1xyXG5cclxuICBASW5wdXQoKSBzZXQgZm9jdXNlZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy50cmVlTW9kZWwuc2V0Rm9jdXModmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2V0IHN0YXRlKHN0YXRlKSB7XHJcbiAgICB0aGlzLnRyZWVNb2RlbC5zZXRTdGF0ZShzdGF0ZSk7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgdG9nZ2xlRXhwYW5kZWQ7XHJcbiAgQE91dHB1dCgpIGFjdGl2YXRlO1xyXG4gIEBPdXRwdXQoKSBkZWFjdGl2YXRlO1xyXG4gIEBPdXRwdXQoKSBub2RlQWN0aXZhdGU7XHJcbiAgQE91dHB1dCgpIG5vZGVEZWFjdGl2YXRlO1xyXG4gIEBPdXRwdXQoKSBzZWxlY3Q7XHJcbiAgQE91dHB1dCgpIGRlc2VsZWN0O1xyXG4gIEBPdXRwdXQoKSBmb2N1cztcclxuICBAT3V0cHV0KCkgYmx1cjtcclxuICBAT3V0cHV0KCkgdXBkYXRlRGF0YTtcclxuICBAT3V0cHV0KCkgaW5pdGlhbGl6ZWQ7XHJcbiAgQE91dHB1dCgpIG1vdmVOb2RlO1xyXG4gIEBPdXRwdXQoKSBjb3B5Tm9kZTtcclxuICBAT3V0cHV0KCkgbG9hZE5vZGVDaGlsZHJlbjtcclxuICBAT3V0cHV0KCkgY2hhbmdlRmlsdGVyO1xyXG4gIEBPdXRwdXQoKSBldmVudDtcclxuICBAT3V0cHV0KCkgc3RhdGVDaGFuZ2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHRyZWVNb2RlbDogVHJlZU1vZGVsLFxyXG4gICAgcHVibGljIHRyZWVEcmFnZ2VkRWxlbWVudDogVHJlZURyYWdnZWRFbGVtZW50KSB7XHJcblxyXG4gICAgdHJlZU1vZGVsLmV2ZW50TmFtZXMuZm9yRWFjaCgobmFtZSkgPT4gdGhpc1tuYW1lXSA9IG5ldyBFdmVudEVtaXR0ZXIoKSk7XHJcbiAgICB0cmVlTW9kZWwuc3Vic2NyaWJlVG9TdGF0ZSgoc3RhdGUpID0+IHRoaXMuc3RhdGVDaGFuZ2UuZW1pdChzdGF0ZSkpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JykgdGFiaW5kZXggPSAnMCc7XHJcbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pIC8vSnVzdCBsaXN0ZW4gd2l0aGluIGNvbXBvbmVudCwgbm90IHRvIHRoZSBlbnRpcmUgYm9keSFcclxuICBvbktleWRvd24oJGV2ZW50KSB7XHJcbiAgICAvL2lmICghdGhpcy50cmVlTW9kZWwuaXNGb2N1c2VkKSByZXR1cm47XHJcbiAgICBpZiAoWydpbnB1dCcsICd0ZXh0YXJlYScsJ2J1dHRvbiddLmluY2x1ZGVzKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQudGFnTmFtZS50b0xvd2VyQ2FzZSgpKSkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGZvY3VzZWROb2RlID0gdGhpcy50cmVlTW9kZWwuZ2V0Rm9jdXNlZE5vZGUoKTtcclxuXHJcbiAgICB0aGlzLnRyZWVNb2RlbC5wZXJmb3JtS2V5QWN0aW9uKGZvY3VzZWROb2RlLCAkZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgLypcclxuICBASG9zdExpc3RlbmVyKCdib2R5OiBtb3VzZWRvd24nLCBbJyRldmVudCddKVxyXG4gIG9uTW91c2Vkb3duKCRldmVudCkge1xyXG4gICAgZnVuY3Rpb24gaXNPdXRzaWRlQ2xpY2soc3RhcnRFbGVtZW50OiBFbGVtZW50LCBub2RlTmFtZTogc3RyaW5nKSB7XHJcbiAgICAgIHJldHVybiAhc3RhcnRFbGVtZW50ID8gdHJ1ZSA6IHN0YXJ0RWxlbWVudC5sb2NhbE5hbWUgPT09IG5vZGVOYW1lID8gZmFsc2UgOiBpc091dHNpZGVDbGljayhzdGFydEVsZW1lbnQucGFyZW50RWxlbWVudCwgbm9kZU5hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChpc091dHNpZGVDbGljaygkZXZlbnQudGFyZ2V0LCAndHJlZS1yb290JykpIHtcclxuICAgICAgdGhpcy50cmVlTW9kZWwuc2V0Rm9jdXMoZmFsc2UpO1xyXG4gICAgfVxyXG4gIH0qL1xyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzKSB7XHJcbiAgICBpZiAoY2hhbmdlcy5vcHRpb25zIHx8IGNoYW5nZXMubm9kZXMpIHtcclxuICAgICAgdGhpcy50cmVlTW9kZWwuc2V0RGF0YSh7XHJcbiAgICAgICAgb3B0aW9uczogY2hhbmdlcy5vcHRpb25zICYmIGNoYW5nZXMub3B0aW9ucy5jdXJyZW50VmFsdWUsXHJcbiAgICAgICAgbm9kZXM6IGNoYW5nZXMubm9kZXMgJiYgY2hhbmdlcy5ub2Rlcy5jdXJyZW50VmFsdWUsXHJcbiAgICAgICAgZXZlbnRzOiB0aGlzLnBpY2sodGhpcywgdGhpcy50cmVlTW9kZWwuZXZlbnROYW1lcylcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzaXplQ2hhbmdlZCgpIHtcclxuICAgIHRoaXMudmlld3BvcnRDb21wb25lbnQuc2V0Vmlld3BvcnQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcGljayhvYmplY3QsIGtleXMpIHtcclxuICAgIHJldHVybiBrZXlzLnJlZHVjZSgob2JqLCBrZXkpID0+IHtcclxuICAgICAgaWYgKG9iamVjdCAmJiBvYmplY3QuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgIG9ialtrZXldID0gb2JqZWN0W2tleV07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG9iajtcclxuICAgIH0sIHt9KTtcclxuICB9XHJcbn1cclxuIl19
@@ -2442,21 +2442,23 @@ class TreeComponent {
2442
2442
  this.treeModel.setState(state);
2443
2443
  }
2444
2444
  onKeydown($event) {
2445
- if (!this.treeModel.isFocused)
2446
- return;
2447
- if (['input', 'textarea'].includes(document.activeElement.tagName.toLowerCase()))
2445
+ //if (!this.treeModel.isFocused) return;
2446
+ if (['input', 'textarea', 'button'].includes(document.activeElement.tagName.toLowerCase()))
2448
2447
  return;
2449
2448
  const focusedNode = this.treeModel.getFocusedNode();
2450
2449
  this.treeModel.performKeyAction(focusedNode, $event);
2451
2450
  }
2451
+ /*
2452
+ @HostListener('body: mousedown', ['$event'])
2452
2453
  onMousedown($event) {
2453
- function isOutsideClick(startElement, nodeName) {
2454
- return !startElement ? true : startElement.localName === nodeName ? false : isOutsideClick(startElement.parentElement, nodeName);
2455
- }
2456
- if (isOutsideClick($event.target, 'tree-root')) {
2457
- this.treeModel.setFocus(false);
2458
- }
2459
- }
2454
+ function isOutsideClick(startElement: Element, nodeName: string) {
2455
+ return !startElement ? true : startElement.localName === nodeName ? false : isOutsideClick(startElement.parentElement, nodeName);
2456
+ }
2457
+
2458
+ if (isOutsideClick($event.target, 'tree-root')) {
2459
+ this.treeModel.setFocus(false);
2460
+ }
2461
+ }*/
2460
2462
  ngOnChanges(changes) {
2461
2463
  if (changes.options || changes.nodes) {
2462
2464
  this.treeModel.setData({
@@ -2479,7 +2481,7 @@ class TreeComponent {
2479
2481
  }
2480
2482
  }
2481
2483
  /** @nocollapse */ TreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TreeComponent, deps: [{ token: TreeModel }, { token: TreeDraggedElement }], target: i0.ɵɵFactoryTarget.Component });
2482
- /** @nocollapse */ TreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: TreeComponent, selector: "Tree, tree-root", inputs: { nodes: "nodes", options: "options", focused: "focused", state: "state" }, outputs: { toggleExpanded: "toggleExpanded", activate: "activate", deactivate: "deactivate", nodeActivate: "nodeActivate", nodeDeactivate: "nodeDeactivate", select: "select", deselect: "deselect", focus: "focus", blur: "blur", updateData: "updateData", initialized: "initialized", moveNode: "moveNode", copyNode: "copyNode", loadNodeChildren: "loadNodeChildren", changeFilter: "changeFilter", event: "event", stateChange: "stateChange" }, host: { listeners: { "keydown": "onKeydown($event)", "body: mousedown": "onMousedown($event)" }, properties: { "attr.tabindex": "this.tabindex" } }, providers: [TreeModel], queries: [{ propertyName: "loadingTemplate", first: true, predicate: ["loadingTemplate"], descendants: true }, { propertyName: "treeNodeTemplate", first: true, predicate: ["treeNodeTemplate"], descendants: true }, { propertyName: "treeNodeWrapperTemplate", first: true, predicate: ["treeNodeWrapperTemplate"], descendants: true }, { propertyName: "treeNodeFullTemplate", first: true, predicate: ["treeNodeFullTemplate"], descendants: true }], viewQueries: [{ propertyName: "viewportComponent", first: true, predicate: ["viewport"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
2484
+ /** @nocollapse */ TreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: TreeComponent, selector: "Tree, tree-root", inputs: { nodes: "nodes", options: "options", focused: "focused", state: "state" }, outputs: { toggleExpanded: "toggleExpanded", activate: "activate", deactivate: "deactivate", nodeActivate: "nodeActivate", nodeDeactivate: "nodeDeactivate", select: "select", deselect: "deselect", focus: "focus", blur: "blur", updateData: "updateData", initialized: "initialized", moveNode: "moveNode", copyNode: "copyNode", loadNodeChildren: "loadNodeChildren", changeFilter: "changeFilter", event: "event", stateChange: "stateChange" }, host: { listeners: { "keydown": "onKeydown($event)" }, properties: { "attr.tabindex": "this.tabindex" } }, providers: [TreeModel], queries: [{ propertyName: "loadingTemplate", first: true, predicate: ["loadingTemplate"], descendants: true }, { propertyName: "treeNodeTemplate", first: true, predicate: ["treeNodeTemplate"], descendants: true }, { propertyName: "treeNodeWrapperTemplate", first: true, predicate: ["treeNodeWrapperTemplate"], descendants: true }, { propertyName: "treeNodeFullTemplate", first: true, predicate: ["treeNodeFullTemplate"], descendants: true }], viewQueries: [{ propertyName: "viewportComponent", first: true, predicate: ["viewport"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
2483
2485
  <tree-viewport #viewport>
2484
2486
  <div
2485
2487
  class="angular-tree-component"
@@ -2601,9 +2603,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
2601
2603
  }], onKeydown: [{
2602
2604
  type: HostListener,
2603
2605
  args: ['keydown', ['$event']]
2604
- }], onMousedown: [{
2605
- type: HostListener,
2606
- args: ['body: mousedown', ['$event']]
2607
2606
  }] } });
2608
2607
 
2609
2608
  class TreeModule {