tree-element 0.1.1 → 0.2.0
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/README.md +33 -29
- package/lib/animation.js +5 -5
- package/lib/animation.js.map +1 -1
- package/lib/classNames.d.ts.map +1 -1
- package/lib/classNames.js +2 -2
- package/lib/classNames.js.map +1 -1
- package/lib/dataLoader.d.ts.map +1 -1
- package/lib/dataLoader.js +14 -20
- package/lib/dataLoader.js.map +1 -1
- package/lib/dragAndDropHandler/binarySearch.js +3 -3
- package/lib/dragAndDropHandler/binarySearch.js.map +1 -1
- package/lib/dragAndDropHandler/dragElement.d.ts.map +1 -1
- package/lib/dragAndDropHandler/dragElement.js +9 -12
- package/lib/dragAndDropHandler/dragElement.js.map +1 -1
- package/lib/dragAndDropHandler/generateHitAreas.d.ts.map +1 -1
- package/lib/dragAndDropHandler/generateHitAreas.js +25 -25
- package/lib/dragAndDropHandler/generateHitAreas.js.map +1 -1
- package/lib/dragAndDropHandler/index.d.ts.map +1 -1
- package/lib/dragAndDropHandler/index.js +90 -114
- package/lib/dragAndDropHandler/index.js.map +1 -1
- package/lib/dragAndDropHandler/iterateVisibleNodes.d.ts.map +1 -1
- package/lib/dragAndDropHandler/iterateVisibleNodes.js +10 -10
- package/lib/dragAndDropHandler/iterateVisibleNodes.js.map +1 -1
- package/lib/dragAndDropHandler/types.d.ts.map +1 -1
- package/lib/elementsRenderer.d.ts +15 -6
- package/lib/elementsRenderer.d.ts.map +1 -1
- package/lib/elementsRenderer.js +157 -121
- package/lib/elementsRenderer.js.map +1 -1
- package/lib/events.d.ts.map +1 -1
- package/lib/index.d.ts +5 -5
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +249 -252
- package/lib/index.js.map +1 -1
- package/lib/keyHandler.d.ts +2 -3
- package/lib/keyHandler.d.ts.map +1 -1
- package/lib/keyHandler.js +26 -25
- package/lib/keyHandler.js.map +1 -1
- package/lib/methodTypes.d.ts +1 -1
- package/lib/methodTypes.d.ts.map +1 -1
- package/lib/mouseHandler.d.ts.map +1 -1
- package/lib/mouseHandler.js +26 -42
- package/lib/mouseHandler.js.map +1 -1
- package/lib/mouseUtils.d.ts.map +1 -1
- package/lib/mouseUtils.js +2 -2
- package/lib/mouseUtils.js.map +1 -1
- package/lib/node.d.ts +2 -1
- package/lib/node.d.ts.map +1 -1
- package/lib/node.js +36 -35
- package/lib/node.js.map +1 -1
- package/lib/nodeElement/borderDropHint.d.ts.map +1 -1
- package/lib/nodeElement/borderDropHint.js +4 -5
- package/lib/nodeElement/borderDropHint.js.map +1 -1
- package/lib/nodeElement/folderElement.d.ts +7 -4
- package/lib/nodeElement/folderElement.d.ts.map +1 -1
- package/lib/nodeElement/folderElement.js +61 -42
- package/lib/nodeElement/folderElement.js.map +1 -1
- package/lib/nodeElement/ghostDropHint.d.ts.map +1 -1
- package/lib/nodeElement/ghostDropHint.js +5 -9
- package/lib/nodeElement/ghostDropHint.js.map +1 -1
- package/lib/nodeElement/index.d.ts +2 -1
- package/lib/nodeElement/index.d.ts.map +1 -1
- package/lib/nodeElement/index.js +34 -26
- package/lib/nodeElement/index.js.map +1 -1
- package/lib/nodeUtils.d.ts.map +1 -1
- package/lib/nodeUtils.js +1 -1
- package/lib/nodeUtils.js.map +1 -1
- package/lib/options.d.ts.map +1 -1
- package/lib/positionUtils.js +3 -3
- package/lib/positionUtils.js.map +1 -1
- package/lib/requestUrl.d.ts +1 -1
- package/lib/requestUrl.d.ts.map +1 -1
- package/lib/requestUrl.js +4 -6
- package/lib/requestUrl.js.map +1 -1
- package/lib/saveStateHandler.d.ts.map +1 -1
- package/lib/saveStateHandler.js +38 -48
- package/lib/saveStateHandler.js.map +1 -1
- package/lib/scrollHandler/containerScrollParent.d.ts.map +1 -1
- package/lib/scrollHandler/containerScrollParent.js +9 -11
- package/lib/scrollHandler/containerScrollParent.js.map +1 -1
- package/lib/scrollHandler/createScrollParent.d.ts.map +1 -1
- package/lib/scrollHandler/createScrollParent.js +10 -10
- package/lib/scrollHandler/createScrollParent.js.map +1 -1
- package/lib/scrollHandler/documentScrollParent.d.ts.map +1 -1
- package/lib/scrollHandler/documentScrollParent.js +16 -19
- package/lib/scrollHandler/documentScrollParent.js.map +1 -1
- package/lib/scrollHandler/scrollParent.d.ts.map +1 -1
- package/lib/scrollHandler/scrollParent.js +11 -17
- package/lib/scrollHandler/scrollParent.js.map +1 -1
- package/lib/scrollHandler.d.ts.map +1 -1
- package/lib/scrollHandler.js +11 -14
- package/lib/scrollHandler.js.map +1 -1
- package/lib/selectNodeHandler.d.ts +2 -2
- package/lib/selectNodeHandler.d.ts.map +1 -1
- package/lib/selectNodeHandler.js +45 -54
- package/lib/selectNodeHandler.js.map +1 -1
- package/lib/setDefaultOptions.d.ts.map +1 -1
- package/lib/setDefaultOptions.js +23 -28
- package/lib/setDefaultOptions.js.map +1 -1
- package/lib/triggerCustomEvent.d.ts.map +1 -1
- package/lib/triggerCustomEvent.js +2 -2
- package/lib/triggerCustomEvent.js.map +1 -1
- package/lib/util.d.ts.map +1 -1
- package/lib/util.js +2 -2
- package/lib/util.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +5 -3
- package/src/animation.ts +1 -1
- package/src/classNames.ts +52 -52
- package/src/dataLoader.ts +68 -71
- package/src/dragAndDropHandler/binarySearch.ts +17 -17
- package/src/dragAndDropHandler/dragElement.ts +50 -50
- package/src/dragAndDropHandler/generateHitAreas.ts +156 -161
- package/src/dragAndDropHandler/index.ts +342 -351
- package/src/dragAndDropHandler/iterateVisibleNodes.ts +59 -63
- package/src/dragAndDropHandler/types.ts +5 -5
- package/src/elementsRenderer.ts +351 -298
- package/src/events.ts +216 -216
- package/src/header.txt +1 -1
- package/src/index.ts +52 -82
- package/src/keyHandler.ts +125 -115
- package/src/methodTypes.ts +4 -7
- package/src/mouseHandler.ts +314 -317
- package/src/mouseUtils.ts +14 -14
- package/src/node.ts +761 -766
- package/src/nodeElement/borderDropHint.ts +25 -25
- package/src/nodeElement/folderElement.ts +135 -112
- package/src/nodeElement/ghostDropHint.ts +62 -62
- package/src/nodeElement/index.ts +88 -74
- package/src/nodeUtils.ts +5 -5
- package/src/options.ts +6 -2
- package/src/requestUrl.ts +3 -3
- package/src/saveStateHandler.ts +204 -206
- package/src/scrollHandler/containerScrollParent.ts +49 -52
- package/src/scrollHandler/createScrollParent.ts +27 -27
- package/src/scrollHandler/documentScrollParent.ts +70 -70
- package/src/scrollHandler/scrollParent.ts +98 -98
- package/src/scrollHandler.ts +45 -45
- package/src/selectNodeHandler.ts +176 -166
- package/src/setDefaultOptions.ts +25 -22
- package/src/triggerCustomEvent.ts +7 -3
- package/src/util.ts +2 -2
- package/src/version.ts +1 -1
- package/tree_element.debug.js +3752 -3784
- package/tree_element.debug.js.map +1 -1
- package/tree_element.js +2 -2
- package/tree_element.js.map +1 -1
package/lib/elementsRenderer.js
CHANGED
|
@@ -1,35 +1,32 @@
|
|
|
1
1
|
import { getBoolString } from './util.js';
|
|
2
2
|
|
|
3
|
+
/* Renders the tree to html.
|
|
4
|
+
*
|
|
5
|
+
* The children of a closed folder are not rendered. They are rendered when
|
|
6
|
+
* the folder is opened, see renderChildren.
|
|
7
|
+
*
|
|
8
|
+
* The elements are created by cloning templates. A template is a fully
|
|
9
|
+
* built <li> or <ul> with everything that is the same for every node
|
|
10
|
+
* (structure, roles, static classes, the toggler icon). Per node only the
|
|
11
|
+
* parts that differ are set: the title, the aria attributes and the
|
|
12
|
+
* selected and loading classes.
|
|
13
|
+
*/
|
|
3
14
|
class ElementsRenderer {
|
|
4
|
-
closedIconElement;
|
|
5
|
-
openedIconElement;
|
|
6
|
-
_autoEscape;
|
|
7
|
-
_buttonLeft;
|
|
8
|
-
_classNames;
|
|
9
|
-
_dragAndDrop;
|
|
10
|
-
_getTree;
|
|
11
|
-
_htmlElement;
|
|
12
|
-
_isNodeSelected;
|
|
13
|
-
_onCreateLi;
|
|
14
|
-
_rtl;
|
|
15
|
-
_setNodeElement;
|
|
16
|
-
_showEmptyFolder;
|
|
17
|
-
_tabIndex;
|
|
18
15
|
constructor({
|
|
19
|
-
autoEscape,
|
|
20
|
-
buttonLeft,
|
|
21
|
-
classNames,
|
|
22
|
-
closedIcon,
|
|
23
|
-
dragAndDrop,
|
|
24
|
-
getTree,
|
|
25
|
-
htmlElement,
|
|
26
|
-
isNodeSelected,
|
|
27
|
-
onCreateLi,
|
|
28
|
-
openedIcon,
|
|
29
|
-
rtl,
|
|
30
|
-
setNodeElement,
|
|
31
|
-
showEmptyFolder,
|
|
32
|
-
tabIndex
|
|
16
|
+
_autoEscape: autoEscape,
|
|
17
|
+
_buttonLeft: buttonLeft,
|
|
18
|
+
_classNames: classNames,
|
|
19
|
+
_closedIcon: closedIcon,
|
|
20
|
+
_dragAndDrop: dragAndDrop,
|
|
21
|
+
_getTree: getTree,
|
|
22
|
+
_htmlElement: htmlElement,
|
|
23
|
+
_isNodeSelected: isNodeSelected,
|
|
24
|
+
_onCreateLi: onCreateLi,
|
|
25
|
+
_openedIcon: openedIcon,
|
|
26
|
+
_rtl: rtl,
|
|
27
|
+
_setNodeElement: setNodeElement,
|
|
28
|
+
_showEmptyFolder: showEmptyFolder,
|
|
29
|
+
_tabIndex: tabIndex
|
|
33
30
|
}) {
|
|
34
31
|
this._autoEscape = autoEscape;
|
|
35
32
|
this._buttonLeft = buttonLeft;
|
|
@@ -43,30 +40,45 @@ class ElementsRenderer {
|
|
|
43
40
|
this._setNodeElement = setNodeElement;
|
|
44
41
|
this._showEmptyFolder = showEmptyFolder;
|
|
45
42
|
this._tabIndex = tabIndex;
|
|
46
|
-
this.
|
|
47
|
-
this.
|
|
43
|
+
this._openedIconElement = this._createButtonElement(openedIcon ?? "+");
|
|
44
|
+
this._closedIconElement = this._createButtonElement(closedIcon ?? "-");
|
|
45
|
+
this._rootUlTemplate = this._createUlTemplate(true);
|
|
46
|
+
this._groupUlTemplate = this._createUlTemplate(false);
|
|
47
|
+
this._nodeTemplate = this._createNodeTemplate();
|
|
48
|
+
this._openedFolderTemplate = this._createFolderTemplate(true);
|
|
49
|
+
this._closedFolderTemplate = this._createFolderTemplate(false);
|
|
48
50
|
}
|
|
49
|
-
|
|
51
|
+
_render(fromNode) {
|
|
50
52
|
if (fromNode?.parent) {
|
|
51
|
-
this.
|
|
53
|
+
this._renderFromNode(fromNode);
|
|
52
54
|
} else {
|
|
53
|
-
this.
|
|
55
|
+
this._renderFromRoot();
|
|
54
56
|
}
|
|
55
57
|
}
|
|
56
|
-
|
|
58
|
+
|
|
59
|
+
/* Render the children of a rendered folder. Returns the new <ul>, or
|
|
60
|
+
* null when the folder is not rendered or has no children.
|
|
61
|
+
*/
|
|
62
|
+
_renderChildren(node) {
|
|
63
|
+
if (!node.element || !node.hasChildren()) {
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
return this._createDomElements(node.element, node.children, false, node.getLevel() + 1);
|
|
67
|
+
}
|
|
68
|
+
_renderFromNode(node) {
|
|
57
69
|
if (!node.element) {
|
|
58
70
|
return;
|
|
59
71
|
}
|
|
60
|
-
|
|
61
|
-
|
|
72
|
+
let currentLi = node.element;
|
|
73
|
+
let newLi = this._createLi(node, node.getLevel());
|
|
62
74
|
currentLi.replaceWith(newLi);
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
75
|
+
if (this._mustRenderChildren(node)) {
|
|
76
|
+
this._createDomElements(newLi, node.children, false, node.getLevel() + 1);
|
|
77
|
+
}
|
|
66
78
|
}
|
|
67
|
-
|
|
68
|
-
this._htmlElement.textContent =
|
|
69
|
-
|
|
79
|
+
_renderFromRoot() {
|
|
80
|
+
this._htmlElement.textContent = "";
|
|
81
|
+
let tree = this._getTree();
|
|
70
82
|
if (tree) {
|
|
71
83
|
this._createDomElements(this._htmlElement, tree.children, true, 1);
|
|
72
84
|
}
|
|
@@ -75,12 +87,16 @@ class ElementsRenderer {
|
|
|
75
87
|
node.element = li;
|
|
76
88
|
this._setNodeElement(li, node);
|
|
77
89
|
}
|
|
90
|
+
|
|
91
|
+
/* Returns the template of a toggler icon; it is cloned for every folder.
|
|
92
|
+
* A string is parsed as html and becomes a fragment, so it can hold
|
|
93
|
+
* entities, text and elements.
|
|
94
|
+
*/
|
|
78
95
|
_createButtonElement(value) {
|
|
79
96
|
if (typeof value === "string") {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
return document.createTextNode(div.innerHTML);
|
|
97
|
+
let template = document.createElement("template");
|
|
98
|
+
template.innerHTML = value;
|
|
99
|
+
return template.content;
|
|
84
100
|
} else if (value.nodeType) {
|
|
85
101
|
return value;
|
|
86
102
|
} else {
|
|
@@ -88,35 +104,52 @@ class ElementsRenderer {
|
|
|
88
104
|
}
|
|
89
105
|
}
|
|
90
106
|
_createDomElements(element, children, isRootNode, level) {
|
|
91
|
-
|
|
107
|
+
let template = isRootNode ? this._rootUlTemplate : this._groupUlTemplate;
|
|
108
|
+
let ul = template.cloneNode();
|
|
92
109
|
element.appendChild(ul);
|
|
93
|
-
for (
|
|
94
|
-
|
|
110
|
+
for (let child of children) {
|
|
111
|
+
let li = this._createLi(child, level);
|
|
95
112
|
ul.appendChild(li);
|
|
96
|
-
if (
|
|
113
|
+
if (this._mustRenderChildren(child)) {
|
|
97
114
|
this._createDomElements(li, child.children, false, level + 1);
|
|
98
115
|
}
|
|
99
116
|
}
|
|
117
|
+
return ul;
|
|
100
118
|
}
|
|
101
119
|
_createFolderLi(node, level, isSelected) {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
120
|
+
let template = node.is_open ? this._openedFolderTemplate : this._closedFolderTemplate;
|
|
121
|
+
let li = template.cloneNode(true);
|
|
122
|
+
if (isSelected) {
|
|
123
|
+
li.classList.add(this._classNames.selected);
|
|
124
|
+
}
|
|
125
|
+
if (node.is_loading) {
|
|
126
|
+
li.classList.add(this._classNames.loading);
|
|
127
|
+
}
|
|
105
128
|
|
|
106
|
-
// li
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
129
|
+
// li > div > [button link], title span, [button link]
|
|
130
|
+
let div = li.firstChild;
|
|
131
|
+
let titleSpan = div.childNodes[this._buttonLeft ? 1 : 0];
|
|
132
|
+
this._fillTitleSpan(titleSpan, node.name, isSelected, level);
|
|
133
|
+
return li;
|
|
134
|
+
}
|
|
110
135
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
136
|
+
/* Template for a folder <li>:
|
|
137
|
+
* li > div > [button link], title span, [button link]
|
|
138
|
+
* The toggler icon and the aria-expanded attribute depend on the open
|
|
139
|
+
* state, so there is a template for each.
|
|
140
|
+
*/
|
|
141
|
+
_createFolderTemplate(isOpen) {
|
|
142
|
+
let liClasses = [this._classNames.common, this._classNames.folder];
|
|
143
|
+
if (!isOpen) {
|
|
144
|
+
liClasses.push(this._classNames.closed);
|
|
145
|
+
}
|
|
146
|
+
let li = this._createLiTemplate(liClasses.join(" "));
|
|
147
|
+
let div = li.firstChild;
|
|
116
148
|
|
|
117
149
|
// button link
|
|
118
|
-
|
|
119
|
-
buttonLink.className =
|
|
150
|
+
let buttonLink = document.createElement("a");
|
|
151
|
+
buttonLink.className = this._getButtonClasses(isOpen);
|
|
152
|
+
let iconElement = isOpen ? this._openedIconElement : this._closedIconElement;
|
|
120
153
|
if (iconElement) {
|
|
121
154
|
buttonLink.appendChild(iconElement.cloneNode(true));
|
|
122
155
|
}
|
|
@@ -125,8 +158,8 @@ class ElementsRenderer {
|
|
|
125
158
|
}
|
|
126
159
|
|
|
127
160
|
// title span
|
|
128
|
-
|
|
129
|
-
titleSpan.setAttribute("aria-expanded", getBoolString(
|
|
161
|
+
let titleSpan = this._createTitleSpanTemplate(true);
|
|
162
|
+
titleSpan.setAttribute("aria-expanded", getBoolString(isOpen));
|
|
130
163
|
div.appendChild(titleSpan);
|
|
131
164
|
if (!this._buttonLeft) {
|
|
132
165
|
div.appendChild(buttonLink);
|
|
@@ -139,61 +172,60 @@ class ElementsRenderer {
|
|
|
139
172
|
* Call onCreateLi
|
|
140
173
|
*/
|
|
141
174
|
_createLi(node, level) {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
175
|
+
let isSelected = this._isNodeSelected(node);
|
|
176
|
+
let mustShowFolder = node.isFolder() || node.isEmptyFolder && this._showEmptyFolder;
|
|
177
|
+
let li = mustShowFolder ? this._createFolderLi(node, level, isSelected) : this._createNodeLi(node, level, isSelected);
|
|
145
178
|
this._attachNodeData(node, li);
|
|
146
179
|
if (this._onCreateLi) {
|
|
147
180
|
this._onCreateLi(node, li, isSelected);
|
|
148
181
|
}
|
|
149
182
|
return li;
|
|
150
183
|
}
|
|
151
|
-
_createNodeLi(node, level, isSelected) {
|
|
152
|
-
const liClasses = [this._classNames.common];
|
|
153
|
-
if (isSelected) {
|
|
154
|
-
liClasses.push(this._classNames.selected);
|
|
155
|
-
}
|
|
156
|
-
const classString = liClasses.join(" ");
|
|
157
184
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
li
|
|
185
|
+
/* Create the outer part of a <li> template: li > div */
|
|
186
|
+
_createLiTemplate(liClasses) {
|
|
187
|
+
let li = document.createElement("li");
|
|
188
|
+
li.className = liClasses;
|
|
161
189
|
li.setAttribute("role", "none");
|
|
162
|
-
|
|
163
|
-
// div
|
|
164
|
-
const div = document.createElement("div");
|
|
190
|
+
let div = document.createElement("div");
|
|
165
191
|
div.className = `${this._classNames.element} ${this._classNames.common}`;
|
|
166
192
|
div.setAttribute("role", "none");
|
|
167
193
|
li.appendChild(div);
|
|
194
|
+
return li;
|
|
195
|
+
}
|
|
196
|
+
_createNodeLi(node, level, isSelected) {
|
|
197
|
+
let li = this._nodeTemplate.cloneNode(true);
|
|
198
|
+
if (isSelected) {
|
|
199
|
+
li.classList.add(this._classNames.selected);
|
|
200
|
+
}
|
|
168
201
|
|
|
169
|
-
// title span
|
|
170
|
-
|
|
171
|
-
div.
|
|
202
|
+
// li > div > title span
|
|
203
|
+
let div = li.firstChild;
|
|
204
|
+
let titleSpan = div.firstChild;
|
|
205
|
+
this._fillTitleSpan(titleSpan, node.name, isSelected, level);
|
|
206
|
+
return li;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
/* Template for a <li> without children: li > div > title span */
|
|
210
|
+
_createNodeTemplate() {
|
|
211
|
+
let li = this._createLiTemplate(this._classNames.common);
|
|
212
|
+
let div = li.firstChild;
|
|
213
|
+
div.appendChild(this._createTitleSpanTemplate(false));
|
|
172
214
|
return li;
|
|
173
215
|
}
|
|
174
|
-
|
|
175
|
-
|
|
216
|
+
_createTitleSpanTemplate(isFolder) {
|
|
217
|
+
let titleSpan = document.createElement("span");
|
|
176
218
|
let classes = `${this._classNames.title} ${this._classNames.common}`;
|
|
177
219
|
if (isFolder) {
|
|
178
220
|
classes += ` ${this._classNames.titleFolder}`;
|
|
179
221
|
}
|
|
180
222
|
classes += ` ${this._buttonLeft ? this._classNames.titleButtonLeft : this._classNames.titleButtonRight}`;
|
|
181
223
|
titleSpan.className = classes;
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
if (tabIndex !== undefined) {
|
|
185
|
-
titleSpan.setAttribute("tabindex", `${tabIndex}`);
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
this._setTreeItemAriaAttributes(titleSpan, nodeName, level, isSelected);
|
|
189
|
-
if (this._autoEscape) {
|
|
190
|
-
titleSpan.textContent = nodeName;
|
|
191
|
-
} else {
|
|
192
|
-
titleSpan.innerHTML = nodeName;
|
|
193
|
-
}
|
|
224
|
+
titleSpan.setAttribute("role", "treeitem");
|
|
225
|
+
titleSpan.setAttribute("aria-selected", "false");
|
|
194
226
|
return titleSpan;
|
|
195
227
|
}
|
|
196
|
-
|
|
228
|
+
_createUlTemplate(isRootNode) {
|
|
197
229
|
let classString;
|
|
198
230
|
let role;
|
|
199
231
|
if (!isRootNode) {
|
|
@@ -209,41 +241,45 @@ class ElementsRenderer {
|
|
|
209
241
|
if (this._dragAndDrop) {
|
|
210
242
|
classString += ` ${this._classNames.dnd}`;
|
|
211
243
|
}
|
|
212
|
-
|
|
244
|
+
let ul = document.createElement("ul");
|
|
213
245
|
ul.className = `${this._classNames.common} ${classString}`;
|
|
214
246
|
ul.setAttribute("role", role);
|
|
215
247
|
return ul;
|
|
216
248
|
}
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
249
|
+
|
|
250
|
+
/* Set the parts of a cloned title span that differ per node */
|
|
251
|
+
_fillTitleSpan(titleSpan, nodeName, isSelected, level) {
|
|
252
|
+
titleSpan.setAttribute("aria-label", nodeName);
|
|
253
|
+
titleSpan.setAttribute("aria-level", `${level}`);
|
|
254
|
+
if (isSelected) {
|
|
255
|
+
titleSpan.setAttribute("aria-selected", "true");
|
|
256
|
+
let tabIndex = this._tabIndex;
|
|
257
|
+
if (tabIndex !== undefined) {
|
|
258
|
+
titleSpan.setAttribute("tabindex", `${tabIndex}`);
|
|
259
|
+
}
|
|
221
260
|
}
|
|
222
|
-
if (this.
|
|
223
|
-
|
|
261
|
+
if (this._autoEscape) {
|
|
262
|
+
titleSpan.textContent = nodeName;
|
|
224
263
|
} else {
|
|
225
|
-
|
|
264
|
+
titleSpan.innerHTML = nodeName;
|
|
226
265
|
}
|
|
227
|
-
return classes.join(" ");
|
|
228
266
|
}
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
if (!
|
|
267
|
+
_getButtonClasses(isOpen) {
|
|
268
|
+
let classes = [this._classNames.toggler, this._classNames.common];
|
|
269
|
+
if (!isOpen) {
|
|
232
270
|
classes.push(this._classNames.closed);
|
|
233
271
|
}
|
|
234
|
-
if (
|
|
235
|
-
classes.push(this._classNames.
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
classes.push(this._classNames.loading);
|
|
272
|
+
if (this._buttonLeft) {
|
|
273
|
+
classes.push(this._classNames.togglerLeft);
|
|
274
|
+
} else {
|
|
275
|
+
classes.push(this._classNames.togglerRight);
|
|
239
276
|
}
|
|
240
277
|
return classes.join(" ");
|
|
241
278
|
}
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
element.setAttribute("role", "treeitem");
|
|
279
|
+
|
|
280
|
+
/* The children of a closed folder are rendered when it is opened */
|
|
281
|
+
_mustRenderChildren(node) {
|
|
282
|
+
return node.hasChildren() && node.is_open === true;
|
|
247
283
|
}
|
|
248
284
|
}
|
|
249
285
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elementsRenderer.js","sources":["../src/elementsRenderer.ts"],"sourcesContent":["import type { ClassNames } from \"./classNames\";\nimport type { GetTree, IsNodeSelected } from \"./methodTypes\";\nimport type { Node } from \"./node\";\nimport type { IconElement, OnCreateLi } from \"./options\";\n\nimport { getBoolString } from \"./util\";\n\ninterface ElementsRendererParams {\n autoEscape: boolean;\n buttonLeft: boolean;\n classNames: ClassNames;\n closedIcon?: IconElement;\n dragAndDrop: boolean;\n getTree: GetTree;\n htmlElement: HTMLElement;\n isNodeSelected: IsNodeSelected;\n onCreateLi?: OnCreateLi;\n openedIcon?: IconElement;\n rtl?: boolean;\n setNodeElement: (element: HTMLElement, node: Node) => void;\n showEmptyFolder: boolean;\n tabIndex?: number;\n}\n\nexport default class ElementsRenderer {\n public closedIconElement?: HTMLElement | Text;\n public openedIconElement?: HTMLElement | Text;\n private autoEscape: boolean;\n private buttonLeft: boolean;\n private classNames: ClassNames;\n private dragAndDrop: boolean;\n private getTree: GetTree;\n private htmlElement: HTMLElement;\n private isNodeSelected: IsNodeSelected;\n private onCreateLi?: OnCreateLi;\n private rtl?: boolean;\n private setNodeElement: (element: HTMLElement, node: Node) => void;\n private showEmptyFolder: boolean;\n private tabIndex?: number;\n\n constructor({\n autoEscape,\n buttonLeft,\n classNames,\n closedIcon,\n dragAndDrop,\n getTree,\n htmlElement,\n isNodeSelected,\n onCreateLi,\n openedIcon,\n rtl,\n setNodeElement,\n showEmptyFolder,\n tabIndex,\n }: ElementsRendererParams) {\n this.autoEscape = autoEscape;\n this.buttonLeft = buttonLeft;\n this.classNames = classNames;\n this.dragAndDrop = dragAndDrop;\n this.getTree = getTree;\n this.htmlElement = htmlElement;\n this.isNodeSelected = isNodeSelected;\n this.onCreateLi = onCreateLi;\n this.rtl = rtl;\n this.setNodeElement = setNodeElement;\n this.showEmptyFolder = showEmptyFolder;\n this.tabIndex = tabIndex;\n this.openedIconElement = this.createButtonElement(openedIcon ?? \"+\");\n this.closedIconElement = this.createButtonElement(closedIcon ?? \"-\");\n }\n\n public render(fromNode: Node | null): void {\n if (fromNode?.parent) {\n this.renderFromNode(fromNode);\n } else {\n this.renderFromRoot();\n }\n }\n\n public renderFromNode(node: Node): void {\n if (!node.element) {\n return;\n }\n\n const currentLi = node.element;\n const newLi = this.createLi(node, node.getLevel());\n currentLi.replaceWith(newLi);\n\n // create children\n this.createDomElements(newLi, node.children, false, node.getLevel() + 1);\n }\n\n public renderFromRoot(): void {\n this.htmlElement.textContent = '';\n\n const tree = this.getTree();\n\n if (tree) {\n this.createDomElements(this.htmlElement, tree.children, true, 1);\n }\n }\n\n private attachNodeData(node: Node, li: HTMLElement): void {\n node.element = li;\n this.setNodeElement(li, node);\n }\n\n private createButtonElement(\n value: IconElement,\n ): HTMLElement | Text | undefined {\n if (typeof value === \"string\") {\n // convert value to html\n const div = document.createElement(\"div\");\n div.innerHTML = value;\n\n return document.createTextNode(div.innerHTML);\n } else if (value.nodeType) {\n return value;\n } else {\n return undefined;\n }\n }\n\n private createDomElements(\n element: Element,\n children: Node[],\n isRootNode: boolean,\n level: number,\n ): void {\n const ul = this.createUl(isRootNode);\n element.appendChild(ul);\n\n for (const child of children) {\n const li = this.createLi(child, level);\n ul.appendChild(li);\n\n if (child.hasChildren()) {\n this.createDomElements(li, child.children, false, level + 1);\n }\n }\n }\n\n private createFolderLi(\n node: Node,\n level: number,\n isSelected: boolean,\n ): HTMLLIElement {\n const buttonClasses = this.getButtonClasses(node);\n const folderClasses = this.getFolderClasses(node, isSelected);\n\n const iconElement = node.is_open\n ? this.openedIconElement\n : this.closedIconElement;\n\n // li\n const li = document.createElement(\"li\");\n li.className = `${this.classNames.common} ${folderClasses}`;\n li.setAttribute(\"role\", \"none\");\n\n // div\n const div = document.createElement(\"div\");\n div.className = `${this.classNames.element} ${this.classNames.common}`;\n div.setAttribute(\"role\", \"none\");\n\n li.appendChild(div);\n\n // button link\n const buttonLink = document.createElement(\"a\");\n buttonLink.className = buttonClasses;\n\n if (iconElement) {\n buttonLink.appendChild(iconElement.cloneNode(true));\n }\n\n if (this.buttonLeft) {\n div.appendChild(buttonLink);\n }\n\n // title span\n const titleSpan = this.createTitleSpan(\n node.name,\n isSelected,\n true,\n level,\n );\n titleSpan.setAttribute(\"aria-expanded\", getBoolString(node.is_open));\n div.appendChild(titleSpan);\n\n if (!this.buttonLeft) {\n div.appendChild(buttonLink);\n }\n\n return li;\n }\n\n /* Create the <li> element\n * Attach it to node.element.\n * Call onCreateLi\n */\n private createLi(node: Node, level: number): HTMLLIElement {\n const isSelected = this.isNodeSelected(node);\n\n const mustShowFolder =\n node.isFolder() || (node.isEmptyFolder && this.showEmptyFolder);\n\n const li = mustShowFolder\n ? this.createFolderLi(node, level, isSelected)\n : this.createNodeLi(node, level, isSelected);\n\n this.attachNodeData(node, li);\n\n if (this.onCreateLi) {\n this.onCreateLi(node, li, isSelected);\n }\n\n return li;\n }\n\n private createNodeLi(\n node: Node,\n level: number,\n isSelected: boolean,\n ): HTMLLIElement {\n const liClasses = [this.classNames.common];\n\n if (isSelected) {\n liClasses.push(this.classNames.selected);\n }\n\n const classString = liClasses.join(\" \");\n\n // li\n const li = document.createElement(\"li\");\n li.className = classString;\n li.setAttribute(\"role\", \"none\");\n\n // div\n const div = document.createElement(\"div\");\n div.className = `${this.classNames.element} ${this.classNames.common}`;\n div.setAttribute(\"role\", \"none\");\n\n li.appendChild(div);\n\n // title span\n const titleSpan = this.createTitleSpan(\n node.name,\n isSelected,\n false,\n level,\n );\n div.appendChild(titleSpan);\n\n return li;\n }\n\n private createTitleSpan(\n nodeName: string,\n isSelected: boolean,\n isFolder: boolean,\n level: number,\n ): HTMLSpanElement {\n const titleSpan = document.createElement(\"span\");\n\n let classes = `${this.classNames.title} ${this.classNames.common}`;\n\n if (isFolder) {\n classes += ` ${this.classNames.titleFolder}`;\n }\n\n classes += ` ${this.buttonLeft ? this.classNames.titleButtonLeft : this.classNames.titleButtonRight}`;\n\n titleSpan.className = classes;\n\n if (isSelected) {\n const tabIndex = this.tabIndex;\n\n if (tabIndex !== undefined) {\n titleSpan.setAttribute(\"tabindex\", `${tabIndex}`);\n }\n }\n\n this.setTreeItemAriaAttributes(titleSpan, nodeName, level, isSelected);\n\n if (this.autoEscape) {\n titleSpan.textContent = nodeName;\n } else {\n titleSpan.innerHTML = nodeName;\n }\n\n return titleSpan;\n }\n\n private createUl(isRootNode: boolean): HTMLUListElement {\n let classString;\n let role;\n\n if (!isRootNode) {\n classString = \"\";\n role = \"group\";\n } else {\n classString = this.classNames.tree;\n role = \"tree\";\n\n if (this.rtl) {\n classString += ` ${this.classNames.rtl}`;\n }\n }\n\n if (this.dragAndDrop) {\n classString += ` ${this.classNames.dnd}`;\n }\n\n const ul = document.createElement(\"ul\");\n ul.className = `${this.classNames.common} ${classString}`;\n\n ul.setAttribute(\"role\", role);\n\n return ul;\n }\n\n private getButtonClasses(node: Node): string {\n const classes = [this.classNames.toggler, this.classNames.common];\n\n if (!node.is_open) {\n classes.push(this.classNames.closed);\n }\n\n if (this.buttonLeft) {\n classes.push(this.classNames.togglerLeft);\n } else {\n classes.push(this.classNames.togglerRight);\n }\n\n return classes.join(\" \");\n }\n\n private getFolderClasses(node: Node, isSelected: boolean): string {\n const classes = [this.classNames.folder];\n\n if (!node.is_open) {\n classes.push(this.classNames.closed);\n }\n\n if (isSelected) {\n classes.push(this.classNames.selected);\n }\n\n if (node.is_loading) {\n classes.push(this.classNames.loading);\n }\n\n return classes.join(\" \");\n }\n\n private setTreeItemAriaAttributes(\n element: HTMLElement,\n name: string,\n level: number,\n isSelected: boolean,\n ) {\n element.setAttribute(\"aria-label\", name);\n element.setAttribute(\"aria-level\", `${level}`);\n element.setAttribute(\"aria-selected\", getBoolString(isSelected));\n element.setAttribute(\"role\", \"treeitem\");\n }\n}\n"],"names":["autoEscape","buttonLeft","classNames","dragAndDrop","getTree","htmlElement","isNodeSelected","onCreateLi","rtl","setNodeElement","showEmptyFolder","tabIndex","createButtonElement","createLi","createDomElements","attachNodeData","createUl","createFolderLi","getButtonClasses","getFolderClasses","createTitleSpan","createNodeLi","setTreeItemAriaAttributes"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"elementsRenderer.js","sources":["../src/elementsRenderer.ts"],"sourcesContent":["import type { ClassNames } from \"./classNames\";\nimport type { GetTree, IsNodeSelected } from \"./methodTypes\";\nimport type { Node } from \"./node\";\nimport type { IconElement, OnCreateLi } from \"./options\";\n\nimport { getBoolString } from \"./util\";\n\ninterface ElementsRendererParams {\n autoEscape: boolean;\n buttonLeft: boolean;\n classNames: ClassNames;\n closedIcon?: IconElement;\n dragAndDrop: boolean;\n getTree: GetTree;\n htmlElement: HTMLElement;\n isNodeSelected: IsNodeSelected;\n onCreateLi?: OnCreateLi;\n openedIcon?: IconElement;\n rtl?: boolean;\n setNodeElement: (element: HTMLElement, node: Node) => void;\n showEmptyFolder: boolean;\n tabIndex?: number;\n}\n\n/* Renders the tree to html.\n *\n * The children of a closed folder are not rendered. They are rendered when\n * the folder is opened, see renderChildren.\n *\n * The elements are created by cloning templates. A template is a fully\n * built <li> or <ul> with everything that is the same for every node\n * (structure, roles, static classes, the toggler icon). Per node only the\n * parts that differ are set: the title, the aria attributes and the\n * selected and loading classes.\n */\nexport default class ElementsRenderer {\n public closedIconElement?: globalThis.Node;\n public openedIconElement?: globalThis.Node;\n private autoEscape: boolean;\n private buttonLeft: boolean;\n private classNames: ClassNames;\n private closedFolderTemplate: HTMLLIElement;\n private dragAndDrop: boolean;\n private getTree: GetTree;\n private groupUlTemplate: HTMLUListElement;\n private htmlElement: HTMLElement;\n private isNodeSelected: IsNodeSelected;\n private nodeTemplate: HTMLLIElement;\n private onCreateLi?: OnCreateLi;\n private openedFolderTemplate: HTMLLIElement;\n private rootUlTemplate: HTMLUListElement;\n private rtl?: boolean;\n private setNodeElement: (element: HTMLElement, node: Node) => void;\n private showEmptyFolder: boolean;\n private tabIndex?: number;\n\n constructor({\n autoEscape,\n buttonLeft,\n classNames,\n closedIcon,\n dragAndDrop,\n getTree,\n htmlElement,\n isNodeSelected,\n onCreateLi,\n openedIcon,\n rtl,\n setNodeElement,\n showEmptyFolder,\n tabIndex,\n }: ElementsRendererParams) {\n this.autoEscape = autoEscape;\n this.buttonLeft = buttonLeft;\n this.classNames = classNames;\n this.dragAndDrop = dragAndDrop;\n this.getTree = getTree;\n this.htmlElement = htmlElement;\n this.isNodeSelected = isNodeSelected;\n this.onCreateLi = onCreateLi;\n this.rtl = rtl;\n this.setNodeElement = setNodeElement;\n this.showEmptyFolder = showEmptyFolder;\n this.tabIndex = tabIndex;\n this.openedIconElement = this.createButtonElement(openedIcon ?? \"+\");\n this.closedIconElement = this.createButtonElement(closedIcon ?? \"-\");\n\n this.rootUlTemplate = this.createUlTemplate(true);\n this.groupUlTemplate = this.createUlTemplate(false);\n this.nodeTemplate = this.createNodeTemplate();\n this.openedFolderTemplate = this.createFolderTemplate(true);\n this.closedFolderTemplate = this.createFolderTemplate(false);\n }\n\n public render(fromNode: Node | null): void {\n if (fromNode?.parent) {\n this.renderFromNode(fromNode);\n } else {\n this.renderFromRoot();\n }\n }\n\n /* Render the children of a rendered folder. Returns the new <ul>, or\n * null when the folder is not rendered or has no children.\n */\n public renderChildren(node: Node): HTMLUListElement | null {\n if (!node.element || !node.hasChildren()) {\n return null;\n }\n\n return this.createDomElements(\n node.element,\n node.children,\n false,\n node.getLevel() + 1,\n );\n }\n\n public renderFromNode(node: Node): void {\n if (!node.element) {\n return;\n }\n\n const currentLi = node.element;\n const newLi = this.createLi(node, node.getLevel());\n currentLi.replaceWith(newLi);\n\n if (this.mustRenderChildren(node)) {\n this.createDomElements(newLi, node.children, false, node.getLevel() + 1);\n }\n }\n\n public renderFromRoot(): void {\n this.htmlElement.textContent = \"\";\n\n const tree = this.getTree();\n\n if (tree) {\n this.createDomElements(this.htmlElement, tree.children, true, 1);\n }\n }\n\n private attachNodeData(node: Node, li: HTMLElement): void {\n node.element = li;\n this.setNodeElement(li, node);\n }\n\n /* Returns the template of a toggler icon; it is cloned for every folder.\n * A string is parsed as html and becomes a fragment, so it can hold\n * entities, text and elements.\n */\n private createButtonElement(value: IconElement): globalThis.Node | undefined {\n if (typeof value === \"string\") {\n const template = document.createElement(\"template\");\n template.innerHTML = value;\n\n return template.content;\n } else if (value.nodeType) {\n return value;\n } else {\n return undefined;\n }\n }\n\n private createDomElements(\n element: Element,\n children: Node[],\n isRootNode: boolean,\n level: number,\n ): HTMLUListElement {\n const template = isRootNode ? this.rootUlTemplate : this.groupUlTemplate;\n const ul = template.cloneNode() as HTMLUListElement;\n element.appendChild(ul);\n\n for (const child of children) {\n const li = this.createLi(child, level);\n ul.appendChild(li);\n\n if (this.mustRenderChildren(child)) {\n this.createDomElements(li, child.children, false, level + 1);\n }\n }\n\n return ul;\n }\n\n private createFolderLi(\n node: Node,\n level: number,\n isSelected: boolean,\n ): HTMLLIElement {\n const template = node.is_open\n ? this.openedFolderTemplate\n : this.closedFolderTemplate;\n const li = template.cloneNode(true) as HTMLLIElement;\n\n if (isSelected) {\n li.classList.add(this.classNames.selected);\n }\n\n if (node.is_loading) {\n li.classList.add(this.classNames.loading);\n }\n\n // li > div > [button link], title span, [button link]\n const div = li.firstChild as HTMLDivElement;\n const titleSpan = div.childNodes[\n this.buttonLeft ? 1 : 0\n ] as HTMLSpanElement;\n\n this.fillTitleSpan(titleSpan, node.name, isSelected, level);\n\n return li;\n }\n\n /* Template for a folder <li>:\n * li > div > [button link], title span, [button link]\n * The toggler icon and the aria-expanded attribute depend on the open\n * state, so there is a template for each.\n */\n private createFolderTemplate(isOpen: boolean): HTMLLIElement {\n const liClasses = [this.classNames.common, this.classNames.folder];\n\n if (!isOpen) {\n liClasses.push(this.classNames.closed);\n }\n\n const li = this.createLiTemplate(liClasses.join(\" \"));\n const div = li.firstChild as HTMLDivElement;\n\n // button link\n const buttonLink = document.createElement(\"a\");\n buttonLink.className = this.getButtonClasses(isOpen);\n\n const iconElement = isOpen\n ? this.openedIconElement\n : this.closedIconElement;\n\n if (iconElement) {\n buttonLink.appendChild(iconElement.cloneNode(true));\n }\n\n if (this.buttonLeft) {\n div.appendChild(buttonLink);\n }\n\n // title span\n const titleSpan = this.createTitleSpanTemplate(true);\n titleSpan.setAttribute(\"aria-expanded\", getBoolString(isOpen));\n div.appendChild(titleSpan);\n\n if (!this.buttonLeft) {\n div.appendChild(buttonLink);\n }\n\n return li;\n }\n\n /* Create the <li> element\n * Attach it to node.element.\n * Call onCreateLi\n */\n private createLi(node: Node, level: number): HTMLLIElement {\n const isSelected = this.isNodeSelected(node);\n\n const mustShowFolder =\n node.isFolder() || (node.isEmptyFolder && this.showEmptyFolder);\n\n const li = mustShowFolder\n ? this.createFolderLi(node, level, isSelected)\n : this.createNodeLi(node, level, isSelected);\n\n this.attachNodeData(node, li);\n\n if (this.onCreateLi) {\n this.onCreateLi(node, li, isSelected);\n }\n\n return li;\n }\n\n /* Create the outer part of a <li> template: li > div */\n private createLiTemplate(liClasses: string): HTMLLIElement {\n const li = document.createElement(\"li\");\n li.className = liClasses;\n li.setAttribute(\"role\", \"none\");\n\n const div = document.createElement(\"div\");\n div.className = `${this.classNames.element} ${this.classNames.common}`;\n div.setAttribute(\"role\", \"none\");\n\n li.appendChild(div);\n\n return li;\n }\n\n private createNodeLi(\n node: Node,\n level: number,\n isSelected: boolean,\n ): HTMLLIElement {\n const li = this.nodeTemplate.cloneNode(true) as HTMLLIElement;\n\n if (isSelected) {\n li.classList.add(this.classNames.selected);\n }\n\n // li > div > title span\n const div = li.firstChild as HTMLDivElement;\n const titleSpan = div.firstChild as HTMLSpanElement;\n\n this.fillTitleSpan(titleSpan, node.name, isSelected, level);\n\n return li;\n }\n\n /* Template for a <li> without children: li > div > title span */\n private createNodeTemplate(): HTMLLIElement {\n const li = this.createLiTemplate(this.classNames.common);\n const div = li.firstChild as HTMLDivElement;\n\n div.appendChild(this.createTitleSpanTemplate(false));\n\n return li;\n }\n\n private createTitleSpanTemplate(isFolder: boolean): HTMLSpanElement {\n const titleSpan = document.createElement(\"span\");\n\n let classes = `${this.classNames.title} ${this.classNames.common}`;\n\n if (isFolder) {\n classes += ` ${this.classNames.titleFolder}`;\n }\n\n classes += ` ${this.buttonLeft ? this.classNames.titleButtonLeft : this.classNames.titleButtonRight}`;\n\n titleSpan.className = classes;\n titleSpan.setAttribute(\"role\", \"treeitem\");\n titleSpan.setAttribute(\"aria-selected\", \"false\");\n\n return titleSpan;\n }\n\n private createUlTemplate(isRootNode: boolean): HTMLUListElement {\n let classString;\n let role;\n\n if (!isRootNode) {\n classString = \"\";\n role = \"group\";\n } else {\n classString = this.classNames.tree;\n role = \"tree\";\n\n if (this.rtl) {\n classString += ` ${this.classNames.rtl}`;\n }\n }\n\n if (this.dragAndDrop) {\n classString += ` ${this.classNames.dnd}`;\n }\n\n const ul = document.createElement(\"ul\");\n ul.className = `${this.classNames.common} ${classString}`;\n\n ul.setAttribute(\"role\", role);\n\n return ul;\n }\n\n /* Set the parts of a cloned title span that differ per node */\n private fillTitleSpan(\n titleSpan: HTMLSpanElement,\n nodeName: string,\n isSelected: boolean,\n level: number,\n ): void {\n titleSpan.setAttribute(\"aria-label\", nodeName);\n titleSpan.setAttribute(\"aria-level\", `${level}`);\n\n if (isSelected) {\n titleSpan.setAttribute(\"aria-selected\", \"true\");\n\n const tabIndex = this.tabIndex;\n\n if (tabIndex !== undefined) {\n titleSpan.setAttribute(\"tabindex\", `${tabIndex}`);\n }\n }\n\n if (this.autoEscape) {\n titleSpan.textContent = nodeName;\n } else {\n titleSpan.innerHTML = nodeName;\n }\n }\n\n private getButtonClasses(isOpen: boolean): string {\n const classes = [this.classNames.toggler, this.classNames.common];\n\n if (!isOpen) {\n classes.push(this.classNames.closed);\n }\n\n if (this.buttonLeft) {\n classes.push(this.classNames.togglerLeft);\n } else {\n classes.push(this.classNames.togglerRight);\n }\n\n return classes.join(\" \");\n }\n\n /* The children of a closed folder are rendered when it is opened */\n private mustRenderChildren(node: Node): boolean {\n return node.hasChildren() && node.is_open === true;\n }\n}\n"],"names":["autoEscape","buttonLeft","classNames","dragAndDrop","getTree","htmlElement","isNodeSelected","onCreateLi","rtl","setNodeElement","showEmptyFolder","tabIndex","openedIconElement","createButtonElement","closedIconElement","rootUlTemplate","createUlTemplate","groupUlTemplate","nodeTemplate","createNodeTemplate","openedFolderTemplate","createFolderTemplate","closedFolderTemplate","render","renderFromNode","renderFromRoot","renderChildren","createDomElements","createLi","mustRenderChildren","attachNodeData","createFolderLi","fillTitleSpan","createLiTemplate","getButtonClasses","createTitleSpanTemplate","createNodeLi"],"mappings":"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"}
|
package/lib/events.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvD,MAAM,WAAW,QAAQ;
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvD,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,aAAa,EAAE,KAAK,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,IAAI,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,IAAI,CAAC;CAClB;AAGD,MAAM,MAAM,SAAS,CAAC,IAAI,SAAS,aAAa,GAAG,aAAa,IAAI,WAAW,CAC7E,UAAU,CAAC,IAAI,CAAC,CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC;AAO7C,MAAM,WAAW,UAAU;IACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,WAAW,EAAE,SAAS,CAAC;IACvB;;;;OAIG;IACH,cAAc,EAAE,SAAS,CAAC;IAC1B;;;;;;;;;;;;OAYG;IACH,YAAY,EAAE;QACZ,IAAI,EAAE,IAAI,CAAC;QACX,aAAa,EAAE,UAAU,CAAC;KAC3B,CAAC;IACF;;;;OAIG;IACH,eAAe,EAAE;QACf,IAAI,EAAE,IAAI,CAAC;QACX,aAAa,EAAE,UAAU,CAAC;KAC3B,CAAC;IACF;;;;;OAKG;IACH,kBAAkB,EAAE;QAClB,IAAI,EAAE,IAAI,CAAC;QACX,aAAa,EAAE,UAAU,CAAC;KAC3B,CAAC;IACF;;;;OAIG;IACH,WAAW,EAAE;QACX,IAAI,EAAE,IAAI,CAAC;KACZ,CAAC;IACF;;;;OAIG;IACH,YAAY,EAAE;QACZ,IAAI,EAAE,IAAI,CAAC;KACZ,CAAC;IACF;;;;;;;;;;;;OAYG;IACH,aAAa,EAAE;QACb,iDAAiD;QACjD,cAAc,EAAE,IAAI,GAAG,IAAI,CAAC;QAC5B,qCAAqC;QACrC,IAAI,EAAE,IAAI,CAAC;KACZ,CAAC;IACF;;;;;;;;;;;;;;;;;;OAkBG;IACH,eAAe,EAAE;QACf,IAAI,EAAE,IAAI,CAAC;KACZ,CAAC;IACF;;;;;;;;;;;;;;;;;OAiBG;IACH,WAAW,EAAE;QACX,iDAAiD;QACjD,QAAQ,EAAE,QAAQ,CAAC;KACpB,CAAC;IACF;;;;;OAKG;IACH,eAAe,EAAE;QACf,kEAAkE;QAClE,IAAI,CAAC,EAAE,IAAI,CAAC;QACZ,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;KACvB,CAAC;IACF;;;;OAIG;IACH,mBAAmB,EAAE;QACnB,OAAO,EAAE,WAAW,CAAC;QACrB,+DAA+D;QAC/D,IAAI,CAAC,EAAE,IAAI,CAAC;KACb,CAAC;IACF;;;;;OAKG;IACH,kBAAkB,EAAE;QAClB,OAAO,EAAE,WAAW,CAAC;QACrB,gEAAgE;QAChE,IAAI,CAAC,EAAE,IAAI,CAAC;KACb,CAAC;IACF;;;;;;;;;;;;;;;OAeG;IACH,kBAAkB,EAAE;QAClB,+EAA+E;QAC/E,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,6DAA6D;QAC7D,QAAQ,CAAC,EAAE,QAAQ,CAAC;KACrB,CAAC;CACH;AAGD,KAAK,YAAY,GAAG;KACjB,IAAI,IAAI,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC;CACzC,CAAC;AAGF,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,gBAAiB,SAAQ,YAAY;KAAG;IAElD,UAAU,mBAAoB,SAAQ,YAAY;KAAG;IAErD,UAAU,cAAe,SAAQ,YAAY;KAAG;CACjD"}
|
package/lib/index.d.ts
CHANGED
|
@@ -15,8 +15,6 @@ interface TreeElementParams extends Partial<TreeElementOptions> {
|
|
|
15
15
|
overrideTriggerEventProvider?: TriggerEventProvider;
|
|
16
16
|
}
|
|
17
17
|
export default class TreeElement {
|
|
18
|
-
/** @hidden */
|
|
19
|
-
tree: Node;
|
|
20
18
|
private classNames;
|
|
21
19
|
private dataLoader;
|
|
22
20
|
private dndHandler;
|
|
@@ -30,6 +28,7 @@ export default class TreeElement {
|
|
|
30
28
|
private saveStateHandler;
|
|
31
29
|
private scrollHandler;
|
|
32
30
|
private selectNodeHandler;
|
|
31
|
+
private tree;
|
|
33
32
|
private triggerEventProvider;
|
|
34
33
|
/** @hidden */
|
|
35
34
|
constructor({ htmlElement, overrideTriggerEventProvider, ...options }: TreeElementParams);
|
|
@@ -141,11 +140,11 @@ export default class TreeElement {
|
|
|
141
140
|
*/
|
|
142
141
|
getNodesByProperty(key: string, value: unknown): Node[];
|
|
143
142
|
/**
|
|
144
|
-
* Returns the selected node, or `
|
|
143
|
+
* Returns the selected node, or `null` when nothing is selected.
|
|
145
144
|
*
|
|
146
145
|
* @group Selection
|
|
147
146
|
*/
|
|
148
|
-
getSelectedNode():
|
|
147
|
+
getSelectedNode(): Node | null;
|
|
149
148
|
/**
|
|
150
149
|
* Returns the selected nodes.
|
|
151
150
|
*
|
|
@@ -301,7 +300,8 @@ export default class TreeElement {
|
|
|
301
300
|
*/
|
|
302
301
|
setOption(option: string, value: unknown): void;
|
|
303
302
|
/**
|
|
304
|
-
* Applies a state to the tree
|
|
303
|
+
* Applies a state to the tree, and saves it to storage when `saveState` is
|
|
304
|
+
* enabled.
|
|
305
305
|
*
|
|
306
306
|
* @group State
|
|
307
307
|
*/
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAQ7D,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAgB9B,YAAY,EACV,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,aAAa,EACb,UAAU,GACX,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,CACjC,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,aAAa,EACxB,MAAM,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,KAC/B,OAAO,CAAC;AAEb,UAAU,iBAAkB,SAAQ,OAAO,CAAC,kBAAkB,CAAC;IAC7D,sEAAsE;IACtE,WAAW,EAAE,WAAW,CAAC;IACzB;;+BAE2B;IAC3B,4BAA4B,CAAC,EAAE,oBAAoB,CAAC;CACrD;AAED,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|