@genexus/genexus-ide-ui 1.1.7 → 1.1.8

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 (31) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js +61 -20
  3. package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js.map +1 -1
  4. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +1 -1
  5. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/collection/components/deployment-tool/deployment-tool.js +78 -20
  8. package/dist/collection/components/deployment-tool/deployment-tool.js.map +1 -1
  9. package/dist/collection/components/team-dev/update/update.js +1 -1
  10. package/dist/collection/components/team-dev/update/update.js.map +1 -1
  11. package/dist/components/gx-ide-deployment-tool.js +62 -20
  12. package/dist/components/gx-ide-deployment-tool.js.map +1 -1
  13. package/dist/components/gx-ide-team-dev-update.js +1 -1
  14. package/dist/components/gx-ide-team-dev-update.js.map +1 -1
  15. package/dist/esm/genexus-ide-ui.js +1 -1
  16. package/dist/esm/gx-ide-deployment-tool.entry.js +61 -20
  17. package/dist/esm/gx-ide-deployment-tool.entry.js.map +1 -1
  18. package/dist/esm/gx-ide-team-dev-update.entry.js +1 -1
  19. package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
  20. package/dist/esm/loader.js +1 -1
  21. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  22. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  23. package/dist/genexus-ide-ui/{p-3085add2.entry.js → p-03dbccde.entry.js} +193 -160
  24. package/dist/genexus-ide-ui/p-03dbccde.entry.js.map +1 -0
  25. package/dist/genexus-ide-ui/{p-036d005d.entry.js → p-75a5c51f.entry.js} +2 -2
  26. package/dist/genexus-ide-ui/p-75a5c51f.entry.js.map +1 -0
  27. package/dist/types/components/deployment-tool/deployment-tool.d.ts +5 -0
  28. package/dist/types/components.d.ts +8 -0
  29. package/package.json +1 -1
  30. package/dist/genexus-ide-ui/p-036d005d.entry.js.map +0 -1
  31. package/dist/genexus-ide-ui/p-3085add2.entry.js.map +0 -1
@@ -14,7 +14,7 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
14
14
  throw new TypeError("Cannot write private member to an object whose class did not declare it");
15
15
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
16
16
  };
17
- var _GxIdeDeploymentTool_instances, _GxIdeDeploymentTool_componentLocale, _GxIdeDeploymentTool_renderedFirstTime, _GxIdeDeploymentTool_flattenedObjectTypeData, _GxIdeDeploymentTool_currentDeploymentUnitId, _GxIdeDeploymentTool_onlyPackageCheckboxEl, _GxIdeDeploymentTool_targetTypesEl, _GxIdeDeploymentTool_applicationServerEl, _GxIdeDeploymentTool_generatorEl, _GxIdeDeploymentTool_deploymentUnitsEl, _GxIdeDeploymentTool_displayNameEl, _GxIdeDeploymentTool_evaluateObjects, _GxIdeDeploymentTool_handleGetDeploymentUnitObjectsCallback, _GxIdeDeploymentTool_loadDeploymentUnits, _GxIdeDeploymentTool_handleCreateDeploymentUnit, _GxIdeDeploymentTool_optionsCallbackHandler, _GxIdeDeploymentTool_addNewTypesToModel, _GxIdeDeploymentTool_addObjectsCallbackHandler, _GxIdeDeploymentTool_deployCallbackHandler, _GxIdeDeploymentTool_handleTargetTypesChange, _GxIdeDeploymentTool_flattenObjectTypes, _GxIdeDeploymentTool_objectsTreeCheckedItemsChangedHandler, _GxIdeDeploymentTool_evaluateContentToDisplay, _GxIdeDeploymentTool_getComboModel, _GxIdeDeploymentTool_renderComboSelector, _GxIdeDeploymentTool_renderHeader, _GxIdeDeploymentTool_renderApplicationServerSelector, _GxIdeDeploymentTool_renderGeneratorSelector, _GxIdeDeploymentTool_renderTargetSelector, _GxIdeDeploymentTool_renderDisplayNameInput, _GxIdeDeploymentTool_renderFooter;
17
+ var _GxIdeDeploymentTool_instances, _GxIdeDeploymentTool_componentLocale, _GxIdeDeploymentTool_renderedFirstTime, _GxIdeDeploymentTool_flattenedObjectTypeData, _GxIdeDeploymentTool_currentDeploymentUnitId, _GxIdeDeploymentTool_onlyPackageCheckboxEl, _GxIdeDeploymentTool_targetTypesEl, _GxIdeDeploymentTool_applicationServerEl, _GxIdeDeploymentTool_generatorEl, _GxIdeDeploymentTool_deploymentUnitsEl, _GxIdeDeploymentTool_displayNameEl, _GxIdeDeploymentTool_getInitialSelectedTarget, _GxIdeDeploymentTool_evaluateObjects, _GxIdeDeploymentTool_handleGetDeploymentUnitObjectsCallback, _GxIdeDeploymentTool_loadDeploymentUnits, _GxIdeDeploymentTool_handleCreateDeploymentUnit, _GxIdeDeploymentTool_optionsCallbackHandler, _GxIdeDeploymentTool_addNewTypesToModel, _GxIdeDeploymentTool_addObjectsCallbackHandler, _GxIdeDeploymentTool_deployCallbackHandler, _GxIdeDeploymentTool_getApplicationServer, _GxIdeDeploymentTool_handleTargetTypesChange, _GxIdeDeploymentTool_flattenObjectTypes, _GxIdeDeploymentTool_objectsTreeCheckedItemsChangedHandler, _GxIdeDeploymentTool_evaluateContentToDisplay, _GxIdeDeploymentTool_getComboModel, _GxIdeDeploymentTool_getComboModelItem, _GxIdeDeploymentTool_renderComboSelector, _GxIdeDeploymentTool_renderHeader, _GxIdeDeploymentTool_renderApplicationServerSelector, _GxIdeDeploymentTool_renderGeneratorSelector, _GxIdeDeploymentTool_renderTargetSelector, _GxIdeDeploymentTool_renderDisplayNameInput, _GxIdeDeploymentTool_renderFooter;
18
18
  import { Host, h } from "@stencil/core";
19
19
  import { createArrayOfItems } from "./helpers";
20
20
  // Custom Imports
@@ -33,6 +33,8 @@ const CSS_BUNDLES = [
33
33
  "components/icon",
34
34
  "utils/spacing"
35
35
  ];
36
+ const CHECKBOX_CHECKED_VALUE = "true";
37
+ const CHECKBOX_UNCHECKED_VALUE = "false";
36
38
  export class GxIdeDeploymentTool {
37
39
  constructor() {
38
40
  _GxIdeDeploymentTool_instances.add(this);
@@ -50,6 +52,15 @@ export class GxIdeDeploymentTool {
50
52
  _GxIdeDeploymentTool_generatorEl.set(this, void 0);
51
53
  _GxIdeDeploymentTool_deploymentUnitsEl.set(this, void 0);
52
54
  _GxIdeDeploymentTool_displayNameEl.set(this, void 0);
55
+ _GxIdeDeploymentTool_getInitialSelectedTarget.set(this, () => {
56
+ if (this.defaultTargetTypeId) {
57
+ const target = this.targetTypes.find(itTarget => itTarget.id === this.defaultTargetTypeId);
58
+ if (target) {
59
+ return target;
60
+ }
61
+ }
62
+ return this.targetTypes[0];
63
+ });
53
64
  _GxIdeDeploymentTool_evaluateObjects.set(this, () => {
54
65
  var _a;
55
66
  this.noObjects = !!(((_a = this.treeModel) === null || _a === void 0 ? void 0 : _a.length) === 0 || !this.treeModel);
@@ -60,7 +71,7 @@ export class GxIdeDeploymentTool {
60
71
  });
61
72
  _GxIdeDeploymentTool_loadDeploymentUnits.set(this, async (id) => {
62
73
  if (id === this.newDeploymentUnitId) {
63
- await __classPrivateFieldGet(this, _GxIdeDeploymentTool_handleCreateDeploymentUnit, "f").call(this);
74
+ // New deployment unit should be created before executing the deploy action.
64
75
  return;
65
76
  }
66
77
  __classPrivateFieldSet(this, _GxIdeDeploymentTool_currentDeploymentUnitId, id, "f");
@@ -74,11 +85,17 @@ export class GxIdeDeploymentTool {
74
85
  if (!deploymentUnitData) {
75
86
  return;
76
87
  }
77
- // Update deployment units:
78
- this.deploymentUnits.unshift(deploymentUnitData);
79
- // Update combo:
80
- const comboModelItem = __classPrivateFieldGet(this, _GxIdeDeploymentTool_getComboModel, "f").call(this, [deploymentUnitData]);
81
- __classPrivateFieldGet(this, _GxIdeDeploymentTool_deploymentUnitsEl, "f").model = comboModelItem.concat(__classPrivateFieldGet(this, _GxIdeDeploymentTool_deploymentUnitsEl, "f").model);
88
+ if (!this.deploymentUnits.find(du => du.id === deploymentUnitData.id)) {
89
+ // Update deployment units:
90
+ this.deploymentUnits.unshift(deploymentUnitData);
91
+ // Update combo:
92
+ const deploymentUnitComboBoxItem = __classPrivateFieldGet(this, _GxIdeDeploymentTool_getComboModelItem, "f").call(this, deploymentUnitData);
93
+ const updatedDeploymentUnitsModel = [
94
+ deploymentUnitComboBoxItem,
95
+ ...__classPrivateFieldGet(this, _GxIdeDeploymentTool_deploymentUnitsEl, "f").model
96
+ ];
97
+ __classPrivateFieldGet(this, _GxIdeDeploymentTool_deploymentUnitsEl, "f").model = updatedDeploymentUnitsModel;
98
+ }
82
99
  __classPrivateFieldGet(this, _GxIdeDeploymentTool_deploymentUnitsEl, "f").value = deploymentUnitData.id;
83
100
  // Trigger selection callback:
84
101
  await __classPrivateFieldGet(this, _GxIdeDeploymentTool_loadDeploymentUnits, "f").call(this, deploymentUnitData.id);
@@ -112,14 +129,17 @@ export class GxIdeDeploymentTool {
112
129
  }
113
130
  });
114
131
  _GxIdeDeploymentTool_deployCallbackHandler.set(this, async () => {
115
- var _a, _b, _c;
132
+ var _a, _b;
133
+ if (__classPrivateFieldGet(this, _GxIdeDeploymentTool_deploymentUnitsEl, "f").value === this.newDeploymentUnitId) {
134
+ await __classPrivateFieldGet(this, _GxIdeDeploymentTool_handleCreateDeploymentUnit, "f").call(this);
135
+ }
116
136
  const data = {
117
137
  targetId: __classPrivateFieldGet(this, _GxIdeDeploymentTool_targetTypesEl, "f").value,
118
- applicationServerId: (_a = __classPrivateFieldGet(this, _GxIdeDeploymentTool_applicationServerEl, "f")) === null || _a === void 0 ? void 0 : _a.value,
119
- displayName: (_b = __classPrivateFieldGet(this, _GxIdeDeploymentTool_displayNameEl, "f")) === null || _b === void 0 ? void 0 : _b.value,
120
- generatorId: (_c = __classPrivateFieldGet(this, _GxIdeDeploymentTool_generatorEl, "f")) === null || _c === void 0 ? void 0 : _c.value,
138
+ applicationServerId: __classPrivateFieldGet(this, _GxIdeDeploymentTool_getApplicationServer, "f").call(this),
139
+ displayName: (_a = __classPrivateFieldGet(this, _GxIdeDeploymentTool_displayNameEl, "f")) === null || _a === void 0 ? void 0 : _a.value,
140
+ generatorId: (_b = __classPrivateFieldGet(this, _GxIdeDeploymentTool_generatorEl, "f")) === null || _b === void 0 ? void 0 : _b.value,
121
141
  onlyPackage: __classPrivateFieldGet(this, _GxIdeDeploymentTool_onlyPackageCheckboxEl, "f")
122
- ? __classPrivateFieldGet(this, _GxIdeDeploymentTool_onlyPackageCheckboxEl, "f").value === "true"
142
+ ? __classPrivateFieldGet(this, _GxIdeDeploymentTool_onlyPackageCheckboxEl, "f").value === CHECKBOX_CHECKED_VALUE
123
143
  : undefined,
124
144
  objects: this.checkedObjectsIds
125
145
  };
@@ -129,10 +149,23 @@ export class GxIdeDeploymentTool {
129
149
  this.allowDeploy = true;
130
150
  }
131
151
  });
152
+ _GxIdeDeploymentTool_getApplicationServer.set(this, () => {
153
+ var _a, _b, _c;
154
+ if ((_a = __classPrivateFieldGet(this, _GxIdeDeploymentTool_applicationServerEl, "f")) === null || _a === void 0 ? void 0 : _a.value) {
155
+ return __classPrivateFieldGet(this, _GxIdeDeploymentTool_applicationServerEl, "f").value;
156
+ }
157
+ return ((_b = this.selectedDeployTargetData) === null || _b === void 0 ? void 0 : _b.applicationServers.length) > 0
158
+ ? (_c = this.selectedDeployTargetData) === null || _c === void 0 ? void 0 : _c.applicationServers[0].id
159
+ : undefined;
160
+ });
132
161
  _GxIdeDeploymentTool_handleTargetTypesChange.set(this, (ev) => {
133
162
  const selectedId = ev.detail;
134
163
  this.selectedDeployTargetData =
135
164
  this.targetTypes.find(targetType => targetType.id === selectedId) || null;
165
+ if (!this.selectedDeployTargetData.canCreatePackage &&
166
+ __classPrivateFieldGet(this, _GxIdeDeploymentTool_onlyPackageCheckboxEl, "f").value === CHECKBOX_CHECKED_VALUE) {
167
+ __classPrivateFieldGet(this, _GxIdeDeploymentTool_onlyPackageCheckboxEl, "f").value = CHECKBOX_UNCHECKED_VALUE;
168
+ }
136
169
  __classPrivateFieldGet(this, _GxIdeDeploymentTool_optionsCallbackHandler, "f").call(this);
137
170
  });
138
171
  _GxIdeDeploymentTool_objectsTreeCheckedItemsChangedHandler.set(this, (event) => {
@@ -148,10 +181,13 @@ export class GxIdeDeploymentTool {
148
181
  return (h("ch-tree-view-render", { class: "tree-view", model: this.treeModel, dragDisabled: true, dropDisabled: true, toggleCheckboxes: true, showLines: "last", checked: true, checkbox: true, onCheckedItemsChange: __classPrivateFieldGet(this, _GxIdeDeploymentTool_objectsTreeCheckedItemsChangedHandler, "f") }));
149
182
  });
150
183
  _GxIdeDeploymentTool_getComboModel.set(this, (baseCollection) => {
151
- return baseCollection.map(obj => ({
152
- caption: obj.name,
153
- value: obj.id
154
- }));
184
+ return baseCollection.map(obj => __classPrivateFieldGet(this, _GxIdeDeploymentTool_getComboModelItem, "f").call(this, obj));
185
+ });
186
+ _GxIdeDeploymentTool_getComboModelItem.set(this, (baseCollectionItem) => {
187
+ return {
188
+ caption: baseCollectionItem.name,
189
+ value: baseCollectionItem.id
190
+ };
155
191
  });
156
192
  _GxIdeDeploymentTool_renderComboSelector.set(this, (properties, withField = false) => {
157
193
  var _a;
@@ -204,12 +240,15 @@ export class GxIdeDeploymentTool {
204
240
  id: "targetTypes",
205
241
  baseModel: this.targetTypes,
206
242
  label: __classPrivateFieldGet(this, _GxIdeDeploymentTool_componentLocale, "f").main.targetTypes,
243
+ value: this.selectedDeployTargetData
244
+ ? this.selectedDeployTargetData.id
245
+ : this.defaultTargetTypeId,
207
246
  refCallback: (el) => {
208
247
  __classPrivateFieldSet(this, _GxIdeDeploymentTool_targetTypesEl, el, "f");
209
248
  },
210
249
  onInputCallback: __classPrivateFieldGet(this, _GxIdeDeploymentTool_handleTargetTypesChange, "f")
211
250
  }),
212
- h("div", { class: "target-types-button-checkbox-wrapper buttons-spacer" }, h("button", { class: "button-tertiary button-icon-only", onClick: __classPrivateFieldGet(this, _GxIdeDeploymentTool_optionsCallbackHandler, "f") }, h("ch-image", { class: "icon-md", src: "system/settings/primary" })), h("ch-checkbox", { disabled: !((_a = this.selectedDeployTargetData) === null || _a === void 0 ? void 0 : _a.canCreatePackage), class: "checkbox", caption: __classPrivateFieldGet(this, _GxIdeDeploymentTool_componentLocale, "f").main.onlyPackageLabel, part: "only-package-checkbox", checkedValue: "true", value: "false", ref: (el) => (__classPrivateFieldSet(this, _GxIdeDeploymentTool_onlyPackageCheckboxEl, el, "f")) }))
251
+ h("div", { class: "target-types-button-checkbox-wrapper buttons-spacer" }, h("button", { class: "button-tertiary button-icon-only", onClick: __classPrivateFieldGet(this, _GxIdeDeploymentTool_optionsCallbackHandler, "f") }, h("ch-image", { class: "icon-md", src: "system/settings/primary" })), h("ch-checkbox", { disabled: !((_a = this.selectedDeployTargetData) === null || _a === void 0 ? void 0 : _a.canCreatePackage), class: "checkbox", caption: __classPrivateFieldGet(this, _GxIdeDeploymentTool_componentLocale, "f").main.onlyPackageLabel, part: "only-package-checkbox", checkedValue: CHECKBOX_CHECKED_VALUE, unCheckedValue: CHECKBOX_UNCHECKED_VALUE, value: CHECKBOX_UNCHECKED_VALUE, ref: (el) => (__classPrivateFieldSet(this, _GxIdeDeploymentTool_onlyPackageCheckboxEl, el, "f")) }))
213
252
  ];
214
253
  });
215
254
  _GxIdeDeploymentTool_renderDisplayNameInput.set(this, () => {
@@ -234,6 +273,7 @@ export class GxIdeDeploymentTool {
234
273
  this.allowDeploy = true;
235
274
  this.deploymentUnits = undefined;
236
275
  this.targetTypes = undefined;
276
+ this.defaultTargetTypeId = undefined;
237
277
  this.newDeploymentUnitId = undefined;
238
278
  this.objectTypes = undefined;
239
279
  this.getDeploymentUnitObjectsCallback = undefined;
@@ -250,7 +290,7 @@ export class GxIdeDeploymentTool {
250
290
  }
251
291
  async componentWillLoad() {
252
292
  __classPrivateFieldSet(this, _GxIdeDeploymentTool_componentLocale, await Locale.getComponentStrings(this.el), "f");
253
- this.selectedDeployTargetData = this.targetTypes[0];
293
+ this.selectedDeployTargetData = __classPrivateFieldGet(this, _GxIdeDeploymentTool_getInitialSelectedTarget, "f").call(this);
254
294
  this.allObjectTypes = [...this.objectTypes];
255
295
  __classPrivateFieldGet(this, _GxIdeDeploymentTool_evaluateObjects, "f").call(this);
256
296
  __classPrivateFieldGet(this, _GxIdeDeploymentTool_instances, "m", _GxIdeDeploymentTool_flattenObjectTypes).call(this, this.allObjectTypes);
@@ -269,7 +309,8 @@ export class GxIdeDeploymentTool {
269
309
  }
270
310
  render() {
271
311
  var _a, _b, _c, _d, _e, _f;
272
- return (h(Host, { class: "widget spacing-body" }, h("ch-theme", { model: CSS_BUNDLES }), __classPrivateFieldGet(this, _GxIdeDeploymentTool_renderHeader, "f").call(this), h("div", { class: "container-wrapper" }, __classPrivateFieldGet(this, _GxIdeDeploymentTool_evaluateContentToDisplay, "f").call(this)), h("div", { class: "deploy-properties" }, __classPrivateFieldGet(this, _GxIdeDeploymentTool_renderTargetSelector, "f").call(this), ((_b = (_a = this.selectedDeployTargetData) === null || _a === void 0 ? void 0 : _a.applicationServers) === null || _b === void 0 ? void 0 : _b.length) > 0
312
+ return (h(Host, { class: "widget spacing-body" }, h("ch-theme", { model: CSS_BUNDLES }), __classPrivateFieldGet(this, _GxIdeDeploymentTool_renderHeader, "f").call(this), h("div", { class: "container-wrapper" }, __classPrivateFieldGet(this, _GxIdeDeploymentTool_evaluateContentToDisplay, "f").call(this)), h("div", { class: "deploy-properties" }, __classPrivateFieldGet(this, _GxIdeDeploymentTool_renderTargetSelector, "f").call(this), ((_b = (_a = this.selectedDeployTargetData) === null || _a === void 0 ? void 0 : _a.applicationServers) === null || _b === void 0 ? void 0 : _b.length) > 1 &&
313
+ this.selectedDeployTargetData.canSelectApplicationServer
273
314
  ? __classPrivateFieldGet(this, _GxIdeDeploymentTool_renderApplicationServerSelector, "f").call(this)
274
315
  : [], ((_d = (_c = this.selectedDeployTargetData) === null || _c === void 0 ? void 0 : _c.generators) === null || _d === void 0 ? void 0 : _d.length) > 0
275
316
  ? __classPrivateFieldGet(this, _GxIdeDeploymentTool_renderGeneratorSelector, "f").call(this)
@@ -334,6 +375,23 @@ export class GxIdeDeploymentTool {
334
375
  "text": "Available target types list"
335
376
  }
336
377
  },
378
+ "defaultTargetTypeId": {
379
+ "type": "string",
380
+ "mutable": false,
381
+ "complexType": {
382
+ "original": "string",
383
+ "resolved": "string",
384
+ "references": {}
385
+ },
386
+ "required": false,
387
+ "optional": true,
388
+ "docs": {
389
+ "tags": [],
390
+ "text": "Defines the default target type (will be selected by default)"
391
+ },
392
+ "attribute": "default-target-type-id",
393
+ "reflect": false
394
+ },
337
395
  "newDeploymentUnitId": {
338
396
  "type": "string",
339
397
  "mutable": false,
@@ -534,7 +592,7 @@ export class GxIdeDeploymentTool {
534
592
  }];
535
593
  }
536
594
  }
537
- _GxIdeDeploymentTool_componentLocale = new WeakMap(), _GxIdeDeploymentTool_renderedFirstTime = new WeakMap(), _GxIdeDeploymentTool_flattenedObjectTypeData = new WeakMap(), _GxIdeDeploymentTool_currentDeploymentUnitId = new WeakMap(), _GxIdeDeploymentTool_onlyPackageCheckboxEl = new WeakMap(), _GxIdeDeploymentTool_targetTypesEl = new WeakMap(), _GxIdeDeploymentTool_applicationServerEl = new WeakMap(), _GxIdeDeploymentTool_generatorEl = new WeakMap(), _GxIdeDeploymentTool_deploymentUnitsEl = new WeakMap(), _GxIdeDeploymentTool_displayNameEl = new WeakMap(), _GxIdeDeploymentTool_evaluateObjects = new WeakMap(), _GxIdeDeploymentTool_handleGetDeploymentUnitObjectsCallback = new WeakMap(), _GxIdeDeploymentTool_loadDeploymentUnits = new WeakMap(), _GxIdeDeploymentTool_handleCreateDeploymentUnit = new WeakMap(), _GxIdeDeploymentTool_optionsCallbackHandler = new WeakMap(), _GxIdeDeploymentTool_addNewTypesToModel = new WeakMap(), _GxIdeDeploymentTool_addObjectsCallbackHandler = new WeakMap(), _GxIdeDeploymentTool_deployCallbackHandler = new WeakMap(), _GxIdeDeploymentTool_handleTargetTypesChange = new WeakMap(), _GxIdeDeploymentTool_objectsTreeCheckedItemsChangedHandler = new WeakMap(), _GxIdeDeploymentTool_evaluateContentToDisplay = new WeakMap(), _GxIdeDeploymentTool_getComboModel = new WeakMap(), _GxIdeDeploymentTool_renderComboSelector = new WeakMap(), _GxIdeDeploymentTool_renderHeader = new WeakMap(), _GxIdeDeploymentTool_renderApplicationServerSelector = new WeakMap(), _GxIdeDeploymentTool_renderGeneratorSelector = new WeakMap(), _GxIdeDeploymentTool_renderTargetSelector = new WeakMap(), _GxIdeDeploymentTool_renderDisplayNameInput = new WeakMap(), _GxIdeDeploymentTool_renderFooter = new WeakMap(), _GxIdeDeploymentTool_instances = new WeakSet(), _GxIdeDeploymentTool_flattenObjectTypes = function _GxIdeDeploymentTool_flattenObjectTypes(newState) {
595
+ _GxIdeDeploymentTool_componentLocale = new WeakMap(), _GxIdeDeploymentTool_renderedFirstTime = new WeakMap(), _GxIdeDeploymentTool_flattenedObjectTypeData = new WeakMap(), _GxIdeDeploymentTool_currentDeploymentUnitId = new WeakMap(), _GxIdeDeploymentTool_onlyPackageCheckboxEl = new WeakMap(), _GxIdeDeploymentTool_targetTypesEl = new WeakMap(), _GxIdeDeploymentTool_applicationServerEl = new WeakMap(), _GxIdeDeploymentTool_generatorEl = new WeakMap(), _GxIdeDeploymentTool_deploymentUnitsEl = new WeakMap(), _GxIdeDeploymentTool_displayNameEl = new WeakMap(), _GxIdeDeploymentTool_getInitialSelectedTarget = new WeakMap(), _GxIdeDeploymentTool_evaluateObjects = new WeakMap(), _GxIdeDeploymentTool_handleGetDeploymentUnitObjectsCallback = new WeakMap(), _GxIdeDeploymentTool_loadDeploymentUnits = new WeakMap(), _GxIdeDeploymentTool_handleCreateDeploymentUnit = new WeakMap(), _GxIdeDeploymentTool_optionsCallbackHandler = new WeakMap(), _GxIdeDeploymentTool_addNewTypesToModel = new WeakMap(), _GxIdeDeploymentTool_addObjectsCallbackHandler = new WeakMap(), _GxIdeDeploymentTool_deployCallbackHandler = new WeakMap(), _GxIdeDeploymentTool_getApplicationServer = new WeakMap(), _GxIdeDeploymentTool_handleTargetTypesChange = new WeakMap(), _GxIdeDeploymentTool_objectsTreeCheckedItemsChangedHandler = new WeakMap(), _GxIdeDeploymentTool_evaluateContentToDisplay = new WeakMap(), _GxIdeDeploymentTool_getComboModel = new WeakMap(), _GxIdeDeploymentTool_getComboModelItem = new WeakMap(), _GxIdeDeploymentTool_renderComboSelector = new WeakMap(), _GxIdeDeploymentTool_renderHeader = new WeakMap(), _GxIdeDeploymentTool_renderApplicationServerSelector = new WeakMap(), _GxIdeDeploymentTool_renderGeneratorSelector = new WeakMap(), _GxIdeDeploymentTool_renderTargetSelector = new WeakMap(), _GxIdeDeploymentTool_renderDisplayNameInput = new WeakMap(), _GxIdeDeploymentTool_renderFooter = new WeakMap(), _GxIdeDeploymentTool_instances = new WeakSet(), _GxIdeDeploymentTool_flattenObjectTypes = function _GxIdeDeploymentTool_flattenObjectTypes(newState) {
538
596
  newState.forEach(objectType => {
539
597
  __classPrivateFieldGet(this, _GxIdeDeploymentTool_flattenedObjectTypeData, "f").set(objectType.id, objectType);
540
598
  });
@@ -1 +1 @@
1
- {"version":3,"file":"deployment-tool.js","sourceRoot":"","sources":["../../../src/components/deployment-tool/deployment-tool.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n Event,\n Element,\n State,\n EventEmitter,\n Watch\n} from \"@stencil/core\";\n\n// Other Libraries\nimport {\n TreeViewItemModel,\n TreeViewItemModelExtended\n} from \"@genexus/chameleon-controls-library/dist/types/components/tree-view/types\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n\nimport { createArrayOfItems } from \"./helpers\";\n\n// Custom Imports\nimport { Locale } from \"../../common/locale\";\nimport { KB_OBJECT } from \"./helpers\";\nimport {\n ComboBoxItemModel,\n ComboBoxModel\n} from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\nimport { ChComboBoxRenderCustomEvent } from \"@genexus/chameleon-controls-library\";\nimport { ObjectBaseData } from \"../../common/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\",\n \"components/button\",\n \"components/checkbox\",\n \"components/edit\",\n \"components/tree-view\",\n \"components/combo-box\",\n \"components/icon\",\n \"utils/spacing\"\n];\n\n@Component({\n tag: \"gx-ide-deployment-tool\",\n styleUrl: \"deployment-tool.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/deployment-tool\"]\n})\nexport class GxIdeDeploymentTool {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n #renderedFirstTime = false;\n #flattenedObjectTypeData: Map<string, ObjectTypeData> = new Map();\n #currentDeploymentUnitId: string | undefined;\n\n @Element() el: HTMLGxIdeDeploymentToolElement;\n #onlyPackageCheckboxEl!: HTMLChCheckboxElement;\n #targetTypesEl!: HTMLChComboBoxRenderElement;\n #applicationServerEl!: HTMLChComboBoxRenderElement;\n #generatorEl!: HTMLChComboBoxRenderElement;\n #deploymentUnitsEl!: HTMLChComboBoxRenderElement;\n #displayNameEl!: HTMLChEditElement;\n\n @State() checkedObjectsIds: string[] = [];\n @State() noObjects: boolean;\n @State() selectedDeployTargetData: DeployTargetData = null;\n @State() addedObjects: TypedObjectData[] = [];\n @State() allObjectTypes: ObjectTypeData[];\n @State() treeModel: TreeViewItemModel[] = [];\n @State() allowDeploy: boolean = true;\n @Watch(\"treeModel\")\n watchTreeModelHandler(newState: TreeViewItemModel[]) {\n this.noObjects = !!(newState.length === 0 || !newState);\n }\n\n /**\n * Available deployment units list\n */\n @Prop() readonly deploymentUnits: ObjectBaseData[];\n\n /**\n * Available target types list\n */\n @Prop() readonly targetTypes: DeployTargetData[];\n\n /**\n * Defines id for new deployment unit option\n */\n @Prop() readonly newDeploymentUnitId: string;\n\n /**\n * Array of possible object types\n */\n @Prop() readonly objectTypes: ObjectTypeData[];\n @Watch(\"objectTypes\")\n watchObjectTypesHandler(newState: ObjectTypeData[]) {\n this.#flattenObjectTypes(newState);\n }\n\n /**\n * Callback invoked when the user wants to access the export options.\n */\n // eslint-disable-next-line @stencil-community/decorators-style\n @Prop()\n readonly getDeploymentUnitObjectsCallback: GetDeploymentUnitObjectsCallback;\n\n /**\n * Callback invoked when the user wants to access the export options.\n */\n @Prop() readonly optionsCallback: OptionsCallback;\n\n /**\n * Callback invoked when user wants to start deploy process\n */\n @Prop() readonly deployCallback: DeployCallback;\n\n /**\n * Callback invoked when the user wants to add objects.\n */\n @Prop() readonly addObjectsCallback: AddObjectsCallback;\n\n /**\n * Callback invoked when the user wants to create a deployment unit.\n */\n @Prop() readonly createDeploymentUnitCallback: CreateDeploymentUnitCallback;\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.selectedDeployTargetData = this.targetTypes[0];\n this.allObjectTypes = [...this.objectTypes];\n this.#evaluateObjects();\n this.#flattenObjectTypes(this.allObjectTypes);\n if (this.deploymentUnits.length > 0) {\n this.#loadDeploymentUnits(this.deploymentUnits[0].id);\n\n if (this.targetTypes.length > 0 && this.optionsCallback) {\n this.optionsCallback(\n this.deploymentUnits[0].id,\n this.targetTypes[0].id\n );\n }\n }\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 #evaluateObjects = () => {\n this.noObjects = !!(this.treeModel?.length === 0 || !this.treeModel);\n };\n\n #handleGetDeploymentUnitObjectsCallback = async (ev: any) => {\n await this.#loadDeploymentUnits(ev.detail);\n this.#optionsCallbackHandler();\n };\n\n #loadDeploymentUnits = async (id: string) => {\n if (id === this.newDeploymentUnitId) {\n await this.#handleCreateDeploymentUnit();\n return;\n }\n\n this.#currentDeploymentUnitId = id;\n\n const objectData = await this.getDeploymentUnitObjectsCallback(id);\n this.addedObjects = [...objectData];\n this.treeModel = createArrayOfItems(this.addedObjects, this.allObjectTypes);\n };\n\n #handleCreateDeploymentUnit = async () => {\n if (this.createDeploymentUnitCallback) {\n const deploymentUnitData = await this.createDeploymentUnitCallback();\n if (!deploymentUnitData) {\n return;\n }\n\n // Update deployment units:\n this.deploymentUnits.unshift(deploymentUnitData);\n\n // Update combo:\n const comboModelItem = this.#getComboModel([deploymentUnitData]);\n this.#deploymentUnitsEl.model = comboModelItem.concat(\n this.#deploymentUnitsEl.model\n );\n this.#deploymentUnitsEl.value = deploymentUnitData.id;\n\n // Trigger selection callback:\n await this.#loadDeploymentUnits(deploymentUnitData.id);\n }\n };\n\n #optionsCallbackHandler = () => {\n if (this.optionsCallback) {\n this.optionsCallback(\n this.#deploymentUnitsEl.value,\n this.#targetTypesEl.value\n );\n }\n };\n\n #addNewTypesToModel = () => {\n const allTypes: ObjectTypeData[] = [...this.allObjectTypes];\n\n this.addedObjects.forEach(addedObject => {\n const matchingType = this.allObjectTypes.find(\n objectType => objectType.id === addedObject.type\n );\n\n if (!matchingType) {\n allTypes.push({\n id: addedObject.type,\n name: addedObject.type,\n icon: \"\"\n });\n }\n });\n this.allObjectTypes = [...allTypes];\n };\n\n #addObjectsCallbackHandler = async () => {\n if (this.addObjectsCallback) {\n const objects: TypedObjectData[] = await this.addObjectsCallback();\n this.addedObjects = [...objects, ...this.addedObjects];\n\n this.#addNewTypesToModel();\n this.treeModel = createArrayOfItems(\n this.addedObjects,\n this.allObjectTypes\n );\n }\n };\n\n #deployCallbackHandler = async () => {\n const data: DeployData = {\n targetId: this.#targetTypesEl.value,\n applicationServerId: this.#applicationServerEl?.value,\n displayName: this.#displayNameEl?.value,\n generatorId: this.#generatorEl?.value,\n onlyPackage: this.#onlyPackageCheckboxEl\n ? this.#onlyPackageCheckboxEl.value === \"true\"\n : undefined,\n objects: this.checkedObjectsIds\n };\n\n if (this.deployCallback) {\n this.allowDeploy = false;\n await this.deployCallback(data);\n this.allowDeploy = true;\n }\n };\n\n #handleTargetTypesChange = (ev: any) => {\n const selectedId = ev.detail;\n\n this.selectedDeployTargetData =\n this.targetTypes.find(targetType => targetType.id === selectedId) || null;\n\n this.#optionsCallbackHandler();\n };\n\n #flattenObjectTypes(newState: ObjectTypeData[]) {\n newState.forEach(objectType => {\n this.#flattenedObjectTypeData.set(objectType.id, objectType);\n });\n }\n\n #objectsTreeCheckedItemsChangedHandler = (\n event: CustomEvent<Map<string, TreeViewItemModelExtended>>\n ) => {\n const allItemsWithCheckbox = [...event.detail.values()];\n\n this.checkedObjectsIds = allItemsWithCheckbox\n .filter(\n checkedItem =>\n checkedItem.item.checked && checkedItem.item.metadata === KB_OBJECT\n )\n .map(checkedItem => checkedItem.item.id);\n };\n\n #evaluateContentToDisplay = () => {\n if (this.noObjects) {\n return (\n <gx-ide-empty-state\n isAnimated={false}\n stateTitle={this.#componentLocale.main.noObjectsToDisplay}\n key=\"no-objects-empty-state\"\n stateIconSrc=\"objects/object\"\n ></gx-ide-empty-state>\n );\n }\n\n return (\n <ch-tree-view-render\n class=\"tree-view\"\n model={this.treeModel}\n dragDisabled={true}\n dropDisabled={true}\n toggleCheckboxes={true}\n showLines=\"last\"\n checked={true}\n checkbox={true}\n onCheckedItemsChange={this.#objectsTreeCheckedItemsChangedHandler}\n />\n );\n };\n\n #getComboModel = (baseCollection: ObjectBaseData[]): ComboBoxModel => {\n return baseCollection.map(\n obj =>\n ({\n caption: obj.name,\n value: obj.id\n } as ComboBoxItemModel)\n );\n };\n\n #renderComboSelector = (\n properties: ComboSelectorProperties,\n withField: boolean = false\n ) => {\n const controlId = properties.label.replace(/ /g, \"-\").toLowerCase();\n const labelClasses = `label ${controlId}`;\n const labelAndComboBox = [\n <label class={labelClasses} htmlFor={controlId}>\n {properties.label}\n </label>,\n <ch-combo-box-render\n class=\"combo-box\"\n value={\n properties.value ? properties.value : properties.baseModel[0]?.id\n }\n model={this.#getComboModel(properties.baseModel)}\n id={controlId}\n ref={properties.refCallback}\n onInput={properties.onInputCallback}\n />\n ];\n return withField ? (\n <div class=\"field field-inline\">{labelAndComboBox}</div>\n ) : (\n labelAndComboBox\n );\n };\n\n #renderHeader = () => {\n return (\n <div slot=\"header\" class=\"header control-header-with-border\">\n {this.#renderComboSelector(\n {\n id: \"deploymentUnits\",\n baseModel: this.deploymentUnits,\n label: this.#componentLocale.header.objectsToDeploy,\n value: this.#currentDeploymentUnitId,\n refCallback: (el: HTMLChComboBoxRenderElement) => {\n this.#deploymentUnitsEl = el as HTMLChComboBoxRenderElement;\n },\n onInputCallback: this.#handleGetDeploymentUnitObjectsCallback\n },\n true\n )}\n\n <button\n class=\"button-primary\"\n onClick={this.#addObjectsCallbackHandler}\n >\n {this.#componentLocale.main.addButton}\n </button>\n </div>\n );\n };\n\n #renderApplicationServerSelector = () => {\n return this.#renderComboSelector({\n id: \"application-servers\",\n baseModel: this.selectedDeployTargetData?.applicationServers,\n label: this.#componentLocale.main.applicationServer,\n refCallback: (el: HTMLChComboBoxRenderElement) => {\n this.#applicationServerEl = el as HTMLChComboBoxRenderElement;\n }\n });\n };\n\n #renderGeneratorSelector = () => {\n return this.#renderComboSelector({\n id: \"generator\",\n baseModel: this.selectedDeployTargetData?.generators,\n label: this.#componentLocale.main.generator,\n refCallback: (el: HTMLChComboBoxRenderElement) => {\n this.#generatorEl = el as HTMLChComboBoxRenderElement;\n }\n });\n };\n\n #renderTargetSelector = () => {\n return [\n this.#renderComboSelector({\n id: \"targetTypes\",\n baseModel: this.targetTypes,\n label: this.#componentLocale.main.targetTypes,\n refCallback: (el: HTMLChComboBoxRenderElement) => {\n this.#targetTypesEl = el as HTMLChComboBoxRenderElement;\n },\n onInputCallback: this.#handleTargetTypesChange\n }),\n <div class=\"target-types-button-checkbox-wrapper buttons-spacer\">\n <button\n class=\"button-tertiary button-icon-only\"\n onClick={this.#optionsCallbackHandler}\n >\n <ch-image class=\"icon-md\" src=\"system/settings/primary\" />\n </button>\n <ch-checkbox\n disabled={!this.selectedDeployTargetData?.canCreatePackage}\n class=\"checkbox\"\n caption={this.#componentLocale.main.onlyPackageLabel}\n part=\"only-package-checkbox\"\n checkedValue=\"true\"\n value=\"false\"\n ref={(el: HTMLChCheckboxElement) =>\n (this.#onlyPackageCheckboxEl = el as HTMLChCheckboxElement)\n }\n />\n </div>\n ];\n };\n\n #renderDisplayNameInput = () => {\n return [\n <label class=\"label display-name\" htmlFor=\"display-name\">\n {this.#componentLocale.main.displayName}\n </label>,\n <ch-edit\n class=\"input\"\n id=\"display-name\"\n ref={(el: HTMLChEditElement) => {\n if (el) {\n this.#displayNameEl = el;\n }\n }}\n />\n ];\n };\n\n #renderFooter = () => {\n return (\n <div slot=\"footer-end\" class=\"footer control-footer-with-border\">\n <button\n class=\"button-primary\"\n onClick={this.#deployCallbackHandler}\n disabled={!this.allowDeploy}\n >\n {this.#componentLocale.main.deployButton}\n </button>\n </div>\n );\n };\n\n render(): void {\n return (\n <Host class=\"widget spacing-body\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n {this.#renderHeader()}\n\n <div class=\"container-wrapper\">{this.#evaluateContentToDisplay()}</div>\n <div class=\"deploy-properties\">\n {this.#renderTargetSelector()}\n\n {this.selectedDeployTargetData?.applicationServers?.length > 0\n ? this.#renderApplicationServerSelector()\n : []}\n\n {this.selectedDeployTargetData?.generators?.length > 0\n ? this.#renderGeneratorSelector()\n : []}\n\n <p class=\"body-italic-s target-type__description\">\n {this.selectedDeployTargetData?.description}\n </p>\n\n {this.selectedDeployTargetData?.canDefineDisplayName\n ? this.#renderDisplayNameInput()\n : []}\n </div>\n\n {this.#renderFooter()}\n </Host>\n );\n }\n}\n\ntype ComboSelectorProperties = {\n class?: string;\n id: string;\n baseModel: ObjectBaseData[];\n value?: string;\n label: string;\n refCallback: (el: HTMLChComboBoxRenderElement) => void;\n onInputCallback?: ((event: ChComboBoxRenderCustomEvent<string>) => void) &\n ((event: InputEvent) => void);\n};\n\nexport type AddObjectsCallback = () => Promise<TypedObjectData[]>;\nexport type OptionsCallback = (\n delpoymentUnitId: string,\n targetId: string\n) => Promise<void>;\nexport type GetDeploymentUnitObjectsCallback = (\n id: string\n) => Promise<TypedObjectData[]>;\n\nexport type DeployCallback = (data: DeployData) => Promise<boolean>;\n\nexport type CreateDeploymentUnitCallback = () => Promise<\n ObjectBaseData | undefined\n>;\n\nexport type ObjectTypeData = ObjectBaseData & {\n icon: string;\n};\n\nexport type DeployTargetData = ObjectBaseData & {\n canCreatePackage: boolean;\n canDefineDisplayName: boolean;\n applicationServers: ObjectBaseData[];\n generators: ObjectBaseData[];\n description: string;\n};\n\nexport type TypedObjectData = ObjectBaseData & {\n type: string;\n};\n\nexport type DeployData = {\n targetId: string;\n applicationServerId?: string;\n displayName?: string;\n generatorId?: string;\n onlyPackage: boolean;\n objects: string[];\n};\n"]}
1
+ {"version":3,"file":"deployment-tool.js","sourceRoot":"","sources":["../../../src/components/deployment-tool/deployment-tool.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n Event,\n Element,\n State,\n EventEmitter,\n Watch\n} from \"@stencil/core\";\n\n// Other Libraries\nimport {\n TreeViewItemModel,\n TreeViewItemModelExtended\n} from \"@genexus/chameleon-controls-library/dist/types/components/tree-view/types\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n\nimport { createArrayOfItems } from \"./helpers\";\n\n// Custom Imports\nimport { Locale } from \"../../common/locale\";\nimport { KB_OBJECT } from \"./helpers\";\nimport {\n ComboBoxItemModel,\n ComboBoxModel\n} from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\nimport { ChComboBoxRenderCustomEvent } from \"@genexus/chameleon-controls-library\";\nimport { ObjectBaseData } from \"../../common/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\",\n \"components/button\",\n \"components/checkbox\",\n \"components/edit\",\n \"components/tree-view\",\n \"components/combo-box\",\n \"components/icon\",\n \"utils/spacing\"\n];\n\nconst CHECKBOX_CHECKED_VALUE = \"true\";\nconst CHECKBOX_UNCHECKED_VALUE = \"false\";\n\n@Component({\n tag: \"gx-ide-deployment-tool\",\n styleUrl: \"deployment-tool.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/deployment-tool\"]\n})\nexport class GxIdeDeploymentTool {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n #renderedFirstTime = false;\n #flattenedObjectTypeData: Map<string, ObjectTypeData> = new Map();\n #currentDeploymentUnitId: string | undefined;\n\n @Element() el: HTMLGxIdeDeploymentToolElement;\n #onlyPackageCheckboxEl!: HTMLChCheckboxElement;\n #targetTypesEl!: HTMLChComboBoxRenderElement;\n #applicationServerEl!: HTMLChComboBoxRenderElement;\n #generatorEl!: HTMLChComboBoxRenderElement;\n #deploymentUnitsEl!: HTMLChComboBoxRenderElement;\n #displayNameEl!: HTMLChEditElement;\n\n @State() checkedObjectsIds: string[] = [];\n @State() noObjects: boolean;\n @State() selectedDeployTargetData: DeployTargetData = null;\n @State() addedObjects: TypedObjectData[] = [];\n @State() allObjectTypes: ObjectTypeData[];\n @State() treeModel: TreeViewItemModel[] = [];\n @State() allowDeploy: boolean = true;\n @Watch(\"treeModel\")\n watchTreeModelHandler(newState: TreeViewItemModel[]) {\n this.noObjects = !!(newState.length === 0 || !newState);\n }\n\n /**\n * Available deployment units list\n */\n @Prop() readonly deploymentUnits: ObjectBaseData[];\n\n /**\n * Available target types list\n */\n @Prop() readonly targetTypes: DeployTargetData[];\n\n /**\n * Defines the default target type (will be selected by default)\n */\n @Prop() readonly defaultTargetTypeId?: string;\n\n /**\n * Defines id for new deployment unit option\n */\n @Prop() readonly newDeploymentUnitId: string;\n\n /**\n * Array of possible object types\n */\n @Prop() readonly objectTypes: ObjectTypeData[];\n @Watch(\"objectTypes\")\n watchObjectTypesHandler(newState: ObjectTypeData[]) {\n this.#flattenObjectTypes(newState);\n }\n\n /**\n * Callback invoked when the user wants to access the export options.\n */\n // eslint-disable-next-line @stencil-community/decorators-style\n @Prop()\n readonly getDeploymentUnitObjectsCallback: GetDeploymentUnitObjectsCallback;\n\n /**\n * Callback invoked when the user wants to access the export options.\n */\n @Prop() readonly optionsCallback: OptionsCallback;\n\n /**\n * Callback invoked when user wants to start deploy process\n */\n @Prop() readonly deployCallback: DeployCallback;\n\n /**\n * Callback invoked when the user wants to add objects.\n */\n @Prop() readonly addObjectsCallback: AddObjectsCallback;\n\n /**\n * Callback invoked when the user wants to create a deployment unit.\n */\n @Prop() readonly createDeploymentUnitCallback: CreateDeploymentUnitCallback;\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.selectedDeployTargetData = this.#getInitialSelectedTarget();\n this.allObjectTypes = [...this.objectTypes];\n this.#evaluateObjects();\n this.#flattenObjectTypes(this.allObjectTypes);\n if (this.deploymentUnits.length > 0) {\n this.#loadDeploymentUnits(this.deploymentUnits[0].id);\n\n if (this.targetTypes.length > 0 && this.optionsCallback) {\n this.optionsCallback(\n this.deploymentUnits[0].id,\n this.targetTypes[0].id\n );\n }\n }\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 #getInitialSelectedTarget = () => {\n if (this.defaultTargetTypeId) {\n const target = this.targetTypes.find(\n itTarget => itTarget.id === this.defaultTargetTypeId\n );\n if (target) {\n return target;\n }\n }\n return this.targetTypes[0];\n };\n\n #evaluateObjects = () => {\n this.noObjects = !!(this.treeModel?.length === 0 || !this.treeModel);\n };\n\n #handleGetDeploymentUnitObjectsCallback = async (ev: any) => {\n await this.#loadDeploymentUnits(ev.detail);\n this.#optionsCallbackHandler();\n };\n\n #loadDeploymentUnits = async (id: string) => {\n if (id === this.newDeploymentUnitId) {\n // New deployment unit should be created before executing the deploy action.\n return;\n }\n\n this.#currentDeploymentUnitId = id;\n\n const objectData = await this.getDeploymentUnitObjectsCallback(id);\n this.addedObjects = [...objectData];\n this.treeModel = createArrayOfItems(this.addedObjects, this.allObjectTypes);\n };\n\n #handleCreateDeploymentUnit = async () => {\n if (this.createDeploymentUnitCallback) {\n const deploymentUnitData = await this.createDeploymentUnitCallback();\n if (!deploymentUnitData) {\n return;\n }\n\n if (!this.deploymentUnits.find(du => du.id === deploymentUnitData.id)) {\n // Update deployment units:\n this.deploymentUnits.unshift(deploymentUnitData);\n\n // Update combo:\n const deploymentUnitComboBoxItem =\n this.#getComboModelItem(deploymentUnitData);\n\n const updatedDeploymentUnitsModel = [\n deploymentUnitComboBoxItem,\n ...this.#deploymentUnitsEl.model\n ];\n this.#deploymentUnitsEl.model = updatedDeploymentUnitsModel;\n }\n\n this.#deploymentUnitsEl.value = deploymentUnitData.id;\n\n // Trigger selection callback:\n await this.#loadDeploymentUnits(deploymentUnitData.id);\n }\n };\n\n #optionsCallbackHandler = () => {\n if (this.optionsCallback) {\n this.optionsCallback(\n this.#deploymentUnitsEl.value,\n this.#targetTypesEl.value\n );\n }\n };\n\n #addNewTypesToModel = () => {\n const allTypes: ObjectTypeData[] = [...this.allObjectTypes];\n\n this.addedObjects.forEach(addedObject => {\n const matchingType = this.allObjectTypes.find(\n objectType => objectType.id === addedObject.type\n );\n\n if (!matchingType) {\n allTypes.push({\n id: addedObject.type,\n name: addedObject.type,\n icon: \"\"\n });\n }\n });\n this.allObjectTypes = [...allTypes];\n };\n\n #addObjectsCallbackHandler = async () => {\n if (this.addObjectsCallback) {\n const objects: TypedObjectData[] = await this.addObjectsCallback();\n this.addedObjects = [...objects, ...this.addedObjects];\n\n this.#addNewTypesToModel();\n this.treeModel = createArrayOfItems(\n this.addedObjects,\n this.allObjectTypes\n );\n }\n };\n\n #deployCallbackHandler = async () => {\n if (this.#deploymentUnitsEl.value === this.newDeploymentUnitId) {\n await this.#handleCreateDeploymentUnit();\n }\n\n const data: DeployData = {\n targetId: this.#targetTypesEl.value,\n applicationServerId: this.#getApplicationServer(),\n displayName: this.#displayNameEl?.value,\n generatorId: this.#generatorEl?.value,\n onlyPackage: this.#onlyPackageCheckboxEl\n ? this.#onlyPackageCheckboxEl.value === CHECKBOX_CHECKED_VALUE\n : undefined,\n objects: this.checkedObjectsIds\n };\n\n if (this.deployCallback) {\n this.allowDeploy = false;\n await this.deployCallback(data);\n this.allowDeploy = true;\n }\n };\n\n #getApplicationServer = () => {\n if (this.#applicationServerEl?.value) {\n return this.#applicationServerEl.value;\n }\n return this.selectedDeployTargetData?.applicationServers.length > 0\n ? this.selectedDeployTargetData?.applicationServers[0].id\n : undefined;\n };\n\n #handleTargetTypesChange = (ev: any) => {\n const selectedId = ev.detail;\n\n this.selectedDeployTargetData =\n this.targetTypes.find(targetType => targetType.id === selectedId) || null;\n\n if (\n !this.selectedDeployTargetData.canCreatePackage &&\n this.#onlyPackageCheckboxEl.value === CHECKBOX_CHECKED_VALUE\n ) {\n this.#onlyPackageCheckboxEl.value = CHECKBOX_UNCHECKED_VALUE;\n }\n\n this.#optionsCallbackHandler();\n };\n\n #flattenObjectTypes(newState: ObjectTypeData[]) {\n newState.forEach(objectType => {\n this.#flattenedObjectTypeData.set(objectType.id, objectType);\n });\n }\n\n #objectsTreeCheckedItemsChangedHandler = (\n event: CustomEvent<Map<string, TreeViewItemModelExtended>>\n ) => {\n const allItemsWithCheckbox = [...event.detail.values()];\n\n this.checkedObjectsIds = allItemsWithCheckbox\n .filter(\n checkedItem =>\n checkedItem.item.checked && checkedItem.item.metadata === KB_OBJECT\n )\n .map(checkedItem => checkedItem.item.id);\n };\n\n #evaluateContentToDisplay = () => {\n if (this.noObjects) {\n return (\n <gx-ide-empty-state\n isAnimated={false}\n stateTitle={this.#componentLocale.main.noObjectsToDisplay}\n key=\"no-objects-empty-state\"\n stateIconSrc=\"objects/object\"\n ></gx-ide-empty-state>\n );\n }\n\n return (\n <ch-tree-view-render\n class=\"tree-view\"\n model={this.treeModel}\n dragDisabled={true}\n dropDisabled={true}\n toggleCheckboxes={true}\n showLines=\"last\"\n checked={true}\n checkbox={true}\n onCheckedItemsChange={this.#objectsTreeCheckedItemsChangedHandler}\n />\n );\n };\n\n #getComboModel = (baseCollection: ObjectBaseData[]): ComboBoxModel => {\n return baseCollection.map(obj => this.#getComboModelItem(obj));\n };\n\n #getComboModelItem = (\n baseCollectionItem: ObjectBaseData\n ): ComboBoxItemModel => {\n return {\n caption: baseCollectionItem.name,\n value: baseCollectionItem.id\n };\n };\n\n #renderComboSelector = (\n properties: ComboSelectorProperties,\n withField: boolean = false\n ) => {\n const controlId = properties.label.replace(/ /g, \"-\").toLowerCase();\n const labelClasses = `label ${controlId}`;\n const labelAndComboBox = [\n <label class={labelClasses} htmlFor={controlId}>\n {properties.label}\n </label>,\n <ch-combo-box-render\n class=\"combo-box\"\n value={\n properties.value ? properties.value : properties.baseModel[0]?.id\n }\n model={this.#getComboModel(properties.baseModel)}\n id={controlId}\n ref={properties.refCallback}\n onInput={properties.onInputCallback}\n />\n ];\n return withField ? (\n <div class=\"field field-inline\">{labelAndComboBox}</div>\n ) : (\n labelAndComboBox\n );\n };\n\n #renderHeader = () => {\n return (\n <div slot=\"header\" class=\"header control-header-with-border\">\n {this.#renderComboSelector(\n {\n id: \"deploymentUnits\",\n baseModel: this.deploymentUnits,\n label: this.#componentLocale.header.objectsToDeploy,\n value: this.#currentDeploymentUnitId,\n refCallback: (el: HTMLChComboBoxRenderElement) => {\n this.#deploymentUnitsEl = el as HTMLChComboBoxRenderElement;\n },\n onInputCallback: this.#handleGetDeploymentUnitObjectsCallback\n },\n true\n )}\n\n <button\n class=\"button-primary\"\n onClick={this.#addObjectsCallbackHandler}\n >\n {this.#componentLocale.main.addButton}\n </button>\n </div>\n );\n };\n\n #renderApplicationServerSelector = () => {\n return this.#renderComboSelector({\n id: \"application-servers\",\n baseModel: this.selectedDeployTargetData?.applicationServers,\n label: this.#componentLocale.main.applicationServer,\n refCallback: (el: HTMLChComboBoxRenderElement) => {\n this.#applicationServerEl = el as HTMLChComboBoxRenderElement;\n }\n });\n };\n\n #renderGeneratorSelector = () => {\n return this.#renderComboSelector({\n id: \"generator\",\n baseModel: this.selectedDeployTargetData?.generators,\n label: this.#componentLocale.main.generator,\n refCallback: (el: HTMLChComboBoxRenderElement) => {\n this.#generatorEl = el as HTMLChComboBoxRenderElement;\n }\n });\n };\n\n #renderTargetSelector = () => {\n return [\n this.#renderComboSelector({\n id: \"targetTypes\",\n baseModel: this.targetTypes,\n label: this.#componentLocale.main.targetTypes,\n value: this.selectedDeployTargetData\n ? this.selectedDeployTargetData.id\n : this.defaultTargetTypeId,\n refCallback: (el: HTMLChComboBoxRenderElement) => {\n this.#targetTypesEl = el as HTMLChComboBoxRenderElement;\n },\n onInputCallback: this.#handleTargetTypesChange\n }),\n <div class=\"target-types-button-checkbox-wrapper buttons-spacer\">\n <button\n class=\"button-tertiary button-icon-only\"\n onClick={this.#optionsCallbackHandler}\n >\n <ch-image class=\"icon-md\" src=\"system/settings/primary\" />\n </button>\n <ch-checkbox\n disabled={!this.selectedDeployTargetData?.canCreatePackage}\n class=\"checkbox\"\n caption={this.#componentLocale.main.onlyPackageLabel}\n part=\"only-package-checkbox\"\n checkedValue={CHECKBOX_CHECKED_VALUE}\n unCheckedValue={CHECKBOX_UNCHECKED_VALUE}\n value={CHECKBOX_UNCHECKED_VALUE}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#onlyPackageCheckboxEl = el as HTMLChCheckboxElement)\n }\n />\n </div>\n ];\n };\n\n #renderDisplayNameInput = () => {\n return [\n <label class=\"label display-name\" htmlFor=\"display-name\">\n {this.#componentLocale.main.displayName}\n </label>,\n <ch-edit\n class=\"input\"\n id=\"display-name\"\n ref={(el: HTMLChEditElement) => {\n if (el) {\n this.#displayNameEl = el;\n }\n }}\n />\n ];\n };\n\n #renderFooter = () => {\n return (\n <div slot=\"footer-end\" class=\"footer control-footer-with-border\">\n <button\n class=\"button-primary\"\n onClick={this.#deployCallbackHandler}\n disabled={!this.allowDeploy}\n >\n {this.#componentLocale.main.deployButton}\n </button>\n </div>\n );\n };\n\n render(): void {\n return (\n <Host class=\"widget spacing-body\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n {this.#renderHeader()}\n\n <div class=\"container-wrapper\">{this.#evaluateContentToDisplay()}</div>\n <div class=\"deploy-properties\">\n {this.#renderTargetSelector()}\n\n {this.selectedDeployTargetData?.applicationServers?.length > 1 &&\n this.selectedDeployTargetData.canSelectApplicationServer\n ? this.#renderApplicationServerSelector()\n : []}\n\n {this.selectedDeployTargetData?.generators?.length > 0\n ? this.#renderGeneratorSelector()\n : []}\n\n <p class=\"body-italic-s target-type__description\">\n {this.selectedDeployTargetData?.description}\n </p>\n\n {this.selectedDeployTargetData?.canDefineDisplayName\n ? this.#renderDisplayNameInput()\n : []}\n </div>\n\n {this.#renderFooter()}\n </Host>\n );\n }\n}\n\ntype ComboSelectorProperties = {\n class?: string;\n id: string;\n baseModel: ObjectBaseData[];\n value?: string;\n label: string;\n refCallback: (el: HTMLChComboBoxRenderElement) => void;\n onInputCallback?: ((event: ChComboBoxRenderCustomEvent<string>) => void) &\n ((event: InputEvent) => void);\n};\n\nexport type AddObjectsCallback = () => Promise<TypedObjectData[]>;\nexport type OptionsCallback = (\n delpoymentUnitId: string,\n targetId: string\n) => Promise<void>;\nexport type GetDeploymentUnitObjectsCallback = (\n id: string\n) => Promise<TypedObjectData[]>;\n\nexport type DeployCallback = (data: DeployData) => Promise<boolean>;\n\nexport type CreateDeploymentUnitCallback = () => Promise<\n ObjectBaseData | undefined\n>;\n\nexport type ObjectTypeData = ObjectBaseData & {\n icon: string;\n};\n\nexport type DeployTargetData = ObjectBaseData & {\n canCreatePackage: boolean;\n canDefineDisplayName: boolean;\n canSelectApplicationServer: boolean;\n applicationServers: ObjectBaseData[];\n generators: ObjectBaseData[];\n description: string;\n};\n\nexport type TypedObjectData = ObjectBaseData & {\n type: string;\n};\n\nexport type DeployData = {\n targetId: string;\n applicationServerId?: string;\n displayName?: string;\n generatorId?: string;\n onlyPackage: boolean;\n objects: string[];\n};\n"]}
@@ -56,7 +56,7 @@ export class GxIdeTeamDevUpdate {
56
56
  }
57
57
  };
58
58
  this.renderOptions = () => {
59
- return (h("div", { class: "options-wrapper" }, h("gx-ide-container", { part: "options-update-from", containerTitle: this._componentLocale.options.updateFrom, titleType: "secondary", contentBorderEnd: true, noContentPadding: true }, h("gx-ide-list-selector", { type: "single-selection", listName: "commit-recent-messages", readonly: true, noListBorder: true }, h("gx-ide-list-selector-item", { icon: "window-tools/genexus-cloud", itemId: "genexus-server", itemValue: undefined, class: "genexus-server", onClick: this.genexusServerUrlHandler }, `${this._componentLocale.options.updateFrom}:`, h("gxg-text", { type: "text-link" }, this.updateFrom ? this.updateFrom.serverUrl : "")), h("gx-ide-list-selector-item", { icon: "general/knowledge-base", itemId: "knowledge-base", itemValue: `${this._componentLocale.options.knowledgeBase}: ${this.updateFrom ? this.updateFrom.kbName : ""}` }), h("gx-ide-list-selector-item", { icon: "general/version", itemId: "version", itemValue: `${this._componentLocale.options.version}: ${this.updateFrom ? this.updateFrom.versionName : ""}` }), h("gx-ide-list-selector-item", { icon: "window-tools/last-changes-view", itemId: "last-full-update", itemValue: `${this._componentLocale.options.lastFullUpdate}:${formatDate(this.updateFrom.lastFullUpdate)}` }))), h("gx-ide-container", { part: "options-scope", containerTitle: this._componentLocale.options.scope, titleType: "secondary" }, h("div", { class: "scope" }, h("div", { class: "row" }, h("gxg-label", { labelPosition: "start", center: true, noMargin: true }, this._componentLocale.options.objects, ":"), h("span", { class: {
59
+ return (h("div", { class: "options-wrapper" }, h("gx-ide-container", { part: "options-update-from", containerTitle: this._componentLocale.options.updateFrom, titleType: "secondary", contentBorderEnd: true, noContentPadding: true }, h("gx-ide-list-selector", { type: "single-selection", listName: "commit-recent-messages", readonly: true, noListBorder: true }, h("gx-ide-list-selector-item", { icon: "window-tools/genexus-cloud", itemId: "genexus-server", itemValue: undefined, class: "genexus-server", onClick: this.genexusServerUrlHandler }, `${this._componentLocale.options.updateFrom}:`, h("gxg-text", { type: "text-link" }, this.updateFrom ? this.updateFrom.serverUrl : "")), h("gx-ide-list-selector-item", { icon: "general/knowledge-base", itemId: "knowledge-base", itemValue: `${this._componentLocale.options.knowledgeBase}: ${this.updateFrom ? this.updateFrom.kbName : ""}` }), h("gx-ide-list-selector-item", { icon: "general/version", itemId: "version", itemValue: `${this._componentLocale.options.version}: ${this.updateFrom ? this.updateFrom.versionName : ""}` }), h("gx-ide-list-selector-item", { icon: "window-tools/last-changes-view", itemId: "last-full-update", itemValue: `${this._componentLocale.options.lastFullUpdate}: ${formatDate(this.updateFrom.lastFullUpdate)}` }))), h("gx-ide-container", { part: "options-scope", containerTitle: this._componentLocale.options.scope, titleType: "secondary" }, h("div", { class: "scope" }, h("div", { class: "row" }, h("gxg-label", { labelPosition: "start", center: true, noMargin: true }, this._componentLocale.options.objects, ":"), h("span", { class: {
60
60
  bold: this.objectScopeText === "partial",
61
61
  value: true
62
62
  } }, this._componentLocale.options.scopeData.objects[this.objectScopeText.toLocaleLowerCase()]), h("gxg-text", { type: "text-link", onClick: this.objectsScope, part: "gxg-button gxg-button--scope-objects-change" }, this._componentLocale.options.changeBtn)), h("div", { class: "row" }, h("gxg-label", { labelPosition: "start", center: true, noMargin: true }, this._componentLocale.options.revision, ":"), h("span", { class: {