@genexus/genexus-ide-ui 0.0.17 → 0.0.19
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/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-references.cjs.entry.js +115 -90
- package/dist/cjs/gx-ide-test.cjs.entry.js +40 -3
- package/dist/cjs/{gxg-form-radio-group.cjs.entry.js → gx-ide-top-bar_2.cjs.entry.js} +31 -0
- package/dist/cjs/gxg-tree_2.cjs.entry.js +40 -59
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/update-tree-model-445c63a8.js +53 -0
- package/dist/collection/common/render-tree.js +1 -1
- package/dist/collection/common/update-tree-model.js +22 -0
- package/dist/collection/components/_test/test.js +129 -2
- package/dist/collection/components/references/references.js +119 -113
- package/dist/collection/pages/assets/common.js +105 -95
- package/dist/components/gx-ide-references.js +131 -111
- package/dist/components/gx-ide-test.js +45 -4
- package/dist/components/gxg-tree-item2.js +21 -46
- package/dist/components/gxg-tree2.js +20 -14
- package/dist/components/update-tree-model.js +50 -0
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-references.entry.js +115 -90
- package/dist/esm/gx-ide-test.entry.js +40 -3
- package/dist/esm/{gxg-form-radio-group.entry.js → gx-ide-top-bar_2.entry.js} +32 -2
- package/dist/esm/gxg-tree_2.entry.js +40 -59
- package/dist/esm/loader.js +1 -1
- package/dist/esm/update-tree-model-80419058.js +50 -0
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/p-254f9ce7.entry.js +1 -0
- package/dist/genexus-ide-ui/p-519919e4.entry.js +1 -0
- package/dist/genexus-ide-ui/p-67cf60f5.js +1 -0
- package/dist/genexus-ide-ui/p-7007965c.entry.js +1 -0
- package/dist/genexus-ide-ui/p-78a90113.entry.js +1 -0
- package/dist/types/common/update-tree-model.d.ts +2 -0
- package/dist/types/components/_test/test.d.ts +19 -1
- package/dist/types/components/references/references.d.ts +28 -24
- package/dist/types/components.d.ts +37 -9
- package/package.json +3 -3
- package/dist/cjs/gx-ide-top-bar.cjs.entry.js +0 -37
- package/dist/cjs/render-tree-25d5b8a1.js +0 -29
- package/dist/components/render-tree.js +0 -27
- package/dist/esm/gx-ide-top-bar.entry.js +0 -33
- package/dist/esm/render-tree-fc8636a3.js +0 -27
- package/dist/genexus-ide-ui/p-48482e25.entry.js +0 -1
- package/dist/genexus-ide-ui/p-a5fee36d.entry.js +0 -1
- package/dist/genexus-ide-ui/p-abee8c7b.js +0 -1
- package/dist/genexus-ide-ui/p-be9406e7.entry.js +0 -1
- package/dist/genexus-ide-ui/p-c5c6e102.entry.js +0 -1
- package/dist/genexus-ide-ui/p-f6536bbc.entry.js +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-4f0a5746.js';
|
|
2
2
|
import { L as Locale } from './locale-e183487a.js';
|
|
3
|
-
import { r as renderTreeItems } from './
|
|
3
|
+
import { u as updateTreeModel, r as renderTreeItems } from './update-tree-model-80419058.js';
|
|
4
4
|
|
|
5
5
|
/* eslint-disable @typescript-eslint/no-use-before-define */
|
|
6
6
|
const renderSuggestLists = (suggestData) => {
|
|
@@ -115,7 +115,7 @@ const GxIdeReferences = class {
|
|
|
115
115
|
// 8.PUBLIC METHODS API //
|
|
116
116
|
// 9.LOCAL METHODS //
|
|
117
117
|
/**
|
|
118
|
-
*
|
|
118
|
+
* It attaches on the ch-suggest, the "itemSelected" event triggered by the ch-suggest-list-item. This helps set the new 'selectedObject'.
|
|
119
119
|
*/
|
|
120
120
|
this.attachSelectObjectListener = () => {
|
|
121
121
|
this.selectObjectSuggestEl.addEventListener("itemSelected", (e) => {
|
|
@@ -126,61 +126,7 @@ const GxIdeReferences = class {
|
|
|
126
126
|
});
|
|
127
127
|
};
|
|
128
128
|
/**
|
|
129
|
-
*
|
|
130
|
-
*/
|
|
131
|
-
this.attachReferencedByListeners = () => {
|
|
132
|
-
/* 'toggleIconClicked' Event: This events gets fired when the user clicks on the toggle icon, that opens/close a tree. Here we only use it to check if the item has lazy items to be loaded. */
|
|
133
|
-
this.referencedByEl.addEventListener("toggleIconClicked", async (e) => {
|
|
134
|
-
if (e.detail.lazy && e.detail.id) {
|
|
135
|
-
this.loadReferencesCallback(e.detail.id, false)
|
|
136
|
-
.then(result => {
|
|
137
|
-
this.referencedBy = result;
|
|
138
|
-
})
|
|
139
|
-
.catch(() => {
|
|
140
|
-
// to do
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
});
|
|
144
|
-
/* 'selectionChanged' Event: Fired when a new tree item was selected.*/
|
|
145
|
-
this.referencedByEl.addEventListener("selectionChanged", (e) => {
|
|
146
|
-
this.selectReferenceCallback(e.detail.id);
|
|
147
|
-
/* Returns void Promise*/
|
|
148
|
-
});
|
|
149
|
-
/* 'doubleClicked' Event: Fired when a tree item was double-clicked.*/
|
|
150
|
-
this.referencedByEl.addEventListener("doubleClicked", (e) => {
|
|
151
|
-
this.openObjectCallback(e.detail.id);
|
|
152
|
-
/* Returns void Promise*/
|
|
153
|
-
});
|
|
154
|
-
};
|
|
155
|
-
/**
|
|
156
|
-
* @description It attaches several events on the 'referencesToEl' element, which is a tree.
|
|
157
|
-
*/
|
|
158
|
-
this.attachReferencesToListeners = () => {
|
|
159
|
-
/* 'toggleIconClicked' Event: (Read description on 'attachReferencedByListeners' as it does the same)*/
|
|
160
|
-
this.referencesToEl.addEventListener("toggleIconClicked", async (e) => {
|
|
161
|
-
if (e.detail.lazy && e.detail.id) {
|
|
162
|
-
this.loadReferencesCallback(e.detail.id, true)
|
|
163
|
-
.then(result => {
|
|
164
|
-
this.referencesTo = result;
|
|
165
|
-
})
|
|
166
|
-
.catch(() => {
|
|
167
|
-
// to do
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
});
|
|
171
|
-
/* 'selectionChanged' Event: Fired when a new tree item was selected.*/
|
|
172
|
-
this.referencesToEl.addEventListener("selectionChanged", (e) => {
|
|
173
|
-
this.selectReferenceCallback(e.detail.id);
|
|
174
|
-
/* Returns void Promise*/
|
|
175
|
-
});
|
|
176
|
-
/* 'doubleClicked' Event: Fired when a tree item was double-clicked.*/
|
|
177
|
-
this.referencesToEl.addEventListener("doubleClicked", (e) => {
|
|
178
|
-
this.openObjectCallback(e.detail.id);
|
|
179
|
-
/* Returns void Promise*/
|
|
180
|
-
});
|
|
181
|
-
};
|
|
182
|
-
/**
|
|
183
|
-
* @description This handler gets fired every time the value of the 'Select Object' ch-suggest changes. Then, it calls the 'updateSuggestedObjects' method, that keeps the state of the last suggested objects that were passed bu the host. Also, it shows the suggested objects on the ch-suggest box.
|
|
129
|
+
* This handler gets fired every time the value of the 'Select Object' ch-suggest changes. Then, it calls the 'updateSuggestedObjects' method, that keeps the state of the last suggested objects that were passed bu the host. Also, it shows the suggested objects on the ch-suggest box.
|
|
184
130
|
*/
|
|
185
131
|
this.selectObjectValueChangedHandler = async (e) => {
|
|
186
132
|
const value = e.detail;
|
|
@@ -200,55 +146,131 @@ const GxIdeReferences = class {
|
|
|
200
146
|
/* Returns an empty Promise*/
|
|
201
147
|
};
|
|
202
148
|
/**
|
|
203
|
-
*
|
|
149
|
+
* handler that gets fired when the use clicks on the ch-suggest button (...)
|
|
204
150
|
*/
|
|
205
151
|
this.openSelectorDialogCallbackHandler = async () => {
|
|
206
|
-
this.
|
|
152
|
+
this.openSelectorDialogCallback()
|
|
153
|
+
.then(result => {
|
|
154
|
+
this.selectedObject = result;
|
|
155
|
+
})
|
|
156
|
+
.catch(() => {
|
|
157
|
+
/* to do */
|
|
158
|
+
});
|
|
207
159
|
};
|
|
208
160
|
/**
|
|
209
|
-
*
|
|
161
|
+
* It evaluates if loadReferencesCallback should be called, depending wether there is or not an actual selected object.
|
|
210
162
|
*/
|
|
211
163
|
this.evaluateInitialReferenceData = () => {
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
164
|
+
if (this.selectedObject) {
|
|
165
|
+
this.selectedObjectHandler(this.selectedObject);
|
|
166
|
+
}
|
|
215
167
|
};
|
|
216
168
|
/**
|
|
217
|
-
*
|
|
169
|
+
* This method invokes 'loadReferencesCallback' callback for 'Is Referenced By' and 'Has References To' panels. The second parameter "to" indicates if loadReferencesCallback callback should be called for "has references to" or "is references by"
|
|
218
170
|
*/
|
|
219
|
-
this.loadReferencesHandler = async (id) => {
|
|
220
|
-
/* Referenced By*/
|
|
171
|
+
this.loadReferencesHandler = async (id, to = false) => {
|
|
221
172
|
if (this.loadReferencesCallback) {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
this.
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
173
|
+
/* is referenced by*/
|
|
174
|
+
if (!to) {
|
|
175
|
+
this.loadReferencesCallback(id, false)
|
|
176
|
+
.then(result => {
|
|
177
|
+
this.referencedByTreeData = convertReferenceDataToTreeData(result);
|
|
178
|
+
})
|
|
179
|
+
.catch(() => {
|
|
180
|
+
/* To do*/
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
/* is referenced by*/
|
|
184
|
+
if (to) {
|
|
185
|
+
this.loadReferencesCallback(id, true)
|
|
186
|
+
.then(result => {
|
|
187
|
+
this.referencesToTreeData = convertReferenceDataToTreeData(result);
|
|
188
|
+
})
|
|
189
|
+
.catch(() => {
|
|
190
|
+
/* To do*/
|
|
191
|
+
});
|
|
192
|
+
}
|
|
229
193
|
}
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
194
|
+
};
|
|
195
|
+
/**
|
|
196
|
+
* It hides/show the bar (The header bottom section).
|
|
197
|
+
*/
|
|
198
|
+
this.hideBarButtonClickedHandler = () => {
|
|
199
|
+
this.barHidden = !this.barHidden;
|
|
200
|
+
};
|
|
201
|
+
/**
|
|
202
|
+
* Simple helper function to get 'this.referencedByTreeData' or 'this.referencesToTreeData'
|
|
203
|
+
*/
|
|
204
|
+
this.getRef = (to = false) => {
|
|
205
|
+
if (!to) {
|
|
206
|
+
/* referenced by*/
|
|
207
|
+
return this.referencedByTreeData;
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
/* references to*/
|
|
211
|
+
return this.referencesToTreeData;
|
|
212
|
+
}
|
|
213
|
+
};
|
|
214
|
+
/**
|
|
215
|
+
* Simple helper function to update 'this.referencedByTreeData' or 'this.referencesToTreeData'
|
|
216
|
+
*/
|
|
217
|
+
this.updateRef = (to = false, updatedData) => {
|
|
218
|
+
if (!to) {
|
|
219
|
+
/* referenced by*/
|
|
220
|
+
this.referencedByTreeData = updatedData;
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
/* references to*/
|
|
224
|
+
this.referencesToTreeData = updatedData;
|
|
225
|
+
}
|
|
226
|
+
};
|
|
227
|
+
/**
|
|
228
|
+
* Handles changes on any of the references (by or to). Used to:
|
|
229
|
+
* 1) Keep the models updated.
|
|
230
|
+
* 2) call the openObjectCallback.
|
|
231
|
+
* 3) call the loadReferencesCallback if a lazy node was toggled.
|
|
232
|
+
*/
|
|
233
|
+
this.referencesPanelStateChangedHandler = (to = false) => (e) => {
|
|
234
|
+
const event = e.detail.emittedBy;
|
|
235
|
+
const nodeData = e.detail.itemData;
|
|
236
|
+
const nodeId = e.detail.itemData.id;
|
|
237
|
+
const nodeLabel = e.detail.itemData.label;
|
|
238
|
+
/* tree item was selected*/
|
|
239
|
+
if (event === "selectionChanged") {
|
|
240
|
+
this.selectReferenceCallback(nodeId);
|
|
241
|
+
/* Returns void Promise*/
|
|
242
|
+
}
|
|
243
|
+
/* tree item was double-clicked.*/
|
|
244
|
+
if (event === "doubleClicked") {
|
|
245
|
+
this.openObjectCallback(nodeId);
|
|
246
|
+
}
|
|
247
|
+
let updatedTreeModel = [];
|
|
248
|
+
const lazy = nodeData.lazy;
|
|
249
|
+
if (lazy) {
|
|
250
|
+
// loadReferencesCallback
|
|
251
|
+
let children = [];
|
|
252
|
+
this.loadReferencesCallback(nodeId, to)
|
|
233
253
|
.then(result => {
|
|
234
|
-
|
|
254
|
+
children = convertReferenceDataToTreeData(result);
|
|
255
|
+
// Then update model
|
|
256
|
+
updatedTreeModel = updateTreeModel(this.getRef(to), { id: nodeId, label: nodeLabel, items: children }, nodeId);
|
|
257
|
+
this.updateRef(to, updatedTreeModel);
|
|
235
258
|
})
|
|
236
259
|
.catch(() => {
|
|
237
260
|
/* To do*/
|
|
238
261
|
});
|
|
239
262
|
}
|
|
263
|
+
else {
|
|
264
|
+
updatedTreeModel = updateTreeModel(this.getRef(to), nodeData, nodeId);
|
|
265
|
+
this.updateRef(to, updatedTreeModel);
|
|
266
|
+
}
|
|
240
267
|
};
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
*/
|
|
244
|
-
this.hideBarButtonClickedHandler = () => {
|
|
245
|
-
this.barHidden = !this.barHidden;
|
|
246
|
-
};
|
|
268
|
+
this.referencedByTreeData = undefined;
|
|
269
|
+
this.referencesToTreeData = undefined;
|
|
247
270
|
this.barHidden = false;
|
|
248
271
|
this.objectsSuggestions = undefined;
|
|
249
272
|
this.referencedBy = undefined;
|
|
250
273
|
this.referencesTo = undefined;
|
|
251
|
-
this.hideTopBar = false;
|
|
252
274
|
this.selectedObject = undefined;
|
|
253
275
|
this.selectorSourceCallback = undefined;
|
|
254
276
|
this.loadReferencesCallback = undefined;
|
|
@@ -257,7 +279,12 @@ const GxIdeReferences = class {
|
|
|
257
279
|
this.selectReferenceCallback = undefined;
|
|
258
280
|
}
|
|
259
281
|
selectedObjectHandler(newSelectedObject) {
|
|
260
|
-
|
|
282
|
+
if (newSelectedObject.id) {
|
|
283
|
+
/* update "is referenced by*/
|
|
284
|
+
this.loadReferencesHandler(newSelectedObject.id, false);
|
|
285
|
+
/* update "has references to*/
|
|
286
|
+
this.loadReferencesHandler(newSelectedObject.id, true);
|
|
287
|
+
}
|
|
261
288
|
}
|
|
262
289
|
// 6.COMPONENT LIFECYCLE EVENTS //
|
|
263
290
|
async componentWillLoad() {
|
|
@@ -266,8 +293,6 @@ const GxIdeReferences = class {
|
|
|
266
293
|
}
|
|
267
294
|
componentDidLoad() {
|
|
268
295
|
this.attachSelectObjectListener();
|
|
269
|
-
this.attachReferencedByListeners();
|
|
270
|
-
this.attachReferencesToListeners();
|
|
271
296
|
}
|
|
272
297
|
componentDidRender() {
|
|
273
298
|
this.componentDidRenderEvent.emit(this._componentLocale.componentName);
|
|
@@ -275,12 +300,12 @@ const GxIdeReferences = class {
|
|
|
275
300
|
// 10.RENDER() FUNCTION //
|
|
276
301
|
render() {
|
|
277
302
|
var _a, _b, _c, _d, _e, _f;
|
|
278
|
-
return (h(Host, { class: "gx-ide-component" },
|
|
303
|
+
return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper gx-ide-overflow" }, h("gx-ide-container", { displayBorderBottom: true }, h("header", { class: "header" }, h("div", { class: "header__top grid" }, h("gxg-button", { icon: "navigation/arrow-down", type: "secondary-icon-only", class: "hide-bar-button", onClick: this.hideBarButtonClickedHandler, part: "toggle-bar-button" }), h("gxg-label", { labelPosition: "start", class: "suggest-label", part: "select-object-label" }, this._componentLocale.header.selectObject), h("gxg-suggest", null, h("ch-suggest", { value: this.selectedObject.id, onValueChanged: this.selectObjectValueChangedHandler, ref: el => (this.selectObjectSuggestEl = el), part: "object-selector-suggest" }, renderSuggestLists(this.objectsSuggestions))), h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/show-more-horizontal", onClick: this.openSelectorDialogCallbackHandler, class: "selector-dialog-button", part: "open-selector-dialog-button" })), h("div", { class: {
|
|
279
304
|
"header__bottom": true,
|
|
280
305
|
"header__bottom--hidden": this.barHidden
|
|
281
|
-
} }, h("div", { class: "outer-wrapper" }, h("div", { class: "inner-wrapper" }, h("div", { class: "inner-wrapper__left" }, h("gxg-icon", { type: this.selectedObject.icon, color: "auto" }), h("gxg-text", { padding: "s", type: "text-link", part: "open-object-text-link", onClick: this.openObjectCallbackHandler }, `${this.selectedObject.name} : ${this.selectedObject.description}`)), h("div", { class: "inner-wrapper__right gxi-hidden" }, h("gxg-form-checkbox", { id: "references-by-type", label: "Group references by type", required: true, "display-validation-styles": true, part: "references-type-checkbox" }))))))), h("main", { class: "main grid" }, h("gx-ide-container", { containerTitle: this._componentLocale.main.isReferencedBy, justifyContent: "center", part: "referenced-by-container" }, h("gxg-tree", {
|
|
306
|
+
} }, h("div", { class: "outer-wrapper" }, h("div", { class: "inner-wrapper" }, h("div", { class: "inner-wrapper__left" }, h("gxg-icon", { type: this.selectedObject.icon, color: "auto" }), h("gxg-text", { padding: "s", type: "text-link", part: "open-object-text-link", onClick: this.openObjectCallbackHandler }, `${this.selectedObject.name} : ${this.selectedObject.description}`)), h("div", { class: "inner-wrapper__right gxi-hidden" }, h("gxg-form-checkbox", { id: "references-by-type", label: "Group references by type", required: true, "display-validation-styles": true, part: "references-type-checkbox" }))))))), h("main", { class: "main grid" }, h("gx-ide-container", { containerTitle: this._componentLocale.main.isReferencedBy, justifyContent: "center", fullHeight: true, part: "referenced-by-container" }, h("gxg-tree", { class: { "gxi-hidden": !((_a = this.referencedByTreeData) === null || _a === void 0 ? void 0 : _a.length) }, checkbox: false, onTreeItemStateChanged: this.referencesPanelStateChangedHandler(false), part: "referenced-by-tree" }, renderTreeItems(this.referencedByTreeData)), !((_b = this.referencedByTreeData) === null || _b === void 0 ? void 0 : _b.length) && (h("gxg-text", { textAlign: "center", padding: "m", type: "text-regular", maxWidth: this.referencesMessagesMaxWidth, part: "referenced-by-text" }, ((_c = this.referencedByTreeData) === null || _c === void 0 ? void 0 : _c.length) === 0
|
|
282
307
|
? this._componentLocale.main.isReferencedByEmpty
|
|
283
|
-
: this._componentLocale.main.isReferencedByError))), h("gx-ide-container", { containerTitle: this._componentLocale.main.hasReferencesTo, justifyContent: "center", part: "references-to-container" }, h("gxg-tree", {
|
|
308
|
+
: this._componentLocale.main.isReferencedByError))), h("gx-ide-container", { containerTitle: this._componentLocale.main.hasReferencesTo, justifyContent: "center", fullHeight: true, part: "references-to-container" }, h("gxg-tree", { class: { "gxi-hidden": !((_d = this.referencesToTreeData) === null || _d === void 0 ? void 0 : _d.length) }, checkbox: false, onTreeItemStateChanged: this.referencesPanelStateChangedHandler(true), part: "references-to-tree" }, renderTreeItems(this.referencesToTreeData)), !((_e = this.referencesToTreeData) === null || _e === void 0 ? void 0 : _e.length) && (h("gxg-text", { textAlign: "center", padding: "m", type: "text-regular", maxWidth: this.referencesMessagesMaxWidth, part: "references-to-text" }, ((_f = this.referencesToTreeData) === null || _f === void 0 ? void 0 : _f.length) === 0
|
|
284
309
|
? this._componentLocale.main.hasReferencesEmpty
|
|
285
310
|
: this._componentLocale.main.hasReferencesToError)))))));
|
|
286
311
|
}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { r as registerInstance, h, H as Host } from './index-4f0a5746.js';
|
|
2
|
-
import { r as renderTreeItems } from './
|
|
2
|
+
import { u as updateTreeModel, r as renderTreeItems } from './update-tree-model-80419058.js';
|
|
3
3
|
|
|
4
4
|
const testCss = ":host{display:block}";
|
|
5
5
|
|
|
6
6
|
const GxIdeUiTest = class {
|
|
7
7
|
constructor(hostRef) {
|
|
8
8
|
registerInstance(this, hostRef);
|
|
9
|
+
// 8.PUBLIC METHODS API //
|
|
10
|
+
// 9.LOCAL METHODS //
|
|
9
11
|
/* Gxg-Tree Methods*/
|
|
10
12
|
this.closeTreeNodeHandler = () => {
|
|
11
13
|
this.tree.toggleItems(["number-1-1-2"], false);
|
|
@@ -31,9 +33,36 @@ const GxIdeUiTest = class {
|
|
|
31
33
|
this.deleteNodeHandler = () => {
|
|
32
34
|
this.treeModel = [];
|
|
33
35
|
};
|
|
36
|
+
/* Update model test*/
|
|
37
|
+
// private showTree = () => {
|
|
38
|
+
// this.treeModel = [];
|
|
39
|
+
// };
|
|
40
|
+
// private updateTree = () => {
|
|
41
|
+
// this.treeModel = [];
|
|
42
|
+
// };
|
|
43
|
+
this.treeItemStateChangedHandler = (e) => {
|
|
44
|
+
// const event = e.detail.emittedBy;
|
|
45
|
+
const nodeData = e.detail.itemData;
|
|
46
|
+
const nodeId = e.detail.itemData.id;
|
|
47
|
+
if (nodeData.lazy) {
|
|
48
|
+
this.updateLazyCallback(nodeId).then(children => {
|
|
49
|
+
if (children === null || children === void 0 ? void 0 : children.length) {
|
|
50
|
+
const updatedTreeModel = updateTreeModel(this.treeModel, { id: nodeId, label: nodeData.label, items: children }, nodeId);
|
|
51
|
+
this.treeModel = updatedTreeModel;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
};
|
|
34
56
|
this.treeModel = undefined;
|
|
57
|
+
this.lazyNode = undefined;
|
|
58
|
+
this.updateLazyCallback = undefined;
|
|
59
|
+
this.newNode = undefined;
|
|
60
|
+
this.testUpdateNode = false;
|
|
35
61
|
this.lazyLoadTreeItemsCallback = undefined;
|
|
36
62
|
}
|
|
63
|
+
// 5.EVENTS (EMIT) //
|
|
64
|
+
// 6.COMPONENT LIFECYCLE METHODS //
|
|
65
|
+
// 7.LISTENERS //
|
|
37
66
|
loadLazyChildrenHandler(e) {
|
|
38
67
|
const treeItemId = e.detail;
|
|
39
68
|
if (this.lazyLoadTreeItemsCallback) {
|
|
@@ -45,9 +74,17 @@ const GxIdeUiTest = class {
|
|
|
45
74
|
}, 1000);
|
|
46
75
|
}
|
|
47
76
|
}
|
|
77
|
+
treeItemStateChanged(event) {
|
|
78
|
+
const updatedTreeModel = updateTreeModel(this.treeModel, event.detail, event.detail.id);
|
|
79
|
+
console.log("updatedTreeModel", updatedTreeModel);
|
|
80
|
+
}
|
|
81
|
+
// 10.RENDER() FUNCTION //
|
|
48
82
|
render() {
|
|
49
|
-
if (this.treeModel) {
|
|
50
|
-
return (h(Host, null, h("gxg-tree", {
|
|
83
|
+
if (!this.testUpdateNode && this.treeModel) {
|
|
84
|
+
return (h(Host, null, h("gxg-tree", { checked: true, checkbox: true, multiSelection: true, ref: (el) => (this.tree = el) }, renderTreeItems(this.treeModel)), ",", h("div", { class: "tree-buttons" }, h("gxg-button", { type: "outlined", onClick: this.closeTreeNodeHandler }, "Close 1-1-2"), h("gxg-button", { type: "outlined", onClick: this.openTreeNodeHandler }, "Open 1-1-2"), h("gxg-button", { type: "outlined", onClick: this.toggleTreeNodeHandler }, "Toggle 1-1-2"), h("gxg-button", { type: "outlined", onClick: this.getSelectedItemsHandler }, "Get Selected Items"), h("gxg-button", { type: "outlined", onClick: this.getCheckedItemsHandler }, "Get Checked Items"), h("gxg-button", { type: "outlined", onClick: this.deleteNodeHandler }, "Delete Tree"))));
|
|
85
|
+
}
|
|
86
|
+
else if (this.testUpdateNode) {
|
|
87
|
+
return (h(Host, null, h("gxg-tree", { checked: true, checkbox: true, multiSelection: true, ref: (el) => (this.tree = el), onTreeItemStateChanged: this.treeItemStateChangedHandler }, renderTreeItems(this.treeModel))));
|
|
51
88
|
}
|
|
52
89
|
else {
|
|
53
90
|
return h("slot", null);
|
|
@@ -1,7 +1,37 @@
|
|
|
1
|
-
import { r as registerInstance,
|
|
1
|
+
import { r as registerInstance, h, H as Host, g as getElement, c as createEvent } from './index-4f0a5746.js';
|
|
2
2
|
import { f as formMessageLogic, r as requiredLabel } from './form-73d85602.js';
|
|
3
3
|
import { f as formClasses } from './classesNames-6cd8fadb.js';
|
|
4
4
|
|
|
5
|
+
const topBarCss = ":host{display:block;box-sizing:border-box}.wrapper{display:flex;justify-content:space-between;padding:var(--spacing-comp-01) var(--spacing-comp-02);transition:background-color var(--gx-ide-timing-super-fast-ms);background-color:var(--gray-01)}gxg-title::part(title){color:var(--color-on-secondary);transition:color var(--gx-ide-timing-super-fast-ms)}";
|
|
6
|
+
|
|
7
|
+
const GxIdeTopBar = class {
|
|
8
|
+
constructor(hostRef) {
|
|
9
|
+
registerInstance(this, hostRef);
|
|
10
|
+
this.topBarTitle = undefined;
|
|
11
|
+
}
|
|
12
|
+
// 5.EVENTS (EMIT) //
|
|
13
|
+
// 6.METHODS //
|
|
14
|
+
componentWillLoad() {
|
|
15
|
+
this.evaluateSlots();
|
|
16
|
+
}
|
|
17
|
+
// 7.LISTENERS //
|
|
18
|
+
// 8.PUBLIC METHODS API //
|
|
19
|
+
// 9.LOCAL METHODS //
|
|
20
|
+
evaluateSlots() {
|
|
21
|
+
// header
|
|
22
|
+
const menuSlot = this.el.querySelectorAll('[slot="menu"]');
|
|
23
|
+
if (menuSlot.length) {
|
|
24
|
+
this._hasMenuSlot = true;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
// 10.RENDER() FUNCTION //
|
|
28
|
+
render() {
|
|
29
|
+
return (h(Host, null, h("div", { class: "wrapper", part: "wrapper" }, h("div", { class: "wrapper__left", part: "wrapper-left" }, h("gxg-title", { type: "title-04", exportparts: "title: gxg-title" }, this.topBarTitle)), h("div", { class: "wrapper__right", part: "wrapper-right" }, this._hasMenuSlot ? (h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/show-more-vertical" }, h("slot", { name: "menu" }))) : null))));
|
|
30
|
+
}
|
|
31
|
+
get el() { return getElement(this); }
|
|
32
|
+
};
|
|
33
|
+
GxIdeTopBar.style = topBarCss;
|
|
34
|
+
|
|
5
35
|
const formRadioGroupCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0;}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px;}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-01--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-02{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-02--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-03{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-03--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-04{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-04--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-05{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em}.gxg-title-05--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em;color:var(--color-on-primary)}.gxg-text{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-text--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-text--gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--gray-05)}.gxg-quote{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;font-style:italic}.gxg-quote--negative{color:var(--color-on-primary)}.gxg-link{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--color-primary-hover)}.gxg-link:active{color:var(--color-primary-active)}.gxg-link-gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04)}.gxg-link-gray:hover{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04);color:var(--gray-06)}.gxg-alert-error{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-error-dark);display:inline-block}.gxg-alert-warning{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-warning-dark);display:inline-block}.gxg-alert-success{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-success-dark);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-button-styles{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}:host{display:block}:host .label{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;display:flex;margin-bottom:var(--spacing-lay-xs);display:inline-block;margin-bottom:var(--spacing-comp-02)}:host .radios-wrapper{display:flex;flex-direction:column;gap:var(--gxg-form-control-gap--vertical)}.messages-wrapper{margin-top:var(--spacing-comp-02);display:flex;gap:var(--spacing-comp-01);flex-direction:column}:host(.gxg-form-radio-group--row) .radios-wrapper{flex-direction:row;gap:var(--gxg-form-control-gap--horizontal);align-items:center}:host .required{padding-left:2px}";
|
|
6
36
|
|
|
7
37
|
const GxgFormRadioGroup = class {
|
|
@@ -205,4 +235,4 @@ const GxgFormRadioGroup = class {
|
|
|
205
235
|
};
|
|
206
236
|
GxgFormRadioGroup.style = formRadioGroupCss;
|
|
207
237
|
|
|
208
|
-
export { GxgFormRadioGroup as gxg_form_radio_group };
|
|
238
|
+
export { GxIdeTopBar as gx_ide_top_bar, GxgFormRadioGroup as gxg_form_radio_group };
|
|
@@ -84,26 +84,32 @@ const GxgTree = class {
|
|
|
84
84
|
this.evaluateIsMasterTree();
|
|
85
85
|
}
|
|
86
86
|
// 7.LISTENERS //
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
if (
|
|
90
|
-
|
|
91
|
-
const allChildren = this.el.querySelectorAll("gxg-tree-item");
|
|
92
|
-
if (allChildren === null || allChildren === void 0 ? void 0 : allChildren.length) {
|
|
93
|
-
Array.from(allChildren).forEach((item) => {
|
|
94
|
-
item.selected = false;
|
|
95
|
-
});
|
|
96
|
-
}
|
|
87
|
+
checkboxToggledHandler(e) {
|
|
88
|
+
const itemData = e.detail;
|
|
89
|
+
if (this.masterTree) {
|
|
90
|
+
this.emitTreeItemNewState(itemData, "checkboxToggled");
|
|
97
91
|
}
|
|
92
|
+
}
|
|
93
|
+
doubleClickedHandler(e) {
|
|
98
94
|
const itemData = e.detail;
|
|
99
95
|
if (this.masterTree) {
|
|
100
|
-
this.emitTreeItemNewState(itemData, "
|
|
96
|
+
this.emitTreeItemNewState(itemData, "doubleClicked");
|
|
101
97
|
}
|
|
102
98
|
}
|
|
103
|
-
|
|
99
|
+
selectionChangedHandler(e) {
|
|
100
|
+
//Unselect all items, except the one that triggered this event. This action should be done once, by the master tree.
|
|
101
|
+
const allChildren = this.el.querySelectorAll("gxg-tree-item");
|
|
102
|
+
if ((this.masterTree && this.multiSelection && !e.detail.ctrl) ||
|
|
103
|
+
(this.masterTree && !this.multiSelection)) {
|
|
104
|
+
Array.from(allChildren).forEach((item) => {
|
|
105
|
+
if (item !== e.detail.ref) {
|
|
106
|
+
item.selected = false;
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
}
|
|
104
110
|
const itemData = e.detail;
|
|
105
111
|
if (this.masterTree) {
|
|
106
|
-
this.emitTreeItemNewState(itemData, "
|
|
112
|
+
this.emitTreeItemNewState(itemData, "selectionChanged");
|
|
107
113
|
}
|
|
108
114
|
}
|
|
109
115
|
toggleIconClickedHandler(e) {
|
|
@@ -211,11 +217,11 @@ const gxgTreeItemCss = "/*! normalize.css v8.0.1 | MIT License | github.com/neco
|
|
|
211
217
|
const GxgTreeItem = class {
|
|
212
218
|
constructor(hostRef) {
|
|
213
219
|
registerInstance(this, hostRef);
|
|
214
|
-
this.toggleIconClicked = createEvent(this, "toggleIconClicked", 7);
|
|
215
|
-
this.selectionChanged = createEvent(this, "selectionChanged", 7);
|
|
216
|
-
this.doubleClicked = createEvent(this, "doubleClicked", 7);
|
|
217
220
|
this.checkboxToggled = createEvent(this, "checkboxToggled", 7);
|
|
221
|
+
this.doubleClicked = createEvent(this, "doubleClicked", 7);
|
|
218
222
|
this.lazyChanged = createEvent(this, "lazyChanged", 7);
|
|
223
|
+
this.selectionChanged = createEvent(this, "selectionChanged", 7);
|
|
224
|
+
this.toggleIconClicked = createEvent(this, "toggleIconClicked", 7);
|
|
219
225
|
this.lazy = false; //True if not leaf but no children.
|
|
220
226
|
this.parentTreeIsMasterTree = false;
|
|
221
227
|
this.numberOfParentTrees = 1;
|
|
@@ -371,26 +377,16 @@ const GxgTreeItem = class {
|
|
|
371
377
|
const checkboxClicked = e.target.nodeName === "GXG-FORM-CHECKBOX";
|
|
372
378
|
if (toggleWasClicked || checkboxClicked)
|
|
373
379
|
return;
|
|
374
|
-
if (e.ctrlKey || !this.selected) {
|
|
375
|
-
this.selectionChanged.emit({
|
|
376
|
-
id: this.id,
|
|
377
|
-
label: this.label,
|
|
378
|
-
checked: this.checked,
|
|
379
|
-
selected: !this.selected,
|
|
380
|
-
ctrlKey: e.ctrlKey,
|
|
381
|
-
});
|
|
382
|
-
}
|
|
383
380
|
if (e.ctrlKey) {
|
|
384
381
|
this.selected = !this.selected;
|
|
385
382
|
}
|
|
386
|
-
else
|
|
383
|
+
else {
|
|
387
384
|
this.selected = true;
|
|
388
385
|
}
|
|
386
|
+
this.selectionChanged.emit(this.getItemData(e.ctrlKey));
|
|
389
387
|
};
|
|
390
388
|
this.liTextDoubleClicked = () => {
|
|
391
|
-
this.doubleClicked.emit(
|
|
392
|
-
id: this.id,
|
|
393
|
-
});
|
|
389
|
+
this.doubleClicked.emit(this.getItemData(false));
|
|
394
390
|
!this.leaf && this.toggleClickedHandler();
|
|
395
391
|
};
|
|
396
392
|
this.liTextKeyDownPressed = (e) => {
|
|
@@ -625,29 +621,20 @@ const GxgTreeItem = class {
|
|
|
625
621
|
this.toggleClickedHandler = () => {
|
|
626
622
|
if (this.lazy && !this.opened) {
|
|
627
623
|
this.downloading = true;
|
|
628
|
-
this.toggleIconClicked.emit(
|
|
629
|
-
checked: this.checked,
|
|
630
|
-
description: this.description,
|
|
631
|
-
icon: this.icon,
|
|
632
|
-
id: this.id,
|
|
633
|
-
indeterminate: this.indeterminate,
|
|
634
|
-
label: this.label,
|
|
635
|
-
lazy: this.lazy,
|
|
636
|
-
leaf: this.leaf,
|
|
637
|
-
opened: this.opened,
|
|
638
|
-
selected: this.selected,
|
|
639
|
-
});
|
|
624
|
+
this.toggleIconClicked.emit(this.getItemData());
|
|
640
625
|
}
|
|
641
626
|
if (!this.lazy) {
|
|
642
627
|
this.opened = !this.opened;
|
|
643
628
|
}
|
|
644
629
|
};
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
checked:
|
|
630
|
+
this.getItemData = (ctrl = false) => {
|
|
631
|
+
return {
|
|
632
|
+
ref: this.el,
|
|
633
|
+
checkbox: this.checkbox,
|
|
634
|
+
checked: this.checked,
|
|
635
|
+
ctrl: ctrl,
|
|
650
636
|
description: this.description,
|
|
637
|
+
disabled: this.disabled,
|
|
651
638
|
icon: this.icon,
|
|
652
639
|
id: this.id,
|
|
653
640
|
indeterminate: this.indeterminate,
|
|
@@ -656,23 +643,17 @@ const GxgTreeItem = class {
|
|
|
656
643
|
leaf: this.leaf,
|
|
657
644
|
opened: this.opened,
|
|
658
645
|
selected: this.selected,
|
|
659
|
-
}
|
|
646
|
+
};
|
|
647
|
+
};
|
|
648
|
+
}
|
|
649
|
+
checkedHandler(newValue, oldValue) {
|
|
650
|
+
if (oldValue !== undefined) {
|
|
651
|
+
this.checkboxToggled.emit(this.getItemData(false));
|
|
660
652
|
}
|
|
661
653
|
}
|
|
662
654
|
openedHandler(newValue, oldValue) {
|
|
663
655
|
if (oldValue !== undefined) {
|
|
664
|
-
this.toggleIconClicked.emit(
|
|
665
|
-
checked: this.checked,
|
|
666
|
-
description: this.description,
|
|
667
|
-
icon: this.icon,
|
|
668
|
-
id: this.id,
|
|
669
|
-
indeterminate: this.indeterminate,
|
|
670
|
-
label: this.label,
|
|
671
|
-
lazy: this.lazy,
|
|
672
|
-
leaf: this.leaf,
|
|
673
|
-
opened: newValue,
|
|
674
|
-
selected: this.selected,
|
|
675
|
-
});
|
|
656
|
+
this.toggleIconClicked.emit(this.getItemData(false));
|
|
676
657
|
}
|
|
677
658
|
}
|
|
678
659
|
// 6.COMPONENT LIFECYCLE METHODS //
|