@genexus/genexus-ide-ui 0.0.16 → 0.0.18

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 (81) hide show
  1. package/dist/cjs/ch-grid_7.cjs.entry.js +73 -27
  2. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  3. package/dist/cjs/{gx-ide-container_2.cjs.entry.js → gx-ide-container.cjs.entry.js} +0 -31
  4. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +16 -17
  5. package/dist/cjs/gx-ide-references.cjs.entry.js +115 -90
  6. package/dist/cjs/gx-ide-template.cjs.entry.js +2 -2
  7. package/dist/cjs/gx-ide-test.cjs.entry.js +40 -3
  8. package/dist/cjs/{gxg-form-radio-group.cjs.entry.js → gx-ide-top-bar_2.cjs.entry.js} +31 -0
  9. package/dist/cjs/gxg-combo-box_8.cjs.entry.js +3 -8
  10. package/dist/cjs/gxg-menu.cjs.entry.js +2 -2
  11. package/dist/cjs/gxg-test.cjs.entry.js +4 -23
  12. package/dist/cjs/gxg-tree_2.cjs.entry.js +381 -295
  13. package/dist/cjs/loader.cjs.js +1 -1
  14. package/dist/cjs/update-tree-model-445c63a8.js +53 -0
  15. package/dist/collection/common/render-tree.js +1 -1
  16. package/dist/collection/common/update-tree-model.js +22 -0
  17. package/dist/collection/components/_template/template.js +9 -10
  18. package/dist/collection/components/_test/test.js +129 -2
  19. package/dist/collection/components/new-kb/new-kb.js +16 -35
  20. package/dist/collection/components/references/references.js +119 -113
  21. package/dist/collection/pages/assets/common.js +105 -95
  22. package/dist/components/ch-grid2.js +74 -28
  23. package/dist/components/combo-box.js +4 -3
  24. package/dist/components/form-radio.js +0 -5
  25. package/dist/components/gx-ide-new-kb.js +20 -28
  26. package/dist/components/gx-ide-references.js +131 -111
  27. package/dist/components/gx-ide-template.js +7 -13
  28. package/dist/components/gx-ide-test.js +45 -4
  29. package/dist/components/gxg-menu.js +2 -2
  30. package/dist/components/gxg-test.js +4 -23
  31. package/dist/components/gxg-tree-item2.js +326 -284
  32. package/dist/components/gxg-tree2.js +60 -15
  33. package/dist/components/update-tree-model.js +50 -0
  34. package/dist/esm/ch-grid_7.entry.js +73 -27
  35. package/dist/esm/genexus-ide-ui.js +1 -1
  36. package/dist/esm/{gx-ide-container_2.entry.js → gx-ide-container.entry.js} +1 -31
  37. package/dist/esm/gx-ide-new-kb.entry.js +16 -17
  38. package/dist/esm/gx-ide-references.entry.js +115 -90
  39. package/dist/esm/gx-ide-template.entry.js +2 -2
  40. package/dist/esm/gx-ide-test.entry.js +40 -3
  41. package/dist/esm/{gxg-form-radio-group.entry.js → gx-ide-top-bar_2.entry.js} +32 -2
  42. package/dist/esm/gxg-combo-box_8.entry.js +3 -8
  43. package/dist/esm/gxg-menu.entry.js +2 -2
  44. package/dist/esm/gxg-test.entry.js +4 -23
  45. package/dist/esm/gxg-tree_2.entry.js +382 -296
  46. package/dist/esm/loader.js +1 -1
  47. package/dist/esm/update-tree-model-80419058.js +50 -0
  48. package/dist/genexus-ide-ui/genexus-ide-ui.css +1 -1
  49. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  50. package/dist/genexus-ide-ui/p-1042318d.entry.js +1 -0
  51. package/dist/genexus-ide-ui/p-1d4cf2ae.entry.js +1 -0
  52. package/dist/genexus-ide-ui/p-254f9ce7.entry.js +1 -0
  53. package/dist/genexus-ide-ui/p-49433b58.entry.js +1 -0
  54. package/dist/genexus-ide-ui/p-67cf60f5.js +1 -0
  55. package/dist/genexus-ide-ui/p-7007965c.entry.js +1 -0
  56. package/dist/genexus-ide-ui/p-78a90113.entry.js +1 -0
  57. package/dist/genexus-ide-ui/p-79cf24a3.entry.js +1 -0
  58. package/dist/genexus-ide-ui/p-b66a4121.entry.js +1 -0
  59. package/dist/genexus-ide-ui/p-cd503583.entry.js +1 -0
  60. package/dist/genexus-ide-ui/{p-1e412d88.entry.js → p-fcc98e20.entry.js} +1 -1
  61. package/dist/node_modules/@genexus/gemini/dist/collection/components/tree-item/gxg-tree-item.css +2 -2
  62. package/dist/types/common/update-tree-model.d.ts +2 -0
  63. package/dist/types/components/_template/template.d.ts +2 -2
  64. package/dist/types/components/_test/test.d.ts +19 -1
  65. package/dist/types/components/new-kb/new-kb.d.ts +0 -4
  66. package/dist/types/components/references/references.d.ts +28 -24
  67. package/dist/types/components.d.ts +41 -21
  68. package/package.json +3 -3
  69. package/dist/cjs/render-tree-25d5b8a1.js +0 -29
  70. package/dist/components/render-tree.js +0 -27
  71. package/dist/esm/render-tree-fc8636a3.js +0 -27
  72. package/dist/genexus-ide-ui/p-0f5d0ccc.entry.js +0 -1
  73. package/dist/genexus-ide-ui/p-2761a056.entry.js +0 -1
  74. package/dist/genexus-ide-ui/p-62814082.entry.js +0 -1
  75. package/dist/genexus-ide-ui/p-97430828.entry.js +0 -1
  76. package/dist/genexus-ide-ui/p-9e32e006.entry.js +0 -1
  77. package/dist/genexus-ide-ui/p-a5fee36d.entry.js +0 -1
  78. package/dist/genexus-ide-ui/p-abee8c7b.js +0 -1
  79. package/dist/genexus-ide-ui/p-be9406e7.entry.js +0 -1
  80. package/dist/genexus-ide-ui/p-eb8e9655.entry.js +0 -1
  81. package/dist/genexus-ide-ui/p-f6536bbc.entry.js +0 -1
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-93a6a7e0.js');
6
6
  const locale = require('./locale-c8445ea4.js');
7
- const renderTree = require('./render-tree-25d5b8a1.js');
7
+ const updateTreeModel = require('./update-tree-model-445c63a8.js');
8
8
 
9
9
  /* eslint-disable @typescript-eslint/no-use-before-define */
10
10
  const renderSuggestLists = (suggestData) => {
@@ -119,7 +119,7 @@ const GxIdeReferences = class {
119
119
  // 8.PUBLIC METHODS API //
120
120
  // 9.LOCAL METHODS //
121
121
  /**
122
- * @description It attaches on the ch-suggest, the "itemSelected" event triggered by the ch-suggest-list-item. This helps set the new 'selectedObject'.
122
+ * It attaches on the ch-suggest, the "itemSelected" event triggered by the ch-suggest-list-item. This helps set the new 'selectedObject'.
123
123
  */
124
124
  this.attachSelectObjectListener = () => {
125
125
  this.selectObjectSuggestEl.addEventListener("itemSelected", (e) => {
@@ -130,61 +130,7 @@ const GxIdeReferences = class {
130
130
  });
131
131
  };
132
132
  /**
133
- * @description It attaches several events on the 'referencedByEl' element, which is a tree.
134
- */
135
- this.attachReferencedByListeners = () => {
136
- /* '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. */
137
- this.referencedByEl.addEventListener("toggleIconClicked", async (e) => {
138
- if (e.detail.lazy && e.detail.id) {
139
- this.loadReferencesCallback(e.detail.id, false)
140
- .then(result => {
141
- this.referencedBy = result;
142
- })
143
- .catch(() => {
144
- // to do
145
- });
146
- }
147
- });
148
- /* 'selectionChanged' Event: Fired when a new tree item was selected.*/
149
- this.referencedByEl.addEventListener("selectionChanged", (e) => {
150
- this.selectReferenceCallback(e.detail.id);
151
- /* Returns void Promise*/
152
- });
153
- /* 'doubleClicked' Event: Fired when a tree item was double-clicked.*/
154
- this.referencedByEl.addEventListener("doubleClicked", (e) => {
155
- this.openObjectCallback(e.detail.id);
156
- /* Returns void Promise*/
157
- });
158
- };
159
- /**
160
- * @description It attaches several events on the 'referencesToEl' element, which is a tree.
161
- */
162
- this.attachReferencesToListeners = () => {
163
- /* 'toggleIconClicked' Event: (Read description on 'attachReferencedByListeners' as it does the same)*/
164
- this.referencesToEl.addEventListener("toggleIconClicked", async (e) => {
165
- if (e.detail.lazy && e.detail.id) {
166
- this.loadReferencesCallback(e.detail.id, true)
167
- .then(result => {
168
- this.referencesTo = result;
169
- })
170
- .catch(() => {
171
- // to do
172
- });
173
- }
174
- });
175
- /* 'selectionChanged' Event: Fired when a new tree item was selected.*/
176
- this.referencesToEl.addEventListener("selectionChanged", (e) => {
177
- this.selectReferenceCallback(e.detail.id);
178
- /* Returns void Promise*/
179
- });
180
- /* 'doubleClicked' Event: Fired when a tree item was double-clicked.*/
181
- this.referencesToEl.addEventListener("doubleClicked", (e) => {
182
- this.openObjectCallback(e.detail.id);
183
- /* Returns void Promise*/
184
- });
185
- };
186
- /**
187
- * @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.
133
+ * 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.
188
134
  */
189
135
  this.selectObjectValueChangedHandler = async (e) => {
190
136
  const value = e.detail;
@@ -204,55 +150,131 @@ const GxIdeReferences = class {
204
150
  /* Returns an empty Promise*/
205
151
  };
206
152
  /**
207
- * @description handler that gets fired when the use clicks on the ch-suggest button (...)
153
+ * handler that gets fired when the use clicks on the ch-suggest button (...)
208
154
  */
209
155
  this.openSelectorDialogCallbackHandler = async () => {
210
- this.selectedObject = await this.openSelectorDialogCallback();
156
+ this.openSelectorDialogCallback()
157
+ .then(result => {
158
+ this.selectedObject = result;
159
+ })
160
+ .catch(() => {
161
+ /* to do */
162
+ });
211
163
  };
212
164
  /**
213
- * @description It evaluates if loadReferencesCallback should be called, depending wether there is or not an actual selected object.
165
+ * It evaluates if loadReferencesCallback should be called, depending wether there is or not an actual selected object.
214
166
  */
215
167
  this.evaluateInitialReferenceData = () => {
216
- var _a;
217
- const selectedObjectId = (_a = this.selectedObject) === null || _a === void 0 ? void 0 : _a.id;
218
- selectedObjectId && this.loadReferencesHandler(selectedObjectId);
168
+ if (this.selectedObject) {
169
+ this.selectedObjectHandler(this.selectedObject);
170
+ }
219
171
  };
220
172
  /**
221
- * @description This method invokes 'loadReferencesCallback' callback for 'Is Referenced By' and 'Has References To' panels.
173
+ * 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"
222
174
  */
223
- this.loadReferencesHandler = async (id) => {
224
- /* Referenced By*/
175
+ this.loadReferencesHandler = async (id, to = false) => {
225
176
  if (this.loadReferencesCallback) {
226
- this.loadReferencesCallback(id, false)
227
- .then(result => {
228
- this.referencedBy = result;
229
- })
230
- .catch(() => {
231
- /* To do*/
232
- });
177
+ /* is referenced by*/
178
+ if (!to) {
179
+ this.loadReferencesCallback(id, false)
180
+ .then(result => {
181
+ this.referencedByTreeData = convertReferenceDataToTreeData(result);
182
+ })
183
+ .catch(() => {
184
+ /* To do*/
185
+ });
186
+ }
187
+ /* is referenced by*/
188
+ if (to) {
189
+ this.loadReferencesCallback(id, true)
190
+ .then(result => {
191
+ this.referencesToTreeData = convertReferenceDataToTreeData(result);
192
+ })
193
+ .catch(() => {
194
+ /* To do*/
195
+ });
196
+ }
233
197
  }
234
- /* References To*/
235
- if (this.loadReferencesCallback) {
236
- this.loadReferencesCallback(id, true)
198
+ };
199
+ /**
200
+ * It hides/show the bar (The header bottom section).
201
+ */
202
+ this.hideBarButtonClickedHandler = () => {
203
+ this.barHidden = !this.barHidden;
204
+ };
205
+ /**
206
+ * Simple helper function to get 'this.referencedByTreeData' or 'this.referencesToTreeData'
207
+ */
208
+ this.getRef = (to = false) => {
209
+ if (!to) {
210
+ /* referenced by*/
211
+ return this.referencedByTreeData;
212
+ }
213
+ else {
214
+ /* references to*/
215
+ return this.referencesToTreeData;
216
+ }
217
+ };
218
+ /**
219
+ * Simple helper function to update 'this.referencedByTreeData' or 'this.referencesToTreeData'
220
+ */
221
+ this.updateRef = (to = false, updatedData) => {
222
+ if (!to) {
223
+ /* referenced by*/
224
+ this.referencedByTreeData = updatedData;
225
+ }
226
+ else {
227
+ /* references to*/
228
+ this.referencesToTreeData = updatedData;
229
+ }
230
+ };
231
+ /**
232
+ * Handles changes on any of the references (by or to). Used to:
233
+ * 1) Keep the models updated.
234
+ * 2) call the openObjectCallback.
235
+ * 3) call the loadReferencesCallback if a lazy node was toggled.
236
+ */
237
+ this.referencesPanelStateChangedHandler = (to = false) => (e) => {
238
+ const event = e.detail.emittedBy;
239
+ const nodeData = e.detail.itemData;
240
+ const nodeId = e.detail.itemData.id;
241
+ const nodeLabel = e.detail.itemData.label;
242
+ /* tree item was selected*/
243
+ if (event === "selectionChanged") {
244
+ this.selectReferenceCallback(nodeId);
245
+ /* Returns void Promise*/
246
+ }
247
+ /* tree item was double-clicked.*/
248
+ if (event === "doubleClicked") {
249
+ this.openObjectCallback(nodeId);
250
+ }
251
+ let updatedTreeModel = [];
252
+ const lazy = nodeData.lazy;
253
+ if (lazy) {
254
+ // loadReferencesCallback
255
+ let children = [];
256
+ this.loadReferencesCallback(nodeId, to)
237
257
  .then(result => {
238
- this.referencesTo = result;
258
+ children = convertReferenceDataToTreeData(result);
259
+ // Then update model
260
+ updatedTreeModel = updateTreeModel.updateTreeModel(this.getRef(to), { id: nodeId, label: nodeLabel, items: children }, nodeId);
261
+ this.updateRef(to, updatedTreeModel);
239
262
  })
240
263
  .catch(() => {
241
264
  /* To do*/
242
265
  });
243
266
  }
267
+ else {
268
+ updatedTreeModel = updateTreeModel.updateTreeModel(this.getRef(to), nodeData, nodeId);
269
+ this.updateRef(to, updatedTreeModel);
270
+ }
244
271
  };
245
- /**
246
- * @description It hides/show the bar (The header bottom section).
247
- */
248
- this.hideBarButtonClickedHandler = () => {
249
- this.barHidden = !this.barHidden;
250
- };
272
+ this.referencedByTreeData = undefined;
273
+ this.referencesToTreeData = undefined;
251
274
  this.barHidden = false;
252
275
  this.objectsSuggestions = undefined;
253
276
  this.referencedBy = undefined;
254
277
  this.referencesTo = undefined;
255
- this.hideTopBar = false;
256
278
  this.selectedObject = undefined;
257
279
  this.selectorSourceCallback = undefined;
258
280
  this.loadReferencesCallback = undefined;
@@ -261,7 +283,12 @@ const GxIdeReferences = class {
261
283
  this.selectReferenceCallback = undefined;
262
284
  }
263
285
  selectedObjectHandler(newSelectedObject) {
264
- this.loadReferencesHandler(newSelectedObject.id);
286
+ if (newSelectedObject.id) {
287
+ /* update "is referenced by*/
288
+ this.loadReferencesHandler(newSelectedObject.id, false);
289
+ /* update "has references to*/
290
+ this.loadReferencesHandler(newSelectedObject.id, true);
291
+ }
265
292
  }
266
293
  // 6.COMPONENT LIFECYCLE EVENTS //
267
294
  async componentWillLoad() {
@@ -270,8 +297,6 @@ const GxIdeReferences = class {
270
297
  }
271
298
  componentDidLoad() {
272
299
  this.attachSelectObjectListener();
273
- this.attachReferencedByListeners();
274
- this.attachReferencesToListeners();
275
300
  }
276
301
  componentDidRender() {
277
302
  this.componentDidRenderEvent.emit(this._componentLocale.componentName);
@@ -279,12 +304,12 @@ const GxIdeReferences = class {
279
304
  // 10.RENDER() FUNCTION //
280
305
  render() {
281
306
  var _a, _b, _c, _d, _e, _f;
282
- return (index.h(index.Host, { class: "gx-ide-component" }, !this.hideTopBar ? (index.h("gx-ide-top-bar", { topBarTitle: this._componentLocale.componentName })) : null, index.h("div", { class: "gx-ide-main-wrapper gx-ide-overflow" }, index.h("gx-ide-container", { displayBorderBottom: true }, index.h("header", { class: "header" }, index.h("div", { class: "header__top grid" }, index.h("gxg-button", { icon: "navigation/arrow-down", type: "secondary-icon-only", class: "hide-bar-button", onClick: this.hideBarButtonClickedHandler, part: "toggle-bar-button" }), index.h("gxg-label", { labelPosition: "start", class: "suggest-label", part: "select-object-label" }, this._componentLocale.header.selectObject), index.h("gxg-suggest", null, index.h("ch-suggest", { value: this.selectedObject.id, onValueChanged: this.selectObjectValueChangedHandler, ref: el => (this.selectObjectSuggestEl = el), part: "object-selector-suggest" }, renderSuggestLists(this.objectsSuggestions))), index.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" })), index.h("div", { class: {
307
+ return (index.h(index.Host, { class: "gx-ide-component" }, index.h("div", { class: "gx-ide-main-wrapper gx-ide-overflow" }, index.h("gx-ide-container", { displayBorderBottom: true }, index.h("header", { class: "header" }, index.h("div", { class: "header__top grid" }, index.h("gxg-button", { icon: "navigation/arrow-down", type: "secondary-icon-only", class: "hide-bar-button", onClick: this.hideBarButtonClickedHandler, part: "toggle-bar-button" }), index.h("gxg-label", { labelPosition: "start", class: "suggest-label", part: "select-object-label" }, this._componentLocale.header.selectObject), index.h("gxg-suggest", null, index.h("ch-suggest", { value: this.selectedObject.id, onValueChanged: this.selectObjectValueChangedHandler, ref: el => (this.selectObjectSuggestEl = el), part: "object-selector-suggest" }, renderSuggestLists(this.objectsSuggestions))), index.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" })), index.h("div", { class: {
283
308
  "header__bottom": true,
284
309
  "header__bottom--hidden": this.barHidden
285
- } }, index.h("div", { class: "outer-wrapper" }, index.h("div", { class: "inner-wrapper" }, index.h("div", { class: "inner-wrapper__left" }, index.h("gxg-icon", { type: this.selectedObject.icon, color: "auto" }), index.h("gxg-text", { padding: "s", type: "text-link", part: "open-object-text-link", onClick: this.openObjectCallbackHandler }, `${this.selectedObject.name} : ${this.selectedObject.description}`)), index.h("div", { class: "inner-wrapper__right gxi-hidden" }, index.h("gxg-form-checkbox", { id: "references-by-type", label: "Group references by type", required: true, "display-validation-styles": true, part: "references-type-checkbox" }))))))), index.h("main", { class: "main grid" }, index.h("gx-ide-container", { containerTitle: this._componentLocale.main.isReferencedBy, justifyContent: "center", part: "referenced-by-container" }, index.h("gxg-tree", { ref: el => (this.referencedByEl = el), class: { "gxi-hidden": !((_a = this.referencedBy) === null || _a === void 0 ? void 0 : _a.length) }, checkbox: false, part: "referenced-by-tree" }, renderTree.renderTreeItems(convertReferenceDataToTreeData(this.referencedBy))), !((_b = this.referencedBy) === null || _b === void 0 ? void 0 : _b.length) && (index.h("gxg-text", { textAlign: "center", padding: "m", type: "text-regular", maxWidth: this.referencesMessagesMaxWidth, part: "referenced-by-text" }, ((_c = this.referencedBy) === null || _c === void 0 ? void 0 : _c.length) === 0
310
+ } }, index.h("div", { class: "outer-wrapper" }, index.h("div", { class: "inner-wrapper" }, index.h("div", { class: "inner-wrapper__left" }, index.h("gxg-icon", { type: this.selectedObject.icon, color: "auto" }), index.h("gxg-text", { padding: "s", type: "text-link", part: "open-object-text-link", onClick: this.openObjectCallbackHandler }, `${this.selectedObject.name} : ${this.selectedObject.description}`)), index.h("div", { class: "inner-wrapper__right gxi-hidden" }, index.h("gxg-form-checkbox", { id: "references-by-type", label: "Group references by type", required: true, "display-validation-styles": true, part: "references-type-checkbox" }))))))), index.h("main", { class: "main grid" }, index.h("gx-ide-container", { containerTitle: this._componentLocale.main.isReferencedBy, justifyContent: "center", fullHeight: true, part: "referenced-by-container" }, index.h("gxg-tree", { class: { "gxi-hidden": !((_a = this.referencedByTreeData) === null || _a === void 0 ? void 0 : _a.length) }, checkbox: true, onTreeItemStateChanged: this.referencesPanelStateChangedHandler(false), part: "referenced-by-tree" }, updateTreeModel.renderTreeItems(this.referencedByTreeData)), !((_b = this.referencedByTreeData) === null || _b === void 0 ? void 0 : _b.length) && (index.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
286
311
  ? this._componentLocale.main.isReferencedByEmpty
287
- : this._componentLocale.main.isReferencedByError))), index.h("gx-ide-container", { containerTitle: this._componentLocale.main.hasReferencesTo, justifyContent: "center", part: "references-to-container" }, index.h("gxg-tree", { ref: el => (this.referencesToEl = el), class: { "gxi-hidden": !((_d = this.referencesTo) === null || _d === void 0 ? void 0 : _d.length) }, checkbox: false, part: "references-to-tree" }, renderTree.renderTreeItems(convertReferenceDataToTreeData(this.referencesTo))), !((_e = this.referencesTo) === null || _e === void 0 ? void 0 : _e.length) && (index.h("gxg-text", { textAlign: "center", padding: "m", type: "text-regular", maxWidth: this.referencesMessagesMaxWidth, part: "references-to-text" }, ((_f = this.referencesTo) === null || _f === void 0 ? void 0 : _f.length) === 0
312
+ : this._componentLocale.main.isReferencedByError))), index.h("gx-ide-container", { containerTitle: this._componentLocale.main.hasReferencesTo, justifyContent: "center", fullHeight: true, part: "references-to-container" }, index.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" }, updateTreeModel.renderTreeItems(this.referencesToTreeData)), !((_e = this.referencesToTreeData) === null || _e === void 0 ? void 0 : _e.length) && (index.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
288
313
  ? this._componentLocale.main.hasReferencesEmpty
289
314
  : this._componentLocale.main.hasReferencesToError)))))));
290
315
  }
@@ -11,7 +11,7 @@ const GxIdeTemplate = class {
11
11
  constructor(hostRef) {
12
12
  index.registerInstance(this, hostRef);
13
13
  this.componentDidRenderEvent = index.createEvent(this, "componentDidRenderEvent", 7);
14
- this.hideTopBar = false;
14
+ this.mainTile = undefined;
15
15
  }
16
16
  // 6.COMPONENT LIFECYCLE METHODS //
17
17
  async componentWillLoad() {
@@ -25,7 +25,7 @@ const GxIdeTemplate = class {
25
25
  // 9.LOCAL METHODS //
26
26
  // 10.RENDER() FUNCTION //
27
27
  render() {
28
- return (index.h(index.Host, { class: "gx-ide-component" }, !this.hideTopBar ? (index.h("gx-ide-top-bar", { topBarTitle: this._componentLocale.componentName })) : null, index.h("div", { class: "gx-ide-main-wrapper gx-ide-overflow" }, index.h("gx-ide-container", { fullHeight: true, "container-title": "Header Title" }, index.h("p", null, "Lorem ipsum dolor sit amet consectetur adipisicing elit. Facilis natus nam, veritatis aspernatur consequatur omnis blanditiis! Praesentium, ex labore? Odit, officiis eius rerum pariatur ea dicta possimus perferendis molestiae sunt!q"), index.h("gxg-form-text", { label: "Name", placeholder: "Elon Musk", labelPosition: "start", centerLabel: true }), index.h("gxg-button", { slot: "footer" }, "Create")))));
28
+ return (index.h(index.Host, { class: "gx-ide-component" }, index.h("div", { class: "gx-ide-main-wrapper gx-ide-overflow" }, index.h("gx-ide-container", { fullHeight: true, "container-title": "Header Title" }, index.h("p", null, "Lorem ipsum dolor sit amet consectetur adipisicing elit. Facilis natus nam, veritatis aspernatur consequatur omnis blanditiis! Praesentium, ex labore? Odit, officiis eius rerum pariatur ea dicta possimus perferendis molestiae sunt!q"), index.h("gxg-form-text", { label: "Name", placeholder: "Elon Musk", labelPosition: "start", centerLabel: true }), index.h("gxg-button", { slot: "footer" }, "Create")))));
29
29
  }
30
30
  static get assetsDirs() { return ["gx-ide-assets/template"]; }
31
31
  get el() { return index.getElement(this); }
@@ -3,13 +3,15 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-93a6a7e0.js');
6
- const renderTree = require('./render-tree-25d5b8a1.js');
6
+ const updateTreeModel = require('./update-tree-model-445c63a8.js');
7
7
 
8
8
  const testCss = ":host{display:block}";
9
9
 
10
10
  const GxIdeUiTest = class {
11
11
  constructor(hostRef) {
12
12
  index.registerInstance(this, hostRef);
13
+ // 8.PUBLIC METHODS API //
14
+ // 9.LOCAL METHODS //
13
15
  /* Gxg-Tree Methods*/
14
16
  this.closeTreeNodeHandler = () => {
15
17
  this.tree.toggleItems(["number-1-1-2"], false);
@@ -35,9 +37,36 @@ const GxIdeUiTest = class {
35
37
  this.deleteNodeHandler = () => {
36
38
  this.treeModel = [];
37
39
  };
40
+ /* Update model test*/
41
+ // private showTree = () => {
42
+ // this.treeModel = [];
43
+ // };
44
+ // private updateTree = () => {
45
+ // this.treeModel = [];
46
+ // };
47
+ this.treeItemStateChangedHandler = (e) => {
48
+ // const event = e.detail.emittedBy;
49
+ const nodeData = e.detail.itemData;
50
+ const nodeId = e.detail.itemData.id;
51
+ if (nodeData.lazy) {
52
+ this.updateLazyCallback(nodeId).then(children => {
53
+ if (children === null || children === void 0 ? void 0 : children.length) {
54
+ const updatedTreeModel = updateTreeModel.updateTreeModel(this.treeModel, { id: nodeId, label: nodeData.label, items: children }, nodeId);
55
+ this.treeModel = updatedTreeModel;
56
+ }
57
+ });
58
+ }
59
+ };
38
60
  this.treeModel = undefined;
61
+ this.lazyNode = undefined;
62
+ this.updateLazyCallback = undefined;
63
+ this.newNode = undefined;
64
+ this.testUpdateNode = false;
39
65
  this.lazyLoadTreeItemsCallback = undefined;
40
66
  }
67
+ // 5.EVENTS (EMIT) //
68
+ // 6.COMPONENT LIFECYCLE METHODS //
69
+ // 7.LISTENERS //
41
70
  loadLazyChildrenHandler(e) {
42
71
  const treeItemId = e.detail;
43
72
  if (this.lazyLoadTreeItemsCallback) {
@@ -49,9 +78,17 @@ const GxIdeUiTest = class {
49
78
  }, 1000);
50
79
  }
51
80
  }
81
+ treeItemStateChanged(event) {
82
+ const updatedTreeModel = updateTreeModel.updateTreeModel(this.treeModel, event.detail, event.detail.id);
83
+ console.log("updatedTreeModel", updatedTreeModel);
84
+ }
85
+ // 10.RENDER() FUNCTION //
52
86
  render() {
53
- if (this.treeModel) {
54
- return (index.h(index.Host, null, index.h("gxg-tree", { id: "masterTree", checked: true, checkbox: true, multiSelection: true, ref: el => (this.tree = el) }, renderTree.renderTreeItems(this.treeModel)), ",", index.h("div", { class: "tree-buttons" }, index.h("gxg-button", { type: "outlined", onClick: this.closeTreeNodeHandler }, "Close 1-1-2"), index.h("gxg-button", { type: "outlined", onClick: this.openTreeNodeHandler }, "Open 1-1-2"), index.h("gxg-button", { type: "outlined", onClick: this.toggleTreeNodeHandler }, "Toggle 1-1-2"), index.h("gxg-button", { type: "outlined", onClick: this.getSelectedItemsHandler }, "Get Selected Items"), index.h("gxg-button", { type: "outlined", onClick: this.getCheckedItemsHandler }, "Get Checked Items"), index.h("gxg-button", { type: "outlined", onClick: this.deleteNodeHandler }, "Delete Tree"))));
87
+ if (!this.testUpdateNode && this.treeModel) {
88
+ return (index.h(index.Host, null, index.h("gxg-tree", { checked: true, checkbox: true, multiSelection: true, ref: (el) => (this.tree = el) }, updateTreeModel.renderTreeItems(this.treeModel)), ",", index.h("div", { class: "tree-buttons" }, index.h("gxg-button", { type: "outlined", onClick: this.closeTreeNodeHandler }, "Close 1-1-2"), index.h("gxg-button", { type: "outlined", onClick: this.openTreeNodeHandler }, "Open 1-1-2"), index.h("gxg-button", { type: "outlined", onClick: this.toggleTreeNodeHandler }, "Toggle 1-1-2"), index.h("gxg-button", { type: "outlined", onClick: this.getSelectedItemsHandler }, "Get Selected Items"), index.h("gxg-button", { type: "outlined", onClick: this.getCheckedItemsHandler }, "Get Checked Items"), index.h("gxg-button", { type: "outlined", onClick: this.deleteNodeHandler }, "Delete Tree"))));
89
+ }
90
+ else if (this.testUpdateNode) {
91
+ return (index.h(index.Host, null, index.h("gxg-tree", { checked: true, checkbox: true, multiSelection: true, ref: (el) => (this.tree = el), onTreeItemStateChanged: this.treeItemStateChangedHandler }, updateTreeModel.renderTreeItems(this.treeModel))));
55
92
  }
56
93
  else {
57
94
  return index.h("slot", null);
@@ -6,6 +6,36 @@ const index = require('./index-93a6a7e0.js');
6
6
  const form = require('./form-c5e161c6.js');
7
7
  const classesNames = require('./classesNames-5b7c6ad4.js');
8
8
 
9
+ 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)}";
10
+
11
+ const GxIdeTopBar = class {
12
+ constructor(hostRef) {
13
+ index.registerInstance(this, hostRef);
14
+ this.topBarTitle = undefined;
15
+ }
16
+ // 5.EVENTS (EMIT) //
17
+ // 6.METHODS //
18
+ componentWillLoad() {
19
+ this.evaluateSlots();
20
+ }
21
+ // 7.LISTENERS //
22
+ // 8.PUBLIC METHODS API //
23
+ // 9.LOCAL METHODS //
24
+ evaluateSlots() {
25
+ // header
26
+ const menuSlot = this.el.querySelectorAll('[slot="menu"]');
27
+ if (menuSlot.length) {
28
+ this._hasMenuSlot = true;
29
+ }
30
+ }
31
+ // 10.RENDER() FUNCTION //
32
+ render() {
33
+ return (index.h(index.Host, null, index.h("div", { class: "wrapper", part: "wrapper" }, index.h("div", { class: "wrapper__left", part: "wrapper-left" }, index.h("gxg-title", { type: "title-04", exportparts: "title: gxg-title" }, this.topBarTitle)), index.h("div", { class: "wrapper__right", part: "wrapper-right" }, this._hasMenuSlot ? (index.h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/show-more-vertical" }, index.h("slot", { name: "menu" }))) : null))));
34
+ }
35
+ get el() { return index.getElement(this); }
36
+ };
37
+ GxIdeTopBar.style = topBarCss;
38
+
9
39
  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}";
10
40
 
11
41
  const GxgFormRadioGroup = class {
@@ -209,4 +239,5 @@ const GxgFormRadioGroup = class {
209
239
  };
210
240
  GxgFormRadioGroup.style = formRadioGroupCss;
211
241
 
242
+ exports.gx_ide_top_bar = GxIdeTopBar;
212
243
  exports.gxg_form_radio_group = GxgFormRadioGroup;
@@ -11,7 +11,7 @@ const store = require('./store-49485138.js');
11
11
  const classesNames = require('./classesNames-5b7c6ad4.js');
12
12
 
13
13
  function mutationObserverRemoved(target, ref) {
14
- const observer = new MutationObserver((mutationsList, observer) => {
14
+ const observer = new MutationObserver((mutationsList) => {
15
15
  for (const mutation of mutationsList) {
16
16
  if (mutation.type === "childList") {
17
17
  const removedNodesArray = Array.from(mutation.removedNodes);
@@ -443,7 +443,7 @@ const GxgComboBox = class {
443
443
  this.value = event.detail.value;
444
444
  this.inputText.focus();
445
445
  }
446
- itemDidLoadHandler(itemLoaded) {
446
+ itemDidLoadHandler() {
447
447
  this.setIndexes();
448
448
  this.setInitialValue();
449
449
  }
@@ -596,7 +596,7 @@ const GxgComboBox = class {
596
596
  large: store.state.large,
597
597
  }, style: { maxWidth: this.maxWidth, minWidth: this.minWidth }, exportParts: this.exportparts ? this.exportparts : null }, index.h("div", { class: {
598
598
  "main-container": true,
599
- }, ref: (el) => (this.mainContainer = el) }, this.label ? (index.h("gxg-label", { labelPosition: this.labelPosition, center: this.centerLabel, width: this.labelWidth }, this.label)) : null, index.h("div", { class: "search-and-items-container", ref: (el) => (this.searchItemsContainer = el) }, index.h("div", { class: { "search-container": true } }, index.h("gxg-form-text", { placeholder: this.placeholder, onInput: this.inputHandler.bind(this), onKeyDown: this.keyDownHandler, onClick: this.inputTextClickHandler, value: this.text, icon: this.inputTextIcon, iconPosition: this.inputTextIconPosition, readonly: this.disableFilter, ref: (el) => (this.inputText = el), validationStatus: this.validationStatus, disabled: this.disabled, onValueChanged: this.handleValueChangeFormText, cursorEnd: this.cursorEnd, preventValueChangedEmit: true, preventValueChangeOnDisabled: true, class: { "clear-icon": clearIcon }, part: this.parts.input }), index.h("div", { class: "buttons-wrapper" }, clearIcon ? (index.h("gxg-button", { class: { "button-icon delete-icon": true }, icon: "menus/delete", type: "tertiary", onClick: () => this.clearCombo(), tabindex: "-1", fit: true, disabled: this.disabled, part: this.parts.clearButton })) : null, index.h("gxg-button", { class: { "button-icon": true }, icon: "navigation/arrow-down", type: "secondary-icon-only", onClick: this.toggleListButtonClickHandler, fit: true, disabled: this.disabled, tabindex: "-1", part: this.parts.toggleButton }))), index.h("div", { class: {
599
+ }, ref: (el) => (this.mainContainer = el) }, this.label ? (index.h("gxg-label", { labelPosition: this.labelPosition, center: this.centerLabel, width: this.labelWidth }, this.label)) : null, index.h("div", { class: "search-and-items-container", ref: (el) => (this.searchItemsContainer = el) }, index.h("div", { class: { "search-container": true } }, index.h("gxg-form-text", { placeholder: this.placeholder, onInput: this.inputHandler.bind(this), onKeyDown: this.keyDownHandler, onClick: this.inputTextClickHandler, value: this.text, icon: this.fixedIcon || this.inputTextIcon, iconPosition: this.fixedIcon ? "start" : this.inputTextIconPosition, readonly: this.disableFilter, ref: (el) => (this.inputText = el), validationStatus: this.validationStatus, disabled: this.disabled, onValueChanged: this.handleValueChangeFormText, cursorEnd: this.cursorEnd, preventValueChangedEmit: true, preventValueChangeOnDisabled: true, class: { "clear-icon": clearIcon }, part: this.parts.input }), index.h("div", { class: "buttons-wrapper" }, clearIcon ? (index.h("gxg-button", { class: { "button-icon delete-icon": true }, icon: "menus/delete", type: "tertiary", onClick: () => this.clearCombo(), tabindex: "-1", fit: true, disabled: this.disabled, part: this.parts.clearButton })) : null, index.h("gxg-button", { class: { "button-icon": true }, icon: "navigation/arrow-down", type: "secondary-icon-only", onClick: this.toggleListButtonClickHandler, fit: true, disabled: this.disabled, tabindex: "-1", part: this.parts.toggleButton }))), index.h("div", { class: {
600
600
  "items-container": true,
601
601
  "items-container--show": this.listIsOpen,
602
602
  "items-container--no-match": this.noMatch,
@@ -803,11 +803,6 @@ const GxgFormRadio = class {
803
803
  /*********************************
804
804
  METHODS
805
805
  *********************************/
806
- componentDidLoad() {
807
- this.radioInput.addEventListener("change", (e) => {
808
- console.log("changed", e);
809
- });
810
- }
811
806
  checkedHandler(newValue) {
812
807
  if (newValue) {
813
808
  this.radioChecked.emit({
@@ -109,7 +109,7 @@ const GxgMenu = class {
109
109
  this.removeMouseEnter = () => {
110
110
  this.el.removeEventListener("mouseenter", this.detectMouseEnter);
111
111
  };
112
- this.detectMouseEnter = (e) => {
112
+ this.detectMouseEnter = () => {
113
113
  //Mouse enter
114
114
  this.clearMouseOutTimeout();
115
115
  };
@@ -187,7 +187,7 @@ const GxgMenu = class {
187
187
  }
188
188
  keyboardNavigationHandler(triggeredItem) {
189
189
  const triggeringItem = triggeredItem.detail.ref;
190
- const triggeringItemIndex = this._enabledItems.findIndex((item, i) => {
190
+ const triggeringItemIndex = this._enabledItems.findIndex((item) => {
191
191
  return item === triggeringItem;
192
192
  });
193
193
  let newFocusedItem;
@@ -24,7 +24,7 @@ const renderTreeItem = (item) => {
24
24
  const childrenLength = item.items ? item.items.length : 0;
25
25
  const isLeaf = childrenLength === 0 || item.leaf ? true : false;
26
26
  const lazy = !item.lazy ? false : true;
27
- return (index.h("gxg-tree-item", { checkbox: item.checkbox, checked: item.checked, description: item.description, disabled: item.disabled, icon: item.icon, indeterminate: item.indeterminate, id: item.id, key: `tree-item-${item.id}`, label: item.label, leaf: isLeaf && !lazy, numberOfChildren: childrenLength, opened: item.opened, selected: item.selected }, [item.label, ((_a = item.items) === null || _a === void 0 ? void 0 : _a.length) && renderTreeItems(item.items, false)]));
27
+ return (index.h("gxg-tree-item", { checkbox: item.checkbox, checked: item.checked, description: item.description, disabled: item.disabled, icon: item.icon, indeterminate: item.indeterminate, id: item.id, label: item.label, leaf: isLeaf && !lazy, numberOfChildren: childrenLength, opened: item.opened, selected: item.selected }, [item.label, ((_a = item.items) === null || _a === void 0 ? void 0 : _a.length) && renderTreeItems(item.items, false)]));
28
28
  };
29
29
 
30
30
  const testCss = ".tree-buttons{margin-top:16px;display:flex;gap:8px;flex-wrap:wrap}";
@@ -62,27 +62,8 @@ const GxgTest = class {
62
62
  this.deleteNodeHandler = () => {
63
63
  this.treeItemsModel = [];
64
64
  };
65
- this.getIconState = (state) => {
66
- let icon = index.h("gxg-icon", { type: "gx-server/private" });
67
- switch (state) {
68
- case "inserted":
69
- icon = index.h("gxg-icon", { type: "gx-server/new", color: "success" });
70
- break;
71
- case "modified":
72
- icon = (index.h("gxg-icon", { type: "gx-server/changes-commit-pending", color: "primary-active" }));
73
- break;
74
- case "deleted":
75
- icon = index.h("gxg-icon", { type: "gx-server/delete", color: "error" });
76
- break;
77
- case "conflicted":
78
- icon = index.h("gxg-icon", { type: "gx-server/conflict", color: "warning" });
79
- break;
80
- }
81
- return icon;
82
- };
83
65
  }
84
66
  toggleIconClickedHandler(e) {
85
- console.log("hola");
86
67
  const treeItemId = e.detail.id;
87
68
  const isLazy = e.detail.lazy;
88
69
  if (this.lazyLoadTreeItemsCallback && isLazy) {
@@ -105,9 +86,9 @@ const GxgTest = class {
105
86
  ];
106
87
  }
107
88
  else if (this.showGrid) {
108
- return (index.h("gxg-grid", null, index.h("ch-grid", { "row-selection-mode": "none", part: "ch-grid-pending-for-updates", class: "no-border" }, index.h("ch-grid-columnset", null, index.h("ch-grid-column", { settingable: false, sortable: false, "column-type": "rich", "rich-row-selector": true, "rich-row-selector-mode": "mark" }), index.h("ch-grid-column", { "column-name": "name", "column-name-position": "text", settingable: false }), index.h("ch-grid-column", { "column-name": "productos", "column-name-position": "text", settingable: false })), this.showGridData && [
109
- index.h("ch-grid-row", { rowid: "123" }, index.h("ch-grid-cell", { ref: (el) => (el.type = "rich") }), index.h("ch-grid-cell", null, "Nombre"), index.h("ch-grid-cell", null, "Productos")),
110
- index.h("ch-grid-rowset", null, index.h("ch-grid-rowset-legend", null, "Identidad"), index.h("ch-grid-row", { rowSelector: true }, index.h("ch-grid-cell", { rowSelector: true }), index.h("ch-grid-cell", null, "Nombre"), index.h("ch-grid-cell", null, "Productos")), index.h("ch-grid-row", null, index.h("ch-grid-cell", null), index.h("ch-grid-cell", null, "English"), index.h("ch-grid-cell", null, "Products")), index.h("ch-grid-row", null, index.h("ch-grid-cell", null), index.h("ch-grid-cell", null, "Portugu\u00EAs"), index.h("ch-grid-cell", null, "Produtos"))),
89
+ return (index.h("gxg-grid", null, index.h("ch-grid", { "row-selection-mode": "multiple", part: "ch-grid-pending-for-updates", class: "no-border" }, index.h("ch-grid-columnset", null, index.h("ch-grid-column", { settingable: false, sortable: false, "column-type": "rich", "rich-row-selector": true, "rich-row-selector-mode": "mark" }), index.h("ch-grid-column", { "column-name": "name", "column-name-position": "text", settingable: false }), index.h("ch-grid-column", { "column-name": "productos", "column-name-position": "text", settingable: false })), this.showGridData && [
90
+ index.h("ch-grid-row", { rowid: "123" }, index.h("ch-grid-cell", { "cell-type": "rich", "row-selector": true }), index.h("ch-grid-cell", null, "Nombre"), index.h("ch-grid-cell", null, "Productos")),
91
+ index.h("ch-grid-rowset", null, index.h("ch-grid-rowset-legend", null, "Identidad"), index.h("ch-grid-row", null, index.h("ch-grid-cell", { "cell-type": "rich", "row-selector": true }), index.h("ch-grid-cell", null, "Nombre"), index.h("ch-grid-cell", null, "Productos")), index.h("ch-grid-row", null, index.h("ch-grid-cell", { "cell-type": "rich", "row-selector": true }), index.h("ch-grid-cell", null, "English"), index.h("ch-grid-cell", null, "Products")), index.h("ch-grid-row", null, index.h("ch-grid-cell", { "cell-type": "rich", "row-selector": true }), index.h("ch-grid-cell", null, "Portugu\u00EAs"), index.h("ch-grid-cell", null, "Produtos"))),
111
92
  ])));
112
93
  }
113
94
  else {