@genexus/genexus-ide-ui 0.0.141 → 0.0.143
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-export-xpdl.cjs.entry.js +78 -0
- package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js.map +1 -0
- package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js +47 -3
- package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +123 -0
- package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js.map +1 -0
- package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +3 -1
- package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.css +8 -10
- package/dist/collection/components/bpm/export-xpdl/export-xpdl.css +574 -0
- package/dist/collection/components/bpm/export-xpdl/export-xpdl.js +238 -0
- package/dist/collection/components/bpm/export-xpdl/export-xpdl.js.map +1 -0
- package/dist/collection/components/bpm/export-xpdl/gx-ide-assets/bpm-export-xpdl/langs/bpm-export-xpdl.lang.en.json +19 -0
- package/dist/collection/components/bpm/import-gxpm/gx-ide-assets/bpm-import-gxpm/langs/bpm-import-gxpm.lang.en.json +9 -2
- package/dist/collection/components/bpm/import-gxpm/import-gxpm.css +4 -0
- package/dist/collection/components/bpm/import-gxpm/import-gxpm.js +103 -2
- package/dist/collection/components/bpm/import-gxpm/import-gxpm.js.map +1 -1
- package/dist/collection/components/bpm/objects-selector/gx-ide-assets/bpm-objects-selector/langs/bpm-objects-selector.lang.en.json +17 -0
- package/dist/collection/components/bpm/objects-selector/gx-ide-assets/bpm-objects-selector/langs/bpm-objects-selector.lang.ja.json +3 -0
- package/dist/collection/components/bpm/objects-selector/helpers.js +17 -0
- package/dist/collection/components/bpm/objects-selector/helpers.js.map +1 -0
- package/dist/collection/components/bpm/objects-selector/objects-selector.css +574 -0
- package/dist/collection/components/bpm/objects-selector/objects-selector.js +259 -0
- package/dist/collection/components/bpm/objects-selector/objects-selector.js.map +1 -0
- package/dist/collection/components/bpm/timer-duration/gx-ide-assets/bpm-timer-duration/langs/timer-duration.lang.zh.json +3 -0
- package/dist/components/gx-ide-bpm-export-xpdl.d.ts +11 -0
- package/dist/components/gx-ide-bpm-export-xpdl.js +155 -0
- package/dist/components/gx-ide-bpm-export-xpdl.js.map +1 -0
- package/dist/components/gx-ide-bpm-import-gxpm.js +58 -28
- package/dist/components/gx-ide-bpm-import-gxpm.js.map +1 -1
- package/dist/components/gx-ide-bpm-objects-selector.d.ts +11 -0
- package/dist/components/gx-ide-bpm-objects-selector.js +8 -0
- package/dist/components/gx-ide-bpm-objects-selector.js.map +1 -0
- package/dist/components/list-selector-item.js +1 -1
- package/dist/components/list-selector-item.js.map +1 -1
- package/dist/components/objects-selector.js +189 -0
- package/dist/components/objects-selector.js.map +1 -0
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +74 -0
- package/dist/esm/gx-ide-bpm-export-xpdl.entry.js.map +1 -0
- package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +47 -3
- package/dist/esm/gx-ide-bpm-import-gxpm.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-objects-selector.entry.js +119 -0
- package/dist/esm/gx-ide-bpm-objects-selector.entry.js.map +1 -0
- package/dist/esm/gx-ide-list-selector_2.entry.js +1 -1
- package/dist/esm/gx-ide-list-selector_2.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/bpm-export-xpdl/langs/bpm-export-xpdl.lang.en.json +19 -0
- package/dist/genexus-ide-ui/gx-ide-assets/bpm-export-xpdl/langs/bpm-export-xpdl.lang.ja.json +3 -0
- package/dist/genexus-ide-ui/gx-ide-assets/bpm-export-xpdl/langs/bpm-export-xpdl.lang.zh.json +3 -0
- package/dist/genexus-ide-ui/gx-ide-assets/bpm-import-gxpm/langs/bpm-import-gxpm.lang.en.json +9 -2
- package/dist/genexus-ide-ui/gx-ide-assets/bpm-objects-selector/langs/bpm-objects-selector.lang.en.json +17 -0
- package/dist/genexus-ide-ui/gx-ide-assets/bpm-objects-selector/langs/bpm-objects-selector.lang.ja.json +3 -0
- package/dist/genexus-ide-ui/gx-ide-assets/bpm-objects-selector/langs/bpm-objects-selector.lang.zh.json +3 -0
- package/dist/genexus-ide-ui/gx-ide-assets/bpm-timer-duration/langs/timer-duration.lang.ja.json +3 -0
- package/dist/genexus-ide-ui/gx-ide-assets/bpm-timer-duration/langs/timer-duration.lang.zh.json +3 -0
- package/dist/genexus-ide-ui/{p-972b18a0.entry.js → p-0e47720b.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-0e47720b.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-049a370c.entry.js → p-58cb7bbb.entry.js} +78 -29
- package/dist/genexus-ide-ui/p-58cb7bbb.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-7364d5d1.entry.js +109 -0
- package/dist/genexus-ide-ui/p-7364d5d1.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-832a8a94.entry.js +160 -0
- package/dist/genexus-ide-ui/p-832a8a94.entry.js.map +1 -0
- package/dist/types/components/bpm/export-xpdl/export-xpdl.d.ts +66 -0
- package/dist/types/components/bpm/import-gxpm/import-gxpm.d.ts +30 -1
- package/dist/types/components/bpm/objects-selector/helpers.d.ts +7 -0
- package/dist/types/components/bpm/objects-selector/objects-selector.d.ts +61 -0
- package/dist/types/components.d.ts +237 -52
- package/package.json +1 -1
- package/dist/genexus-ide-ui/p-049a370c.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-972b18a0.entry.js.map +0 -1
- /package/dist/collection/components/bpm/{timer-duration/gx-ide-assets/bpm-timer-duration/langs/bpm-timer-duration.lang.ja.json → export-xpdl/gx-ide-assets/bpm-export-xpdl/langs/bpm-export-xpdl.lang.ja.json} +0 -0
- /package/dist/collection/components/bpm/{timer-duration/gx-ide-assets/bpm-timer-duration/langs/bpm-timer-duration.lang.zh.json → export-xpdl/gx-ide-assets/bpm-export-xpdl/langs/bpm-export-xpdl.lang.zh.json} +0 -0
- /package/dist/{genexus-ide-ui/gx-ide-assets/bpm-timer-duration/langs/bpm-timer-duration.lang.zh.json → collection/components/bpm/objects-selector/gx-ide-assets/bpm-objects-selector/langs/bpm-objects-selector.lang.zh.json} +0 -0
- /package/dist/collection/components/bpm/timer-duration/gx-ide-assets/bpm-timer-duration/langs/{bpm-timer-duration.lang.en.json → timer-duration.lang.en.json} +0 -0
- /package/dist/{genexus-ide-ui/gx-ide-assets/bpm-timer-duration/langs/bpm-timer-duration.lang.ja.json → collection/components/bpm/timer-duration/gx-ide-assets/bpm-timer-duration/langs/timer-duration.lang.ja.json} +0 -0
- /package/dist/genexus-ide-ui/gx-ide-assets/bpm-timer-duration/langs/{bpm-timer-duration.lang.en.json → timer-duration.lang.en.json} +0 -0
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
/* STENCIL IMPORTS */
|
|
2
|
+
import { Host, h } from "@stencil/core";
|
|
3
|
+
/* CUSTOM IMPORTS */
|
|
4
|
+
import { config } from "../../../common/config";
|
|
5
|
+
import { Locale } from "../../../common/locale";
|
|
6
|
+
import { renderListItems } from "../../../common/render-list-item";
|
|
7
|
+
import { objectsToListItemData } from "./helpers";
|
|
8
|
+
export class GxIdeBpmExportXpdl {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.renderedFirstTime = false;
|
|
11
|
+
this.includeAll = false;
|
|
12
|
+
// 7.LISTENERS //
|
|
13
|
+
// 8.PUBLIC METHODS API //
|
|
14
|
+
// 9.LOCAL METHODS //
|
|
15
|
+
this.objectSelectionChangedHandler = (selectedItem) => {
|
|
16
|
+
const selectedObjects = Array.isArray(selectedItem.detail)
|
|
17
|
+
? selectedItem.detail
|
|
18
|
+
: [selectedItem.detail];
|
|
19
|
+
this.selectedObjects = selectedObjects.map(item => item.itemId);
|
|
20
|
+
};
|
|
21
|
+
this.removeObjectsHandler = () => {
|
|
22
|
+
this.objects = this.objects.filter(object => !this.selectedObjects.includes(object.id));
|
|
23
|
+
this.selectedObjects = [];
|
|
24
|
+
this.updateSelection(false);
|
|
25
|
+
};
|
|
26
|
+
this.removeAllObjectsHandler = () => {
|
|
27
|
+
this.objects = [];
|
|
28
|
+
this.selectedObjects = [];
|
|
29
|
+
this.updateSelection(false);
|
|
30
|
+
};
|
|
31
|
+
this.includeAllHandler = () => {
|
|
32
|
+
this.includeAll = this.includeAllCheckboxEl.checked;
|
|
33
|
+
if (this.includeAll) {
|
|
34
|
+
this.selectedObjects = this.objects.map(object => object.id);
|
|
35
|
+
this.objects = [];
|
|
36
|
+
this.updateSelection(true);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
this.selectedObjects = [];
|
|
40
|
+
this.updateSelection(false);
|
|
41
|
+
}
|
|
42
|
+
this.selectionChanged.emit();
|
|
43
|
+
};
|
|
44
|
+
this.addCallbackHandler = async () => {
|
|
45
|
+
if (this.addCallback) {
|
|
46
|
+
const resultObjects = await this.addCallback();
|
|
47
|
+
const newObjects = resultObjects.filter(resultObj => !this.objects.some(existingObj => existingObj.id === resultObj.id));
|
|
48
|
+
this.objects = [...this.objects, ...newObjects];
|
|
49
|
+
this.updateSelection(false);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
this.referencesCallbackHandler = async () => {
|
|
53
|
+
if (this.referencesCallback && this.objects.length > 0) {
|
|
54
|
+
const ids = this.objects.map(obj => obj.id);
|
|
55
|
+
const resultObjects = await this.referencesCallback(ids);
|
|
56
|
+
const newObjects = resultObjects.filter(resultObj => !this.objects.some(existingObj => existingObj.id === resultObj.id));
|
|
57
|
+
this.objects = [...this.objects, ...newObjects];
|
|
58
|
+
this.updateSelection(false);
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
this.updateSelection = (includeAll) => {
|
|
62
|
+
const data = {
|
|
63
|
+
includeAll: this.includeAllCheckboxEl.checked,
|
|
64
|
+
objectIds: includeAll
|
|
65
|
+
? this.selectedObjects
|
|
66
|
+
: this.objects.map(object => object.id)
|
|
67
|
+
};
|
|
68
|
+
this.selection = data;
|
|
69
|
+
this.selectionChanged.emit();
|
|
70
|
+
};
|
|
71
|
+
this.objects = [];
|
|
72
|
+
this.selectedObjects = [];
|
|
73
|
+
this.displayTitle = false;
|
|
74
|
+
this.selection = undefined;
|
|
75
|
+
this.addCallback = undefined;
|
|
76
|
+
this.referencesCallback = undefined;
|
|
77
|
+
}
|
|
78
|
+
// 6.COMPONENT LIFECYCLE METHODS //
|
|
79
|
+
async componentWillLoad() {
|
|
80
|
+
this._componentLocale = await Locale.getComponentStrings(this.el);
|
|
81
|
+
}
|
|
82
|
+
componentDidRender() {
|
|
83
|
+
if (!this.renderedFirstTime) {
|
|
84
|
+
this.componentDidRenderFirstTime.emit(this.el);
|
|
85
|
+
this.renderedFirstTime = true;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
// 10.RENDER() FUNCTION //
|
|
89
|
+
render() {
|
|
90
|
+
return (h(Host, { class: "gx-ide-component gx-ide-bpm-objects-selector" }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { containerTitle: this.displayTitle ? this._componentLocale.componentName : null, slimmerFooter: config.gxIdeContainer.slimmerFooter }, h("gx-ide-list-selector", { id: "path-list", type: "multi-selection", listName: "path-list", ordered: true, onSelectionChanged: this.objectSelectionChangedHandler, class: "path-list" }, renderListItems(objectsToListItemData(this.objects))), h("div", { class: "controls-wrapper" }, h("label", { htmlFor: "include-all" }, this._componentLocale.main.includeAllLabel), h("ch-checkbox", { id: "include-all", accessibleName: this._componentLocale.main.includeAllLabel, checkedValue: "true", unCheckedValue: "false", value: "checked", onInput: this.includeAllHandler, ref: el => (this.includeAllCheckboxEl = el) }), h("button", { onClick: this.addCallbackHandler, disabled: this.includeAll }, this._componentLocale.main.addButton), h("button", { onClick: this.referencesCallbackHandler, disabled: this.objects.length === 0 }, this._componentLocale.main.referencesButton), h("button", { onClick: this.removeObjectsHandler, disabled: this.selectedObjects.length === 0 || this.includeAll }, this._componentLocale.main.removeButton, " (", this.selectedObjects.length, ")")), h("button", { slot: "footer-end", onClick: this.removeAllObjectsHandler, disabled: this.includeAll }, this._componentLocale.main.clearButton)))));
|
|
91
|
+
}
|
|
92
|
+
static get is() { return "gx-ide-bpm-objects-selector"; }
|
|
93
|
+
static get encapsulation() { return "shadow"; }
|
|
94
|
+
static get originalStyleUrls() {
|
|
95
|
+
return {
|
|
96
|
+
"$": ["objects-selector.scss"]
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
static get styleUrls() {
|
|
100
|
+
return {
|
|
101
|
+
"$": ["objects-selector.css"]
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
static get assetsDirs() { return ["gx-ide-assets/bpm-objects-selector"]; }
|
|
105
|
+
static get properties() {
|
|
106
|
+
return {
|
|
107
|
+
"displayTitle": {
|
|
108
|
+
"type": "boolean",
|
|
109
|
+
"mutable": false,
|
|
110
|
+
"complexType": {
|
|
111
|
+
"original": "false",
|
|
112
|
+
"resolved": "boolean",
|
|
113
|
+
"references": {}
|
|
114
|
+
},
|
|
115
|
+
"required": false,
|
|
116
|
+
"optional": false,
|
|
117
|
+
"docs": {
|
|
118
|
+
"tags": [],
|
|
119
|
+
"text": "If true it displays the component title on the header"
|
|
120
|
+
},
|
|
121
|
+
"attribute": "display-title",
|
|
122
|
+
"reflect": false,
|
|
123
|
+
"defaultValue": "false"
|
|
124
|
+
},
|
|
125
|
+
"selection": {
|
|
126
|
+
"type": "unknown",
|
|
127
|
+
"mutable": true,
|
|
128
|
+
"complexType": {
|
|
129
|
+
"original": "SelectionData",
|
|
130
|
+
"resolved": "{ includeAll: boolean; objectIds: string[]; }",
|
|
131
|
+
"references": {
|
|
132
|
+
"SelectionData": {
|
|
133
|
+
"location": "local",
|
|
134
|
+
"path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/bpm/objects-selector/objects-selector.tsx",
|
|
135
|
+
"id": "src/components/bpm/objects-selector/objects-selector.tsx::SelectionData"
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
"required": false,
|
|
140
|
+
"optional": false,
|
|
141
|
+
"docs": {
|
|
142
|
+
"tags": [],
|
|
143
|
+
"text": "The current selection in the list of objects"
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
"addCallback": {
|
|
147
|
+
"type": "unknown",
|
|
148
|
+
"mutable": false,
|
|
149
|
+
"complexType": {
|
|
150
|
+
"original": "() => Promise<ObjectData[]>",
|
|
151
|
+
"resolved": "() => Promise<ObjectData[]>",
|
|
152
|
+
"references": {
|
|
153
|
+
"Promise": {
|
|
154
|
+
"location": "global",
|
|
155
|
+
"id": "global::Promise"
|
|
156
|
+
},
|
|
157
|
+
"ObjectData": {
|
|
158
|
+
"location": "import",
|
|
159
|
+
"path": "./helpers",
|
|
160
|
+
"id": "src/components/bpm/objects-selector/helpers.ts::ObjectData"
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
"required": false,
|
|
165
|
+
"optional": false,
|
|
166
|
+
"docs": {
|
|
167
|
+
"tags": [{
|
|
168
|
+
"name": "returns",
|
|
169
|
+
"text": "A Promise that resolves to an array of ObjectData. Each ObjectData contains the ID, icon, and name of an object."
|
|
170
|
+
}],
|
|
171
|
+
"text": "Callback invoked when the user presses the 'Add' button.\nThis function is expected to return a list of selected objects' basic information."
|
|
172
|
+
}
|
|
173
|
+
},
|
|
174
|
+
"referencesCallback": {
|
|
175
|
+
"type": "unknown",
|
|
176
|
+
"mutable": false,
|
|
177
|
+
"complexType": {
|
|
178
|
+
"original": "(ids: string[]) => Promise<ObjectData[]>",
|
|
179
|
+
"resolved": "(ids: string[]) => Promise<ObjectData[]>",
|
|
180
|
+
"references": {
|
|
181
|
+
"Promise": {
|
|
182
|
+
"location": "global",
|
|
183
|
+
"id": "global::Promise"
|
|
184
|
+
},
|
|
185
|
+
"ObjectData": {
|
|
186
|
+
"location": "import",
|
|
187
|
+
"path": "./helpers",
|
|
188
|
+
"id": "src/components/bpm/objects-selector/helpers.ts::ObjectData"
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
"required": false,
|
|
193
|
+
"optional": false,
|
|
194
|
+
"docs": {
|
|
195
|
+
"tags": [{
|
|
196
|
+
"name": "param",
|
|
197
|
+
"text": "ids - An array of IDs of the objects currently added to the list."
|
|
198
|
+
}, {
|
|
199
|
+
"name": "returns",
|
|
200
|
+
"text": "A Promise that resolves to an array of ObjectData. Each ObjectData contains the ID, icon, and name of an object."
|
|
201
|
+
}],
|
|
202
|
+
"text": "Callback invoked when the user presses the 'References' button.\nReceives a parameter which is an array of IDs of the objects currently added to the list.\nReturns a Promise that resolves to an array of ObjectData, where each ObjectData contains the ID, icon, and name of an object."
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
static get states() {
|
|
208
|
+
return {
|
|
209
|
+
"objects": {},
|
|
210
|
+
"selectedObjects": {}
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
static get events() {
|
|
214
|
+
return [{
|
|
215
|
+
"method": "componentDidRenderFirstTime",
|
|
216
|
+
"name": "componentDidRenderFirstTime",
|
|
217
|
+
"bubbles": true,
|
|
218
|
+
"cancelable": true,
|
|
219
|
+
"composed": true,
|
|
220
|
+
"docs": {
|
|
221
|
+
"tags": [{
|
|
222
|
+
"name": "description",
|
|
223
|
+
"text": "Gets fired when the component has rendered for the first time."
|
|
224
|
+
}],
|
|
225
|
+
"text": ""
|
|
226
|
+
},
|
|
227
|
+
"complexType": {
|
|
228
|
+
"original": "HTMLGxIdeBpmObjectsSelectorElement",
|
|
229
|
+
"resolved": "HTMLGxIdeBpmObjectsSelectorElement",
|
|
230
|
+
"references": {
|
|
231
|
+
"HTMLGxIdeBpmObjectsSelectorElement": {
|
|
232
|
+
"location": "global",
|
|
233
|
+
"id": "global::HTMLGxIdeBpmObjectsSelectorElement"
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}, {
|
|
238
|
+
"method": "selectionChanged",
|
|
239
|
+
"name": "selectionChanged",
|
|
240
|
+
"bubbles": true,
|
|
241
|
+
"cancelable": true,
|
|
242
|
+
"composed": true,
|
|
243
|
+
"docs": {
|
|
244
|
+
"tags": [{
|
|
245
|
+
"name": "description",
|
|
246
|
+
"text": "Gets fired when the objects selection list change or when 'Select All' checkbox state changes."
|
|
247
|
+
}],
|
|
248
|
+
"text": ""
|
|
249
|
+
},
|
|
250
|
+
"complexType": {
|
|
251
|
+
"original": "string",
|
|
252
|
+
"resolved": "string",
|
|
253
|
+
"references": {}
|
|
254
|
+
}
|
|
255
|
+
}];
|
|
256
|
+
}
|
|
257
|
+
static get elementRef() { return "el"; }
|
|
258
|
+
}
|
|
259
|
+
//# sourceMappingURL=objects-selector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"objects-selector.js","sourceRoot":"","sources":["../../../../src/components/bpm/objects-selector/objects-selector.tsx"],"names":[],"mappings":"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","sourcesContent":["/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { CheckedItemsInfo } from \"../../_helpers/list-selector/list-selector\";\n\n/* CUSTOM IMPORTS */\nimport { config } from \"../../../common/config\";\nimport { Locale } from \"../../../common/locale\";\nimport { renderListItems } from \"../../../common/render-list-item\";\nimport { ObjectData, objectsToListItemData } from \"./helpers\";\n\n@Component({\n tag: \"gx-ide-bpm-objects-selector\",\n styleUrl: \"objects-selector.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/bpm-objects-selector\"]\n})\nexport class GxIdeBpmExportXpdl {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n\n private includeAll = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeBpmObjectsSelectorElement;\n private includeAllCheckboxEl: HTMLChCheckboxElement;\n\n // 3.STATE() VARIABLES //\n\n @State() objects: ObjectData[] = [];\n\n /**\n * Contains the list of selected object ids\n */\n @State() selectedObjects: string[] = [];\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n *The current selection in the list of objects\n */\n @Prop({ mutable: true }) selection: SelectionData;\n\n /**\n * Callback invoked when the user presses the 'Add' button.\n * This function is expected to return a list of selected objects' basic information.\n * @returns {Promise<ObjectData[]>} A Promise that resolves to an array of ObjectData. Each ObjectData contains the ID, icon, and name of an object.\n */\n @Prop() readonly addCallback: () => Promise<ObjectData[]>;\n\n /**\n * Callback invoked when the user presses the 'References' button.\n * Receives a parameter which is an array of IDs of the objects currently added to the list.\n * Returns a Promise that resolves to an array of ObjectData, where each ObjectData contains the ID, icon, and name of an object.\n * @param {string[]} ids - An array of IDs of the objects currently added to the list.\n * @returns {Promise<ObjectData[]>} A Promise that resolves to an array of ObjectData. Each ObjectData contains the ID, icon, and name of an object.\n */\n @Prop() readonly referencesCallback: (ids: string[]) => Promise<ObjectData[]>;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event()\n componentDidRenderFirstTime: EventEmitter<HTMLGxIdeBpmObjectsSelectorElement>;\n\n /**\n * @description Gets fired when the objects selection list change or when 'Select All' checkbox state changes.\n */\n @Event() selectionChanged: EventEmitter<string>;\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(this.el);\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private objectSelectionChangedHandler = (\n selectedItem: CustomEvent<CheckedItemsInfo>\n ) => {\n const selectedObjects = Array.isArray(selectedItem.detail)\n ? selectedItem.detail\n : [selectedItem.detail];\n\n this.selectedObjects = selectedObjects.map(item => item.itemId);\n };\n\n private removeObjectsHandler = () => {\n this.objects = this.objects.filter(\n object => !this.selectedObjects.includes(object.id)\n );\n\n this.selectedObjects = [];\n this.updateSelection(false);\n };\n\n private removeAllObjectsHandler = () => {\n this.objects = [];\n this.selectedObjects = [];\n this.updateSelection(false);\n };\n\n private includeAllHandler = () => {\n this.includeAll = this.includeAllCheckboxEl.checked;\n if (this.includeAll) {\n this.selectedObjects = this.objects.map(object => object.id);\n this.objects = [];\n this.updateSelection(true);\n } else {\n this.selectedObjects = [];\n this.updateSelection(false);\n }\n\n this.selectionChanged.emit();\n };\n private addCallbackHandler = async () => {\n if (this.addCallback) {\n const resultObjects = await this.addCallback();\n const newObjects = resultObjects.filter(\n resultObj =>\n !this.objects.some(existingObj => existingObj.id === resultObj.id)\n );\n this.objects = [...this.objects, ...newObjects];\n this.updateSelection(false);\n }\n };\n\n private referencesCallbackHandler = async () => {\n if (this.referencesCallback && this.objects.length > 0) {\n const ids = this.objects.map(obj => obj.id);\n\n const resultObjects = await this.referencesCallback(ids);\n\n const newObjects = resultObjects.filter(\n resultObj =>\n !this.objects.some(existingObj => existingObj.id === resultObj.id)\n );\n\n this.objects = [...this.objects, ...newObjects];\n this.updateSelection(false);\n }\n };\n\n private updateSelection = (includeAll: boolean) => {\n const data: SelectionData = {\n includeAll: this.includeAllCheckboxEl.checked,\n objectIds: includeAll\n ? this.selectedObjects\n : this.objects.map(object => object.id)\n };\n\n this.selection = data;\n this.selectionChanged.emit();\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host class=\"gx-ide-component gx-ide-bpm-objects-selector\">\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n >\n <gx-ide-list-selector\n id=\"path-list\"\n type=\"multi-selection\"\n listName=\"path-list\"\n ordered\n onSelectionChanged={this.objectSelectionChangedHandler}\n class=\"path-list\"\n >\n {renderListItems(objectsToListItemData(this.objects))}\n </gx-ide-list-selector>\n\n <div class=\"controls-wrapper\">\n <label htmlFor=\"include-all\">\n {this._componentLocale.main.includeAllLabel}\n </label>\n <ch-checkbox\n id=\"include-all\"\n accessibleName={this._componentLocale.main.includeAllLabel}\n checkedValue=\"true\"\n unCheckedValue=\"false\"\n value=\"checked\"\n onInput={this.includeAllHandler}\n ref={el =>\n (this.includeAllCheckboxEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n <button\n onClick={this.addCallbackHandler}\n disabled={this.includeAll}\n >\n {this._componentLocale.main.addButton}\n </button>\n <button\n onClick={this.referencesCallbackHandler}\n disabled={this.objects.length === 0}\n >\n {this._componentLocale.main.referencesButton}\n </button>\n <button\n onClick={this.removeObjectsHandler}\n disabled={this.selectedObjects.length === 0 || this.includeAll}\n >\n {this._componentLocale.main.removeButton} (\n {this.selectedObjects.length})\n </button>\n </div>\n\n <button\n slot=\"footer-end\"\n onClick={this.removeAllObjectsHandler}\n disabled={this.includeAll}\n >\n {this._componentLocale.main.clearButton}\n </button>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type SelectionData = {\n includeAll: boolean;\n objectIds: string[];\n};\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface GxIdeBpmExportXpdl extends Components.GxIdeBpmExportXpdl, HTMLElement {}
|
|
4
|
+
export const GxIdeBpmExportXpdl: {
|
|
5
|
+
prototype: GxIdeBpmExportXpdl;
|
|
6
|
+
new (): GxIdeBpmExportXpdl;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
import { c as config } from './config.js';
|
|
3
|
+
import { L as Locale } from './locale.js';
|
|
4
|
+
import { d as defineCustomElement$a } from './checkbox.js';
|
|
5
|
+
import { d as defineCustomElement$9 } from './icon.js';
|
|
6
|
+
import { d as defineCustomElement$8 } from './objects-selector.js';
|
|
7
|
+
import { d as defineCustomElement$7 } from './container.js';
|
|
8
|
+
import { d as defineCustomElement$6 } from './list-selector.js';
|
|
9
|
+
import { d as defineCustomElement$5 } from './list-selector-item.js';
|
|
10
|
+
import { d as defineCustomElement$4 } from './title2.js';
|
|
11
|
+
import { d as defineCustomElement$3 } from './icon2.js';
|
|
12
|
+
import { d as defineCustomElement$2 } from './title.js';
|
|
13
|
+
|
|
14
|
+
const exportXpdlCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.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}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content: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(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){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(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-container{display:flex;height:100%;width:100%;box-sizing:border-box}p{margin:0;font-size:var(--mer-font__size--xxs)}.control-wrapper{display:flex;gap:var(--mer-spacing--xs);align-items:center}.control-wrapper--vertical{flex-direction:column;align-items:start}.controls-wrapper{display:flex;gap:var(--mer-spacing--xs)}.controls-wrapper--vertical{flex-direction:column;align-items:start}.input-text{box-sizing:border-box;background-color:transparent;border:var(--mer-border__width--sm) solid var(--mer-border-color__dim);border-radius:var(--mer-border__width--lg);height:26px;color:var(--mer-text__bright);font-size:var(--mer-font__size--xxs)}.input-text--full-width{align-self:stretch}:host{display:block}.header{display:grid;grid-template-columns:1fr min-content min-content;grid-template-areas:\"label label label\" \"input cancel export\";grid-gap:var(--gx-ide-grid-column-gap)}.header .label{grid-area:label}.header .input{grid-area:input}.header .cancel{grid-area:cancel}.header .export{grid-area:export}";
|
|
15
|
+
|
|
16
|
+
const GxIdeBpmExportXpdl$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeBpmExportXpdl extends HTMLElement {
|
|
17
|
+
constructor() {
|
|
18
|
+
super();
|
|
19
|
+
this.__registerHost();
|
|
20
|
+
this.__attachShadow();
|
|
21
|
+
this.componentDidRenderFirstTime = createEvent(this, "componentDidRenderFirstTime", 7);
|
|
22
|
+
this.renderedFirstTime = false;
|
|
23
|
+
// 7.LISTENERS //
|
|
24
|
+
// 8.PUBLIC METHODS API //
|
|
25
|
+
// 9.LOCAL METHODS //
|
|
26
|
+
this.exportHandler = () => {
|
|
27
|
+
var _a;
|
|
28
|
+
if (this.exportCallback) {
|
|
29
|
+
this.notExporting = false;
|
|
30
|
+
const data = {
|
|
31
|
+
directoryName: this.exportInputEl.value,
|
|
32
|
+
Objects: (_a = this.bpmObjectSelectorEl.selection) !== null && _a !== void 0 ? _a : {
|
|
33
|
+
includeAll: false,
|
|
34
|
+
objectIds: []
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
this.exportCallback(data)
|
|
38
|
+
.then(() => {
|
|
39
|
+
this.notExporting = true;
|
|
40
|
+
})
|
|
41
|
+
.catch(error => {
|
|
42
|
+
console.error("Export callback failed:", error);
|
|
43
|
+
this.notExporting = true;
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
this.inputHandle = async () => {
|
|
48
|
+
var _a;
|
|
49
|
+
this.emptyInput = !((_a = this.exportInputEl.value) === null || _a === void 0 ? void 0 : _a.length);
|
|
50
|
+
};
|
|
51
|
+
this.handleSelectionChanged = () => {
|
|
52
|
+
this.emptyObjects = !this.bpmObjectSelectorEl.selection.objectIds.length;
|
|
53
|
+
};
|
|
54
|
+
this.emptyInput = true;
|
|
55
|
+
this.emptyObjects = true;
|
|
56
|
+
this.notExporting = true;
|
|
57
|
+
this.displayTitle = false;
|
|
58
|
+
this.exportCallback = undefined;
|
|
59
|
+
this.cancelCallback = undefined;
|
|
60
|
+
this.addCallback = undefined;
|
|
61
|
+
this.referencesCallback = undefined;
|
|
62
|
+
}
|
|
63
|
+
// 6.COMPONENT LIFECYCLE METHODS //
|
|
64
|
+
async componentWillLoad() {
|
|
65
|
+
this._componentLocale = await Locale.getComponentStrings(this.el);
|
|
66
|
+
}
|
|
67
|
+
componentDidRender() {
|
|
68
|
+
if (!this.renderedFirstTime) {
|
|
69
|
+
this.componentDidRenderFirstTime.emit(this._componentLocale.componentName);
|
|
70
|
+
this.renderedFirstTime = true;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
// 10.RENDER() FUNCTION //
|
|
74
|
+
render() {
|
|
75
|
+
return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { containerTitle: this.displayTitle ? this._componentLocale.componentName : null, slimmerFooter: config.gxIdeContainer.slimmerFooter }, h("div", { class: "header" }, h("label", { htmlFor: "export-directory", class: "label" }, this._componentLocale.main.exportInputLabel), h("input", { type: "text", id: "export-directory", class: "input-text input", onInput: this.inputHandle, ref: el => (this.exportInputEl = el) }), h("button", { class: "export", disabled: this.emptyInput || this.emptyObjects, onClick: this.exportHandler }, this._componentLocale.main.exportButton), h("button", { class: "cancel", disabled: this.notExporting, onClick: this.cancelCallback }, this._componentLocale.main.cancelButton)), h("gx-ide-bpm-objects-selector", { id: "gx-ide-bpm-objects-selector", addCallback: this.addCallback, referencesCallback: this.referencesCallback, ref: el => (this.bpmObjectSelectorEl =
|
|
76
|
+
el), onSelectionChanged: this.handleSelectionChanged })))));
|
|
77
|
+
}
|
|
78
|
+
static get assetsDirs() { return ["gx-ide-assets/bpm-export-xpdl"]; }
|
|
79
|
+
get el() { return this; }
|
|
80
|
+
static get style() { return exportXpdlCss; }
|
|
81
|
+
}, [1, "gx-ide-bpm-export-xpdl", {
|
|
82
|
+
"displayTitle": [4, "display-title"],
|
|
83
|
+
"exportCallback": [16],
|
|
84
|
+
"cancelCallback": [16],
|
|
85
|
+
"addCallback": [16],
|
|
86
|
+
"referencesCallback": [16],
|
|
87
|
+
"emptyInput": [32],
|
|
88
|
+
"emptyObjects": [32],
|
|
89
|
+
"notExporting": [32]
|
|
90
|
+
}]);
|
|
91
|
+
function defineCustomElement$1() {
|
|
92
|
+
if (typeof customElements === "undefined") {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
const components = ["gx-ide-bpm-export-xpdl", "ch-checkbox", "ch-icon", "gx-ide-bpm-objects-selector", "gx-ide-container", "gx-ide-list-selector", "gx-ide-list-selector-item", "gx-ide-title", "gxg-icon", "gxg-title"];
|
|
96
|
+
components.forEach(tagName => { switch (tagName) {
|
|
97
|
+
case "gx-ide-bpm-export-xpdl":
|
|
98
|
+
if (!customElements.get(tagName)) {
|
|
99
|
+
customElements.define(tagName, GxIdeBpmExportXpdl$1);
|
|
100
|
+
}
|
|
101
|
+
break;
|
|
102
|
+
case "ch-checkbox":
|
|
103
|
+
if (!customElements.get(tagName)) {
|
|
104
|
+
defineCustomElement$a();
|
|
105
|
+
}
|
|
106
|
+
break;
|
|
107
|
+
case "ch-icon":
|
|
108
|
+
if (!customElements.get(tagName)) {
|
|
109
|
+
defineCustomElement$9();
|
|
110
|
+
}
|
|
111
|
+
break;
|
|
112
|
+
case "gx-ide-bpm-objects-selector":
|
|
113
|
+
if (!customElements.get(tagName)) {
|
|
114
|
+
defineCustomElement$8();
|
|
115
|
+
}
|
|
116
|
+
break;
|
|
117
|
+
case "gx-ide-container":
|
|
118
|
+
if (!customElements.get(tagName)) {
|
|
119
|
+
defineCustomElement$7();
|
|
120
|
+
}
|
|
121
|
+
break;
|
|
122
|
+
case "gx-ide-list-selector":
|
|
123
|
+
if (!customElements.get(tagName)) {
|
|
124
|
+
defineCustomElement$6();
|
|
125
|
+
}
|
|
126
|
+
break;
|
|
127
|
+
case "gx-ide-list-selector-item":
|
|
128
|
+
if (!customElements.get(tagName)) {
|
|
129
|
+
defineCustomElement$5();
|
|
130
|
+
}
|
|
131
|
+
break;
|
|
132
|
+
case "gx-ide-title":
|
|
133
|
+
if (!customElements.get(tagName)) {
|
|
134
|
+
defineCustomElement$4();
|
|
135
|
+
}
|
|
136
|
+
break;
|
|
137
|
+
case "gxg-icon":
|
|
138
|
+
if (!customElements.get(tagName)) {
|
|
139
|
+
defineCustomElement$3();
|
|
140
|
+
}
|
|
141
|
+
break;
|
|
142
|
+
case "gxg-title":
|
|
143
|
+
if (!customElements.get(tagName)) {
|
|
144
|
+
defineCustomElement$2();
|
|
145
|
+
}
|
|
146
|
+
break;
|
|
147
|
+
} });
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
const GxIdeBpmExportXpdl = GxIdeBpmExportXpdl$1;
|
|
151
|
+
const defineCustomElement = defineCustomElement$1;
|
|
152
|
+
|
|
153
|
+
export { GxIdeBpmExportXpdl, defineCustomElement };
|
|
154
|
+
|
|
155
|
+
//# sourceMappingURL=gx-ide-bpm-export-xpdl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"gx-ide-bpm-export-xpdl.js","mappings":"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","names":["GxIdeBpmExportXpdl"],"sources":["src/components/bpm/export-xpdl/export-xpdl.scss?tag=gx-ide-bpm-export-xpdl&encapsulation=shadow","src/components/bpm/export-xpdl/export-xpdl.tsx"],"sourcesContent":["@import \"../../../global/gx-ide-common.scss\";\n@import \"../../../global/gx-ide-mixins.scss\";\n@import \"../../../global/temporary-tokens-chameleon.scss\";\n\n:host {\n display: block;\n}\n\n.header {\n display: grid;\n grid-template-columns: 1fr min-content min-content;\n grid-template-areas:\n \"label label label\"\n \"input cancel export\";\n grid-gap: var(--gx-ide-grid-column-gap);\n\n .label {\n grid-area: label;\n }\n .input {\n grid-area: input;\n }\n .cancel {\n grid-area: cancel;\n }\n .export {\n grid-area: export;\n }\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { config } from \"../../../common/config\";\nimport { Locale } from \"../../../common/locale\";\nimport { ObjectData } from \"../objects-selector/helpers\";\n\n/* import { renderListItems } from \"../../../common/render-list-item\"; */\n\n@Component({\n tag: \"gx-ide-bpm-export-xpdl\",\n styleUrl: \"export-xpdl.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/bpm-export-xpdl\"]\n})\nexport class GxIdeBpmExportXpdl {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeBpmExportXpdlElement;\n private exportInputEl: HTMLInputElement;\n private bpmObjectSelectorEl: HTMLGxIdeBpmObjectsSelectorElement;\n\n // 3.STATE() VARIABLES //\n\n @State() emptyInput = true;\n @State() emptyObjects = true;\n @State() notExporting = true;\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * Callback function invoked when the user presses the 'Create' button.\n * This function is expected to handle the export process based on the provided export data.\n *\n * @param {ExportData} exportData - The data required for the export process.\n * @returns {Promise<boolean>} A promise that resolves to a boolean indicating the success of the export operation.\n * Returns `true` if the export was successful, and `false` otherwise.\n */\n @Prop() readonly exportCallback: ExportCallback;\n\n /**\n * Callback invoked when user press 'Cancel' button\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * Callback invoked when the user presses the 'Add' button. associated with gx-ide-bpm-objects-selector\n * This function is expected to return a list of selected objects' basic information.\n * @returns {Promise<ObjectData[]>} A Promise that resolves to an array of ObjectData. Each ObjectData contains the ID, icon, and name of an object.\n */\n @Prop() readonly addCallback: () => Promise<ObjectData[]>;\n\n /**\n * Callback invoked when the user presses the 'References' button. associated with gx-ide-bpm-objects-selector\n * Receives a parameter which is an array of IDs of the objects currently added to the list.\n * Returns a Promise that resolves to an array of ObjectData, where each ObjectData contains the ID, icon, and name of an object.\n * @param {string[]} ids - An array of IDs of the objects currently added to the list.\n * @returns {Promise<ObjectData[]>} A Promise that resolves to an array of ObjectData. Each ObjectData contains the ID, icon, and name of an object.\n */\n @Prop() readonly referencesCallback: (ids: string[]) => Promise<ObjectData[]>;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private exportHandler = () => {\n if (this.exportCallback) {\n this.notExporting = false;\n\n const data: ExportData = {\n directoryName: this.exportInputEl.value,\n Objects: this.bpmObjectSelectorEl.selection ?? {\n includeAll: false,\n objectIds: []\n }\n };\n\n this.exportCallback(data)\n .then(() => {\n this.notExporting = true;\n })\n .catch(error => {\n console.error(\"Export callback failed:\", error);\n this.notExporting = true;\n });\n }\n };\n\n private inputHandle = async () => {\n this.emptyInput = !this.exportInputEl.value?.length;\n };\n\n private handleSelectionChanged = () => {\n this.emptyObjects = !this.bpmObjectSelectorEl.selection.objectIds.length;\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host class=\"gx-ide-component\">\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n >\n <div class=\"header\">\n <label htmlFor=\"export-directory\" class=\"label\">\n {this._componentLocale.main.exportInputLabel}\n </label>\n <input\n type=\"text\"\n id=\"export-directory\"\n class=\"input-text input\"\n onInput={this.inputHandle}\n ref={el => (this.exportInputEl = el as HTMLInputElement)}\n />\n <button\n class=\"export\"\n disabled={this.emptyInput || this.emptyObjects}\n onClick={this.exportHandler}\n >\n {this._componentLocale.main.exportButton}\n </button>\n <button\n class=\"cancel\"\n disabled={this.notExporting}\n onClick={this.cancelCallback}\n >\n {this._componentLocale.main.cancelButton}\n </button>\n </div>\n\n <gx-ide-bpm-objects-selector\n id=\"gx-ide-bpm-objects-selector\"\n addCallback={this.addCallback}\n referencesCallback={this.referencesCallback}\n ref={el =>\n (this.bpmObjectSelectorEl =\n el as HTMLGxIdeBpmObjectsSelectorElement)\n }\n onSelectionChanged={this.handleSelectionChanged}\n ></gx-ide-bpm-objects-selector>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type ExportCallback = (exportData: ExportData) => Promise<boolean>;\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type ExportData = {\n directoryName: string;\n Objects: SelectionData;\n};\n\nexport type SelectionData = {\n includeAll: boolean;\n objectIds: string[];\n};\n"],"version":3}
|