@genexus/genexus-ide-ui 0.0.52 → 0.0.54

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 (58) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +167 -0
  3. package/dist/cjs/gx-ide-new-object.cjs.entry.js +18 -19
  4. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
  5. package/dist/cjs/gx-ide-references.cjs.entry.js +2 -22
  6. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +1 -1
  7. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +1 -1
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/cjs/{render-combo-items-ef403ec4.js → render-combo-items-d99a186a.js} +1 -1
  10. package/dist/cjs/render-suggest-c623955f.js +26 -0
  11. package/dist/collection/collection-manifest.json +1 -0
  12. package/dist/collection/common/render-combo-items.js +1 -1
  13. package/dist/collection/components/application-declaration/bpm-app-declaration.css +162 -0
  14. package/dist/collection/components/application-declaration/bpm-app-declaration.js +310 -0
  15. package/dist/collection/components/application-declaration/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.en.json +16 -0
  16. package/dist/collection/components/application-declaration/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.ja.json +3 -0
  17. package/dist/collection/components/application-declaration/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.zh.json +3 -0
  18. package/dist/collection/components/application-declaration/helpers.js +26 -0
  19. package/dist/collection/components/new-object/gx-ide-assets/new-object/langs/new-object.lang.en.json +3 -2
  20. package/dist/collection/components/new-object/new-object.js +18 -19
  21. package/dist/components/gx-ide-bpm-app-declaration.d.ts +11 -0
  22. package/dist/components/gx-ide-bpm-app-declaration.js +334 -0
  23. package/dist/components/gx-ide-new-object.js +18 -19
  24. package/dist/components/gx-ide-references.js +2 -22
  25. package/dist/components/index.d.ts +1 -0
  26. package/dist/components/index.js +1 -0
  27. package/dist/components/render-combo-items.js +1 -1
  28. package/dist/components/render-suggest.js +24 -0
  29. package/dist/esm/genexus-ide-ui.js +1 -1
  30. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +163 -0
  31. package/dist/esm/gx-ide-new-object.entry.js +18 -19
  32. package/dist/esm/gx-ide-object-selector.entry.js +1 -1
  33. package/dist/esm/gx-ide-references.entry.js +2 -22
  34. package/dist/esm/gx-ide-team-dev-commit.entry.js +1 -1
  35. package/dist/esm/gx-ide-team-dev-update.entry.js +1 -1
  36. package/dist/esm/loader.js +1 -1
  37. package/dist/esm/{render-combo-items-84c5ea90.js → render-combo-items-faf78e28.js} +1 -1
  38. package/dist/esm/render-suggest-e44dde1b.js +24 -0
  39. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  40. package/dist/genexus-ide-ui/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.en.json +16 -0
  41. package/dist/genexus-ide-ui/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.ja.json +3 -0
  42. package/dist/genexus-ide-ui/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.zh.json +3 -0
  43. package/dist/genexus-ide-ui/gx-ide-assets/new-object/langs/new-object.lang.en.json +3 -2
  44. package/dist/genexus-ide-ui/{p-d3c40681.js → p-11af125f.js} +1 -1
  45. package/dist/genexus-ide-ui/p-46d393f5.entry.js +1 -0
  46. package/dist/genexus-ide-ui/p-4e601007.entry.js +1 -0
  47. package/dist/genexus-ide-ui/{p-d25ae2fd.entry.js → p-8866ca9d.entry.js} +1 -1
  48. package/dist/genexus-ide-ui/p-90416fc8.js +1 -0
  49. package/dist/genexus-ide-ui/{p-e38c56ea.entry.js → p-9794ba9b.entry.js} +1 -1
  50. package/dist/genexus-ide-ui/p-9a6cb543.entry.js +1 -0
  51. package/dist/genexus-ide-ui/{p-c69df3f2.entry.js → p-a86a5a89.entry.js} +1 -1
  52. package/dist/types/components/application-declaration/bpm-app-declaration.d.ts +85 -0
  53. package/dist/types/components/application-declaration/helpers.d.ts +5 -0
  54. package/dist/types/components/new-object/new-object.d.ts +1 -1
  55. package/dist/types/components.d.ts +84 -6
  56. package/package.json +1 -1
  57. package/dist/genexus-ide-ui/p-0516b501.entry.js +0 -1
  58. package/dist/genexus-ide-ui/p-cd7be14a.entry.js +0 -1
@@ -0,0 +1,334 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
+ import { L as Locale } from './locale.js';
3
+ import { r as renderSuggestLists } from './render-suggest.js';
4
+ import { r as renderComboItems } from './render-combo-items.js';
5
+ import { g as gridCommon } from './grid.js';
6
+ import { d as defineCustomElement$p } from './ch-grid2.js';
7
+ import { d as defineCustomElement$o } from './ch-grid-column2.js';
8
+ import { d as defineCustomElement$n } from './ch-grid-column-resize2.js';
9
+ import { d as defineCustomElement$m } from './ch-grid-column-settings2.js';
10
+ import { d as defineCustomElement$l } from './ch-grid-columnset2.js';
11
+ import { d as defineCustomElement$k } from './ch-grid-settings2.js';
12
+ import { d as defineCustomElement$j } from './ch-grid-settings-columns2.js';
13
+ import { d as defineCustomElement$i } from './icon.js';
14
+ import { d as defineCustomElement$h } from './ch-suggest2.js';
15
+ import { d as defineCustomElement$g } from './ch-suggest-list2.js';
16
+ import { d as defineCustomElement$f } from './ch-suggest-list-item2.js';
17
+ import { d as defineCustomElement$e } from './ch-window2.js';
18
+ import { d as defineCustomElement$d } from './ch-window-close2.js';
19
+ import { d as defineCustomElement$c } from './button.js';
20
+ import { d as defineCustomElement$b } from './combo-box.js';
21
+ import { d as defineCustomElement$a } from './combo-box-item.js';
22
+ import { d as defineCustomElement$9 } from './container2.js';
23
+ import { d as defineCustomElement$8 } from './form-text.js';
24
+ import { d as defineCustomElement$7 } from './gxg-grid2.js';
25
+ import { d as defineCustomElement$6 } from './icon2.js';
26
+ import { d as defineCustomElement$5 } from './gxg-label2.js';
27
+ import { d as defineCustomElement$4 } from './suggest.js';
28
+ import { d as defineCustomElement$3 } from './title.js';
29
+ import { d as defineCustomElement$2 } from './tooltip.js';
30
+
31
+ /* References Types*/
32
+ /**
33
+ * @description This function converts string[] to SuggestItemData[]
34
+ */
35
+ const convertSuggestedApplicationsToSuggestItems = (suggestedApplications) => {
36
+ const suggestData = {
37
+ suggestItems: null,
38
+ suggestLists: []
39
+ };
40
+ if (suggestedApplications.length) {
41
+ const suggestList = {
42
+ label: "Applications",
43
+ items: []
44
+ };
45
+ suggestedApplications.forEach((suggestedApplication) => {
46
+ const suggestItem = {
47
+ value: suggestedApplication,
48
+ description: null,
49
+ icon: null
50
+ };
51
+ suggestList.items.push(suggestItem);
52
+ });
53
+ suggestData.suggestLists.push(suggestList);
54
+ }
55
+ return suggestData;
56
+ };
57
+
58
+ const bpmAppDeclarationCss = ".gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.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}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--gray-01)}gxg-tabs{box-shadow:none}: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-inline-end: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-inline-end:2px}:host{display:block}:host .header{display:flex;gap:var(--gx-ide-grid-row-gap)}:host .header .application-suggest{flex:1}:host .row-button{display:flex;align-items:center}";
59
+
60
+ const GxIdeBpmAppDeclaration$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
61
+ constructor() {
62
+ super();
63
+ this.__registerHost();
64
+ this.__attachShadow();
65
+ this.componentDidRenderEvent = createEvent(this, "componentDidRenderEvent", 7);
66
+ // 7.LISTENERS //
67
+ // 8.PUBLIC METHODS API //
68
+ // 9.LOCAL METHODS //
69
+ this.listenApplicationSelected = async () => {
70
+ this.applicationSuggestEl.addEventListener("itemSelected", (e) => {
71
+ this.getDataMappingCallbackHandler(e.detail.value);
72
+ });
73
+ };
74
+ this.applicationSuggestValueChangedHandler = async (e) => {
75
+ const value = e.detail;
76
+ this.suggestApplicationsCallback(value)
77
+ .then(result => {
78
+ this.suggestedApplications =
79
+ convertSuggestedApplicationsToSuggestItems(result);
80
+ })
81
+ .catch(() => {
82
+ // to do
83
+ });
84
+ };
85
+ this.getDataMappingCallbackHandler = async (applicationName) => {
86
+ this.application = await this.getDataMappingCallback(applicationName);
87
+ };
88
+ this.selectApplicationCallbackHandler = async () => {
89
+ const callbackResult = await this.selectApplicationCallback();
90
+ if (callbackResult) {
91
+ this.application = callbackResult;
92
+ }
93
+ };
94
+ this.confirmCallbackHandler = async () => {
95
+ await this.confirmCallback(this.application);
96
+ };
97
+ this.cancelCallbackHandler = async () => {
98
+ await this.cancelCallback();
99
+ };
100
+ this.selectMappingCallbackHandler = (parameter) => async () => {
101
+ if (this.selectMappingCallback) {
102
+ const newRelevantData = await this.selectMappingCallback(parameter);
103
+ if (newRelevantData) {
104
+ // update actual application with new relevant data option
105
+ // first find mapping index
106
+ const dataIndex = this.applicationState.mappings.findIndex(mapping => {
107
+ return mapping.parameter === parameter;
108
+ });
109
+ if (dataIndex !== -1) {
110
+ // new relevant data could be new, or already existent.
111
+ const found = this.applicationState.mappings[dataIndex].relevantDataOptions.find(option => {
112
+ return option === newRelevantData;
113
+ });
114
+ if (!found) {
115
+ // new. add.
116
+ this.applicationState.mappings[dataIndex].relevantDataOptions.push(newRelevantData);
117
+ }
118
+ // always set this data as selected
119
+ this.applicationState.mappings[dataIndex].relevantData =
120
+ newRelevantData;
121
+ // update
122
+ this.application = Object.assign({}, this.applicationState);
123
+ }
124
+ }
125
+ }
126
+ };
127
+ this.dataOptionsToComboItems = (relevantDataOptions) => {
128
+ const gxOptions = [
129
+ { id: this._componentLocale.dataMappings.emptyOption }
130
+ ];
131
+ relevantDataOptions.forEach(relevantOption => {
132
+ const gxOption = { id: relevantOption };
133
+ gxOptions.push(gxOption);
134
+ });
135
+ return gxOptions;
136
+ };
137
+ this.clearApplicationHandler = () => {
138
+ this.application = {
139
+ application: undefined,
140
+ mappings: []
141
+ };
142
+ };
143
+ this.renderDataMappingsGrid = () => {
144
+ var _a;
145
+ return (h("gxg-grid", { "ellipsis-cell-wrapper": true }, h("ch-grid", { part: "ch-grid-data-mappings" }, h("ch-grid-columnset", null, h("ch-grid-column", { columnName: ((_a = this.application.application) === null || _a === void 0 ? void 0 : _a.typeIcon) === "objects/transaction"
146
+ ? this._componentLocale.dataMappings.firstColName
147
+ : this._componentLocale.dataMappings.firstColNameParameter, settingable: false, size: gridCommon.colSize.common }), h("ch-grid-column", { columnName: this._componentLocale.dataMappings.secondColName, settingable: false, sortable: false, size: gridCommon.colSize.common }), h("ch-grid-column", { settingable: false, sortable: false, size: gridCommon.colSize.auto })), this.application.mappings.map((obj, index) => {
148
+ var _a;
149
+ return (h("ch-grid-row", { rowId: index + obj.parameter }, h("ch-grid-cell", null, h("span", { class: "cell-wrapper" }, `${obj.access}: ${obj.parameter}`)), h("ch-grid-cell", null, h("span", { class: "cell-wrapper" }, h("gxg-combo-box", { disableFilter: true, value: obj.relevantData }, renderComboItems((_a = this.dataOptionsToComboItems(obj.relevantDataOptions)) !== null && _a !== void 0 ? _a : [])))), h("ch-grid-cell", null, h("span", { class: "cell-wrapper" }, h("gxg-button", { "data-index": index, type: "secondary-icon-only", icon: "gemini-tools/add-circle", onClick: this.selectMappingCallbackHandler(obj.parameter) })))));
150
+ }))));
151
+ };
152
+ this.suggestedApplications = undefined;
153
+ this.application = undefined;
154
+ this.suggestApplicationsCallback = undefined;
155
+ this.selectApplicationCallback = undefined;
156
+ this.selectMappingCallback = undefined;
157
+ this.confirmCallback = undefined;
158
+ this.cancelCallback = undefined;
159
+ this.getDataMappingCallback = undefined;
160
+ }
161
+ watchApplicationHandler(newApplication) {
162
+ this.applicationState = newApplication;
163
+ }
164
+ // 6.COMPONENT LIFECYCLE METHODS //
165
+ async componentWillLoad() {
166
+ this._componentLocale = await Locale.getComponentStrings(this.el);
167
+ this.applicationState = this.application;
168
+ }
169
+ async componentDidLoad() {
170
+ /* this.applicationSuggestValueChangedHandler(this.applicationText); */
171
+ this.listenApplicationSelected();
172
+ }
173
+ componentDidRender() {
174
+ this.componentDidRenderEvent.emit(this._componentLocale.componentName);
175
+ }
176
+ // 10.RENDER() FUNCTION //
177
+ render() {
178
+ var _a;
179
+ return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper gx-ide-overflow" }, h("gxg-container", null, h("header", { class: "header" }, h("gxg-label", { class: "suggest-label", part: "select-object-label" }, this._componentLocale.header.applicationLabel), h("gxg-suggest", { class: "application-suggest" }, h("ch-suggest", { value: ((_a = this.application.application) === null || _a === void 0 ? void 0 : _a.name) || null, onValueChanged: this.applicationSuggestValueChangedHandler, ref: el => (this.applicationSuggestEl = el), part: "application-suggest" }, renderSuggestLists(this.suggestedApplications))), h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/show-more-horizontal", onClick: this.selectApplicationCallbackHandler, class: "selector-dialog-button", part: "open-selector-dialog-button" }), h("gxg-button", { type: "outlined", part: "clear-application-button", onClick: this.clearApplicationHandler }, "Clear")), h("div", { class: "grid data-mappings" }, h("gxg-container", { containerTitle: this._componentLocale.dataMappings.title, noHeadingBorder: true }, this.renderDataMappingsGrid())), h("gxg-button", { type: "primary-text-only", slot: "footer", icon: "general/datastore", onClick: this.confirmCallbackHandler }, this._componentLocale.buttons.confirmButton), h("gxg-button", { type: "secondary-text-only", slot: "footer", onClick: this.cancelCallbackHandler }, this._componentLocale.buttons.cancelButton)))));
180
+ }
181
+ static get assetsDirs() { return ["gx-ide-assets/bpm-app-declaration"]; }
182
+ get el() { return this; }
183
+ static get watchers() { return {
184
+ "application": ["watchApplicationHandler"]
185
+ }; }
186
+ static get style() { return bpmAppDeclarationCss; }
187
+ }, [1, "gx-ide-bpm-app-declaration", {
188
+ "application": [1040],
189
+ "suggestApplicationsCallback": [16],
190
+ "selectApplicationCallback": [16],
191
+ "selectMappingCallback": [16],
192
+ "confirmCallback": [16],
193
+ "cancelCallback": [16],
194
+ "getDataMappingCallback": [16],
195
+ "suggestedApplications": [32]
196
+ }]);
197
+ function defineCustomElement$1() {
198
+ if (typeof customElements === "undefined") {
199
+ return;
200
+ }
201
+ const components = ["gx-ide-bpm-app-declaration", "ch-grid", "ch-grid-column", "ch-grid-column-resize", "ch-grid-column-settings", "ch-grid-columnset", "ch-grid-settings", "ch-grid-settings-columns", "ch-icon", "ch-suggest", "ch-suggest-list", "ch-suggest-list-item", "ch-window", "ch-window-close", "gxg-button", "gxg-combo-box", "gxg-combo-box-item", "gxg-container", "gxg-form-text", "gxg-grid", "gxg-icon", "gxg-label", "gxg-suggest", "gxg-title", "gxg-tooltip"];
202
+ components.forEach(tagName => { switch (tagName) {
203
+ case "gx-ide-bpm-app-declaration":
204
+ if (!customElements.get(tagName)) {
205
+ customElements.define(tagName, GxIdeBpmAppDeclaration$1);
206
+ }
207
+ break;
208
+ case "ch-grid":
209
+ if (!customElements.get(tagName)) {
210
+ defineCustomElement$p();
211
+ }
212
+ break;
213
+ case "ch-grid-column":
214
+ if (!customElements.get(tagName)) {
215
+ defineCustomElement$o();
216
+ }
217
+ break;
218
+ case "ch-grid-column-resize":
219
+ if (!customElements.get(tagName)) {
220
+ defineCustomElement$n();
221
+ }
222
+ break;
223
+ case "ch-grid-column-settings":
224
+ if (!customElements.get(tagName)) {
225
+ defineCustomElement$m();
226
+ }
227
+ break;
228
+ case "ch-grid-columnset":
229
+ if (!customElements.get(tagName)) {
230
+ defineCustomElement$l();
231
+ }
232
+ break;
233
+ case "ch-grid-settings":
234
+ if (!customElements.get(tagName)) {
235
+ defineCustomElement$k();
236
+ }
237
+ break;
238
+ case "ch-grid-settings-columns":
239
+ if (!customElements.get(tagName)) {
240
+ defineCustomElement$j();
241
+ }
242
+ break;
243
+ case "ch-icon":
244
+ if (!customElements.get(tagName)) {
245
+ defineCustomElement$i();
246
+ }
247
+ break;
248
+ case "ch-suggest":
249
+ if (!customElements.get(tagName)) {
250
+ defineCustomElement$h();
251
+ }
252
+ break;
253
+ case "ch-suggest-list":
254
+ if (!customElements.get(tagName)) {
255
+ defineCustomElement$g();
256
+ }
257
+ break;
258
+ case "ch-suggest-list-item":
259
+ if (!customElements.get(tagName)) {
260
+ defineCustomElement$f();
261
+ }
262
+ break;
263
+ case "ch-window":
264
+ if (!customElements.get(tagName)) {
265
+ defineCustomElement$e();
266
+ }
267
+ break;
268
+ case "ch-window-close":
269
+ if (!customElements.get(tagName)) {
270
+ defineCustomElement$d();
271
+ }
272
+ break;
273
+ case "gxg-button":
274
+ if (!customElements.get(tagName)) {
275
+ defineCustomElement$c();
276
+ }
277
+ break;
278
+ case "gxg-combo-box":
279
+ if (!customElements.get(tagName)) {
280
+ defineCustomElement$b();
281
+ }
282
+ break;
283
+ case "gxg-combo-box-item":
284
+ if (!customElements.get(tagName)) {
285
+ defineCustomElement$a();
286
+ }
287
+ break;
288
+ case "gxg-container":
289
+ if (!customElements.get(tagName)) {
290
+ defineCustomElement$9();
291
+ }
292
+ break;
293
+ case "gxg-form-text":
294
+ if (!customElements.get(tagName)) {
295
+ defineCustomElement$8();
296
+ }
297
+ break;
298
+ case "gxg-grid":
299
+ if (!customElements.get(tagName)) {
300
+ defineCustomElement$7();
301
+ }
302
+ break;
303
+ case "gxg-icon":
304
+ if (!customElements.get(tagName)) {
305
+ defineCustomElement$6();
306
+ }
307
+ break;
308
+ case "gxg-label":
309
+ if (!customElements.get(tagName)) {
310
+ defineCustomElement$5();
311
+ }
312
+ break;
313
+ case "gxg-suggest":
314
+ if (!customElements.get(tagName)) {
315
+ defineCustomElement$4();
316
+ }
317
+ break;
318
+ case "gxg-title":
319
+ if (!customElements.get(tagName)) {
320
+ defineCustomElement$3();
321
+ }
322
+ break;
323
+ case "gxg-tooltip":
324
+ if (!customElements.get(tagName)) {
325
+ defineCustomElement$2();
326
+ }
327
+ break;
328
+ } });
329
+ }
330
+
331
+ const GxIdeBpmAppDeclaration = GxIdeBpmAppDeclaration$1;
332
+ const defineCustomElement = defineCustomElement$1;
333
+
334
+ export { GxIdeBpmAppDeclaration, defineCustomElement };
@@ -52,6 +52,8 @@ const GxIdeNewObject$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
52
52
  * This method initializes tha name value. It depends on 'this.selectedType'
53
53
  */
54
54
  this.init = () => {
55
+ this.selectedCategory = this.typeCategories[0];
56
+ this.selectedType = this.typeCategories[0].types[0];
55
57
  if (this.selectedType && this.selectedType.name.length > 0) {
56
58
  this.name = this.selectedType.name;
57
59
  this.description = this.selectedType.name;
@@ -99,7 +101,9 @@ const GxIdeNewObject$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
99
101
  const data = {
100
102
  typeId: (_a = this.selectedType) === null || _a === void 0 ? void 0 : _a.id,
101
103
  name: this.nameEl.value,
102
- description: this.descriptionEl.value,
104
+ description: !this.descriptionModifiedByUser
105
+ ? undefined
106
+ : this.descriptionEl.value,
103
107
  moduleId: this.parentEl.value.id
104
108
  };
105
109
  const result = await this.createCallback(data);
@@ -111,17 +115,20 @@ const GxIdeNewObject$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
111
115
  this.categoryOnSelectionChangedHandler = (selectionEvent) => {
112
116
  const selection = selectionEvent.detail.items;
113
117
  if (selection.length > 0) {
114
- this.selectedCategory = this.typeCategories[selection[0].index];
115
- if (this.selectedCategory.types[0]) {
116
- this.selectedType = this.selectedCategory.types[0];
118
+ const selectedCategory = this.typeCategories[selection[0].index];
119
+ if (selectedCategory) {
120
+ this.selectedCategory = selectedCategory;
121
+ if (selectedCategory.types.length > 0) {
122
+ this.selectedType = selectedCategory.types[0];
123
+ }
117
124
  }
118
125
  }
119
126
  };
120
127
  this.typeOnSelectionChangedHandler = (selectionEvent) => {
121
128
  const selection = selectionEvent.detail.items;
122
129
  if (selection.length > 0) {
123
- const selectedType = selection[0];
124
- this.selectedType = this.selectedCategory.types[selectedType.index];
130
+ const selected = selection[0];
131
+ this.selectedType = this.selectedCategory.types[selected.index];
125
132
  }
126
133
  };
127
134
  this.selectedCategory = undefined;
@@ -138,19 +145,11 @@ const GxIdeNewObject$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
138
145
  this.createCallback = undefined;
139
146
  this.cancelCallback = undefined;
140
147
  }
141
- // 4.PUBLIC PROPERTY API //
142
- watchPropHandler(newSelectedType) {
143
- this.name = newSelectedType.name;
144
- this.description = newSelectedType.name;
148
+ watchSelectedTypeHandler() {
145
149
  this.descriptionModifiedByUser = false;
146
- if (this.nameEl) {
147
- this.nameEl.focus();
148
- }
149
150
  }
150
151
  // 6.COMPONENT LIFECYCLE EVENTS //
151
152
  async componentWillLoad() {
152
- this.selectedCategory = this.typeCategories[0];
153
- this.selectedType = this.typeCategories[0].types[0];
154
153
  this.init();
155
154
  this._componentLocale = await Locale.getComponentStrings(this.el);
156
155
  }
@@ -166,14 +165,14 @@ const GxIdeNewObject$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
166
165
  return (h(Host, { class: {
167
166
  "gxi-new-kb": true,
168
167
  "gxi-new-object--shadow": this.shadow
169
- } }, h("div", { class: "gx-ide-main-wrapper gx-ide-overflow" }, h("main", { class: "main" }, h("gxg-container", { displayBorderBottom: true }, h("div", { class: "grid first-row" }, this.typeCategories.length > 1 ? (h("gxg-list-box", { "single-selection": true, "the-title": this._componentLocale.categorySelection, onSelectionChanged: this.categoryOnSelectionChangedHandler }, this.typeCategories.map(category => (h("gxg-list-box-item", { key: category.id, value: category.id, icon: category.icon, part: `${category}-${category.id}` }, category.name))))) : null, h("gxg-list-box", { "single-selection": true, "the-title": this._componentLocale.typeSelection, onSelectionChanged: this.typeOnSelectionChangedHandler }, this.selectedCategory.types
170
- ? this.selectedCategory.types.map(type => (h("gxg-list-box-item", { key: `${this.selectedCategory.id}-${type.id}`, icon: type.icon, selected: this.selectedType.id === type.id, part: `${type}-${type.id}` }, type.name)))
171
- : null), h("gxg-title", { type: "title-05" }, (_a = this.selectedType) === null || _a === void 0 ? void 0 : _a.description))), h("gxg-container", null, h("div", { class: "grid" }, h("header", { class: "header grid" }, h("gxg-label", { labelPosition: "start" }, this._componentLocale.name), h("gxg-form-text", { "label-position": "start", placeholder: "Name", "max-width": "100%", value: this.name, ref: (el) => (this.nameEl = el), onInput: this.onInputNameHandler, onBlur: this.onBlurNameHandler, onValueChanged: this.onNameValueChangedHandler, debounce: true, part: "name", "display-validation-styles": true, "display-validation-message": true }), h("gxg-label", { labelPosition: "start" }, this._componentLocale.description), h("gxg-form-text", { "label-position": "start", placeholder: "Description", "max-width": "100%", value: this.description, ref: (el) => (this.descriptionEl = el), onInput: this.onInputDescriptionHandler, part: "description", "display-validation-styles": true, "display-validation-message": true }), this.renderModuleFolder()))), h("gxg-container", { displayBorderTop: true }, h("gxg-button", { id: "button-create", slot: "footer", type: "primary-text-only", onClick: this.createCallbackHandler, disabled: !this.nameIsValid, part: "gxg-button gxg-button--create" }, this._componentLocale.footer.btnCreate), h("gxg-button", { id: "button-cancel", slot: "footer", type: "outlined", onClick: this.cancelCallbackHandler, part: "gxg-button gxg-button--cancel" }, this._componentLocale.footer.btnCancel))))));
168
+ } }, h("div", { class: "gx-ide-main-wrapper gx-ide-overflow" }, h("main", { class: "main" }, h("gxg-container", { displayBorderBottom: true }, h("div", { class: "grid first-row" }, this.typeCategories.length > 0 ? (h("gxg-list-box", { "single-selection": true, "the-title": this._componentLocale.categorySelectionTitle, onSelectionChanged: this.categoryOnSelectionChangedHandler }, this.typeCategories.map(category => (h("gxg-list-box-item", { key: category.id, value: category.id, icon: category.icon, part: `category-${category.id}` }, category.name))))) : null, this.selectedCategory.types.length > 0 ? (h("gxg-list-box", { "single-selection": true, theTitle: this.selectedCategory.name
169
+ ? `${this.selectedCategory.name} ${this._componentLocale.typeSelectionTitleSuffix}`
170
+ : this._componentLocale.typeSelectionTitle, key: this.selectedCategory.id, onSelectionChanged: this.typeOnSelectionChangedHandler }, this.selectedCategory.types.map(type => (h("gxg-list-box-item", { key: `${this.selectedCategory.id}-${type.id}`, icon: type.icon, part: `type-${this.selectedCategory.id}-${type.id}` }, type.name))))) : (h("p", null, "No Categories to display")), h("gxg-title", { type: "title-05" }, (_a = this.selectedType) === null || _a === void 0 ? void 0 : _a.description))), h("gxg-container", null, h("div", { class: "grid" }, h("header", { class: "header grid" }, h("gxg-label", { labelPosition: "start" }, this._componentLocale.name), h("gxg-form-text", { "label-position": "start", placeholder: "Name", "max-width": "100%", value: this.selectedType.name, ref: (el) => (this.nameEl = el), onInput: this.onInputNameHandler, onBlur: this.onBlurNameHandler, onValueChanged: this.onNameValueChangedHandler, debounce: true, part: "name", "display-validation-styles": true, "display-validation-message": true }), h("gxg-label", { labelPosition: "start" }, this._componentLocale.description), h("gxg-form-text", { "label-position": "start", placeholder: "Description", "max-width": "100%", value: this.selectedType.name, ref: (el) => (this.descriptionEl = el), onInput: this.onInputDescriptionHandler, part: "description", "display-validation-styles": true, "display-validation-message": true }), this.renderModuleFolder()))), h("gxg-container", { displayBorderTop: true }, h("gxg-button", { id: "button-create", slot: "footer", type: "primary-text-only", onClick: this.createCallbackHandler, disabled: !this.nameIsValid, part: "gxg-button gxg-button--create" }, this._componentLocale.footer.btnCreate), h("gxg-button", { id: "button-cancel", slot: "footer", type: "outlined", onClick: this.cancelCallbackHandler, part: "gxg-button gxg-button--cancel" }, this._componentLocale.footer.btnCancel))))));
172
171
  }
173
172
  static get assetsDirs() { return ["gx-ide-assets/new-object"]; }
174
173
  get el() { return this; }
175
174
  static get watchers() { return {
176
- "selectedType": ["watchPropHandler"]
175
+ "selectedType": ["watchSelectedTypeHandler"]
177
176
  }; }
178
177
  static get style() { return newObjectCss; }
179
178
  }, [1, "gx-ide-new-object", {
@@ -1,6 +1,7 @@
1
- import { h, proxyCustomElement, HTMLElement, createEvent, Host } from '@stencil/core/internal/client';
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import { L as Locale } from './locale.js';
3
3
  import { u as updateTreeModel, r as renderTreeItems } from './update-tree-model.js';
4
+ import { r as renderSuggestLists } from './render-suggest.js';
4
5
  import { d as defineCustomElement$i } from './icon.js';
5
6
  import { d as defineCustomElement$h } from './ch-suggest2.js';
6
7
  import { d as defineCustomElement$g } from './ch-suggest-list2.js';
@@ -19,27 +20,6 @@ import { d as defineCustomElement$4 } from './tooltip.js';
19
20
  import { d as defineCustomElement$3 } from './gxg-tree2.js';
20
21
  import { d as defineCustomElement$2 } from './gxg-tree-item2.js';
21
22
 
22
- /* eslint-disable @typescript-eslint/no-use-before-define */
23
- const renderSuggestLists = (suggestData) => {
24
- if (suggestData === null || suggestData === void 0 ? void 0 : suggestData.suggestLists.length) {
25
- return suggestData.suggestLists.map((list) => {
26
- return (h("ch-suggest-list", { label: list.label }, list.items.map((item) => {
27
- return renderSuggestListsItem(item);
28
- })));
29
- });
30
- }
31
- return [];
32
- };
33
- const renderSuggestListsItem = (suggestItem) => {
34
- return (h("ch-suggest-list-item", { value: suggestItem.value }, [
35
- suggestItem.description || suggestItem.value,
36
- suggestItem.icon && renderIcon(suggestItem.icon)
37
- ]));
38
- };
39
- const renderIcon = (iconName) => {
40
- return h("gxg-icon", { color: "auto", type: iconName, slot: "icon" });
41
- };
42
-
43
23
  /**
44
24
  * @description This function converts SelectorCategoryData[] SuggestData
45
25
  */
@@ -1,4 +1,5 @@
1
1
  /* GenexusIdeUi custom elements */
2
+ export { GxIdeBpmAppDeclaration as GxIdeBpmAppDeclaration } from '../types/components/application-declaration/bpm-app-declaration';
2
3
  export { GxIdeContainer as GxIdeContainer } from '../types/components/container/container';
3
4
  export { GxIdeCreateKbFromServer as GxIdeCreateKbFromServer } from '../types/components/create-kb-from-server/create-kb-from-server';
4
5
  export { GxIdeDirectorySelector as GxIdeDirectorySelector } from '../types/components/directory-selector/directory-selector';
@@ -61,6 +61,7 @@ export { ChWindow, defineCustomElement as defineCustomElementChWindow } from './
61
61
  export { ChWindowClose, defineCustomElement as defineCustomElementChWindowClose } from './ch-window-close.js';
62
62
  export { GxGridChameleon, defineCustomElement as defineCustomElementGxGridChameleon } from './gx-grid-chameleon.js';
63
63
  export { GxGridChameleonColumnFilter, defineCustomElement as defineCustomElementGxGridChameleonColumnFilter } from './gx-grid-chameleon-column-filter.js';
64
+ export { GxIdeBpmAppDeclaration, defineCustomElement as defineCustomElementGxIdeBpmAppDeclaration } from './gx-ide-bpm-app-declaration.js';
64
65
  export { GxIdeContainer, defineCustomElement as defineCustomElementGxIdeContainer } from './gx-ide-container.js';
65
66
  export { GxIdeCreateKbFromServer, defineCustomElement as defineCustomElementGxIdeCreateKbFromServer } from './gx-ide-create-kb-from-server.js';
66
67
  export { GxIdeDirectorySelector, defineCustomElement as defineCustomElementGxIdeDirectorySelector } from './gx-ide-directory-selector.js';
@@ -6,7 +6,7 @@ const renderComboItems = (gxOptions) => {
6
6
  gxOptions.forEach((gxOption) => {
7
7
  const iconName = gxOption.iconName || gxOption.icon;
8
8
  const value = gxOption.value || gxOption.id;
9
- comboItemsArray.push(h("gxg-combo-box-item", { value: value, icon: iconName }, gxOption.label || gxOption.name));
9
+ comboItemsArray.push(h("gxg-combo-box-item", { value: value, icon: iconName }, gxOption.label || gxOption.name || gxOption.value || gxOption.id));
10
10
  });
11
11
  return comboItemsArray;
12
12
  };
@@ -0,0 +1,24 @@
1
+ import { h } from '@stencil/core/internal/client';
2
+
3
+ /* eslint-disable @typescript-eslint/no-use-before-define */
4
+ const renderSuggestLists = (suggestData) => {
5
+ if (suggestData === null || suggestData === void 0 ? void 0 : suggestData.suggestLists.length) {
6
+ return suggestData.suggestLists.map((list) => {
7
+ return (h("ch-suggest-list", { label: list.label }, list.items.map((item) => {
8
+ return renderSuggestListsItem(item);
9
+ })));
10
+ });
11
+ }
12
+ return [];
13
+ };
14
+ const renderSuggestListsItem = (suggestItem) => {
15
+ return (h("ch-suggest-list-item", { value: suggestItem.value }, [
16
+ suggestItem.description || suggestItem.value,
17
+ suggestItem.icon && renderIcon(suggestItem.icon)
18
+ ]));
19
+ };
20
+ const renderIcon = (iconName) => {
21
+ return h("gxg-icon", { color: "auto", type: iconName, slot: "icon" });
22
+ };
23
+
24
+ export { renderSuggestLists as r };