@genexus/genexus-ide-ui 0.0.17 → 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 (46) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-references.cjs.entry.js +115 -90
  3. package/dist/cjs/gx-ide-test.cjs.entry.js +40 -3
  4. package/dist/cjs/{gxg-form-radio-group.cjs.entry.js → gx-ide-top-bar_2.cjs.entry.js} +31 -0
  5. package/dist/cjs/gxg-tree_2.cjs.entry.js +40 -59
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/cjs/update-tree-model-445c63a8.js +53 -0
  8. package/dist/collection/common/render-tree.js +1 -1
  9. package/dist/collection/common/update-tree-model.js +22 -0
  10. package/dist/collection/components/_test/test.js +129 -2
  11. package/dist/collection/components/references/references.js +119 -113
  12. package/dist/collection/pages/assets/common.js +105 -95
  13. package/dist/components/gx-ide-references.js +131 -111
  14. package/dist/components/gx-ide-test.js +45 -4
  15. package/dist/components/gxg-tree-item2.js +21 -46
  16. package/dist/components/gxg-tree2.js +20 -14
  17. package/dist/components/update-tree-model.js +50 -0
  18. package/dist/esm/genexus-ide-ui.js +1 -1
  19. package/dist/esm/gx-ide-references.entry.js +115 -90
  20. package/dist/esm/gx-ide-test.entry.js +40 -3
  21. package/dist/esm/{gxg-form-radio-group.entry.js → gx-ide-top-bar_2.entry.js} +32 -2
  22. package/dist/esm/gxg-tree_2.entry.js +40 -59
  23. package/dist/esm/loader.js +1 -1
  24. package/dist/esm/update-tree-model-80419058.js +50 -0
  25. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  26. package/dist/genexus-ide-ui/p-254f9ce7.entry.js +1 -0
  27. package/dist/genexus-ide-ui/p-67cf60f5.js +1 -0
  28. package/dist/genexus-ide-ui/p-7007965c.entry.js +1 -0
  29. package/dist/genexus-ide-ui/p-78a90113.entry.js +1 -0
  30. package/dist/genexus-ide-ui/p-b66a4121.entry.js +1 -0
  31. package/dist/types/common/update-tree-model.d.ts +2 -0
  32. package/dist/types/components/_test/test.d.ts +19 -1
  33. package/dist/types/components/references/references.d.ts +28 -24
  34. package/dist/types/components.d.ts +37 -9
  35. package/package.json +3 -3
  36. package/dist/cjs/gx-ide-top-bar.cjs.entry.js +0 -37
  37. package/dist/cjs/render-tree-25d5b8a1.js +0 -29
  38. package/dist/components/render-tree.js +0 -27
  39. package/dist/esm/gx-ide-top-bar.entry.js +0 -33
  40. package/dist/esm/render-tree-fc8636a3.js +0 -27
  41. package/dist/genexus-ide-ui/p-48482e25.entry.js +0 -1
  42. package/dist/genexus-ide-ui/p-a5fee36d.entry.js +0 -1
  43. package/dist/genexus-ide-ui/p-abee8c7b.js +0 -1
  44. package/dist/genexus-ide-ui/p-be9406e7.entry.js +0 -1
  45. package/dist/genexus-ide-ui/p-c5c6e102.entry.js +0 -1
  46. package/dist/genexus-ide-ui/p-f6536bbc.entry.js +0 -1
@@ -1,7 +1,12 @@
1
+ /* STENCIL IMPORTS */
1
2
  import { Host, h } from "@stencil/core";
2
3
  import { renderTreeItems } from "../../common/render-tree";
4
+ import { updateTreeModel } from "../../common/update-tree-model";
5
+ /* CUSTOM IMPORTS */
3
6
  export class GxIdeUiTest {
4
7
  constructor() {
8
+ // 8.PUBLIC METHODS API //
9
+ // 9.LOCAL METHODS //
5
10
  /* Gxg-Tree Methods*/
6
11
  this.closeTreeNodeHandler = () => {
7
12
  this.tree.toggleItems(["number-1-1-2"], false);
@@ -27,9 +32,36 @@ export class GxIdeUiTest {
27
32
  this.deleteNodeHandler = () => {
28
33
  this.treeModel = [];
29
34
  };
35
+ /* Update model test*/
36
+ // private showTree = () => {
37
+ // this.treeModel = [];
38
+ // };
39
+ // private updateTree = () => {
40
+ // this.treeModel = [];
41
+ // };
42
+ this.treeItemStateChangedHandler = (e) => {
43
+ // const event = e.detail.emittedBy;
44
+ const nodeData = e.detail.itemData;
45
+ const nodeId = e.detail.itemData.id;
46
+ if (nodeData.lazy) {
47
+ this.updateLazyCallback(nodeId).then(children => {
48
+ if (children === null || children === void 0 ? void 0 : children.length) {
49
+ const updatedTreeModel = updateTreeModel(this.treeModel, { id: nodeId, label: nodeData.label, items: children }, nodeId);
50
+ this.treeModel = updatedTreeModel;
51
+ }
52
+ });
53
+ }
54
+ };
30
55
  this.treeModel = undefined;
56
+ this.lazyNode = undefined;
57
+ this.updateLazyCallback = undefined;
58
+ this.newNode = undefined;
59
+ this.testUpdateNode = false;
31
60
  this.lazyLoadTreeItemsCallback = undefined;
32
61
  }
62
+ // 5.EVENTS (EMIT) //
63
+ // 6.COMPONENT LIFECYCLE METHODS //
64
+ // 7.LISTENERS //
33
65
  loadLazyChildrenHandler(e) {
34
66
  const treeItemId = e.detail;
35
67
  if (this.lazyLoadTreeItemsCallback) {
@@ -41,9 +73,17 @@ export class GxIdeUiTest {
41
73
  }, 1000);
42
74
  }
43
75
  }
76
+ treeItemStateChanged(event) {
77
+ const updatedTreeModel = updateTreeModel(this.treeModel, event.detail, event.detail.id);
78
+ console.log("updatedTreeModel", updatedTreeModel);
79
+ }
80
+ // 10.RENDER() FUNCTION //
44
81
  render() {
45
- if (this.treeModel) {
46
- return (h(Host, null, h("gxg-tree", { id: "masterTree", 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"))));
82
+ if (!this.testUpdateNode && this.treeModel) {
83
+ 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"))));
84
+ }
85
+ else if (this.testUpdateNode) {
86
+ return (h(Host, null, h("gxg-tree", { checked: true, checkbox: true, multiSelection: true, ref: (el) => (this.tree = el), onTreeItemStateChanged: this.treeItemStateChangedHandler }, renderTreeItems(this.treeModel))));
47
87
  }
48
88
  else {
49
89
  return h("slot", null);
@@ -83,6 +123,87 @@ export class GxIdeUiTest {
83
123
  "text": "The model for a gxg-tree"
84
124
  }
85
125
  },
126
+ "lazyNode": {
127
+ "type": "unknown",
128
+ "mutable": false,
129
+ "complexType": {
130
+ "original": "GxgTreeItemData[]",
131
+ "resolved": "GxgTreeItemData[]",
132
+ "references": {
133
+ "GxgTreeItemData": {
134
+ "location": "import",
135
+ "path": "@genexus/gemini/dist/types/components/tree-item/gxg-tree-item"
136
+ }
137
+ }
138
+ },
139
+ "required": false,
140
+ "optional": false,
141
+ "docs": {
142
+ "tags": [],
143
+ "text": "A new lazy node"
144
+ }
145
+ },
146
+ "updateLazyCallback": {
147
+ "type": "unknown",
148
+ "mutable": false,
149
+ "complexType": {
150
+ "original": "(\n id: string\n ) => Promise<GxgTreeItemData[]>",
151
+ "resolved": "(id: string) => Promise<GxgTreeItemData[]>",
152
+ "references": {
153
+ "Promise": {
154
+ "location": "global"
155
+ },
156
+ "GxgTreeItemData": {
157
+ "location": "import",
158
+ "path": "@genexus/gemini/dist/types/components/tree-item/gxg-tree-item"
159
+ }
160
+ }
161
+ },
162
+ "required": false,
163
+ "optional": false,
164
+ "docs": {
165
+ "tags": [],
166
+ "text": "A new lazy node"
167
+ }
168
+ },
169
+ "newNode": {
170
+ "type": "unknown",
171
+ "mutable": true,
172
+ "complexType": {
173
+ "original": "GxgTreeItemData[]",
174
+ "resolved": "GxgTreeItemData[]",
175
+ "references": {
176
+ "GxgTreeItemData": {
177
+ "location": "import",
178
+ "path": "@genexus/gemini/dist/types/components/tree-item/gxg-tree-item"
179
+ }
180
+ }
181
+ },
182
+ "required": false,
183
+ "optional": false,
184
+ "docs": {
185
+ "tags": [],
186
+ "text": "The new tree node to update"
187
+ }
188
+ },
189
+ "testUpdateNode": {
190
+ "type": "boolean",
191
+ "mutable": false,
192
+ "complexType": {
193
+ "original": "false",
194
+ "resolved": "boolean",
195
+ "references": {}
196
+ },
197
+ "required": false,
198
+ "optional": false,
199
+ "docs": {
200
+ "tags": [],
201
+ "text": "Update tree model test"
202
+ },
203
+ "attribute": "test-update-node",
204
+ "reflect": false,
205
+ "defaultValue": "false"
206
+ },
86
207
  "lazyLoadTreeItemsCallback": {
87
208
  "type": "unknown",
88
209
  "mutable": false,
@@ -115,6 +236,12 @@ export class GxIdeUiTest {
115
236
  "target": undefined,
116
237
  "capture": false,
117
238
  "passive": false
239
+ }, {
240
+ "name": "treeItemStateChanged",
241
+ "method": "treeItemStateChanged",
242
+ "target": undefined,
243
+ "capture": false,
244
+ "passive": false
118
245
  }];
119
246
  }
120
247
  }
@@ -1,9 +1,9 @@
1
1
  /* STENCIL IMPORTS */
2
2
  import { Host, h } from "@stencil/core";
3
- /* OTHER LIBRARIES IMPORTS */
4
3
  /* CUSTOM IMPORTS */
5
4
  import { Locale } from "../../common/locale";
6
5
  import { renderTreeItems } from "../../common/render-tree";
6
+ import { updateTreeModel } from "../../common/update-tree-model";
7
7
  import { renderSuggestLists } from "../../common/render-suggest";
8
8
  import { convertObjectDataToSuggestData, convertReferenceDataToTreeData, updateSuggestedObjects } from "./helpers";
9
9
  export class GxIdeReferences {
@@ -20,7 +20,7 @@ export class GxIdeReferences {
20
20
  // 8.PUBLIC METHODS API //
21
21
  // 9.LOCAL METHODS //
22
22
  /**
23
- * @description It attaches on the ch-suggest, the "itemSelected" event triggered by the ch-suggest-list-item. This helps set the new 'selectedObject'.
23
+ * It attaches on the ch-suggest, the "itemSelected" event triggered by the ch-suggest-list-item. This helps set the new 'selectedObject'.
24
24
  */
25
25
  this.attachSelectObjectListener = () => {
26
26
  this.selectObjectSuggestEl.addEventListener("itemSelected", (e) => {
@@ -31,61 +31,7 @@ export class GxIdeReferences {
31
31
  });
32
32
  };
33
33
  /**
34
- * @description It attaches several events on the 'referencedByEl' element, which is a tree.
35
- */
36
- this.attachReferencedByListeners = () => {
37
- /* '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. */
38
- this.referencedByEl.addEventListener("toggleIconClicked", async (e) => {
39
- if (e.detail.lazy && e.detail.id) {
40
- this.loadReferencesCallback(e.detail.id, false)
41
- .then(result => {
42
- this.referencedBy = result;
43
- })
44
- .catch(() => {
45
- // to do
46
- });
47
- }
48
- });
49
- /* 'selectionChanged' Event: Fired when a new tree item was selected.*/
50
- this.referencedByEl.addEventListener("selectionChanged", (e) => {
51
- this.selectReferenceCallback(e.detail.id);
52
- /* Returns void Promise*/
53
- });
54
- /* 'doubleClicked' Event: Fired when a tree item was double-clicked.*/
55
- this.referencedByEl.addEventListener("doubleClicked", (e) => {
56
- this.openObjectCallback(e.detail.id);
57
- /* Returns void Promise*/
58
- });
59
- };
60
- /**
61
- * @description It attaches several events on the 'referencesToEl' element, which is a tree.
62
- */
63
- this.attachReferencesToListeners = () => {
64
- /* 'toggleIconClicked' Event: (Read description on 'attachReferencedByListeners' as it does the same)*/
65
- this.referencesToEl.addEventListener("toggleIconClicked", async (e) => {
66
- if (e.detail.lazy && e.detail.id) {
67
- this.loadReferencesCallback(e.detail.id, true)
68
- .then(result => {
69
- this.referencesTo = result;
70
- })
71
- .catch(() => {
72
- // to do
73
- });
74
- }
75
- });
76
- /* 'selectionChanged' Event: Fired when a new tree item was selected.*/
77
- this.referencesToEl.addEventListener("selectionChanged", (e) => {
78
- this.selectReferenceCallback(e.detail.id);
79
- /* Returns void Promise*/
80
- });
81
- /* 'doubleClicked' Event: Fired when a tree item was double-clicked.*/
82
- this.referencesToEl.addEventListener("doubleClicked", (e) => {
83
- this.openObjectCallback(e.detail.id);
84
- /* Returns void Promise*/
85
- });
86
- };
87
- /**
88
- * @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.
34
+ * 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.
89
35
  */
90
36
  this.selectObjectValueChangedHandler = async (e) => {
91
37
  const value = e.detail;
@@ -105,55 +51,131 @@ export class GxIdeReferences {
105
51
  /* Returns an empty Promise*/
106
52
  };
107
53
  /**
108
- * @description handler that gets fired when the use clicks on the ch-suggest button (...)
54
+ * handler that gets fired when the use clicks on the ch-suggest button (...)
109
55
  */
110
56
  this.openSelectorDialogCallbackHandler = async () => {
111
- this.selectedObject = await this.openSelectorDialogCallback();
57
+ this.openSelectorDialogCallback()
58
+ .then(result => {
59
+ this.selectedObject = result;
60
+ })
61
+ .catch(() => {
62
+ /* to do */
63
+ });
112
64
  };
113
65
  /**
114
- * @description It evaluates if loadReferencesCallback should be called, depending wether there is or not an actual selected object.
66
+ * It evaluates if loadReferencesCallback should be called, depending wether there is or not an actual selected object.
115
67
  */
116
68
  this.evaluateInitialReferenceData = () => {
117
- var _a;
118
- const selectedObjectId = (_a = this.selectedObject) === null || _a === void 0 ? void 0 : _a.id;
119
- selectedObjectId && this.loadReferencesHandler(selectedObjectId);
69
+ if (this.selectedObject) {
70
+ this.selectedObjectHandler(this.selectedObject);
71
+ }
120
72
  };
121
73
  /**
122
- * @description This method invokes 'loadReferencesCallback' callback for 'Is Referenced By' and 'Has References To' panels.
74
+ * 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"
123
75
  */
124
- this.loadReferencesHandler = async (id) => {
125
- /* Referenced By*/
76
+ this.loadReferencesHandler = async (id, to = false) => {
126
77
  if (this.loadReferencesCallback) {
127
- this.loadReferencesCallback(id, false)
128
- .then(result => {
129
- this.referencedBy = result;
130
- })
131
- .catch(() => {
132
- /* To do*/
133
- });
78
+ /* is referenced by*/
79
+ if (!to) {
80
+ this.loadReferencesCallback(id, false)
81
+ .then(result => {
82
+ this.referencedByTreeData = convertReferenceDataToTreeData(result);
83
+ })
84
+ .catch(() => {
85
+ /* To do*/
86
+ });
87
+ }
88
+ /* is referenced by*/
89
+ if (to) {
90
+ this.loadReferencesCallback(id, true)
91
+ .then(result => {
92
+ this.referencesToTreeData = convertReferenceDataToTreeData(result);
93
+ })
94
+ .catch(() => {
95
+ /* To do*/
96
+ });
97
+ }
134
98
  }
135
- /* References To*/
136
- if (this.loadReferencesCallback) {
137
- this.loadReferencesCallback(id, true)
99
+ };
100
+ /**
101
+ * It hides/show the bar (The header bottom section).
102
+ */
103
+ this.hideBarButtonClickedHandler = () => {
104
+ this.barHidden = !this.barHidden;
105
+ };
106
+ /**
107
+ * Simple helper function to get 'this.referencedByTreeData' or 'this.referencesToTreeData'
108
+ */
109
+ this.getRef = (to = false) => {
110
+ if (!to) {
111
+ /* referenced by*/
112
+ return this.referencedByTreeData;
113
+ }
114
+ else {
115
+ /* references to*/
116
+ return this.referencesToTreeData;
117
+ }
118
+ };
119
+ /**
120
+ * Simple helper function to update 'this.referencedByTreeData' or 'this.referencesToTreeData'
121
+ */
122
+ this.updateRef = (to = false, updatedData) => {
123
+ if (!to) {
124
+ /* referenced by*/
125
+ this.referencedByTreeData = updatedData;
126
+ }
127
+ else {
128
+ /* references to*/
129
+ this.referencesToTreeData = updatedData;
130
+ }
131
+ };
132
+ /**
133
+ * Handles changes on any of the references (by or to). Used to:
134
+ * 1) Keep the models updated.
135
+ * 2) call the openObjectCallback.
136
+ * 3) call the loadReferencesCallback if a lazy node was toggled.
137
+ */
138
+ this.referencesPanelStateChangedHandler = (to = false) => (e) => {
139
+ const event = e.detail.emittedBy;
140
+ const nodeData = e.detail.itemData;
141
+ const nodeId = e.detail.itemData.id;
142
+ const nodeLabel = e.detail.itemData.label;
143
+ /* tree item was selected*/
144
+ if (event === "selectionChanged") {
145
+ this.selectReferenceCallback(nodeId);
146
+ /* Returns void Promise*/
147
+ }
148
+ /* tree item was double-clicked.*/
149
+ if (event === "doubleClicked") {
150
+ this.openObjectCallback(nodeId);
151
+ }
152
+ let updatedTreeModel = [];
153
+ const lazy = nodeData.lazy;
154
+ if (lazy) {
155
+ // loadReferencesCallback
156
+ let children = [];
157
+ this.loadReferencesCallback(nodeId, to)
138
158
  .then(result => {
139
- this.referencesTo = result;
159
+ children = convertReferenceDataToTreeData(result);
160
+ // Then update model
161
+ updatedTreeModel = updateTreeModel(this.getRef(to), { id: nodeId, label: nodeLabel, items: children }, nodeId);
162
+ this.updateRef(to, updatedTreeModel);
140
163
  })
141
164
  .catch(() => {
142
165
  /* To do*/
143
166
  });
144
167
  }
168
+ else {
169
+ updatedTreeModel = updateTreeModel(this.getRef(to), nodeData, nodeId);
170
+ this.updateRef(to, updatedTreeModel);
171
+ }
145
172
  };
146
- /**
147
- * @description It hides/show the bar (The header bottom section).
148
- */
149
- this.hideBarButtonClickedHandler = () => {
150
- this.barHidden = !this.barHidden;
151
- };
173
+ this.referencedByTreeData = undefined;
174
+ this.referencesToTreeData = undefined;
152
175
  this.barHidden = false;
153
176
  this.objectsSuggestions = undefined;
154
177
  this.referencedBy = undefined;
155
178
  this.referencesTo = undefined;
156
- this.hideTopBar = false;
157
179
  this.selectedObject = undefined;
158
180
  this.selectorSourceCallback = undefined;
159
181
  this.loadReferencesCallback = undefined;
@@ -162,7 +184,12 @@ export class GxIdeReferences {
162
184
  this.selectReferenceCallback = undefined;
163
185
  }
164
186
  selectedObjectHandler(newSelectedObject) {
165
- this.loadReferencesHandler(newSelectedObject.id);
187
+ if (newSelectedObject.id) {
188
+ /* update "is referenced by*/
189
+ this.loadReferencesHandler(newSelectedObject.id, false);
190
+ /* update "has references to*/
191
+ this.loadReferencesHandler(newSelectedObject.id, true);
192
+ }
166
193
  }
167
194
  // 6.COMPONENT LIFECYCLE EVENTS //
168
195
  async componentWillLoad() {
@@ -171,8 +198,6 @@ export class GxIdeReferences {
171
198
  }
172
199
  componentDidLoad() {
173
200
  this.attachSelectObjectListener();
174
- this.attachReferencedByListeners();
175
- this.attachReferencesToListeners();
176
201
  }
177
202
  componentDidRender() {
178
203
  this.componentDidRenderEvent.emit(this._componentLocale.componentName);
@@ -180,12 +205,12 @@ export class GxIdeReferences {
180
205
  // 10.RENDER() FUNCTION //
181
206
  render() {
182
207
  var _a, _b, _c, _d, _e, _f;
183
- return (h(Host, { class: "gx-ide-component" }, !this.hideTopBar ? (h("gx-ide-top-bar", { topBarTitle: this._componentLocale.componentName })) : null, 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: {
208
+ 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: {
184
209
  "header__bottom": true,
185
210
  "header__bottom--hidden": this.barHidden
186
- } }, 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", { 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" }, renderTreeItems(convertReferenceDataToTreeData(this.referencedBy))), !((_b = this.referencedBy) === 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.referencedBy) === null || _c === void 0 ? void 0 : _c.length) === 0
211
+ } }, 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: true, 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
187
212
  ? this._componentLocale.main.isReferencedByEmpty
188
- : this._componentLocale.main.isReferencedByError))), h("gx-ide-container", { containerTitle: this._componentLocale.main.hasReferencesTo, justifyContent: "center", part: "references-to-container" }, 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" }, renderTreeItems(convertReferenceDataToTreeData(this.referencesTo))), !((_e = this.referencesTo) === 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.referencesTo) === null || _f === void 0 ? void 0 : _f.length) === 0
213
+ : 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
189
214
  ? this._componentLocale.main.hasReferencesEmpty
190
215
  : this._componentLocale.main.hasReferencesToError)))))));
191
216
  }
@@ -204,24 +229,6 @@ export class GxIdeReferences {
204
229
  static get assetsDirs() { return ["gx-ide-assets/references"]; }
205
230
  static get properties() {
206
231
  return {
207
- "hideTopBar": {
208
- "type": "boolean",
209
- "mutable": false,
210
- "complexType": {
211
- "original": "false",
212
- "resolved": "boolean",
213
- "references": {}
214
- },
215
- "required": false,
216
- "optional": false,
217
- "docs": {
218
- "tags": [],
219
- "text": "If true, will hide the top-bar"
220
- },
221
- "attribute": "hide-top-bar",
222
- "reflect": false,
223
- "defaultValue": "false"
224
- },
225
232
  "selectedObject": {
226
233
  "type": "unknown",
227
234
  "mutable": true,
@@ -340,6 +347,8 @@ export class GxIdeReferences {
340
347
  }
341
348
  static get states() {
342
349
  return {
350
+ "referencedByTreeData": {},
351
+ "referencesToTreeData": {},
343
352
  "barHidden": {},
344
353
  "objectsSuggestions": {},
345
354
  "referencedBy": {},
@@ -354,11 +363,8 @@ export class GxIdeReferences {
354
363
  "cancelable": true,
355
364
  "composed": true,
356
365
  "docs": {
357
- "tags": [{
358
- "name": "description",
359
- "text": "Gets fired when the component has rendered for the first time."
360
- }],
361
- "text": ""
366
+ "tags": [],
367
+ "text": "Gets fired when the component has rendered for the first time."
362
368
  },
363
369
  "complexType": {
364
370
  "original": "string",