@genexus/genexus-ide-ui 3.2.3 → 3.2.5

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 (30) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +12 -4
  3. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js.map +1 -1
  4. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +37 -11
  5. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/collection/components/gam-installation-settings/gam-installation-settings.js +12 -4
  8. package/dist/collection/components/gam-installation-settings/gam-installation-settings.js.map +1 -1
  9. package/dist/collection/components/kb-manager-import/kb-manager-import.js +39 -12
  10. package/dist/collection/components/kb-manager-import/kb-manager-import.js.map +1 -1
  11. package/dist/components/gx-ide-gam-installation-settings.js +12 -4
  12. package/dist/components/gx-ide-gam-installation-settings.js.map +1 -1
  13. package/dist/components/gx-ide-kb-manager-import.js +38 -11
  14. package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
  15. package/dist/esm/genexus-ide-ui.js +1 -1
  16. package/dist/esm/gx-ide-gam-installation-settings.entry.js +12 -4
  17. package/dist/esm/gx-ide-gam-installation-settings.entry.js.map +1 -1
  18. package/dist/esm/gx-ide-kb-manager-import.entry.js +37 -11
  19. package/dist/esm/gx-ide-kb-manager-import.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-06c31f23.entry.js → p-22aa1d86.entry.js} +58 -32
  24. package/dist/genexus-ide-ui/p-22aa1d86.entry.js.map +1 -0
  25. package/dist/genexus-ide-ui/{p-0620e8f2.entry.js → p-95ee765c.entry.js} +23 -14
  26. package/dist/genexus-ide-ui/p-95ee765c.entry.js.map +1 -0
  27. package/dist/types/components/kb-manager-import/kb-manager-import.d.ts +17 -1
  28. package/package.json +1 -1
  29. package/dist/genexus-ide-ui/p-0620e8f2.entry.js.map +0 -1
  30. package/dist/genexus-ide-ui/p-06c31f23.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"gam-installation-settings.js","sourceRoot":"","sources":["../../../src/components/gam-installation-settings/gam-installation-settings.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @stencil-community/own-props-must-be-private */\n/* STENCIL IMPORTS */\nimport { Component, Host, h, Prop, Element } from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/checkbox\",\n \"components/combo-box\",\n \"components/edit\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\"\n];\n@Component({\n tag: \"gx-ide-gam-installation-settings\",\n styleUrl: \"gam-installation-settings.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/gam-installation-settings\"]\n})\nexport class GxIdeGamInstallationSettings {\n /**\n * The component hard-coded strings translations.\n */\n #_componentLocale: any;\n\n @Element() el: HTMLGxIdeGamInstallationSettingsElement;\n\n #futureUpgradesComboEl!: HTMLChComboBoxRenderElement;\n #panelsCheckboxEl!: HTMLChCheckboxElement;\n #webPanelsCheckboxEl!: HTMLChCheckboxElement;\n\n /**\n * Callback invoked when the user wants to cancel the exportation process\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * Determines 'Panels' checkbox activation, enabled only if an SD generator is in the KB.\n * Otherwise, the checkbox is disabled.\n */\n @Prop() readonly canSelectPanels: boolean = false;\n\n /**\n * Specifies the configuration type to be used\n */\n @Prop() readonly configurationType: \"installation\" | \"update\" =\n \"installation\";\n\n /**\n * Defines default config for initializing the dialog with stored gam config data\n */\n @Prop() readonly defaultConfiguration: GamConfigData | undefined = {\n importWebPanels: true,\n importPanels: false,\n futureUpgrades: \"prompt\"\n };\n\n /**\n * Callback invoked when the user press repair button\n */\n @Prop() readonly repairCallback: RepairCallback;\n\n /**\n * Callback invoked when the user initiates the export process\n */\n @Prop() readonly saveCallback: SaveCallback;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n #cancelCallbackHandler = () => {\n this.cancelCallback();\n };\n\n #repairCallbackHandler = async () => {\n if (this.saveCallback) {\n const data: GamConfigData = {\n importWebPanels: !!this.#webPanelsCheckboxEl.value,\n importPanels: !!this.#panelsCheckboxEl.value,\n futureUpgrades: this.#futureUpgradesComboEl.value\n ? (this.#futureUpgradesComboEl.value as ComboValues)\n : null\n };\n await this.repairCallback(data);\n }\n };\n\n #renderFilters = () => {\n return (\n <div\n class=\"field-group\"\n role=\"region\"\n aria-label={this.#_componentLocale.filters.filtersHeading}\n >\n <h5 class=\"subtitle-regular-s margin-block-end-s\">\n {this.#_componentLocale.filters.filtersHeading}\n </h5>\n\n <div class=\"filters__wrapper\">\n <div\n class=\"field-group\"\n role=\"group\"\n aria-labelledby=\"frontend-objects-label\"\n >\n <div class=\"field field-block\">\n <label id=\"frontend-objects-label\" class=\"label\">\n {this.#_componentLocale.filters.frontEndObjects}\n </label>\n\n <div class=\"field-group-inline\">\n <ch-checkbox\n class=\"checkbox\"\n checkedValue=\"webPanels\"\n value={\n this.defaultConfiguration?.importWebPanels\n ? \"webPanels\"\n : undefined\n }\n caption={this.#_componentLocale.filters.webPanelsCheckbox}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#webPanelsCheckboxEl = el as HTMLChCheckboxElement)\n }\n part=\"web-panels-checkbox\"\n ></ch-checkbox>\n\n <ch-checkbox\n class=\"checkbox\"\n checkedValue=\"panels\"\n value={\n this.defaultConfiguration.importPanels &&\n this.canSelectPanels\n ? \"panels\"\n : undefined\n }\n caption={this.#_componentLocale.filters.panelsCheckbox}\n disabled={!this.canSelectPanels}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#panelsCheckboxEl = el as HTMLChCheckboxElement)\n }\n part=\"panels-checkbox\"\n ></ch-checkbox>\n </div>\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"future-upgrades-combo\">\n {this.#_componentLocale.filters.futureUpgradesComboLabel}\n </label>\n <ch-combo-box-render\n id=\"future-upgrades-combo\"\n class=\"combo-box\"\n value={this.defaultConfiguration.futureUpgrades}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#futureUpgradesComboEl =\n el as HTMLChComboBoxRenderElement)\n }\n model={[\n {\n value: \"automatic\",\n caption:\n this.#_componentLocale.manageFutureUpgrades\n .installAutomatically\n },\n {\n value: \"prompt\",\n caption:\n this.#_componentLocale.manageFutureUpgrades.promptMe\n },\n {\n value: \"never\",\n caption:\n this.#_componentLocale.manageFutureUpgrades.neverUpdate\n }\n ]}\n part=\"future-upgrades-combo\"\n ></ch-combo-box-render>\n </div>\n </div>\n </div>\n </div>\n );\n };\n\n #renderDescription = () => {\n return (\n <div class=\"description\">\n {this.configurationType === \"installation\"\n ? [\n <p class=\"text-body\">\n {\n this.#_componentLocale.header.headerTextInstallation\n .firstSentence\n }\n </p>,\n <p class=\"text-body\">\n {\n this.#_componentLocale.header.headerTextInstallation\n .secondSentence\n }\n </p>,\n <p class=\"text-body\">\n {\n this.#_componentLocale.header.headerTextInstallation\n .thirdSentence\n }\n </p>\n ]\n : [\n <p class=\"text-body\">\n {this.#_componentLocale.header.headerTextUpdate.firstSentence}\n </p>,\n <p class=\"text-body\">\n {this.#_componentLocale.header.headerTextUpdate.secondSentence}\n </p>\n ]}\n {/* header text */}\n </div>\n );\n };\n\n #saveCallbackHandler = async () => {\n if (this.saveCallback) {\n const data: GamConfigData = {\n importWebPanels: !!this.#webPanelsCheckboxEl.value,\n importPanels: !!this.#panelsCheckboxEl.value,\n futureUpgrades: this.#futureUpgradesComboEl.value\n ? (this.#futureUpgradesComboEl.value as ComboValues)\n : null\n };\n await this.saveCallback(data);\n }\n };\n\n render() {\n return (\n <Host class=\"widget spacing-body\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <div class=\"dialog-header dialog-header-with-border\">\n {this.#renderDescription()}\n </div>\n <div class=\"main-content field-group\">{this.#renderFilters()}</div>\n\n <div class=\"footer\">\n {this.configurationType === \"update\" && (\n <div class=\"footer-info\">\n <p>Use Repair to import GAM components again</p>\n </div>\n )}\n\n <div class=\"dialog-footer-with-border dialog-footer-space-between\">\n {this.configurationType === \"update\" && (\n <button\n id=\"repair-button\"\n class=\"button-secondary\"\n onClick={this.#repairCallbackHandler}\n part=\"button button--repair\"\n >\n Repair\n </button>\n )}\n <div class=\"buttons-spacer\">\n <button\n id=\"cancel-button\"\n class=\"button-secondary\"\n onClick={this.#cancelCallbackHandler}\n part=\"button button--cancel\"\n >\n Cancel\n </button>\n <button\n id=\"confirm-button\"\n class=\"button-primary\"\n onClick={this.#saveCallbackHandler}\n part=\"button button--confirm\"\n >\n Save\n </button>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n\nexport type CancelCallback = () => Promise<void>;\ntype ComboValues = \"automatic\" | \"prompt\" | \"never\";\nexport type GamConfigData = {\n importWebPanels: boolean;\n importPanels: boolean;\n futureUpgrades: \"never\" | \"prompt\" | \"automatic\";\n};\n\nexport type RepairCallback = (config: GamConfigData) => Promise<void>;\nexport type SaveCallback = (data: GamConfigData) => Promise<void>;\n"]}
1
+ {"version":3,"file":"gam-installation-settings.js","sourceRoot":"","sources":["../../../src/components/gam-installation-settings/gam-installation-settings.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @stencil-community/own-props-must-be-private */\n/* STENCIL IMPORTS */\nimport { Component, Host, h, Prop, Element } from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/checkbox\",\n \"components/combo-box\",\n \"components/edit\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\"\n];\n@Component({\n tag: \"gx-ide-gam-installation-settings\",\n styleUrl: \"gam-installation-settings.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/gam-installation-settings\"]\n})\nexport class GxIdeGamInstallationSettings {\n /**\n * The component hard-coded strings translations.\n */\n #_componentLocale: any;\n\n @Element() el: HTMLGxIdeGamInstallationSettingsElement;\n\n #futureUpgradesComboEl!: HTMLChComboBoxRenderElement;\n #panelsCheckboxEl!: HTMLChCheckboxElement;\n #webPanelsCheckboxEl!: HTMLChCheckboxElement;\n\n /**\n * Callback invoked when the user wants to cancel the exportation process\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * Determines 'Panels' checkbox activation, enabled only if an SD generator is in the KB.\n * Otherwise, the checkbox is disabled.\n */\n @Prop() readonly canSelectPanels: boolean = false;\n\n /**\n * Specifies the configuration type to be used\n */\n @Prop() readonly configurationType: \"installation\" | \"update\" =\n \"installation\";\n\n /**\n * Defines default config for initializing the dialog with stored gam config data\n */\n @Prop() readonly defaultConfiguration: GamConfigData | undefined = {\n importWebPanels: true,\n importPanels: false,\n futureUpgrades: \"prompt\"\n };\n\n /**\n * Callback invoked when the user press repair button\n */\n @Prop() readonly repairCallback: RepairCallback;\n\n /**\n * Callback invoked when the user initiates the export process\n */\n @Prop() readonly saveCallback: SaveCallback;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n #cancelCallbackHandler = () => {\n this.cancelCallback();\n };\n\n #checkboxChangeHandler = () => {\n if (!this.#webPanelsCheckboxEl.value && !this.#panelsCheckboxEl.value) {\n this.#futureUpgradesComboEl.value = \"never\";\n } else if (this.#futureUpgradesComboEl.value === \"never\") {\n this.#futureUpgradesComboEl.value = \"prompt\";\n }\n };\n\n #repairCallbackHandler = async () => {\n if (this.saveCallback) {\n const data: GamConfigData = {\n importWebPanels: !!this.#webPanelsCheckboxEl.value,\n importPanels: !!this.#panelsCheckboxEl.value,\n futureUpgrades: this.#futureUpgradesComboEl.value\n ? (this.#futureUpgradesComboEl.value as ComboValues)\n : null\n };\n await this.repairCallback(data);\n }\n };\n\n #renderFilters = () => {\n return (\n <div\n class=\"field-group\"\n role=\"region\"\n aria-label={this.#_componentLocale.filters.filtersHeading}\n >\n <h5 class=\"subtitle-regular-s margin-block-end-s\">\n {this.#_componentLocale.filters.filtersHeading}\n </h5>\n\n <div class=\"filters__wrapper\">\n <div\n class=\"field-group\"\n role=\"group\"\n aria-labelledby=\"frontend-objects-label\"\n >\n <div class=\"field field-block\">\n <label id=\"frontend-objects-label\" class=\"label\">\n {this.#_componentLocale.filters.frontEndObjects}\n </label>\n\n <div class=\"field-group-inline\">\n <ch-checkbox\n class=\"checkbox\"\n checkedValue=\"webPanels\"\n value={\n this.defaultConfiguration?.importWebPanels\n ? \"webPanels\"\n : undefined\n }\n caption={this.#_componentLocale.filters.webPanelsCheckbox}\n onInput={this.#checkboxChangeHandler}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#webPanelsCheckboxEl = el as HTMLChCheckboxElement)\n }\n part=\"web-panels-checkbox\"\n ></ch-checkbox>\n\n <ch-checkbox\n class=\"checkbox\"\n checkedValue=\"panels\"\n value={\n this.defaultConfiguration.importPanels &&\n this.canSelectPanels\n ? \"panels\"\n : undefined\n }\n caption={this.#_componentLocale.filters.panelsCheckbox}\n disabled={!this.canSelectPanels}\n onInput={this.#checkboxChangeHandler}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#panelsCheckboxEl = el as HTMLChCheckboxElement)\n }\n part=\"panels-checkbox\"\n ></ch-checkbox>\n </div>\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"future-upgrades-combo\">\n {this.#_componentLocale.filters.futureUpgradesComboLabel}\n </label>\n <ch-combo-box-render\n id=\"future-upgrades-combo\"\n class=\"combo-box\"\n value={this.defaultConfiguration.futureUpgrades}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#futureUpgradesComboEl =\n el as HTMLChComboBoxRenderElement)\n }\n model={[\n {\n value: \"automatic\",\n caption:\n this.#_componentLocale.manageFutureUpgrades\n .installAutomatically\n },\n {\n value: \"prompt\",\n caption:\n this.#_componentLocale.manageFutureUpgrades.promptMe\n },\n {\n value: \"never\",\n caption:\n this.#_componentLocale.manageFutureUpgrades.neverUpdate\n }\n ]}\n part=\"future-upgrades-combo\"\n ></ch-combo-box-render>\n </div>\n </div>\n </div>\n </div>\n );\n };\n\n #renderDescription = () => {\n return (\n <div class=\"description\">\n {this.configurationType === \"installation\"\n ? [\n <p class=\"text-body\">\n {\n this.#_componentLocale.header.headerTextInstallation\n .firstSentence\n }\n </p>,\n <p class=\"text-body\">\n {\n this.#_componentLocale.header.headerTextInstallation\n .secondSentence\n }\n </p>,\n <p class=\"text-body\">\n {\n this.#_componentLocale.header.headerTextInstallation\n .thirdSentence\n }\n </p>\n ]\n : [\n <p class=\"text-body\">\n {this.#_componentLocale.header.headerTextUpdate.firstSentence}\n </p>,\n <p class=\"text-body\">\n {this.#_componentLocale.header.headerTextUpdate.secondSentence}\n </p>\n ]}\n {/* header text */}\n </div>\n );\n };\n\n #saveCallbackHandler = async () => {\n if (this.saveCallback) {\n const data: GamConfigData = {\n importWebPanels: !!this.#webPanelsCheckboxEl.value,\n importPanels: !!this.#panelsCheckboxEl.value,\n futureUpgrades: this.#futureUpgradesComboEl.value\n ? (this.#futureUpgradesComboEl.value as ComboValues)\n : null\n };\n await this.saveCallback(data);\n }\n };\n\n render() {\n return (\n <Host class=\"widget spacing-body\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <div class=\"dialog-header dialog-header-with-border\">\n {this.#renderDescription()}\n </div>\n <div class=\"main-content field-group\">{this.#renderFilters()}</div>\n\n <div class=\"footer\">\n {this.configurationType === \"update\" && (\n <div class=\"footer-info\">\n <p>Use Repair to import GAM components again</p>\n </div>\n )}\n\n <div class=\"dialog-footer-with-border dialog-footer-space-between\">\n {this.configurationType === \"update\" && (\n <button\n id=\"repair-button\"\n class=\"button-secondary\"\n onClick={this.#repairCallbackHandler}\n part=\"button button--repair\"\n >\n Repair\n </button>\n )}\n <div class=\"buttons-spacer\">\n <button\n id=\"cancel-button\"\n class=\"button-secondary\"\n onClick={this.#cancelCallbackHandler}\n part=\"button button--cancel\"\n >\n Cancel\n </button>\n <button\n id=\"confirm-button\"\n class=\"button-primary\"\n onClick={this.#saveCallbackHandler}\n part=\"button button--confirm\"\n >\n Save\n </button>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n\nexport type CancelCallback = () => Promise<void>;\ntype ComboValues = \"automatic\" | \"prompt\" | \"never\";\nexport type GamConfigData = {\n importWebPanels: boolean;\n importPanels: boolean;\n futureUpgrades: \"never\" | \"prompt\" | \"automatic\";\n};\n\nexport type RepairCallback = (config: GamConfigData) => Promise<void>;\nexport type SaveCallback = (data: GamConfigData) => Promise<void>;\n"]}
@@ -110,24 +110,40 @@ export class GxIdeKbManagerImport {
110
110
  Large categories are not expanded by default to improve performance, which is crucial
111
111
  for very large imports (1000+ objects).
112
112
  */
113
- const checkedObjectsIds = [];
114
- for (let category of __classPrivateFieldGet(this, _GxIdeKbManagerImport_objectsTreeEl, "f").model) {
113
+ const checkedSet = new Set();
114
+ for (const category of __classPrivateFieldGet(this, _GxIdeKbManagerImport_objectsTreeEl, "f").model) {
115
115
  if (((_a = category.items) === null || _a === void 0 ? void 0 : _a.length) > 0) {
116
- for (let obj of category.items) {
117
- if (obj.checked)
118
- checkedObjectsIds.push(obj.id);
116
+ for (const obj of category.items) {
117
+ if (obj.checked) {
118
+ checkedSet.add(obj.id);
119
+ }
119
120
  }
120
121
  }
121
122
  else if (category.lazy && category.checked) {
122
123
  const categoryData = __classPrivateFieldGet(this, _GxIdeKbManagerImport_importedCategoryData, "f").find(cat => cat.id == category.id);
123
- for (let obj of categoryData.items) {
124
- checkedObjectsIds.push(obj.id);
124
+ for (const obj of categoryData.items) {
125
+ checkedSet.add(obj.id);
125
126
  }
126
127
  }
127
128
  }
128
- this.importCallback(checkedObjectsIds).then(() => {
129
- this.importingIsInProcess = false;
130
- });
129
+ // Compute excluded ids against the full file contents so the server's importAll branch can be used without re-reading the tree.
130
+ const excludedObjectIds = [];
131
+ for (const category of __classPrivateFieldGet(this, _GxIdeKbManagerImport_importedCategoryData, "f")) {
132
+ for (const obj of category.items) {
133
+ if (!checkedSet.has(obj.id)) {
134
+ excludedObjectIds.push(obj.id);
135
+ }
136
+ }
137
+ }
138
+ const objectIds = Array.from(checkedSet);
139
+ const importAll = excludedObjectIds.length <= objectIds.length;
140
+ const importOptions = {
141
+ importAll,
142
+ objectIds: importAll ? [] : objectIds,
143
+ excludedObjectIds: importAll ? excludedObjectIds : []
144
+ };
145
+ await this.importCallback(importOptions);
146
+ this.importingIsInProcess = false;
131
147
  });
132
148
  _GxIdeKbManagerImport_loadFileHandler.set(this, async (file) => {
133
149
  __classPrivateFieldSet(this, _GxIdeKbManagerImport_importedCategoryData, await this.loadCallback(file), "f");
@@ -144,6 +160,9 @@ export class GxIdeKbManagerImport {
144
160
  });
145
161
  const importCategoryTreeData = convertImportCategoryDataToTreeView(__classPrivateFieldGet(this, _GxIdeKbManagerImport_importedCategoryData, "f"));
146
162
  this.objectsTreeModel = importCategoryTreeData;
163
+ // Tree-view renders with `checked={true}` by default, so a freshly
164
+ // loaded file starts with everything selected.
165
+ this.hasSelection = importCategoryTreeData.length > 0;
147
166
  });
148
167
  _GxIdeKbManagerImport_lazyLoadTreeItems.set(this, async (treeItemId) => {
149
168
  const category = __classPrivateFieldGet(this, _GxIdeKbManagerImport_importedCategoryData, "f").find(cat => cat.id === treeItemId);
@@ -187,6 +206,7 @@ export class GxIdeKbManagerImport {
187
206
  else {
188
207
  this.selectAllCheckboxIndeterminate = true;
189
208
  }
209
+ this.hasSelection = checkedItemIds.length > 0;
190
210
  });
191
211
  _GxIdeKbManagerImport_objectsTreeContextMenuHandler.set(this, (event) => {
192
212
  if (event.detail.metadata === KB_OBJECT) {
@@ -262,6 +282,10 @@ export class GxIdeKbManagerImport {
262
282
  if (__classPrivateFieldGet(this, _GxIdeKbManagerImport_objectsTreeEl, "f")) {
263
283
  const checked = event.detail === CHECKBOX_ALL_CHECKED_VALUE;
264
284
  __classPrivateFieldGet(this, _GxIdeKbManagerImport_objectsTreeEl, "f").updateAllItemsProperties({ checked: checked });
285
+ // updateAllItemsProperties does not fire onCheckedItemsChange, so we
286
+ // mirror the new selection state explicitly to keep the Import button
287
+ // disabled when the user unchecks everything via this toggle.
288
+ this.hasSelection = checked && this.objectsTreeModel.length > 0;
265
289
  }
266
290
  });
267
291
  _GxIdeKbManagerImport_updateStatusItemsState.set(this, () => {
@@ -285,6 +309,7 @@ export class GxIdeKbManagerImport {
285
309
  });
286
310
  this.selectAllCheckboxValue = undefined;
287
311
  this.selectAllCheckboxIndeterminate = false;
312
+ this.hasSelection = false;
288
313
  this.importStatusMessage = undefined;
289
314
  this.importTreeState = [];
290
315
  this.importedTreeFilterRegExp = undefined;
@@ -387,7 +412,8 @@ export class GxIdeKbManagerImport {
387
412
  }), h("div", { class: "buttons-spacer" }, h("button", {
388
413
  // import objects button
389
414
  id: "import-btn", class: "button-primary ", onClick: __classPrivateFieldGet(this, _GxIdeKbManagerImport_importObjectsHandler, "f"), disabled: ((_b = this.objectsTreeModel) === null || _b === void 0 ? void 0 : _b.length) === 0 ||
390
- this.importingIsInProcess
415
+ this.importingIsInProcess ||
416
+ !this.hasSelection
391
417
  }, __classPrivateFieldGet(this, _GxIdeKbManagerImport_componentLocale, "f").main.objectsInFile.importButton), h("button", {
392
418
  // cancel-import button
393
419
  id: "cancel-import-btn", class: "button-secondary ", onClick: __classPrivateFieldGet(this, _GxIdeKbManagerImport_cancelImportHandler, "f"), disabled: !this.importingIsInProcess, part: "cancel-import-button"
@@ -452,7 +478,7 @@ export class GxIdeKbManagerImport {
452
478
  "mutable": false,
453
479
  "complexType": {
454
480
  "original": "ImportCallback",
455
- "resolved": "(itemIds: string[]) => Promise<boolean>",
481
+ "resolved": "(importOptions: ImportOptions) => Promise<boolean>",
456
482
  "references": {
457
483
  "ImportCallback": {
458
484
  "location": "local",
@@ -575,6 +601,7 @@ export class GxIdeKbManagerImport {
575
601
  return {
576
602
  "selectAllCheckboxValue": {},
577
603
  "selectAllCheckboxIndeterminate": {},
604
+ "hasSelection": {},
578
605
  "importStatusMessage": {},
579
606
  "importTreeState": {},
580
607
  "importedTreeFilterRegExp": {},
@@ -1 +1 @@
1
- {"version":3,"file":"kb-manager-import.js","sourceRoot":"","sources":["../../../src/components/kb-manager-import/kb-manager-import.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n h,\n Method,\n Prop,\n State,\n Watch\n} from \"@stencil/core\";\n\nimport {\n ChCheckboxCustomEvent,\n // ChEditCustomEvent,\n TreeViewItemContextMenu\n} from \"@genexus/chameleon-controls-library\";\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library\";\nimport { TreeViewItemModelExtended } from \"@genexus/chameleon-controls-library\";\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../common/locale\";\n\nimport {\n ImportCategoryData,\n ImportItemResultData,\n ContextMenuInfo\n} from \"../../common/types\";\nimport {\n convertImportCategoryDataToTreeView,\n addImportItemResultDataItem,\n convertImportCategoryItemToTreeItem\n} from \"./helpers\";\nimport { CheckedItemsInfo } from \"../_helpers/list-selector/list-selector\";\n\nimport { KB_OBJECT, STATUS_REGEXP_KEY } from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/checkbox\",\n \"components/edit\",\n \"components/icon\",\n \"components/tree-view\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\"\n];\n\nconst NOTICE_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"notice\",\n colorType: \"on-surface\"\n});\n\nconst FILE_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"file\",\n colorType: \"primary\"\n});\n\nconst GEMINI_TOOLS_SETTINGS = getIconPath({\n category: \"gemini-tools\",\n name: \"settings\",\n colorType: \"primary\"\n});\n\nconst MENU_DELETE = getIconPath({\n category: \"menus\",\n name: \"delete\",\n colorType: \"primary\"\n});\n\nconst CHECKBOX_ALL_CHECKED_VALUE = \"allChecked\";\nconst CHECKBOX_ALL_UNCHECKED_VALUE = \"allUnchecked\";\n\n@Component({\n tag: \"gx-ide-kb-manager-import\",\n styleUrl: \"kb-manager-import.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/kb-manager-import\"]\n})\nexport class GxIdeKbManagerImport {\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\n #selectedObjectsInFileIds: string[] = [];\n\n @Element() el: HTMLGxIdeKbManagerImportElement;\n\n #fileInputEl!: HTMLChEditElement;\n #fileInputHiddenEl!: HTMLInputElement;\n #objectsTreeEl!: HTMLChTreeViewRenderElement;\n #successItemsIds: Set<string> = new Set();\n #warningItemsIds: Set<string> = new Set();\n #errorItemsIds: Set<string> = new Set();\n // #categoryItemMap maps a category id, with the name and icon.\n // required for the \"import status\" tree.\n #categoryItemMap: CategoryItemMap = new Map();\n #objectCategoryItemMap: ObjectCategoryItemMap = new Map();\n #importedCategoryData: ImportCategoryData[];\n\n @State() selectAllCheckboxValue: string;\n @State() selectAllCheckboxIndeterminate: boolean = false;\n @State() importStatusMessage: string;\n @State() importTreeState: TreeViewItemModel[] = [];\n @State() importedTreeFilterRegExp: RegExp;\n @Watch(\"importTreeState\")\n importTreeStateChanged() {\n // this.#filterImportedHandler();\n }\n @State() importingIsInProcess = false;\n @State() importTreeFilterList: string[] = [];\n @State() noImport: boolean;\n @State() noObjects: boolean = true;\n @State() objectsTreeModel: TreeViewItemModel[] = [];\n @State() showHiddenImportsMessage = false;\n @State() someStatusVisible: boolean;\n @State() statusInfo: StatusInfo = {\n error: {\n display: true,\n number: 0\n },\n warning: {\n display: true,\n number: 0\n },\n success: {\n display: true,\n number: 0\n }\n };\n\n @Watch(\"importTreeState\")\n watchImportTreeStateHandler() {\n this.#evaluateImport();\n if (this.noImport) {\n this.importStatusMessage =\n this.#componentLocale.main.importStatus.noImportedFiles;\n } else {\n this.importStatusMessage =\n this.#componentLocale.main.importStatus.importedButHidden;\n }\n }\n @Watch(\"objectsTreeModel\")\n watchObjectsTreeModelHandler(newState: TreeViewItemModel[]) {\n this.noObjects = !newState || newState.length === 0;\n }\n\n /**\n * Callback invoked when user wants to cancel the export process.\n */\n @Prop() readonly cancelCallback!: CancelCallback;\n\n /**\n * Callback invoked when user wants to initiate the import process.\n */\n @Prop() readonly importCallback!: ImportCallback;\n\n /**\n * Callback invoked when user wants to load the xpz information\n */\n @Prop() readonly loadCallback!: LoadCallback;\n\n /**\n * Displays status buttons (errors, warning, succeeded) with minimal UI (no captions)\n */\n @Prop() readonly objectContextMenuCallback!: ObjectContextMenuCallback;\n\n /**\n * Callback invoked when user wants to access the export options.\n */\n @Prop() readonly optionsCallback!: OptionsCallback;\n\n /**\n * Imported xml or xps file name\n */\n @Prop({ mutable: true }) selectedFile: File;\n @Watch(\"selectedFile\")\n selectedFileChanged(newFile: File) {\n if (newFile) {\n this.#loadFileHandler(newFile);\n }\n }\n\n /**\n * Displays status buttons (error, warning, success) with minimal UI (no captions).\n */\n @Prop() readonly statusMinimal = false;\n\n /**\n * Emitted once just after the component is fully loaded.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n /**\n * Emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n componentDidLoad() {\n this.#fileInputEl.focus();\n }\n\n componentDidRender() {}\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.componentDidLoadEvent.emit(true);\n // this.#evaluateObjects();\n this.#evaluateImport();\n this.importStatusMessage =\n this.#componentLocale.main.importStatus.noImportedFiles;\n this.#evaluateImportStatusMessage();\n }\n\n /**\n * Add the result of importing an item\n */\n @Method()\n async addResultItem(item: ImportItemResultData) {\n this.importTreeState = addImportItemResultDataItem(\n item,\n this.#categoryItemMap,\n this.#objectCategoryItemMap,\n this.importTreeState\n );\n this.statusInfo[item.status].number++;\n this.#updateStatusItemsState();\n }\n\n #cancelImportHandler = () => {\n this.cancelCallback();\n };\n\n #clearStatusHandler = () => {\n this.importTreeState = [];\n this.statusInfo.error.number = 0;\n this.statusInfo.warning.number = 0;\n this.statusInfo.success.number = 0;\n };\n\n #evaluateImport = () => {\n this.noImport = !!(\n this.importTreeState?.length === 0 || !this.importTreeState\n );\n };\n\n #evaluateImportStatusMessage = () => {\n this.someStatusVisible =\n this.statusInfo.error.display ||\n this.statusInfo.warning.display ||\n this.statusInfo.success.display;\n };\n\n #importObjectsHandler = async () => {\n /* first clear imported objects (this clears errors/warnings/success counts as well)*/\n this.#clearStatusHandler();\n /* then do the import*/\n this.importingIsInProcess = true;\n\n /*\n Process checked objects manually, considering lazy loading. \n Example: \n 1. The \"Attributes\" category is lazy-loaded and marked as checked. \n 2. The user runs the import without expanding the node. \n 3. No attribute objects appear as checked, since lazy load was not triggered. \n 4. Still, all attribute objects must be included, because the category itself is checked. \n\n This avoids forcing users to expand nodes just to select objects. \n Large categories are not expanded by default to improve performance, which is crucial \n for very large imports (1000+ objects). \n */\n const checkedObjectsIds: string[] = [];\n for (let category of this.#objectsTreeEl.model) {\n if (category.items?.length > 0) {\n for (let obj of category.items) {\n if (obj.checked) checkedObjectsIds.push(obj.id);\n }\n } else if (category.lazy && category.checked) {\n const categoryData = this.#importedCategoryData.find(\n cat => cat.id == category.id\n );\n for (let obj of categoryData.items) {\n checkedObjectsIds.push(obj.id);\n }\n }\n }\n this.importCallback(checkedObjectsIds).then(() => {\n this.importingIsInProcess = false;\n });\n };\n\n #loadFileHandler = async (file: File) => {\n this.#importedCategoryData = await this.loadCallback(file);\n this.#categoryItemMap.clear();\n this.#objectCategoryItemMap.clear();\n\n this.#importedCategoryData.forEach(category => {\n this.#categoryItemMap.set(category.id, {\n name: category.name,\n icon: category.icon\n });\n category.items.forEach(object => {\n this.#objectCategoryItemMap.set(object.id, category.id);\n });\n });\n\n const importCategoryTreeData = convertImportCategoryDataToTreeView(\n this.#importedCategoryData\n );\n this.objectsTreeModel = importCategoryTreeData;\n };\n\n #lazyLoadTreeItems = async (treeItemId: string) => {\n const category = this.#importedCategoryData.find(\n cat => cat.id === treeItemId\n );\n return category && category.items.length > 0\n ? convertImportCategoryItemToTreeItem(category.icon, category.items)\n : [];\n };\n\n #objectsTreeCheckedItemsChangedHandler = (\n event: CustomEvent<Map<string, TreeViewItemModelExtended>>\n ) => {\n const allItems = event.detail;\n const checkedItemIds: string[] = [];\n const pendingCheckedItemIds: string[] = [];\n const checkedObjectsIds: string[] = [];\n allItems.forEach(item => {\n if (item.item.checked) {\n checkedItemIds.push(item.item.id);\n if (item.item.lazy && !item.item.items)\n pendingCheckedItemIds.push(item.item.id);\n }\n if (item.item.checked && item.item.metadata === KB_OBJECT) {\n checkedObjectsIds.push(item.item.id);\n }\n });\n\n for (let pendingCheckedItemId of pendingCheckedItemIds) {\n const category = this.#importedCategoryData.find(\n cat => cat.id === pendingCheckedItemId\n );\n if (category) {\n for (let item of category.items) {\n if (checkedObjectsIds.indexOf(item.id) < 0)\n checkedObjectsIds.push(item.id);\n }\n }\n }\n\n // Evaluate \"Select All / Unselect All\" checkbox state\n if (allItems.size === checkedItemIds.length) {\n this.selectAllCheckboxValue = CHECKBOX_ALL_CHECKED_VALUE;\n this.selectAllCheckboxIndeterminate = false;\n } else if (checkedItemIds.length === 0) {\n this.selectAllCheckboxValue = CHECKBOX_ALL_UNCHECKED_VALUE;\n this.selectAllCheckboxIndeterminate = false;\n } else {\n this.selectAllCheckboxIndeterminate = true;\n }\n };\n\n #objectsTreeContextMenuHandler = (\n event: CustomEvent<TreeViewItemContextMenu>\n ) => {\n if (event.detail.metadata === KB_OBJECT) {\n this.objectContextMenuCallback(\"imported\", {\n selection: this.#selectedObjectsInFileIds,\n clientX: event.detail.contextmenuEvent.screenX,\n clientY: event.detail.contextmenuEvent.screenY\n });\n }\n };\n\n #objectsTreeSelectedItemsChangedHandler = (\n event: CustomEvent<TreeViewItemModelExtended[]>\n ) => {\n this.#selectedObjectsInFileIds = event.detail.map(item => item.item.id);\n };\n\n #optionsHandler = () => {\n if (this.optionsCallback) {\n this.optionsCallback();\n // returns boolean\n }\n };\n\n #removeFileSelection = () => {\n this.selectedFile = null;\n this.#fileInputHiddenEl.value = null;\n };\n\n #selectFileInputHandler = () => {\n this.#fileInputHiddenEl.click();\n };\n\n #selectFileInputChangedHandler = (event: InputEvent) => {\n const target = event.target as HTMLInputElement;\n if (target.files?.length > 0) {\n this.selectedFile = target.files[0];\n }\n };\n\n #statusButtonsSelectionChangedHandler = (\n event: CustomEvent<CheckedItemsInfo>\n ) => {\n const activeStates = event.detail;\n const statuses: Status[] = [];\n\n const errorIndex = activeStates.findIndex(\n state => state.itemId === \"errors\"\n );\n const warningIndex = activeStates.findIndex(\n state => state.itemId === \"warnings\"\n );\n const successIndex = activeStates.findIndex(\n state => state.itemId === \"successes\"\n );\n\n if (errorIndex !== -1) {\n statuses.push(\"error\");\n }\n if (warningIndex !== -1) {\n statuses.push(\"warning\");\n }\n if (successIndex !== -1) {\n statuses.push(\"success\");\n }\n\n let pattern = `\"${STATUS_REGEXP_KEY}\":\"\"`;\n if (statuses.length) {\n const statusOptions = statuses.join(\"|\");\n pattern = `\"${STATUS_REGEXP_KEY}\":\"(${statusOptions})\"`;\n }\n this.importedTreeFilterRegExp = new RegExp(pattern, \"i\");\n\n // Update statusInfo for the status-buttons\n this.statusInfo = {\n error: {\n display: errorIndex !== -1,\n number: this.statusInfo.error.number\n },\n warning: {\n display: warningIndex !== -1,\n number: this.statusInfo.warning.number\n },\n success: {\n display: successIndex !== -1,\n number: this.statusInfo.success.number\n }\n };\n\n this.#evaluateImportStatusMessage();\n };\n\n #toggleSelectionClickHandler = (\n event: ChCheckboxCustomEvent<any> | InputEvent\n ) => {\n if (this.#objectsTreeEl) {\n const checked = event.detail === CHECKBOX_ALL_CHECKED_VALUE;\n this.#objectsTreeEl.updateAllItemsProperties({ checked: checked });\n }\n };\n\n #updateStatusItemsState = () => {\n this.#errorItemsIds.clear();\n this.#warningItemsIds.clear();\n this.#successItemsIds.clear();\n this.importTreeState.forEach(item => {\n const items = item.items;\n items.forEach(child => {\n if (child.metadata === \"error\") {\n this.#errorItemsIds.add(child.id);\n }\n if (child.metadata === \"warning\") {\n this.#warningItemsIds.add(child.id);\n }\n if (child.metadata === \"success\") {\n this.#successItemsIds.add(child.id);\n }\n });\n });\n };\n\n render(): void {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <section class=\"section\">\n <header\n // header\n class=\"field-group dialog-header-with-border header header-two-cols spacing-body-block-start spacing-body-inline\"\n slot=\"header\"\n >\n <div\n // select a file\n class=\"field field-inline\"\n >\n <label class=\"label\" htmlFor=\"file-name\">\n {this.#componentLocale.header.fileNameLabel}\n </label>\n <ch-edit\n autoFocus\n id=\"file-name\"\n class=\"input\"\n part=\"file-name\"\n type=\"text\"\n readonly\n value={this.selectedFile?.name}\n placeholder={this.#componentLocale.header.fileNamePlaceholder}\n startImgSrc={FILE_ICON}\n ref={(el: HTMLChEditElement) =>\n (this.#fileInputEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n <input\n hidden\n type=\"file\"\n accept=\".xpz, .xml\"\n onChange={this.#selectFileInputChangedHandler}\n ref={(el: HTMLInputElement) =>\n (this.#fileInputHiddenEl = el as HTMLInputElement)\n }\n />\n </div>\n\n <div class=\"buttons-spacer\">\n <button\n // remove file selection\n aria-label={this.#componentLocale.header.removeFileSelection}\n title={this.#componentLocale.header.removeFileSelection}\n id=\"reset-all-button\"\n class=\"button-tertiary button-icon-only\"\n part=\"reset-all-button\"\n onClick={this.#removeFileSelection}\n >\n <ch-image class=\"icon-m\" src={MENU_DELETE}></ch-image>\n </button>\n\n <button\n // select file\n id=\"select-file-load-button\"\n class=\"button-primary\"\n part=\"select-file-load-button\"\n onClick={this.#selectFileInputHandler}\n disabled={this.importingIsInProcess}\n >\n {this.#componentLocale.header.selectFileButton}\n </button>\n </div>\n </header>\n\n <section\n // objects in file\n class=\"objects-in-file__section\"\n >\n <h2 class=\"dialog-header dialog-header-with-border dialog-header__objects-in-file subtitle-regular-xs\t text-align-center spacing-body-inline\">\n {this.#componentLocale.main.objectsInFile.title}\n </h2>\n\n <div class=\"field-group objects-in-file__main\">\n {!this.noObjects ? (\n <ch-tree-view-render\n // objects in file tree\n showLines=\"last\"\n class=\"tree-view tree-view-import\"\n model={this.objectsTreeModel}\n dragDisabled={true}\n dropDisabled={true}\n toggleCheckboxes={true}\n checkbox={true}\n checked={true}\n lazyLoadTreeItemsCallback={this.#lazyLoadTreeItems}\n onCheckedItemsChange={\n this.#objectsTreeCheckedItemsChangedHandler\n }\n onSelectedItemsChange={\n this.#objectsTreeSelectedItemsChangedHandler\n }\n onItemContextmenu={this.#objectsTreeContextMenuHandler}\n ref={(el: HTMLChTreeViewRenderElement) =>\n (this.#objectsTreeEl = el as HTMLChTreeViewRenderElement)\n }\n ></ch-tree-view-render>\n ) : (\n <gx-ide-empty-state\n isAnimated={false}\n stateTitle={\n this.#componentLocale.main.objectsInFile.noObjects\n }\n key=\"no-objects-empty-state\"\n >\n <button\n // begin by selecting a file\n class=\"button-secondary\"\n onClick={this.#selectFileInputHandler}\n >\n {this.#componentLocale.main.objectsInFile.selectFile}\n </button>\n </gx-ide-empty-state>\n )}\n\n <footer class=\"field-group objects-in-file__footer spacing-body-inline\">\n <ch-checkbox\n // select all / unselect all checkbox\n id=\"select-all-checkbox\"\n class=\"checkbox create-data-in-kb\"\n checkedValue={CHECKBOX_ALL_CHECKED_VALUE}\n unCheckedValue={CHECKBOX_ALL_UNCHECKED_VALUE}\n caption={\n this.#componentLocale.main.objectsInFile.selectUnselect\n }\n value={this.selectAllCheckboxValue}\n onInput={this.#toggleSelectionClickHandler}\n disabled={\n this.importingIsInProcess ||\n this.objectsTreeModel.length === 0\n }\n part=\"select-all-checkbox\"\n ></ch-checkbox>\n\n <div class=\"buttons-spacer\">\n <button\n // import objects button\n id=\"import-btn\"\n class=\"button-primary \"\n onClick={this.#importObjectsHandler}\n disabled={\n this.objectsTreeModel?.length === 0 ||\n this.importingIsInProcess\n }\n >\n {this.#componentLocale.main.objectsInFile.importButton}\n </button>\n\n <button\n // cancel-import button\n id=\"cancel-import-btn\"\n class=\"button-secondary \"\n onClick={this.#cancelImportHandler}\n disabled={!this.importingIsInProcess}\n part=\"cancel-import-button\"\n >\n {this.#componentLocale.main.objectsInFile.cancelButton}\n </button>\n\n <button\n // settings/options button\n id=\"select-kb-btn\"\n class=\"button-tertiary button-icon-only\"\n part=\"select-kb-btn\"\n onClick={this.#optionsHandler}\n >\n <ch-image\n class=\"icon-m\"\n src={GEMINI_TOOLS_SETTINGS}\n ></ch-image>\n </button>\n </div>\n </footer>\n </div>\n </section>\n\n <section\n // import status\n class=\"import-status__section\"\n >\n <h2 class=\"dialog-header dialog-header-with-border dialog-header__import-status subtitle-regular-xs\t text-align-center spacing-body-inline\">\n {this.#componentLocale.main.importStatus.title}\n </h2>\n\n <div class=\"field-group import-status__main\">\n {!this.noImport && this.someStatusVisible ? (\n <ch-tree-view-render\n // import status tree\n model={this.importTreeState}\n toggleCheckboxes={true}\n showLines=\"last\"\n class=\"tree-view tree-view-import\"\n filter={this.importedTreeFilterRegExp}\n filterType=\"metadata\"\n filterOptions={{\n autoExpand: true,\n hideMatchesAndShowNonMatches: false\n }}\n ></ch-tree-view-render>\n ) : (\n <gx-ide-empty-state\n isAnimated={false}\n stateIconSrc={NOTICE_ICON}\n stateTitle={this.importStatusMessage}\n key=\"no-objects-empty-state\"\n ></gx-ide-empty-state>\n )}\n\n <footer class=\"import-status__footer spacing-body-inline\">\n <button\n // clear status button\n class=\"button-secondary import-clear-status-btn\"\n onClick={this.#clearStatusHandler}\n disabled={this.noImport || this.importingIsInProcess}\n part=\"clear-status-btn\"\n >\n {this.#componentLocale.main.importStatus.clearButton}\n </button>\n </footer>\n </div>\n </section>\n\n <footer\n // footer\n class=\"footer\"\n >\n <gx-ide-status-buttons\n errors={this.statusInfo.error.number}\n warnings={this.statusInfo.warning.number}\n successes={this.statusInfo.success.number}\n hideMessage\n compact\n minimal={this.statusMinimal}\n onSelectionChanged={this.#statusButtonsSelectionChangedHandler}\n ></gx-ide-status-buttons>\n </footer>\n </section>\n </Host>\n );\n }\n}\nexport type CancelCallback = () => Promise<boolean>;\n\nexport type ImportCallback = (itemIds: string[]) => Promise<boolean>;\n\nexport type ImportItemData = {\n id: string;\n name: string;\n};\n\nexport type LoadCallback = (file: File) => Promise<ImportCategoryData[]>;\n\nexport type ObjectContextMenuCallback = (\n tree: ObjectsSourceType,\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\n\nexport type ObjectsSourceType = \"in-file\" | \"imported\";\n\nexport type OptionsCallback = () => Promise<void>;\n\nexport interface SelectedObject {\n itemId: string;\n subItemsIds: string[];\n}\n\nexport type StatusItemsState = {\n error: string[];\n warning: string[];\n success: string[];\n};\n\ntype StatusInfo = {\n error: {\n display: boolean;\n number: number;\n };\n warning: {\n display: boolean;\n number: number;\n };\n success: {\n display: boolean;\n number: number;\n };\n};\n\nexport type CategoryItemMap = Map<string, CategoryItemMapValue>;\nexport type CategoryItemMapValue = { name: string; icon: string };\nexport type ObjectCategoryItemMap = Map<string, string>;\nexport type Status = \"success\" | \"error\" | \"warning\";\n"]}
1
+ {"version":3,"file":"kb-manager-import.js","sourceRoot":"","sources":["../../../src/components/kb-manager-import/kb-manager-import.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n h,\n Method,\n Prop,\n State,\n Watch\n} from \"@stencil/core\";\n\nimport {\n ChCheckboxCustomEvent,\n // ChEditCustomEvent,\n TreeViewItemContextMenu\n} from \"@genexus/chameleon-controls-library\";\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library\";\nimport { TreeViewItemModelExtended } from \"@genexus/chameleon-controls-library\";\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../common/locale\";\n\nimport {\n ImportCategoryData,\n ImportItemResultData,\n ContextMenuInfo\n} from \"../../common/types\";\nimport {\n convertImportCategoryDataToTreeView,\n addImportItemResultDataItem,\n convertImportCategoryItemToTreeItem\n} from \"./helpers\";\nimport { CheckedItemsInfo } from \"../_helpers/list-selector/list-selector\";\n\nimport { KB_OBJECT, STATUS_REGEXP_KEY } from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/checkbox\",\n \"components/edit\",\n \"components/icon\",\n \"components/tree-view\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\"\n];\n\nconst NOTICE_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"notice\",\n colorType: \"on-surface\"\n});\n\nconst FILE_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"file\",\n colorType: \"primary\"\n});\n\nconst GEMINI_TOOLS_SETTINGS = getIconPath({\n category: \"gemini-tools\",\n name: \"settings\",\n colorType: \"primary\"\n});\n\nconst MENU_DELETE = getIconPath({\n category: \"menus\",\n name: \"delete\",\n colorType: \"primary\"\n});\n\nconst CHECKBOX_ALL_CHECKED_VALUE = \"allChecked\";\nconst CHECKBOX_ALL_UNCHECKED_VALUE = \"allUnchecked\";\n\n@Component({\n tag: \"gx-ide-kb-manager-import\",\n styleUrl: \"kb-manager-import.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/kb-manager-import\"]\n})\nexport class GxIdeKbManagerImport {\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\n #selectedObjectsInFileIds: string[] = [];\n\n @Element() el: HTMLGxIdeKbManagerImportElement;\n\n #fileInputEl!: HTMLChEditElement;\n #fileInputHiddenEl!: HTMLInputElement;\n #objectsTreeEl!: HTMLChTreeViewRenderElement;\n #successItemsIds: Set<string> = new Set();\n #warningItemsIds: Set<string> = new Set();\n #errorItemsIds: Set<string> = new Set();\n // #categoryItemMap maps a category id, with the name and icon.\n // required for the \"import status\" tree.\n #categoryItemMap: CategoryItemMap = new Map();\n #objectCategoryItemMap: ObjectCategoryItemMap = new Map();\n #importedCategoryData: ImportCategoryData[];\n\n @State() selectAllCheckboxValue: string;\n @State() selectAllCheckboxIndeterminate: boolean = false;\n @State() hasSelection: boolean = false;\n @State() importStatusMessage: string;\n @State() importTreeState: TreeViewItemModel[] = [];\n @State() importedTreeFilterRegExp: RegExp;\n @Watch(\"importTreeState\")\n importTreeStateChanged() {\n // this.#filterImportedHandler();\n }\n @State() importingIsInProcess = false;\n @State() importTreeFilterList: string[] = [];\n @State() noImport: boolean;\n @State() noObjects: boolean = true;\n @State() objectsTreeModel: TreeViewItemModel[] = [];\n @State() showHiddenImportsMessage = false;\n @State() someStatusVisible: boolean;\n @State() statusInfo: StatusInfo = {\n error: {\n display: true,\n number: 0\n },\n warning: {\n display: true,\n number: 0\n },\n success: {\n display: true,\n number: 0\n }\n };\n\n @Watch(\"importTreeState\")\n watchImportTreeStateHandler() {\n this.#evaluateImport();\n if (this.noImport) {\n this.importStatusMessage =\n this.#componentLocale.main.importStatus.noImportedFiles;\n } else {\n this.importStatusMessage =\n this.#componentLocale.main.importStatus.importedButHidden;\n }\n }\n @Watch(\"objectsTreeModel\")\n watchObjectsTreeModelHandler(newState: TreeViewItemModel[]) {\n this.noObjects = !newState || newState.length === 0;\n }\n\n /**\n * Callback invoked when user wants to cancel the export process.\n */\n @Prop() readonly cancelCallback!: CancelCallback;\n\n /**\n * Callback invoked when user wants to initiate the import process.\n */\n @Prop() readonly importCallback!: ImportCallback;\n\n /**\n * Callback invoked when user wants to load the xpz information\n */\n @Prop() readonly loadCallback!: LoadCallback;\n\n /**\n * Displays status buttons (errors, warning, succeeded) with minimal UI (no captions)\n */\n @Prop() readonly objectContextMenuCallback!: ObjectContextMenuCallback;\n\n /**\n * Callback invoked when user wants to access the export options.\n */\n @Prop() readonly optionsCallback!: OptionsCallback;\n\n /**\n * Imported xml or xps file name\n */\n @Prop({ mutable: true }) selectedFile: File;\n @Watch(\"selectedFile\")\n selectedFileChanged(newFile: File) {\n if (newFile) {\n this.#loadFileHandler(newFile);\n }\n }\n\n /**\n * Displays status buttons (error, warning, success) with minimal UI (no captions).\n */\n @Prop() readonly statusMinimal = false;\n\n /**\n * Emitted once just after the component is fully loaded.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n /**\n * Emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n componentDidLoad() {\n this.#fileInputEl.focus();\n }\n\n componentDidRender() {}\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.componentDidLoadEvent.emit(true);\n // this.#evaluateObjects();\n this.#evaluateImport();\n this.importStatusMessage =\n this.#componentLocale.main.importStatus.noImportedFiles;\n this.#evaluateImportStatusMessage();\n }\n\n /**\n * Add the result of importing an item\n */\n @Method()\n async addResultItem(item: ImportItemResultData) {\n this.importTreeState = addImportItemResultDataItem(\n item,\n this.#categoryItemMap,\n this.#objectCategoryItemMap,\n this.importTreeState\n );\n this.statusInfo[item.status].number++;\n this.#updateStatusItemsState();\n }\n\n #cancelImportHandler = () => {\n this.cancelCallback();\n };\n\n #clearStatusHandler = () => {\n this.importTreeState = [];\n this.statusInfo.error.number = 0;\n this.statusInfo.warning.number = 0;\n this.statusInfo.success.number = 0;\n };\n\n #evaluateImport = () => {\n this.noImport = !!(\n this.importTreeState?.length === 0 || !this.importTreeState\n );\n };\n\n #evaluateImportStatusMessage = () => {\n this.someStatusVisible =\n this.statusInfo.error.display ||\n this.statusInfo.warning.display ||\n this.statusInfo.success.display;\n };\n\n #importObjectsHandler = async () => {\n /* first clear imported objects (this clears errors/warnings/success counts as well)*/\n this.#clearStatusHandler();\n /* then do the import*/\n this.importingIsInProcess = true;\n\n /*\n Process checked objects manually, considering lazy loading.\n Example:\n 1. The \"Attributes\" category is lazy-loaded and marked as checked.\n 2. The user runs the import without expanding the node.\n 3. No attribute objects appear as checked, since lazy load was not triggered.\n 4. Still, all attribute objects must be included, because the category itself is checked.\n\n This avoids forcing users to expand nodes just to select objects.\n Large categories are not expanded by default to improve performance, which is crucial\n for very large imports (1000+ objects).\n */\n const checkedSet = new Set<string>();\n for (const category of this.#objectsTreeEl.model) {\n if (category.items?.length > 0) {\n for (const obj of category.items) {\n if (obj.checked) {\n checkedSet.add(obj.id);\n }\n }\n } else if (category.lazy && category.checked) {\n const categoryData = this.#importedCategoryData.find(\n cat => cat.id == category.id\n );\n for (const obj of categoryData.items) {\n checkedSet.add(obj.id);\n }\n }\n }\n\n // Compute excluded ids against the full file contents so the server's importAll branch can be used without re-reading the tree.\n const excludedObjectIds: string[] = [];\n for (const category of this.#importedCategoryData) {\n for (const obj of category.items) {\n if (!checkedSet.has(obj.id)) {\n excludedObjectIds.push(obj.id);\n }\n }\n }\n\n const objectIds = Array.from(checkedSet);\n const importAll = excludedObjectIds.length <= objectIds.length;\n const importOptions: ImportOptions = {\n importAll,\n objectIds: importAll ? [] : objectIds,\n excludedObjectIds: importAll ? excludedObjectIds : []\n };\n\n await this.importCallback(importOptions);\n this.importingIsInProcess = false;\n };\n\n #loadFileHandler = async (file: File) => {\n this.#importedCategoryData = await this.loadCallback(file);\n this.#categoryItemMap.clear();\n this.#objectCategoryItemMap.clear();\n\n this.#importedCategoryData.forEach(category => {\n this.#categoryItemMap.set(category.id, {\n name: category.name,\n icon: category.icon\n });\n category.items.forEach(object => {\n this.#objectCategoryItemMap.set(object.id, category.id);\n });\n });\n\n const importCategoryTreeData = convertImportCategoryDataToTreeView(\n this.#importedCategoryData\n );\n this.objectsTreeModel = importCategoryTreeData;\n // Tree-view renders with `checked={true}` by default, so a freshly\n // loaded file starts with everything selected.\n this.hasSelection = importCategoryTreeData.length > 0;\n };\n\n #lazyLoadTreeItems = async (treeItemId: string) => {\n const category = this.#importedCategoryData.find(\n cat => cat.id === treeItemId\n );\n return category && category.items.length > 0\n ? convertImportCategoryItemToTreeItem(category.icon, category.items)\n : [];\n };\n\n #objectsTreeCheckedItemsChangedHandler = (\n event: CustomEvent<Map<string, TreeViewItemModelExtended>>\n ) => {\n const allItems = event.detail;\n const checkedItemIds: string[] = [];\n const pendingCheckedItemIds: string[] = [];\n const checkedObjectsIds: string[] = [];\n allItems.forEach(item => {\n if (item.item.checked) {\n checkedItemIds.push(item.item.id);\n if (item.item.lazy && !item.item.items)\n pendingCheckedItemIds.push(item.item.id);\n }\n if (item.item.checked && item.item.metadata === KB_OBJECT) {\n checkedObjectsIds.push(item.item.id);\n }\n });\n\n for (let pendingCheckedItemId of pendingCheckedItemIds) {\n const category = this.#importedCategoryData.find(\n cat => cat.id === pendingCheckedItemId\n );\n if (category) {\n for (let item of category.items) {\n if (checkedObjectsIds.indexOf(item.id) < 0)\n checkedObjectsIds.push(item.id);\n }\n }\n }\n\n // Evaluate \"Select All / Unselect All\" checkbox state\n if (allItems.size === checkedItemIds.length) {\n this.selectAllCheckboxValue = CHECKBOX_ALL_CHECKED_VALUE;\n this.selectAllCheckboxIndeterminate = false;\n } else if (checkedItemIds.length === 0) {\n this.selectAllCheckboxValue = CHECKBOX_ALL_UNCHECKED_VALUE;\n this.selectAllCheckboxIndeterminate = false;\n } else {\n this.selectAllCheckboxIndeterminate = true;\n }\n\n this.hasSelection = checkedItemIds.length > 0;\n };\n\n #objectsTreeContextMenuHandler = (\n event: CustomEvent<TreeViewItemContextMenu>\n ) => {\n if (event.detail.metadata === KB_OBJECT) {\n this.objectContextMenuCallback(\"imported\", {\n selection: this.#selectedObjectsInFileIds,\n clientX: event.detail.contextmenuEvent.screenX,\n clientY: event.detail.contextmenuEvent.screenY\n });\n }\n };\n\n #objectsTreeSelectedItemsChangedHandler = (\n event: CustomEvent<TreeViewItemModelExtended[]>\n ) => {\n this.#selectedObjectsInFileIds = event.detail.map(item => item.item.id);\n };\n\n #optionsHandler = () => {\n if (this.optionsCallback) {\n this.optionsCallback();\n // returns boolean\n }\n };\n\n #removeFileSelection = () => {\n this.selectedFile = null;\n this.#fileInputHiddenEl.value = null;\n };\n\n #selectFileInputHandler = () => {\n this.#fileInputHiddenEl.click();\n };\n\n #selectFileInputChangedHandler = (event: InputEvent) => {\n const target = event.target as HTMLInputElement;\n if (target.files?.length > 0) {\n this.selectedFile = target.files[0];\n }\n };\n\n #statusButtonsSelectionChangedHandler = (\n event: CustomEvent<CheckedItemsInfo>\n ) => {\n const activeStates = event.detail;\n const statuses: Status[] = [];\n\n const errorIndex = activeStates.findIndex(\n state => state.itemId === \"errors\"\n );\n const warningIndex = activeStates.findIndex(\n state => state.itemId === \"warnings\"\n );\n const successIndex = activeStates.findIndex(\n state => state.itemId === \"successes\"\n );\n\n if (errorIndex !== -1) {\n statuses.push(\"error\");\n }\n if (warningIndex !== -1) {\n statuses.push(\"warning\");\n }\n if (successIndex !== -1) {\n statuses.push(\"success\");\n }\n\n let pattern = `\"${STATUS_REGEXP_KEY}\":\"\"`;\n if (statuses.length) {\n const statusOptions = statuses.join(\"|\");\n pattern = `\"${STATUS_REGEXP_KEY}\":\"(${statusOptions})\"`;\n }\n this.importedTreeFilterRegExp = new RegExp(pattern, \"i\");\n\n // Update statusInfo for the status-buttons\n this.statusInfo = {\n error: {\n display: errorIndex !== -1,\n number: this.statusInfo.error.number\n },\n warning: {\n display: warningIndex !== -1,\n number: this.statusInfo.warning.number\n },\n success: {\n display: successIndex !== -1,\n number: this.statusInfo.success.number\n }\n };\n\n this.#evaluateImportStatusMessage();\n };\n\n #toggleSelectionClickHandler = (\n event: ChCheckboxCustomEvent<any> | InputEvent\n ) => {\n if (this.#objectsTreeEl) {\n const checked = event.detail === CHECKBOX_ALL_CHECKED_VALUE;\n this.#objectsTreeEl.updateAllItemsProperties({ checked: checked });\n // updateAllItemsProperties does not fire onCheckedItemsChange, so we\n // mirror the new selection state explicitly to keep the Import button\n // disabled when the user unchecks everything via this toggle.\n this.hasSelection = checked && this.objectsTreeModel.length > 0;\n }\n };\n\n #updateStatusItemsState = () => {\n this.#errorItemsIds.clear();\n this.#warningItemsIds.clear();\n this.#successItemsIds.clear();\n this.importTreeState.forEach(item => {\n const items = item.items;\n items.forEach(child => {\n if (child.metadata === \"error\") {\n this.#errorItemsIds.add(child.id);\n }\n if (child.metadata === \"warning\") {\n this.#warningItemsIds.add(child.id);\n }\n if (child.metadata === \"success\") {\n this.#successItemsIds.add(child.id);\n }\n });\n });\n };\n\n render(): void {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <section class=\"section\">\n <header\n // header\n class=\"field-group dialog-header-with-border header header-two-cols spacing-body-block-start spacing-body-inline\"\n slot=\"header\"\n >\n <div\n // select a file\n class=\"field field-inline\"\n >\n <label class=\"label\" htmlFor=\"file-name\">\n {this.#componentLocale.header.fileNameLabel}\n </label>\n <ch-edit\n autoFocus\n id=\"file-name\"\n class=\"input\"\n part=\"file-name\"\n type=\"text\"\n readonly\n value={this.selectedFile?.name}\n placeholder={this.#componentLocale.header.fileNamePlaceholder}\n startImgSrc={FILE_ICON}\n ref={(el: HTMLChEditElement) =>\n (this.#fileInputEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n <input\n hidden\n type=\"file\"\n accept=\".xpz, .xml\"\n onChange={this.#selectFileInputChangedHandler}\n ref={(el: HTMLInputElement) =>\n (this.#fileInputHiddenEl = el as HTMLInputElement)\n }\n />\n </div>\n\n <div class=\"buttons-spacer\">\n <button\n // remove file selection\n aria-label={this.#componentLocale.header.removeFileSelection}\n title={this.#componentLocale.header.removeFileSelection}\n id=\"reset-all-button\"\n class=\"button-tertiary button-icon-only\"\n part=\"reset-all-button\"\n onClick={this.#removeFileSelection}\n >\n <ch-image class=\"icon-m\" src={MENU_DELETE}></ch-image>\n </button>\n\n <button\n // select file\n id=\"select-file-load-button\"\n class=\"button-primary\"\n part=\"select-file-load-button\"\n onClick={this.#selectFileInputHandler}\n disabled={this.importingIsInProcess}\n >\n {this.#componentLocale.header.selectFileButton}\n </button>\n </div>\n </header>\n\n <section\n // objects in file\n class=\"objects-in-file__section\"\n >\n <h2 class=\"dialog-header dialog-header-with-border dialog-header__objects-in-file subtitle-regular-xs\t text-align-center spacing-body-inline\">\n {this.#componentLocale.main.objectsInFile.title}\n </h2>\n\n <div class=\"field-group objects-in-file__main\">\n {!this.noObjects ? (\n <ch-tree-view-render\n // objects in file tree\n showLines=\"last\"\n class=\"tree-view tree-view-import\"\n model={this.objectsTreeModel}\n dragDisabled={true}\n dropDisabled={true}\n toggleCheckboxes={true}\n checkbox={true}\n checked={true}\n lazyLoadTreeItemsCallback={this.#lazyLoadTreeItems}\n onCheckedItemsChange={\n this.#objectsTreeCheckedItemsChangedHandler\n }\n onSelectedItemsChange={\n this.#objectsTreeSelectedItemsChangedHandler\n }\n onItemContextmenu={this.#objectsTreeContextMenuHandler}\n ref={(el: HTMLChTreeViewRenderElement) =>\n (this.#objectsTreeEl = el as HTMLChTreeViewRenderElement)\n }\n ></ch-tree-view-render>\n ) : (\n <gx-ide-empty-state\n isAnimated={false}\n stateTitle={\n this.#componentLocale.main.objectsInFile.noObjects\n }\n key=\"no-objects-empty-state\"\n >\n <button\n // begin by selecting a file\n class=\"button-secondary\"\n onClick={this.#selectFileInputHandler}\n >\n {this.#componentLocale.main.objectsInFile.selectFile}\n </button>\n </gx-ide-empty-state>\n )}\n\n <footer class=\"field-group objects-in-file__footer spacing-body-inline\">\n <ch-checkbox\n // select all / unselect all checkbox\n id=\"select-all-checkbox\"\n class=\"checkbox create-data-in-kb\"\n checkedValue={CHECKBOX_ALL_CHECKED_VALUE}\n unCheckedValue={CHECKBOX_ALL_UNCHECKED_VALUE}\n caption={\n this.#componentLocale.main.objectsInFile.selectUnselect\n }\n value={this.selectAllCheckboxValue}\n onInput={this.#toggleSelectionClickHandler}\n disabled={\n this.importingIsInProcess ||\n this.objectsTreeModel.length === 0\n }\n part=\"select-all-checkbox\"\n ></ch-checkbox>\n\n <div class=\"buttons-spacer\">\n <button\n // import objects button\n id=\"import-btn\"\n class=\"button-primary \"\n onClick={this.#importObjectsHandler}\n disabled={\n this.objectsTreeModel?.length === 0 ||\n this.importingIsInProcess ||\n !this.hasSelection\n }\n >\n {this.#componentLocale.main.objectsInFile.importButton}\n </button>\n\n <button\n // cancel-import button\n id=\"cancel-import-btn\"\n class=\"button-secondary \"\n onClick={this.#cancelImportHandler}\n disabled={!this.importingIsInProcess}\n part=\"cancel-import-button\"\n >\n {this.#componentLocale.main.objectsInFile.cancelButton}\n </button>\n\n <button\n // settings/options button\n id=\"select-kb-btn\"\n class=\"button-tertiary button-icon-only\"\n part=\"select-kb-btn\"\n onClick={this.#optionsHandler}\n >\n <ch-image\n class=\"icon-m\"\n src={GEMINI_TOOLS_SETTINGS}\n ></ch-image>\n </button>\n </div>\n </footer>\n </div>\n </section>\n\n <section\n // import status\n class=\"import-status__section\"\n >\n <h2 class=\"dialog-header dialog-header-with-border dialog-header__import-status subtitle-regular-xs\t text-align-center spacing-body-inline\">\n {this.#componentLocale.main.importStatus.title}\n </h2>\n\n <div class=\"field-group import-status__main\">\n {!this.noImport && this.someStatusVisible ? (\n <ch-tree-view-render\n // import status tree\n model={this.importTreeState}\n toggleCheckboxes={true}\n showLines=\"last\"\n class=\"tree-view tree-view-import\"\n filter={this.importedTreeFilterRegExp}\n filterType=\"metadata\"\n filterOptions={{\n autoExpand: true,\n hideMatchesAndShowNonMatches: false\n }}\n ></ch-tree-view-render>\n ) : (\n <gx-ide-empty-state\n isAnimated={false}\n stateIconSrc={NOTICE_ICON}\n stateTitle={this.importStatusMessage}\n key=\"no-objects-empty-state\"\n ></gx-ide-empty-state>\n )}\n\n <footer class=\"import-status__footer spacing-body-inline\">\n <button\n // clear status button\n class=\"button-secondary import-clear-status-btn\"\n onClick={this.#clearStatusHandler}\n disabled={this.noImport || this.importingIsInProcess}\n part=\"clear-status-btn\"\n >\n {this.#componentLocale.main.importStatus.clearButton}\n </button>\n </footer>\n </div>\n </section>\n\n <footer\n // footer\n class=\"footer\"\n >\n <gx-ide-status-buttons\n errors={this.statusInfo.error.number}\n warnings={this.statusInfo.warning.number}\n successes={this.statusInfo.success.number}\n hideMessage\n compact\n minimal={this.statusMinimal}\n onSelectionChanged={this.#statusButtonsSelectionChangedHandler}\n ></gx-ide-status-buttons>\n </footer>\n </section>\n </Host>\n );\n }\n}\nexport type CancelCallback = () => Promise<boolean>;\n\n/**\n * Payload passed to `importCallback` describing the user's selection.\n *\n * - When `importAll` is `true`, the server imports every object in the file\n * except those listed in `excludedObjectIds` (`objectIds` is `[]`).\n * - When `importAll` is `false`, the server imports only `objectIds`\n * (`excludedObjectIds` is `[]`) — the legacy explicit-selection mode.\n *\n * The component picks the variant with the smaller list to minimize body size.\n */\nexport type ImportOptions = {\n importAll: boolean;\n objectIds: string[];\n excludedObjectIds: string[];\n};\n\nexport type ImportCallback = (importOptions: ImportOptions) => Promise<boolean>;\n\nexport type ImportItemData = {\n id: string;\n name: string;\n};\n\nexport type LoadCallback = (file: File) => Promise<ImportCategoryData[]>;\n\nexport type ObjectContextMenuCallback = (\n tree: ObjectsSourceType,\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\n\nexport type ObjectsSourceType = \"in-file\" | \"imported\";\n\nexport type OptionsCallback = () => Promise<void>;\n\nexport interface SelectedObject {\n itemId: string;\n subItemsIds: string[];\n}\n\nexport type StatusItemsState = {\n error: string[];\n warning: string[];\n success: string[];\n};\n\ntype StatusInfo = {\n error: {\n display: boolean;\n number: number;\n };\n warning: {\n display: boolean;\n number: number;\n };\n success: {\n display: boolean;\n number: number;\n };\n};\n\nexport type CategoryItemMap = Map<string, CategoryItemMapValue>;\nexport type CategoryItemMapValue = { name: string; icon: string };\nexport type ObjectCategoryItemMap = Map<string, string>;\nexport type Status = \"success\" | \"error\" | \"warning\";\n"]}
@@ -19,7 +19,7 @@ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) ||
19
19
  throw new TypeError("Cannot write private member to an object whose class did not declare it");
20
20
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
21
21
  };
22
- var _GxIdeGamInstallationSettings__componentLocale, _GxIdeGamInstallationSettings_futureUpgradesComboEl, _GxIdeGamInstallationSettings_panelsCheckboxEl, _GxIdeGamInstallationSettings_webPanelsCheckboxEl, _GxIdeGamInstallationSettings_cancelCallbackHandler, _GxIdeGamInstallationSettings_repairCallbackHandler, _GxIdeGamInstallationSettings_renderFilters, _GxIdeGamInstallationSettings_renderDescription, _GxIdeGamInstallationSettings_saveCallbackHandler;
22
+ var _GxIdeGamInstallationSettings__componentLocale, _GxIdeGamInstallationSettings_futureUpgradesComboEl, _GxIdeGamInstallationSettings_panelsCheckboxEl, _GxIdeGamInstallationSettings_webPanelsCheckboxEl, _GxIdeGamInstallationSettings_cancelCallbackHandler, _GxIdeGamInstallationSettings_checkboxChangeHandler, _GxIdeGamInstallationSettings_repairCallbackHandler, _GxIdeGamInstallationSettings_renderFilters, _GxIdeGamInstallationSettings_renderDescription, _GxIdeGamInstallationSettings_saveCallbackHandler;
23
23
  const CSS_BUNDLES = [
24
24
  "resets/box-sizing",
25
25
  "components/button",
@@ -45,6 +45,14 @@ const GxIdeGamInstallationSettings$1 = /*@__PURE__*/ proxyCustomElement(class Gx
45
45
  _GxIdeGamInstallationSettings_cancelCallbackHandler.set(this, () => {
46
46
  this.cancelCallback();
47
47
  });
48
+ _GxIdeGamInstallationSettings_checkboxChangeHandler.set(this, () => {
49
+ if (!__classPrivateFieldGet(this, _GxIdeGamInstallationSettings_webPanelsCheckboxEl, "f").value && !__classPrivateFieldGet(this, _GxIdeGamInstallationSettings_panelsCheckboxEl, "f").value) {
50
+ __classPrivateFieldGet(this, _GxIdeGamInstallationSettings_futureUpgradesComboEl, "f").value = "never";
51
+ }
52
+ else if (__classPrivateFieldGet(this, _GxIdeGamInstallationSettings_futureUpgradesComboEl, "f").value === "never") {
53
+ __classPrivateFieldGet(this, _GxIdeGamInstallationSettings_futureUpgradesComboEl, "f").value = "prompt";
54
+ }
55
+ });
48
56
  _GxIdeGamInstallationSettings_repairCallbackHandler.set(this, async () => {
49
57
  if (this.saveCallback) {
50
58
  const data = {
@@ -61,10 +69,10 @@ const GxIdeGamInstallationSettings$1 = /*@__PURE__*/ proxyCustomElement(class Gx
61
69
  var _a;
62
70
  return (h("div", { class: "field-group", role: "region", "aria-label": __classPrivateFieldGet(this, _GxIdeGamInstallationSettings__componentLocale, "f").filters.filtersHeading }, h("h5", { class: "subtitle-regular-s margin-block-end-s" }, __classPrivateFieldGet(this, _GxIdeGamInstallationSettings__componentLocale, "f").filters.filtersHeading), h("div", { class: "filters__wrapper" }, h("div", { class: "field-group", role: "group", "aria-labelledby": "frontend-objects-label" }, h("div", { class: "field field-block" }, h("label", { id: "frontend-objects-label", class: "label" }, __classPrivateFieldGet(this, _GxIdeGamInstallationSettings__componentLocale, "f").filters.frontEndObjects), h("div", { class: "field-group-inline" }, h("ch-checkbox", { class: "checkbox", checkedValue: "webPanels", value: ((_a = this.defaultConfiguration) === null || _a === void 0 ? void 0 : _a.importWebPanels)
63
71
  ? "webPanels"
64
- : undefined, caption: __classPrivateFieldGet(this, _GxIdeGamInstallationSettings__componentLocale, "f").filters.webPanelsCheckbox, ref: (el) => (__classPrivateFieldSet(this, _GxIdeGamInstallationSettings_webPanelsCheckboxEl, el, "f")), part: "web-panels-checkbox" }), h("ch-checkbox", { class: "checkbox", checkedValue: "panels", value: this.defaultConfiguration.importPanels &&
72
+ : undefined, caption: __classPrivateFieldGet(this, _GxIdeGamInstallationSettings__componentLocale, "f").filters.webPanelsCheckbox, onInput: __classPrivateFieldGet(this, _GxIdeGamInstallationSettings_checkboxChangeHandler, "f"), ref: (el) => (__classPrivateFieldSet(this, _GxIdeGamInstallationSettings_webPanelsCheckboxEl, el, "f")), part: "web-panels-checkbox" }), h("ch-checkbox", { class: "checkbox", checkedValue: "panels", value: this.defaultConfiguration.importPanels &&
65
73
  this.canSelectPanels
66
74
  ? "panels"
67
- : undefined, caption: __classPrivateFieldGet(this, _GxIdeGamInstallationSettings__componentLocale, "f").filters.panelsCheckbox, disabled: !this.canSelectPanels, ref: (el) => (__classPrivateFieldSet(this, _GxIdeGamInstallationSettings_panelsCheckboxEl, el, "f")), part: "panels-checkbox" }))), h("div", { class: "field field-block" }, h("label", { class: "label", htmlFor: "future-upgrades-combo" }, __classPrivateFieldGet(this, _GxIdeGamInstallationSettings__componentLocale, "f").filters.futureUpgradesComboLabel), h("ch-combo-box-render", { id: "future-upgrades-combo", class: "combo-box", value: this.defaultConfiguration.futureUpgrades, ref: (el) => (__classPrivateFieldSet(this, _GxIdeGamInstallationSettings_futureUpgradesComboEl, el, "f")), model: [
75
+ : undefined, caption: __classPrivateFieldGet(this, _GxIdeGamInstallationSettings__componentLocale, "f").filters.panelsCheckbox, disabled: !this.canSelectPanels, onInput: __classPrivateFieldGet(this, _GxIdeGamInstallationSettings_checkboxChangeHandler, "f"), ref: (el) => (__classPrivateFieldSet(this, _GxIdeGamInstallationSettings_panelsCheckboxEl, el, "f")), part: "panels-checkbox" }))), h("div", { class: "field field-block" }, h("label", { class: "label", htmlFor: "future-upgrades-combo" }, __classPrivateFieldGet(this, _GxIdeGamInstallationSettings__componentLocale, "f").filters.futureUpgradesComboLabel), h("ch-combo-box-render", { id: "future-upgrades-combo", class: "combo-box", value: this.defaultConfiguration.futureUpgrades, ref: (el) => (__classPrivateFieldSet(this, _GxIdeGamInstallationSettings_futureUpgradesComboEl, el, "f")), model: [
68
76
  {
69
77
  value: "automatic",
70
78
  caption: __classPrivateFieldGet(this, _GxIdeGamInstallationSettings__componentLocale, "f").manageFutureUpgrades
@@ -135,7 +143,7 @@ const GxIdeGamInstallationSettings$1 = /*@__PURE__*/ proxyCustomElement(class Gx
135
143
  "repairCallback": [16],
136
144
  "saveCallback": [16]
137
145
  }]);
138
- _GxIdeGamInstallationSettings__componentLocale = new WeakMap(), _GxIdeGamInstallationSettings_futureUpgradesComboEl = new WeakMap(), _GxIdeGamInstallationSettings_panelsCheckboxEl = new WeakMap(), _GxIdeGamInstallationSettings_webPanelsCheckboxEl = new WeakMap(), _GxIdeGamInstallationSettings_cancelCallbackHandler = new WeakMap(), _GxIdeGamInstallationSettings_repairCallbackHandler = new WeakMap(), _GxIdeGamInstallationSettings_renderFilters = new WeakMap(), _GxIdeGamInstallationSettings_renderDescription = new WeakMap(), _GxIdeGamInstallationSettings_saveCallbackHandler = new WeakMap();
146
+ _GxIdeGamInstallationSettings__componentLocale = new WeakMap(), _GxIdeGamInstallationSettings_futureUpgradesComboEl = new WeakMap(), _GxIdeGamInstallationSettings_panelsCheckboxEl = new WeakMap(), _GxIdeGamInstallationSettings_webPanelsCheckboxEl = new WeakMap(), _GxIdeGamInstallationSettings_cancelCallbackHandler = new WeakMap(), _GxIdeGamInstallationSettings_checkboxChangeHandler = new WeakMap(), _GxIdeGamInstallationSettings_repairCallbackHandler = new WeakMap(), _GxIdeGamInstallationSettings_renderFilters = new WeakMap(), _GxIdeGamInstallationSettings_renderDescription = new WeakMap(), _GxIdeGamInstallationSettings_saveCallbackHandler = new WeakMap();
139
147
  function defineCustomElement$1() {
140
148
  if (typeof customElements === "undefined") {
141
149
  return;
@@ -1 +1 @@
1
- {"file":"gx-ide-gam-installation-settings.js","mappings":"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","names":["GxIdeGamInstallationSettings"],"sources":["src/components/gam-installation-settings/gam-installation-settings.scss?tag=gx-ide-gam-installation-settings&encapsulation=shadow","src/components/gam-installation-settings/gam-installation-settings.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n@import \"../../global/temporary-mercury-overrides/_button.scss\";\n\n:host {\n display: grid;\n grid-template-rows: max-content 1fr max-content;\n height: 100%;\n}\n\n.dialog-header {\n margin-block-end: 16px;\n}\n\n.main-content {\n grid-auto-rows: max-content;\n}\n\n.footer-info {\n margin-bottom: 12px;\n}\n\n.description {\n display: grid;\n grid-auto-rows: max-content;\n gap: var(--spacing-gap-m);\n}\n","/* eslint-disable @stencil-community/own-props-must-be-private */\n/* STENCIL IMPORTS */\nimport { Component, Host, h, Prop, Element } from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/checkbox\",\n \"components/combo-box\",\n \"components/edit\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\"\n];\n@Component({\n tag: \"gx-ide-gam-installation-settings\",\n styleUrl: \"gam-installation-settings.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/gam-installation-settings\"]\n})\nexport class GxIdeGamInstallationSettings {\n /**\n * The component hard-coded strings translations.\n */\n #_componentLocale: any;\n\n @Element() el: HTMLGxIdeGamInstallationSettingsElement;\n\n #futureUpgradesComboEl!: HTMLChComboBoxRenderElement;\n #panelsCheckboxEl!: HTMLChCheckboxElement;\n #webPanelsCheckboxEl!: HTMLChCheckboxElement;\n\n /**\n * Callback invoked when the user wants to cancel the exportation process\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * Determines 'Panels' checkbox activation, enabled only if an SD generator is in the KB.\n * Otherwise, the checkbox is disabled.\n */\n @Prop() readonly canSelectPanels: boolean = false;\n\n /**\n * Specifies the configuration type to be used\n */\n @Prop() readonly configurationType: \"installation\" | \"update\" =\n \"installation\";\n\n /**\n * Defines default config for initializing the dialog with stored gam config data\n */\n @Prop() readonly defaultConfiguration: GamConfigData | undefined = {\n importWebPanels: true,\n importPanels: false,\n futureUpgrades: \"prompt\"\n };\n\n /**\n * Callback invoked when the user press repair button\n */\n @Prop() readonly repairCallback: RepairCallback;\n\n /**\n * Callback invoked when the user initiates the export process\n */\n @Prop() readonly saveCallback: SaveCallback;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n #cancelCallbackHandler = () => {\n this.cancelCallback();\n };\n\n #repairCallbackHandler = async () => {\n if (this.saveCallback) {\n const data: GamConfigData = {\n importWebPanels: !!this.#webPanelsCheckboxEl.value,\n importPanels: !!this.#panelsCheckboxEl.value,\n futureUpgrades: this.#futureUpgradesComboEl.value\n ? (this.#futureUpgradesComboEl.value as ComboValues)\n : null\n };\n await this.repairCallback(data);\n }\n };\n\n #renderFilters = () => {\n return (\n <div\n class=\"field-group\"\n role=\"region\"\n aria-label={this.#_componentLocale.filters.filtersHeading}\n >\n <h5 class=\"subtitle-regular-s margin-block-end-s\">\n {this.#_componentLocale.filters.filtersHeading}\n </h5>\n\n <div class=\"filters__wrapper\">\n <div\n class=\"field-group\"\n role=\"group\"\n aria-labelledby=\"frontend-objects-label\"\n >\n <div class=\"field field-block\">\n <label id=\"frontend-objects-label\" class=\"label\">\n {this.#_componentLocale.filters.frontEndObjects}\n </label>\n\n <div class=\"field-group-inline\">\n <ch-checkbox\n class=\"checkbox\"\n checkedValue=\"webPanels\"\n value={\n this.defaultConfiguration?.importWebPanels\n ? \"webPanels\"\n : undefined\n }\n caption={this.#_componentLocale.filters.webPanelsCheckbox}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#webPanelsCheckboxEl = el as HTMLChCheckboxElement)\n }\n part=\"web-panels-checkbox\"\n ></ch-checkbox>\n\n <ch-checkbox\n class=\"checkbox\"\n checkedValue=\"panels\"\n value={\n this.defaultConfiguration.importPanels &&\n this.canSelectPanels\n ? \"panels\"\n : undefined\n }\n caption={this.#_componentLocale.filters.panelsCheckbox}\n disabled={!this.canSelectPanels}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#panelsCheckboxEl = el as HTMLChCheckboxElement)\n }\n part=\"panels-checkbox\"\n ></ch-checkbox>\n </div>\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"future-upgrades-combo\">\n {this.#_componentLocale.filters.futureUpgradesComboLabel}\n </label>\n <ch-combo-box-render\n id=\"future-upgrades-combo\"\n class=\"combo-box\"\n value={this.defaultConfiguration.futureUpgrades}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#futureUpgradesComboEl =\n el as HTMLChComboBoxRenderElement)\n }\n model={[\n {\n value: \"automatic\",\n caption:\n this.#_componentLocale.manageFutureUpgrades\n .installAutomatically\n },\n {\n value: \"prompt\",\n caption:\n this.#_componentLocale.manageFutureUpgrades.promptMe\n },\n {\n value: \"never\",\n caption:\n this.#_componentLocale.manageFutureUpgrades.neverUpdate\n }\n ]}\n part=\"future-upgrades-combo\"\n ></ch-combo-box-render>\n </div>\n </div>\n </div>\n </div>\n );\n };\n\n #renderDescription = () => {\n return (\n <div class=\"description\">\n {this.configurationType === \"installation\"\n ? [\n <p class=\"text-body\">\n {\n this.#_componentLocale.header.headerTextInstallation\n .firstSentence\n }\n </p>,\n <p class=\"text-body\">\n {\n this.#_componentLocale.header.headerTextInstallation\n .secondSentence\n }\n </p>,\n <p class=\"text-body\">\n {\n this.#_componentLocale.header.headerTextInstallation\n .thirdSentence\n }\n </p>\n ]\n : [\n <p class=\"text-body\">\n {this.#_componentLocale.header.headerTextUpdate.firstSentence}\n </p>,\n <p class=\"text-body\">\n {this.#_componentLocale.header.headerTextUpdate.secondSentence}\n </p>\n ]}\n {/* header text */}\n </div>\n );\n };\n\n #saveCallbackHandler = async () => {\n if (this.saveCallback) {\n const data: GamConfigData = {\n importWebPanels: !!this.#webPanelsCheckboxEl.value,\n importPanels: !!this.#panelsCheckboxEl.value,\n futureUpgrades: this.#futureUpgradesComboEl.value\n ? (this.#futureUpgradesComboEl.value as ComboValues)\n : null\n };\n await this.saveCallback(data);\n }\n };\n\n render() {\n return (\n <Host class=\"widget spacing-body\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <div class=\"dialog-header dialog-header-with-border\">\n {this.#renderDescription()}\n </div>\n <div class=\"main-content field-group\">{this.#renderFilters()}</div>\n\n <div class=\"footer\">\n {this.configurationType === \"update\" && (\n <div class=\"footer-info\">\n <p>Use Repair to import GAM components again</p>\n </div>\n )}\n\n <div class=\"dialog-footer-with-border dialog-footer-space-between\">\n {this.configurationType === \"update\" && (\n <button\n id=\"repair-button\"\n class=\"button-secondary\"\n onClick={this.#repairCallbackHandler}\n part=\"button button--repair\"\n >\n Repair\n </button>\n )}\n <div class=\"buttons-spacer\">\n <button\n id=\"cancel-button\"\n class=\"button-secondary\"\n onClick={this.#cancelCallbackHandler}\n part=\"button button--cancel\"\n >\n Cancel\n </button>\n <button\n id=\"confirm-button\"\n class=\"button-primary\"\n onClick={this.#saveCallbackHandler}\n part=\"button button--confirm\"\n >\n Save\n </button>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n\nexport type CancelCallback = () => Promise<void>;\ntype ComboValues = \"automatic\" | \"prompt\" | \"never\";\nexport type GamConfigData = {\n importWebPanels: boolean;\n importPanels: boolean;\n futureUpgrades: \"never\" | \"prompt\" | \"automatic\";\n};\n\nexport type RepairCallback = (config: GamConfigData) => Promise<void>;\nexport type SaveCallback = (data: GamConfigData) => Promise<void>;\n"],"version":3}
1
+ {"file":"gx-ide-gam-installation-settings.js","mappings":"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","names":["GxIdeGamInstallationSettings"],"sources":["src/components/gam-installation-settings/gam-installation-settings.scss?tag=gx-ide-gam-installation-settings&encapsulation=shadow","src/components/gam-installation-settings/gam-installation-settings.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n@import \"../../global/temporary-mercury-overrides/_button.scss\";\n\n:host {\n display: grid;\n grid-template-rows: max-content 1fr max-content;\n height: 100%;\n}\n\n.dialog-header {\n margin-block-end: 16px;\n}\n\n.main-content {\n grid-auto-rows: max-content;\n}\n\n.footer-info {\n margin-bottom: 12px;\n}\n\n.description {\n display: grid;\n grid-auto-rows: max-content;\n gap: var(--spacing-gap-m);\n}\n","/* eslint-disable @stencil-community/own-props-must-be-private */\n/* STENCIL IMPORTS */\nimport { Component, Host, h, Prop, Element } from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/checkbox\",\n \"components/combo-box\",\n \"components/edit\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\"\n];\n@Component({\n tag: \"gx-ide-gam-installation-settings\",\n styleUrl: \"gam-installation-settings.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/gam-installation-settings\"]\n})\nexport class GxIdeGamInstallationSettings {\n /**\n * The component hard-coded strings translations.\n */\n #_componentLocale: any;\n\n @Element() el: HTMLGxIdeGamInstallationSettingsElement;\n\n #futureUpgradesComboEl!: HTMLChComboBoxRenderElement;\n #panelsCheckboxEl!: HTMLChCheckboxElement;\n #webPanelsCheckboxEl!: HTMLChCheckboxElement;\n\n /**\n * Callback invoked when the user wants to cancel the exportation process\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * Determines 'Panels' checkbox activation, enabled only if an SD generator is in the KB.\n * Otherwise, the checkbox is disabled.\n */\n @Prop() readonly canSelectPanels: boolean = false;\n\n /**\n * Specifies the configuration type to be used\n */\n @Prop() readonly configurationType: \"installation\" | \"update\" =\n \"installation\";\n\n /**\n * Defines default config for initializing the dialog with stored gam config data\n */\n @Prop() readonly defaultConfiguration: GamConfigData | undefined = {\n importWebPanels: true,\n importPanels: false,\n futureUpgrades: \"prompt\"\n };\n\n /**\n * Callback invoked when the user press repair button\n */\n @Prop() readonly repairCallback: RepairCallback;\n\n /**\n * Callback invoked when the user initiates the export process\n */\n @Prop() readonly saveCallback: SaveCallback;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n #cancelCallbackHandler = () => {\n this.cancelCallback();\n };\n\n #checkboxChangeHandler = () => {\n if (!this.#webPanelsCheckboxEl.value && !this.#panelsCheckboxEl.value) {\n this.#futureUpgradesComboEl.value = \"never\";\n } else if (this.#futureUpgradesComboEl.value === \"never\") {\n this.#futureUpgradesComboEl.value = \"prompt\";\n }\n };\n\n #repairCallbackHandler = async () => {\n if (this.saveCallback) {\n const data: GamConfigData = {\n importWebPanels: !!this.#webPanelsCheckboxEl.value,\n importPanels: !!this.#panelsCheckboxEl.value,\n futureUpgrades: this.#futureUpgradesComboEl.value\n ? (this.#futureUpgradesComboEl.value as ComboValues)\n : null\n };\n await this.repairCallback(data);\n }\n };\n\n #renderFilters = () => {\n return (\n <div\n class=\"field-group\"\n role=\"region\"\n aria-label={this.#_componentLocale.filters.filtersHeading}\n >\n <h5 class=\"subtitle-regular-s margin-block-end-s\">\n {this.#_componentLocale.filters.filtersHeading}\n </h5>\n\n <div class=\"filters__wrapper\">\n <div\n class=\"field-group\"\n role=\"group\"\n aria-labelledby=\"frontend-objects-label\"\n >\n <div class=\"field field-block\">\n <label id=\"frontend-objects-label\" class=\"label\">\n {this.#_componentLocale.filters.frontEndObjects}\n </label>\n\n <div class=\"field-group-inline\">\n <ch-checkbox\n class=\"checkbox\"\n checkedValue=\"webPanels\"\n value={\n this.defaultConfiguration?.importWebPanels\n ? \"webPanels\"\n : undefined\n }\n caption={this.#_componentLocale.filters.webPanelsCheckbox}\n onInput={this.#checkboxChangeHandler}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#webPanelsCheckboxEl = el as HTMLChCheckboxElement)\n }\n part=\"web-panels-checkbox\"\n ></ch-checkbox>\n\n <ch-checkbox\n class=\"checkbox\"\n checkedValue=\"panels\"\n value={\n this.defaultConfiguration.importPanels &&\n this.canSelectPanels\n ? \"panels\"\n : undefined\n }\n caption={this.#_componentLocale.filters.panelsCheckbox}\n disabled={!this.canSelectPanels}\n onInput={this.#checkboxChangeHandler}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#panelsCheckboxEl = el as HTMLChCheckboxElement)\n }\n part=\"panels-checkbox\"\n ></ch-checkbox>\n </div>\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"future-upgrades-combo\">\n {this.#_componentLocale.filters.futureUpgradesComboLabel}\n </label>\n <ch-combo-box-render\n id=\"future-upgrades-combo\"\n class=\"combo-box\"\n value={this.defaultConfiguration.futureUpgrades}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#futureUpgradesComboEl =\n el as HTMLChComboBoxRenderElement)\n }\n model={[\n {\n value: \"automatic\",\n caption:\n this.#_componentLocale.manageFutureUpgrades\n .installAutomatically\n },\n {\n value: \"prompt\",\n caption:\n this.#_componentLocale.manageFutureUpgrades.promptMe\n },\n {\n value: \"never\",\n caption:\n this.#_componentLocale.manageFutureUpgrades.neverUpdate\n }\n ]}\n part=\"future-upgrades-combo\"\n ></ch-combo-box-render>\n </div>\n </div>\n </div>\n </div>\n );\n };\n\n #renderDescription = () => {\n return (\n <div class=\"description\">\n {this.configurationType === \"installation\"\n ? [\n <p class=\"text-body\">\n {\n this.#_componentLocale.header.headerTextInstallation\n .firstSentence\n }\n </p>,\n <p class=\"text-body\">\n {\n this.#_componentLocale.header.headerTextInstallation\n .secondSentence\n }\n </p>,\n <p class=\"text-body\">\n {\n this.#_componentLocale.header.headerTextInstallation\n .thirdSentence\n }\n </p>\n ]\n : [\n <p class=\"text-body\">\n {this.#_componentLocale.header.headerTextUpdate.firstSentence}\n </p>,\n <p class=\"text-body\">\n {this.#_componentLocale.header.headerTextUpdate.secondSentence}\n </p>\n ]}\n {/* header text */}\n </div>\n );\n };\n\n #saveCallbackHandler = async () => {\n if (this.saveCallback) {\n const data: GamConfigData = {\n importWebPanels: !!this.#webPanelsCheckboxEl.value,\n importPanels: !!this.#panelsCheckboxEl.value,\n futureUpgrades: this.#futureUpgradesComboEl.value\n ? (this.#futureUpgradesComboEl.value as ComboValues)\n : null\n };\n await this.saveCallback(data);\n }\n };\n\n render() {\n return (\n <Host class=\"widget spacing-body\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <div class=\"dialog-header dialog-header-with-border\">\n {this.#renderDescription()}\n </div>\n <div class=\"main-content field-group\">{this.#renderFilters()}</div>\n\n <div class=\"footer\">\n {this.configurationType === \"update\" && (\n <div class=\"footer-info\">\n <p>Use Repair to import GAM components again</p>\n </div>\n )}\n\n <div class=\"dialog-footer-with-border dialog-footer-space-between\">\n {this.configurationType === \"update\" && (\n <button\n id=\"repair-button\"\n class=\"button-secondary\"\n onClick={this.#repairCallbackHandler}\n part=\"button button--repair\"\n >\n Repair\n </button>\n )}\n <div class=\"buttons-spacer\">\n <button\n id=\"cancel-button\"\n class=\"button-secondary\"\n onClick={this.#cancelCallbackHandler}\n part=\"button button--cancel\"\n >\n Cancel\n </button>\n <button\n id=\"confirm-button\"\n class=\"button-primary\"\n onClick={this.#saveCallbackHandler}\n part=\"button button--confirm\"\n >\n Save\n </button>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n\nexport type CancelCallback = () => Promise<void>;\ntype ComboValues = \"automatic\" | \"prompt\" | \"never\";\nexport type GamConfigData = {\n importWebPanels: boolean;\n importPanels: boolean;\n futureUpgrades: \"never\" | \"prompt\" | \"automatic\";\n};\n\nexport type RepairCallback = (config: GamConfigData) => Promise<void>;\nexport type SaveCallback = (data: GamConfigData) => Promise<void>;\n"],"version":3}