@genexus/genexus-ide-ui 0.0.13 → 0.0.15
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/ch-suggest_5.cjs.entry.js +379 -0
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-container_2.cjs.entry.js +168 -0
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +13 -5
- package/dist/cjs/gx-ide-references.cjs.entry.js +299 -0
- package/dist/cjs/gx-ide-test.cjs.entry.js +2 -25
- package/dist/cjs/{gx-ide-container_10.cjs.entry.js → gxg-combo-box_8.cjs.entry.js} +58 -178
- package/dist/cjs/gxg-test.cjs.entry.js +2 -2
- package/dist/cjs/{gxg-tree-item.cjs.entry.js → gxg-tree_2.cjs.entry.js} +167 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/render-tree-25d5b8a1.js +29 -0
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/common/render-suggest.js +18 -0
- package/dist/collection/components/new-kb/new-kb.css +8 -4
- package/dist/collection/components/new-kb/new-kb.js +12 -4
- package/dist/collection/components/references/gx-ide-assets/references/langs/references.lang.en.json +15 -0
- package/dist/collection/components/references/gx-ide-assets/references/langs/references.lang.ja.json +3 -0
- package/dist/collection/components/references/gx-ide-assets/references/langs/references.lang.zh.json +3 -0
- package/dist/collection/components/references/helpers.js +76 -0
- package/dist/collection/components/references/references.css +194 -0
- package/dist/collection/components/references/references.js +377 -0
- package/dist/collection/index.js +1 -0
- package/dist/components/ch-suggest-list-item.js +1 -58
- package/dist/{esm/ch-suggest-list-item.entry.js → components/ch-suggest-list-item2.js} +27 -8
- package/dist/components/ch-suggest-list.js +1 -39
- package/dist/components/ch-suggest-list2.js +41 -0
- package/dist/components/ch-suggest.js +1 -259
- package/dist/{esm/ch-suggest.entry.js → components/ch-suggest2.js} +49 -19
- package/dist/components/gx-ide-new-kb.js +13 -5
- package/dist/components/gx-ide-references.d.ts +11 -0
- package/dist/components/gx-ide-references.js +433 -0
- package/dist/components/gx-ide-test.js +2 -25
- package/dist/components/gxg-suggest.js +1 -55
- package/dist/components/gxg-test.js +2 -2
- package/dist/components/gxg-text.js +1 -88
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.js +1 -0
- package/dist/components/render-tree.js +27 -0
- package/dist/{esm/gxg-suggest.entry.js → components/suggest.js} +29 -10
- package/dist/components/tab-bar.js +29 -13
- package/dist/components/tab-button.js +18 -2
- package/dist/components/tabs.js +15 -2
- package/dist/{esm/gxg-text.entry.js → components/text.js} +30 -8
- package/dist/esm/ch-suggest_5.entry.js +371 -0
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-container_2.entry.js +163 -0
- package/dist/esm/gx-ide-new-kb.entry.js +13 -5
- package/dist/esm/gx-ide-references.entry.js +295 -0
- package/dist/esm/gx-ide-test.entry.js +2 -25
- package/dist/esm/{gx-ide-container_10.entry.js → gxg-combo-box_8.entry.js} +60 -178
- package/dist/esm/gxg-test.entry.js +2 -2
- package/dist/esm/{gxg-tree-item.entry.js → gxg-tree_2.entry.js} +168 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/render-tree-fc8636a3.js +27 -0
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/references/langs/references.lang.en.json +15 -0
- package/dist/genexus-ide-ui/gx-ide-assets/references/langs/references.lang.ja.json +3 -0
- package/dist/genexus-ide-ui/gx-ide-assets/references/langs/references.lang.zh.json +3 -0
- package/dist/genexus-ide-ui/p-0f5d0ccc.entry.js +1 -0
- package/dist/genexus-ide-ui/p-1dcba164.entry.js +1 -0
- package/dist/genexus-ide-ui/p-1e412d88.entry.js +1 -0
- package/dist/genexus-ide-ui/p-2761a056.entry.js +1 -0
- package/dist/genexus-ide-ui/p-62814082.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-f5aa333b.entry.js → p-97430828.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-a5fee36d.entry.js +1 -0
- package/dist/genexus-ide-ui/p-abee8c7b.js +1 -0
- package/dist/genexus-ide-ui/p-be9406e7.entry.js +1 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tab-bar/tab-bar.css +4 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tab-button/tab-button.css +3 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tabs/tabs.css +1 -1
- package/dist/types/common/render-suggest.d.ts +2 -0
- package/dist/types/components/references/helpers.d.ts +17 -0
- package/dist/types/components/references/references.d.ts +125 -0
- package/dist/types/components.d.ts +78 -0
- package/dist/types/index.d.ts +1 -0
- package/package.json +3 -3
- package/dist/cjs/ch-suggest-list-item.cjs.entry.js +0 -45
- package/dist/cjs/ch-suggest-list.cjs.entry.js +0 -28
- package/dist/cjs/ch-suggest.cjs.entry.js +0 -226
- package/dist/cjs/gxg-suggest.cjs.entry.js +0 -42
- package/dist/cjs/gxg-text.cjs.entry.js +0 -72
- package/dist/cjs/gxg-tree.cjs.entry.js +0 -173
- package/dist/esm/ch-suggest-list.entry.js +0 -24
- package/dist/esm/gxg-tree.entry.js +0 -169
- package/dist/genexus-ide-ui/p-0a954e0f.entry.js +0 -1
- package/dist/genexus-ide-ui/p-20a45778.entry.js +0 -1
- package/dist/genexus-ide-ui/p-23d4b295.entry.js +0 -1
- package/dist/genexus-ide-ui/p-4e78d56d.entry.js +0 -1
- package/dist/genexus-ide-ui/p-5463844e.entry.js +0 -1
- package/dist/genexus-ide-ui/p-5faaf0e5.entry.js +0 -1
- package/dist/genexus-ide-ui/p-7a5e0988.entry.js +0 -1
- package/dist/genexus-ide-ui/p-a985b448.entry.js +0 -1
- package/dist/genexus-ide-ui/p-ad9fe469.entry.js +0 -1
- package/dist/genexus-ide-ui/p-b3727324.entry.js +0 -1
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
import { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-4f0a5746.js';
|
|
2
|
+
import { L as Locale } from './locale-e183487a.js';
|
|
3
|
+
import { r as renderTreeItems } from './render-tree-fc8636a3.js';
|
|
4
|
+
|
|
5
|
+
/* eslint-disable @typescript-eslint/no-use-before-define */
|
|
6
|
+
const renderSuggestLists = (suggestData) => {
|
|
7
|
+
if (suggestData === null || suggestData === void 0 ? void 0 : suggestData.suggestLists.length) {
|
|
8
|
+
return suggestData.suggestLists.map((list) => {
|
|
9
|
+
return (h("ch-suggest-list", { label: list.label }, list.items.map((item) => {
|
|
10
|
+
return renderSuggestListsItem(item);
|
|
11
|
+
})));
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
return [];
|
|
15
|
+
};
|
|
16
|
+
const renderSuggestListsItem = (suggestItem) => {
|
|
17
|
+
return (h("ch-suggest-list-item", { description: suggestItem.description, value: suggestItem.value }, [suggestItem.label, suggestItem.icon && renderIcon(suggestItem.icon)]));
|
|
18
|
+
};
|
|
19
|
+
const renderIcon = (iconName) => {
|
|
20
|
+
return h("gxg-icon", { color: "auto", type: iconName, slot: "icon" });
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* @description This function converts SelectorCategoryData[] SuggestData
|
|
25
|
+
*/
|
|
26
|
+
const convertObjectDataToSuggestData = (selectorCategoriesData) => {
|
|
27
|
+
const suggestData = {
|
|
28
|
+
suggestItems: null,
|
|
29
|
+
suggestLists: []
|
|
30
|
+
};
|
|
31
|
+
if (selectorCategoriesData.length) {
|
|
32
|
+
selectorCategoriesData.forEach(selectorCategory => {
|
|
33
|
+
const suggestList = {
|
|
34
|
+
label: selectorCategory.name,
|
|
35
|
+
items: []
|
|
36
|
+
};
|
|
37
|
+
selectorCategory.items.forEach((objectData) => {
|
|
38
|
+
const suggestItem = {
|
|
39
|
+
value: objectData.id,
|
|
40
|
+
label: objectData.name,
|
|
41
|
+
description: objectData.description,
|
|
42
|
+
icon: objectData.icon
|
|
43
|
+
};
|
|
44
|
+
suggestList.items.push(suggestItem);
|
|
45
|
+
});
|
|
46
|
+
suggestData.suggestLists.push(suggestList);
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
return suggestData;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* @description Keeps an updated state of the last suggested categories objects passed by the host.
|
|
53
|
+
*/
|
|
54
|
+
const updateSuggestedObjects = (selectorCategoryData) => {
|
|
55
|
+
const suggestedObjects = [];
|
|
56
|
+
if (selectorCategoryData === null || selectorCategoryData === void 0 ? void 0 : selectorCategoryData.length) {
|
|
57
|
+
selectorCategoryData.forEach(category => {
|
|
58
|
+
if (category.items) {
|
|
59
|
+
category.items.forEach(object => {
|
|
60
|
+
suggestedObjects.push({
|
|
61
|
+
id: object.id,
|
|
62
|
+
icon: object.icon,
|
|
63
|
+
name: object.name,
|
|
64
|
+
description: object.description
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
return suggestedObjects;
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* @description This function converts ReferenceData[] data to GxgTreeItemData[]
|
|
74
|
+
*/
|
|
75
|
+
const convertReferenceDataToTreeData = (referencedBy) => {
|
|
76
|
+
const treeData = [];
|
|
77
|
+
if (!referencedBy) {
|
|
78
|
+
return treeData;
|
|
79
|
+
}
|
|
80
|
+
const convertItem = (item) => {
|
|
81
|
+
var _a;
|
|
82
|
+
const treeItem = {
|
|
83
|
+
description: item.description,
|
|
84
|
+
lazy: item.hasChildren,
|
|
85
|
+
icon: item.icon,
|
|
86
|
+
id: item.id,
|
|
87
|
+
label: item.name
|
|
88
|
+
};
|
|
89
|
+
if (((_a = item.items) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
90
|
+
treeItem.items = item.items.map(child => convertItem(child));
|
|
91
|
+
}
|
|
92
|
+
return treeItem;
|
|
93
|
+
};
|
|
94
|
+
referencedBy.forEach(item => {
|
|
95
|
+
treeData.push(convertItem(item));
|
|
96
|
+
});
|
|
97
|
+
return treeData;
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
const referencesCss = ".gxi-hidden{display:none !important}.gxi-full-height{height:100%}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}:host(.gx-ide-component){box-shadow:var(--box-shadow-01) !important;height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--font-weight-regular);font-size:var(--font-size-lg);line-height:1.6em;height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:6px;height:6px}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gx-ide-main::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gx-ide-main::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}.gx-ide-main .gxg-scroll{display:block;overflow-y:auto;padding-right:2px}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:6px;height:6px}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gx-ide-overflow::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}.gx-ide-overflow .gxg-scroll{display:block;overflow-y:auto;padding-right:2px}:host{display:block}.header{}.header__top{grid-template-columns:min-content auto 1fr min-content;grid-template-rows:1fr;grid-template-areas:\"hide-bar-button suggest-label gxg-suggest selector-dialog-button\"}.header__top .hide-bar-button{grid-area:hide-bar-button}.header__top .suggest-label{grid-area:suggest-label}.header__top gxg-suggest{grid-area:gxg-suggest}.header__top .selector-dialog-button{grid-area:selector-dialog-button}.header__bottom{display:grid;grid-template-rows:1fr;transition:var(--gx-ide-timing-super-fast-ms) grid-template-rows}.header__bottom--hidden{grid-template-rows:0fr}.header__bottom .outer-wrapper{overflow:hidden}.header__bottom .inner-wrapper{padding-top:var(--gx-ide-grid-row-gap);display:flex;flex-direction:row;align-items:center;justify-content:space-between}.header__bottom .inner-wrapper__left{display:flex;align-items:center;gap:var(--gx-ide-grid-row-gap)}.header-hidden .first-row{grid-template-columns:auto 1fr auto}.header-hidden .first-row>:nth-child(3){align-self:end}.header-hidden .second-row{display:none}.main{grid-template-columns:1fr 1fr;grid-template-rows:1fr;grid-template-areas:\"is-referenced has-references\";height:100%;gap:0}.main>*:first-child{border-right:1px solid var(--gx-ide-container-border-color)}.main .is-referenced{grid-area:is-referenced}.main .has-references{grid-area:has-references}";
|
|
101
|
+
|
|
102
|
+
const GxIdeReferences = class {
|
|
103
|
+
constructor(hostRef) {
|
|
104
|
+
registerInstance(this, hostRef);
|
|
105
|
+
this.componentDidRenderEvent = createEvent(this, "componentDidRenderEvent", 7);
|
|
106
|
+
/**
|
|
107
|
+
* Keeps an array of the last suggested objects, returned by selectorSourceCallback
|
|
108
|
+
*/
|
|
109
|
+
this.suggestedObjects = [];
|
|
110
|
+
/**
|
|
111
|
+
* The references messages max. width that appear if the tree is empty or could not be retrieved.
|
|
112
|
+
*/
|
|
113
|
+
this.referencesMessagesMaxWidth = "200px";
|
|
114
|
+
// 7.LISTENERS //
|
|
115
|
+
// 8.PUBLIC METHODS API //
|
|
116
|
+
// 9.LOCAL METHODS //
|
|
117
|
+
/**
|
|
118
|
+
* @description It attaches on the ch-suggest, the "itemSelected" event triggered by the ch-suggest-list-item. This helps set the new 'selectedObject'.
|
|
119
|
+
*/
|
|
120
|
+
this.attachSelectObjectListener = () => {
|
|
121
|
+
this.selectObjectSuggestEl.addEventListener("itemSelected", (e) => {
|
|
122
|
+
const itemValue = e.detail.value;
|
|
123
|
+
this.selectedObject = this.suggestedObjects.find(item => {
|
|
124
|
+
return item.id === itemValue;
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
* @description It attaches several events on the 'referencedByEl' element, which is a tree.
|
|
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.
|
|
184
|
+
*/
|
|
185
|
+
this.selectObjectValueChangedHandler = async (e) => {
|
|
186
|
+
const value = e.detail;
|
|
187
|
+
this.selectorSourceCallback(value)
|
|
188
|
+
.then(result => {
|
|
189
|
+
/* update selected objects state*/
|
|
190
|
+
this.suggestedObjects = updateSuggestedObjects(result);
|
|
191
|
+
/* show suggestions*/
|
|
192
|
+
this.objectsSuggestions = convertObjectDataToSuggestData(result);
|
|
193
|
+
})
|
|
194
|
+
.catch(() => {
|
|
195
|
+
// to do
|
|
196
|
+
});
|
|
197
|
+
};
|
|
198
|
+
this.openObjectCallbackHandler = async () => {
|
|
199
|
+
this.openObjectCallback(this.selectedObject.id);
|
|
200
|
+
/* Returns an empty Promise*/
|
|
201
|
+
};
|
|
202
|
+
/**
|
|
203
|
+
* @description handler that gets fired when the use clicks on the ch-suggest button (...)
|
|
204
|
+
*/
|
|
205
|
+
this.openSelectorDialogCallbackHandler = async () => {
|
|
206
|
+
this.selectedObject = await this.openSelectorDialogCallback();
|
|
207
|
+
};
|
|
208
|
+
/**
|
|
209
|
+
* @description It evaluates if loadReferencesCallback should be called, depending wether there is or not an actual selected object.
|
|
210
|
+
*/
|
|
211
|
+
this.evaluateInitialReferenceData = () => {
|
|
212
|
+
var _a;
|
|
213
|
+
const selectedObjectId = (_a = this.selectedObject) === null || _a === void 0 ? void 0 : _a.id;
|
|
214
|
+
selectedObjectId && this.loadReferencesHandler(selectedObjectId);
|
|
215
|
+
};
|
|
216
|
+
/**
|
|
217
|
+
* @description This method invokes 'loadReferencesCallback' callback for 'Is Referenced By' and 'Has References To' panels.
|
|
218
|
+
*/
|
|
219
|
+
this.loadReferencesHandler = async (id) => {
|
|
220
|
+
/* Referenced By*/
|
|
221
|
+
if (this.loadReferencesCallback) {
|
|
222
|
+
this.loadReferencesCallback(id, false)
|
|
223
|
+
.then(result => {
|
|
224
|
+
this.referencedBy = result;
|
|
225
|
+
})
|
|
226
|
+
.catch(() => {
|
|
227
|
+
/* To do*/
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
/* References To*/
|
|
231
|
+
if (this.loadReferencesCallback) {
|
|
232
|
+
this.loadReferencesCallback(id, true)
|
|
233
|
+
.then(result => {
|
|
234
|
+
this.referencesTo = result;
|
|
235
|
+
})
|
|
236
|
+
.catch(() => {
|
|
237
|
+
/* To do*/
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
};
|
|
241
|
+
/**
|
|
242
|
+
* @description It hides/show the bar (The header bottom section).
|
|
243
|
+
*/
|
|
244
|
+
this.hideBarButtonClickedHandler = () => {
|
|
245
|
+
this.barHidden = !this.barHidden;
|
|
246
|
+
};
|
|
247
|
+
this.barHidden = false;
|
|
248
|
+
this.objectsSuggestions = undefined;
|
|
249
|
+
this.referencedBy = undefined;
|
|
250
|
+
this.referencesTo = undefined;
|
|
251
|
+
this.hideTopBar = false;
|
|
252
|
+
this.selectedObject = undefined;
|
|
253
|
+
this.selectorSourceCallback = undefined;
|
|
254
|
+
this.loadReferencesCallback = undefined;
|
|
255
|
+
this.openObjectCallback = undefined;
|
|
256
|
+
this.openSelectorDialogCallback = undefined;
|
|
257
|
+
this.selectReferenceCallback = undefined;
|
|
258
|
+
}
|
|
259
|
+
selectedObjectHandler(newSelectedObject) {
|
|
260
|
+
this.loadReferencesHandler(newSelectedObject.id);
|
|
261
|
+
}
|
|
262
|
+
// 6.COMPONENT LIFECYCLE EVENTS //
|
|
263
|
+
async componentWillLoad() {
|
|
264
|
+
this._componentLocale = await Locale.getComponentStrings(this.el);
|
|
265
|
+
this.evaluateInitialReferenceData();
|
|
266
|
+
}
|
|
267
|
+
componentDidLoad() {
|
|
268
|
+
this.attachSelectObjectListener();
|
|
269
|
+
this.attachReferencedByListeners();
|
|
270
|
+
this.attachReferencesToListeners();
|
|
271
|
+
}
|
|
272
|
+
componentDidRender() {
|
|
273
|
+
this.componentDidRenderEvent.emit(this._componentLocale.componentName);
|
|
274
|
+
}
|
|
275
|
+
// 10.RENDER() FUNCTION //
|
|
276
|
+
render() {
|
|
277
|
+
var _a, _b, _c, _d, _e, _f;
|
|
278
|
+
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: {
|
|
279
|
+
"header__bottom": true,
|
|
280
|
+
"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", { 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
|
|
282
|
+
? 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", { 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
|
|
284
|
+
? this._componentLocale.main.hasReferencesEmpty
|
|
285
|
+
: this._componentLocale.main.hasReferencesToError)))))));
|
|
286
|
+
}
|
|
287
|
+
static get assetsDirs() { return ["gx-ide-assets/references"]; }
|
|
288
|
+
get el() { return getElement(this); }
|
|
289
|
+
static get watchers() { return {
|
|
290
|
+
"selectedObject": ["selectedObjectHandler"]
|
|
291
|
+
}; }
|
|
292
|
+
};
|
|
293
|
+
GxIdeReferences.style = referencesCss;
|
|
294
|
+
|
|
295
|
+
export { GxIdeReferences as gx_ide_references };
|
|
@@ -1,28 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
/* eslint-disable @typescript-eslint/no-use-before-define */
|
|
4
|
-
const renderTreeItems = (treeItemsModel, firstCall = true) => {
|
|
5
|
-
if (treeItemsModel === null || treeItemsModel === void 0 ? void 0 : treeItemsModel.length) {
|
|
6
|
-
if (firstCall) {
|
|
7
|
-
return treeItemsModel.map((item) => {
|
|
8
|
-
return renderTreeItem(item);
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
else {
|
|
12
|
-
return (h("gxg-tree", { slot: "tree" }, treeItemsModel.map((item) => {
|
|
13
|
-
return renderTreeItem(item);
|
|
14
|
-
})));
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
return [];
|
|
18
|
-
};
|
|
19
|
-
const renderTreeItem = (item) => {
|
|
20
|
-
var _a;
|
|
21
|
-
const childrenLength = item.items ? item.items.length : 0;
|
|
22
|
-
const isLeaf = !!(childrenLength === 0 || item.leaf);
|
|
23
|
-
const lazy = !!item.lazy;
|
|
24
|
-
return (h("gxg-tree-item", { checkbox: item.checkbox, checked: item.checked, 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)]));
|
|
25
|
-
};
|
|
1
|
+
import { r as registerInstance, h, H as Host } from './index-4f0a5746.js';
|
|
2
|
+
import { r as renderTreeItems } from './render-tree-fc8636a3.js';
|
|
26
3
|
|
|
27
4
|
const testCss = ":host{display:block}";
|
|
28
5
|
|