@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.
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +167 -0
- package/dist/cjs/gx-ide-new-object.cjs.entry.js +18 -19
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-references.cjs.entry.js +2 -22
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{render-combo-items-ef403ec4.js → render-combo-items-d99a186a.js} +1 -1
- package/dist/cjs/render-suggest-c623955f.js +26 -0
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/common/render-combo-items.js +1 -1
- package/dist/collection/components/application-declaration/bpm-app-declaration.css +162 -0
- package/dist/collection/components/application-declaration/bpm-app-declaration.js +310 -0
- package/dist/collection/components/application-declaration/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.en.json +16 -0
- package/dist/collection/components/application-declaration/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.ja.json +3 -0
- package/dist/collection/components/application-declaration/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.zh.json +3 -0
- package/dist/collection/components/application-declaration/helpers.js +26 -0
- package/dist/collection/components/new-object/gx-ide-assets/new-object/langs/new-object.lang.en.json +3 -2
- package/dist/collection/components/new-object/new-object.js +18 -19
- package/dist/components/gx-ide-bpm-app-declaration.d.ts +11 -0
- package/dist/components/gx-ide-bpm-app-declaration.js +334 -0
- package/dist/components/gx-ide-new-object.js +18 -19
- package/dist/components/gx-ide-references.js +2 -22
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.js +1 -0
- package/dist/components/render-combo-items.js +1 -1
- package/dist/components/render-suggest.js +24 -0
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-bpm-app-declaration.entry.js +163 -0
- package/dist/esm/gx-ide-new-object.entry.js +18 -19
- package/dist/esm/gx-ide-object-selector.entry.js +1 -1
- package/dist/esm/gx-ide-references.entry.js +2 -22
- package/dist/esm/gx-ide-team-dev-commit.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-update.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{render-combo-items-84c5ea90.js → render-combo-items-faf78e28.js} +1 -1
- package/dist/esm/render-suggest-e44dde1b.js +24 -0
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.en.json +16 -0
- package/dist/genexus-ide-ui/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.ja.json +3 -0
- package/dist/genexus-ide-ui/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.zh.json +3 -0
- package/dist/genexus-ide-ui/gx-ide-assets/new-object/langs/new-object.lang.en.json +3 -2
- package/dist/genexus-ide-ui/{p-d3c40681.js → p-11af125f.js} +1 -1
- package/dist/genexus-ide-ui/p-46d393f5.entry.js +1 -0
- package/dist/genexus-ide-ui/p-4e601007.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-d25ae2fd.entry.js → p-8866ca9d.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-90416fc8.js +1 -0
- package/dist/genexus-ide-ui/{p-e38c56ea.entry.js → p-9794ba9b.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-9a6cb543.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-c69df3f2.entry.js → p-a86a5a89.entry.js} +1 -1
- package/dist/types/components/application-declaration/bpm-app-declaration.d.ts +85 -0
- package/dist/types/components/application-declaration/helpers.d.ts +5 -0
- package/dist/types/components/new-object/new-object.d.ts +1 -1
- package/dist/types/components.d.ts +84 -6
- package/package.json +1 -1
- package/dist/genexus-ide-ui/p-0516b501.entry.js +0 -1
- package/dist/genexus-ide-ui/p-cd7be14a.entry.js +0 -1
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
/* STENCIL IMPORTS */
|
|
2
|
+
import { Host, h } from "@stencil/core";
|
|
3
|
+
/* OTHER LIBRARIES IMPORTS */
|
|
4
|
+
/* CUSTOM IMPORTS */
|
|
5
|
+
import { Locale } from "../../common/locale";
|
|
6
|
+
import { renderSuggestLists } from "../../common/render-suggest";
|
|
7
|
+
import { renderComboItems } from "../../common/render-combo-items";
|
|
8
|
+
import { convertSuggestedApplicationsToSuggestItems } from "./helpers";
|
|
9
|
+
import { gridCommon } from "../../common/grid";
|
|
10
|
+
export class GxIdeBpmAppDeclaration {
|
|
11
|
+
constructor() {
|
|
12
|
+
// 7.LISTENERS //
|
|
13
|
+
// 8.PUBLIC METHODS API //
|
|
14
|
+
// 9.LOCAL METHODS //
|
|
15
|
+
this.listenApplicationSelected = async () => {
|
|
16
|
+
this.applicationSuggestEl.addEventListener("itemSelected", (e) => {
|
|
17
|
+
this.getDataMappingCallbackHandler(e.detail.value);
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
this.applicationSuggestValueChangedHandler = async (e) => {
|
|
21
|
+
const value = e.detail;
|
|
22
|
+
this.suggestApplicationsCallback(value)
|
|
23
|
+
.then(result => {
|
|
24
|
+
this.suggestedApplications =
|
|
25
|
+
convertSuggestedApplicationsToSuggestItems(result);
|
|
26
|
+
})
|
|
27
|
+
.catch(() => {
|
|
28
|
+
// to do
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
this.getDataMappingCallbackHandler = async (applicationName) => {
|
|
32
|
+
this.application = await this.getDataMappingCallback(applicationName);
|
|
33
|
+
};
|
|
34
|
+
this.selectApplicationCallbackHandler = async () => {
|
|
35
|
+
const callbackResult = await this.selectApplicationCallback();
|
|
36
|
+
if (callbackResult) {
|
|
37
|
+
this.application = callbackResult;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
this.confirmCallbackHandler = async () => {
|
|
41
|
+
await this.confirmCallback(this.application);
|
|
42
|
+
};
|
|
43
|
+
this.cancelCallbackHandler = async () => {
|
|
44
|
+
await this.cancelCallback();
|
|
45
|
+
};
|
|
46
|
+
this.selectMappingCallbackHandler = (parameter) => async () => {
|
|
47
|
+
if (this.selectMappingCallback) {
|
|
48
|
+
const newRelevantData = await this.selectMappingCallback(parameter);
|
|
49
|
+
if (newRelevantData) {
|
|
50
|
+
// update actual application with new relevant data option
|
|
51
|
+
// first find mapping index
|
|
52
|
+
const dataIndex = this.applicationState.mappings.findIndex(mapping => {
|
|
53
|
+
return mapping.parameter === parameter;
|
|
54
|
+
});
|
|
55
|
+
if (dataIndex !== -1) {
|
|
56
|
+
// new relevant data could be new, or already existent.
|
|
57
|
+
const found = this.applicationState.mappings[dataIndex].relevantDataOptions.find(option => {
|
|
58
|
+
return option === newRelevantData;
|
|
59
|
+
});
|
|
60
|
+
if (!found) {
|
|
61
|
+
// new. add.
|
|
62
|
+
this.applicationState.mappings[dataIndex].relevantDataOptions.push(newRelevantData);
|
|
63
|
+
}
|
|
64
|
+
// always set this data as selected
|
|
65
|
+
this.applicationState.mappings[dataIndex].relevantData =
|
|
66
|
+
newRelevantData;
|
|
67
|
+
// update
|
|
68
|
+
this.application = Object.assign({}, this.applicationState);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
this.dataOptionsToComboItems = (relevantDataOptions) => {
|
|
74
|
+
const gxOptions = [
|
|
75
|
+
{ id: this._componentLocale.dataMappings.emptyOption }
|
|
76
|
+
];
|
|
77
|
+
relevantDataOptions.forEach(relevantOption => {
|
|
78
|
+
const gxOption = { id: relevantOption };
|
|
79
|
+
gxOptions.push(gxOption);
|
|
80
|
+
});
|
|
81
|
+
return gxOptions;
|
|
82
|
+
};
|
|
83
|
+
this.clearApplicationHandler = () => {
|
|
84
|
+
this.application = {
|
|
85
|
+
application: undefined,
|
|
86
|
+
mappings: []
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
this.renderDataMappingsGrid = () => {
|
|
90
|
+
var _a;
|
|
91
|
+
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"
|
|
92
|
+
? this._componentLocale.dataMappings.firstColName
|
|
93
|
+
: 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) => {
|
|
94
|
+
var _a;
|
|
95
|
+
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) })))));
|
|
96
|
+
}))));
|
|
97
|
+
};
|
|
98
|
+
this.suggestedApplications = undefined;
|
|
99
|
+
this.application = undefined;
|
|
100
|
+
this.suggestApplicationsCallback = undefined;
|
|
101
|
+
this.selectApplicationCallback = undefined;
|
|
102
|
+
this.selectMappingCallback = undefined;
|
|
103
|
+
this.confirmCallback = undefined;
|
|
104
|
+
this.cancelCallback = undefined;
|
|
105
|
+
this.getDataMappingCallback = undefined;
|
|
106
|
+
}
|
|
107
|
+
watchApplicationHandler(newApplication) {
|
|
108
|
+
this.applicationState = newApplication;
|
|
109
|
+
}
|
|
110
|
+
// 6.COMPONENT LIFECYCLE METHODS //
|
|
111
|
+
async componentWillLoad() {
|
|
112
|
+
this._componentLocale = await Locale.getComponentStrings(this.el);
|
|
113
|
+
this.applicationState = this.application;
|
|
114
|
+
}
|
|
115
|
+
async componentDidLoad() {
|
|
116
|
+
/* this.applicationSuggestValueChangedHandler(this.applicationText); */
|
|
117
|
+
this.listenApplicationSelected();
|
|
118
|
+
}
|
|
119
|
+
componentDidRender() {
|
|
120
|
+
this.componentDidRenderEvent.emit(this._componentLocale.componentName);
|
|
121
|
+
}
|
|
122
|
+
// 10.RENDER() FUNCTION //
|
|
123
|
+
render() {
|
|
124
|
+
var _a;
|
|
125
|
+
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)))));
|
|
126
|
+
}
|
|
127
|
+
static get is() { return "gx-ide-bpm-app-declaration"; }
|
|
128
|
+
static get encapsulation() { return "shadow"; }
|
|
129
|
+
static get originalStyleUrls() {
|
|
130
|
+
return {
|
|
131
|
+
"$": ["bpm-app-declaration.scss"]
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
static get styleUrls() {
|
|
135
|
+
return {
|
|
136
|
+
"$": ["bpm-app-declaration.css"]
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
static get assetsDirs() { return ["gx-ide-assets/bpm-app-declaration"]; }
|
|
140
|
+
static get properties() {
|
|
141
|
+
return {
|
|
142
|
+
"application": {
|
|
143
|
+
"type": "unknown",
|
|
144
|
+
"mutable": true,
|
|
145
|
+
"complexType": {
|
|
146
|
+
"original": "ApplicationDeclarationData",
|
|
147
|
+
"resolved": "{ application?: ApplicationData; mappings: DataMappingData[]; }",
|
|
148
|
+
"references": {
|
|
149
|
+
"ApplicationDeclarationData": {
|
|
150
|
+
"location": "local"
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
"required": false,
|
|
155
|
+
"optional": false,
|
|
156
|
+
"docs": {
|
|
157
|
+
"tags": [],
|
|
158
|
+
"text": "Current application value"
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
"suggestApplicationsCallback": {
|
|
162
|
+
"type": "unknown",
|
|
163
|
+
"mutable": false,
|
|
164
|
+
"complexType": {
|
|
165
|
+
"original": "SuggestApplicationsCallback",
|
|
166
|
+
"resolved": "(prefix: string) => Promise<string[]>",
|
|
167
|
+
"references": {
|
|
168
|
+
"SuggestApplicationsCallback": {
|
|
169
|
+
"location": "local"
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
},
|
|
173
|
+
"required": false,
|
|
174
|
+
"optional": false,
|
|
175
|
+
"docs": {
|
|
176
|
+
"tags": [],
|
|
177
|
+
"text": "Callback invoked to get options for application input suggest"
|
|
178
|
+
}
|
|
179
|
+
},
|
|
180
|
+
"selectApplicationCallback": {
|
|
181
|
+
"type": "unknown",
|
|
182
|
+
"mutable": false,
|
|
183
|
+
"complexType": {
|
|
184
|
+
"original": "SelectApplicationCallback",
|
|
185
|
+
"resolved": "() => Promise<ApplicationDeclarationData>",
|
|
186
|
+
"references": {
|
|
187
|
+
"SelectApplicationCallback": {
|
|
188
|
+
"location": "local"
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
"required": false,
|
|
193
|
+
"optional": false,
|
|
194
|
+
"docs": {
|
|
195
|
+
"tags": [],
|
|
196
|
+
"text": "Callback invoked to get access to selection application dialog"
|
|
197
|
+
}
|
|
198
|
+
},
|
|
199
|
+
"selectMappingCallback": {
|
|
200
|
+
"type": "unknown",
|
|
201
|
+
"mutable": false,
|
|
202
|
+
"complexType": {
|
|
203
|
+
"original": "SelectMappingCallback",
|
|
204
|
+
"resolved": "(parameter: string) => Promise<string>",
|
|
205
|
+
"references": {
|
|
206
|
+
"SelectMappingCallback": {
|
|
207
|
+
"location": "local"
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
"required": false,
|
|
212
|
+
"optional": false,
|
|
213
|
+
"docs": {
|
|
214
|
+
"tags": [],
|
|
215
|
+
"text": "Callback invoked when user press mapping auto-def button"
|
|
216
|
+
}
|
|
217
|
+
},
|
|
218
|
+
"confirmCallback": {
|
|
219
|
+
"type": "unknown",
|
|
220
|
+
"mutable": false,
|
|
221
|
+
"complexType": {
|
|
222
|
+
"original": "ConfirmCallback",
|
|
223
|
+
"resolved": "(data: ApplicationDeclarationData) => Promise<void>",
|
|
224
|
+
"references": {
|
|
225
|
+
"ConfirmCallback": {
|
|
226
|
+
"location": "local"
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
},
|
|
230
|
+
"required": false,
|
|
231
|
+
"optional": false,
|
|
232
|
+
"docs": {
|
|
233
|
+
"tags": [],
|
|
234
|
+
"text": "Callback invoked when user confirms application declaration"
|
|
235
|
+
}
|
|
236
|
+
},
|
|
237
|
+
"cancelCallback": {
|
|
238
|
+
"type": "unknown",
|
|
239
|
+
"mutable": false,
|
|
240
|
+
"complexType": {
|
|
241
|
+
"original": "CancelCallback",
|
|
242
|
+
"resolved": "() => Promise<void>",
|
|
243
|
+
"references": {
|
|
244
|
+
"CancelCallback": {
|
|
245
|
+
"location": "local"
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
},
|
|
249
|
+
"required": false,
|
|
250
|
+
"optional": false,
|
|
251
|
+
"docs": {
|
|
252
|
+
"tags": [],
|
|
253
|
+
"text": "Callback invoked when user cancels application declaration"
|
|
254
|
+
}
|
|
255
|
+
},
|
|
256
|
+
"getDataMappingCallback": {
|
|
257
|
+
"type": "unknown",
|
|
258
|
+
"mutable": false,
|
|
259
|
+
"complexType": {
|
|
260
|
+
"original": "GetDataMappingCallback",
|
|
261
|
+
"resolved": "(applicationName: string) => Promise<ApplicationDeclarationData>",
|
|
262
|
+
"references": {
|
|
263
|
+
"GetDataMappingCallback": {
|
|
264
|
+
"location": "local"
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
},
|
|
268
|
+
"required": false,
|
|
269
|
+
"optional": false,
|
|
270
|
+
"docs": {
|
|
271
|
+
"tags": [],
|
|
272
|
+
"text": "Callback invoked when user select one of the options provided by the suggest"
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
static get states() {
|
|
278
|
+
return {
|
|
279
|
+
"suggestedApplications": {}
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
static get events() {
|
|
283
|
+
return [{
|
|
284
|
+
"method": "componentDidRenderEvent",
|
|
285
|
+
"name": "componentDidRenderEvent",
|
|
286
|
+
"bubbles": true,
|
|
287
|
+
"cancelable": true,
|
|
288
|
+
"composed": true,
|
|
289
|
+
"docs": {
|
|
290
|
+
"tags": [{
|
|
291
|
+
"name": "description",
|
|
292
|
+
"text": "Gets fired when the component has rendered for the first time."
|
|
293
|
+
}],
|
|
294
|
+
"text": ""
|
|
295
|
+
},
|
|
296
|
+
"complexType": {
|
|
297
|
+
"original": "string",
|
|
298
|
+
"resolved": "string",
|
|
299
|
+
"references": {}
|
|
300
|
+
}
|
|
301
|
+
}];
|
|
302
|
+
}
|
|
303
|
+
static get elementRef() { return "el"; }
|
|
304
|
+
static get watchers() {
|
|
305
|
+
return [{
|
|
306
|
+
"propName": "application",
|
|
307
|
+
"methodName": "watchApplicationHandler"
|
|
308
|
+
}];
|
|
309
|
+
}
|
|
310
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"header": {
|
|
3
|
+
"applicationLabel": "Application"
|
|
4
|
+
},
|
|
5
|
+
"dataMappings": {
|
|
6
|
+
"title": "Data Mappings",
|
|
7
|
+
"firstColName": "Primary Key Attribute",
|
|
8
|
+
"firstColNameParameter": "Parameter",
|
|
9
|
+
"secondColName": "Relevant Data",
|
|
10
|
+
"emptyOption": "(None)"
|
|
11
|
+
},
|
|
12
|
+
"buttons": {
|
|
13
|
+
"confirmButton": "Confirm",
|
|
14
|
+
"cancelButton": "Cancel"
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/* References Types*/
|
|
2
|
+
/**
|
|
3
|
+
* @description This function converts string[] to SuggestItemData[]
|
|
4
|
+
*/
|
|
5
|
+
export const convertSuggestedApplicationsToSuggestItems = (suggestedApplications) => {
|
|
6
|
+
const suggestData = {
|
|
7
|
+
suggestItems: null,
|
|
8
|
+
suggestLists: []
|
|
9
|
+
};
|
|
10
|
+
if (suggestedApplications.length) {
|
|
11
|
+
const suggestList = {
|
|
12
|
+
label: "Applications",
|
|
13
|
+
items: []
|
|
14
|
+
};
|
|
15
|
+
suggestedApplications.forEach((suggestedApplication) => {
|
|
16
|
+
const suggestItem = {
|
|
17
|
+
value: suggestedApplication,
|
|
18
|
+
description: null,
|
|
19
|
+
icon: null
|
|
20
|
+
};
|
|
21
|
+
suggestList.items.push(suggestItem);
|
|
22
|
+
});
|
|
23
|
+
suggestData.suggestLists.push(suggestList);
|
|
24
|
+
}
|
|
25
|
+
return suggestData;
|
|
26
|
+
};
|
package/dist/collection/components/new-object/gx-ide-assets/new-object/langs/new-object.lang.en.json
CHANGED
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
"moduleOnly": "Module",
|
|
5
5
|
"folderOnly": "Folder",
|
|
6
6
|
"moduleFolder": "Module/Folder",
|
|
7
|
-
"
|
|
8
|
-
"
|
|
7
|
+
"categorySelectionTitle": "Select a category",
|
|
8
|
+
"typeSelectionTitle": "Select a type",
|
|
9
|
+
"typeSelectionTitleSuffix": "Types",
|
|
9
10
|
"footer": {
|
|
10
11
|
"btnCreate": "Create",
|
|
11
12
|
"btnCancel": "Cancel"
|
|
@@ -32,6 +32,8 @@ export class GxIdeNewObject {
|
|
|
32
32
|
* This method initializes tha name value. It depends on 'this.selectedType'
|
|
33
33
|
*/
|
|
34
34
|
this.init = () => {
|
|
35
|
+
this.selectedCategory = this.typeCategories[0];
|
|
36
|
+
this.selectedType = this.typeCategories[0].types[0];
|
|
35
37
|
if (this.selectedType && this.selectedType.name.length > 0) {
|
|
36
38
|
this.name = this.selectedType.name;
|
|
37
39
|
this.description = this.selectedType.name;
|
|
@@ -79,7 +81,9 @@ export class GxIdeNewObject {
|
|
|
79
81
|
const data = {
|
|
80
82
|
typeId: (_a = this.selectedType) === null || _a === void 0 ? void 0 : _a.id,
|
|
81
83
|
name: this.nameEl.value,
|
|
82
|
-
description: this.
|
|
84
|
+
description: !this.descriptionModifiedByUser
|
|
85
|
+
? undefined
|
|
86
|
+
: this.descriptionEl.value,
|
|
83
87
|
moduleId: this.parentEl.value.id
|
|
84
88
|
};
|
|
85
89
|
const result = await this.createCallback(data);
|
|
@@ -91,17 +95,20 @@ export class GxIdeNewObject {
|
|
|
91
95
|
this.categoryOnSelectionChangedHandler = (selectionEvent) => {
|
|
92
96
|
const selection = selectionEvent.detail.items;
|
|
93
97
|
if (selection.length > 0) {
|
|
94
|
-
|
|
95
|
-
if (
|
|
96
|
-
this.
|
|
98
|
+
const selectedCategory = this.typeCategories[selection[0].index];
|
|
99
|
+
if (selectedCategory) {
|
|
100
|
+
this.selectedCategory = selectedCategory;
|
|
101
|
+
if (selectedCategory.types.length > 0) {
|
|
102
|
+
this.selectedType = selectedCategory.types[0];
|
|
103
|
+
}
|
|
97
104
|
}
|
|
98
105
|
}
|
|
99
106
|
};
|
|
100
107
|
this.typeOnSelectionChangedHandler = (selectionEvent) => {
|
|
101
108
|
const selection = selectionEvent.detail.items;
|
|
102
109
|
if (selection.length > 0) {
|
|
103
|
-
const
|
|
104
|
-
this.selectedType = this.selectedCategory.types[
|
|
110
|
+
const selected = selection[0];
|
|
111
|
+
this.selectedType = this.selectedCategory.types[selected.index];
|
|
105
112
|
}
|
|
106
113
|
};
|
|
107
114
|
this.selectedCategory = undefined;
|
|
@@ -118,19 +125,11 @@ export class GxIdeNewObject {
|
|
|
118
125
|
this.createCallback = undefined;
|
|
119
126
|
this.cancelCallback = undefined;
|
|
120
127
|
}
|
|
121
|
-
|
|
122
|
-
watchPropHandler(newSelectedType) {
|
|
123
|
-
this.name = newSelectedType.name;
|
|
124
|
-
this.description = newSelectedType.name;
|
|
128
|
+
watchSelectedTypeHandler() {
|
|
125
129
|
this.descriptionModifiedByUser = false;
|
|
126
|
-
if (this.nameEl) {
|
|
127
|
-
this.nameEl.focus();
|
|
128
|
-
}
|
|
129
130
|
}
|
|
130
131
|
// 6.COMPONENT LIFECYCLE EVENTS //
|
|
131
132
|
async componentWillLoad() {
|
|
132
|
-
this.selectedCategory = this.typeCategories[0];
|
|
133
|
-
this.selectedType = this.typeCategories[0].types[0];
|
|
134
133
|
this.init();
|
|
135
134
|
this._componentLocale = await Locale.getComponentStrings(this.el);
|
|
136
135
|
}
|
|
@@ -146,9 +145,9 @@ export class GxIdeNewObject {
|
|
|
146
145
|
return (h(Host, { class: {
|
|
147
146
|
"gxi-new-kb": true,
|
|
148
147
|
"gxi-new-object--shadow": this.shadow
|
|
149
|
-
} }, 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 >
|
|
150
|
-
|
|
151
|
-
|
|
148
|
+
} }, 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
|
|
149
|
+
? `${this.selectedCategory.name} ${this._componentLocale.typeSelectionTitleSuffix}`
|
|
150
|
+
: 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))))));
|
|
152
151
|
}
|
|
153
152
|
static get is() { return "gx-ide-new-object"; }
|
|
154
153
|
static get encapsulation() { return "shadow"; }
|
|
@@ -400,7 +399,7 @@ export class GxIdeNewObject {
|
|
|
400
399
|
static get watchers() {
|
|
401
400
|
return [{
|
|
402
401
|
"propName": "selectedType",
|
|
403
|
-
"methodName": "
|
|
402
|
+
"methodName": "watchSelectedTypeHandler"
|
|
404
403
|
}];
|
|
405
404
|
}
|
|
406
405
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface GxIdeBpmAppDeclaration extends Components.GxIdeBpmAppDeclaration, HTMLElement {}
|
|
4
|
+
export const GxIdeBpmAppDeclaration: {
|
|
5
|
+
prototype: GxIdeBpmAppDeclaration;
|
|
6
|
+
new (): GxIdeBpmAppDeclaration;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|