@genexus/genexus-ide-ui 1.0.14 → 1.0.16

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 (99) hide show
  1. package/dist/cjs/array-b1e04a85.js +10 -0
  2. package/dist/cjs/array-b1e04a85.js.map +1 -0
  3. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  4. package/dist/cjs/gx-ide-ai-message.cjs.entry.js +1 -1
  5. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +1 -1
  6. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +1 -1
  7. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +95 -86
  8. package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
  9. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +83 -76
  10. package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
  11. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
  12. package/dist/cjs/gx-ide-recent-news.cjs.entry.js +1 -1
  13. package/dist/cjs/gx-ide-start-page.cjs.entry.js +1 -1
  14. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +1 -1
  15. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +1 -1
  16. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
  17. package/dist/cjs/{helpers-74cf5c16.js → helpers-b5b4a659.js} +7 -3
  18. package/dist/cjs/helpers-b5b4a659.js.map +1 -0
  19. package/dist/cjs/loader.cjs.js +1 -1
  20. package/dist/collection/common/array.js +6 -0
  21. package/dist/collection/common/array.js.map +1 -0
  22. package/dist/collection/common/helpers.js +6 -2
  23. package/dist/collection/common/helpers.js.map +1 -1
  24. package/dist/collection/components/new-environment/gx-ide-assets/new-environment/shortcuts.json +4 -7
  25. package/dist/collection/components/new-environment/new-environment.css +8 -1
  26. package/dist/collection/components/new-environment/new-environment.js +98 -129
  27. package/dist/collection/components/new-environment/new-environment.js.map +1 -1
  28. package/dist/collection/components/new-kb/new-kb.js +83 -114
  29. package/dist/collection/components/new-kb/new-kb.js.map +1 -1
  30. package/dist/components/array.js +8 -0
  31. package/dist/components/array.js.map +1 -0
  32. package/dist/components/gx-ide-new-environment.js +95 -89
  33. package/dist/components/gx-ide-new-environment.js.map +1 -1
  34. package/dist/components/gx-ide-new-kb.js +83 -77
  35. package/dist/components/gx-ide-new-kb.js.map +1 -1
  36. package/dist/components/helpers.js +6 -2
  37. package/dist/components/helpers.js.map +1 -1
  38. package/dist/esm/array-c52006e6.js +8 -0
  39. package/dist/esm/array-c52006e6.js.map +1 -0
  40. package/dist/esm/genexus-ide-ui.js +1 -1
  41. package/dist/esm/gx-ide-ai-message.entry.js +1 -1
  42. package/dist/esm/gx-ide-dashboard-home.entry.js +1 -1
  43. package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
  44. package/dist/esm/gx-ide-new-environment.entry.js +95 -86
  45. package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
  46. package/dist/esm/gx-ide-new-kb.entry.js +83 -76
  47. package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
  48. package/dist/esm/gx-ide-object-selector.entry.js +1 -1
  49. package/dist/esm/gx-ide-recent-news.entry.js +1 -1
  50. package/dist/esm/gx-ide-start-page.entry.js +1 -1
  51. package/dist/esm/gx-ide-team-dev-commit.entry.js +1 -1
  52. package/dist/esm/gx-ide-team-dev-update.entry.js +1 -1
  53. package/dist/esm/gx-ide-ww-images.entry.js +1 -1
  54. package/dist/esm/{helpers-97d0509d.js → helpers-64e1dd0b.js} +7 -3
  55. package/dist/esm/helpers-64e1dd0b.js.map +1 -0
  56. package/dist/esm/loader.js +1 -1
  57. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  58. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  59. package/dist/genexus-ide-ui/gx-ide-assets/new-environment/shortcuts.json +4 -7
  60. package/dist/genexus-ide-ui/p-1252519a.js +7 -0
  61. package/dist/genexus-ide-ui/p-1252519a.js.map +1 -0
  62. package/dist/genexus-ide-ui/{p-f9a00f85.entry.js → p-35c9edc0.entry.js} +2 -2
  63. package/dist/genexus-ide-ui/{p-92681e48.entry.js → p-36cfb4c0.entry.js} +193 -177
  64. package/dist/genexus-ide-ui/p-36cfb4c0.entry.js.map +1 -0
  65. package/dist/genexus-ide-ui/{p-90deeaa8.entry.js → p-424ed874.entry.js} +2 -2
  66. package/dist/genexus-ide-ui/{p-4a8910cd.entry.js → p-4546fa05.entry.js} +2 -2
  67. package/dist/genexus-ide-ui/{p-58409610.entry.js → p-5bff0103.entry.js} +2 -2
  68. package/dist/genexus-ide-ui/{p-3663c45f.entry.js → p-85f7f92d.entry.js} +2 -2
  69. package/dist/genexus-ide-ui/{p-7f7d93b8.entry.js → p-99d52e11.entry.js} +2 -2
  70. package/dist/genexus-ide-ui/{p-7f4d8db5.entry.js → p-a5d5fb4d.entry.js} +2 -2
  71. package/dist/genexus-ide-ui/p-abc8411e.entry.js +434 -0
  72. package/dist/genexus-ide-ui/p-abc8411e.entry.js.map +1 -0
  73. package/dist/genexus-ide-ui/{p-3c7371a8.entry.js → p-be640a8a.entry.js} +2 -2
  74. package/dist/genexus-ide-ui/{p-8ad301c4.entry.js → p-c2fdb419.entry.js} +2 -2
  75. package/dist/genexus-ide-ui/{p-4b6e1cf2.js → p-c339f703.js} +57 -55
  76. package/dist/{cjs/helpers-74cf5c16.js.map → genexus-ide-ui/p-c339f703.js.map} +1 -1
  77. package/dist/types/common/array.d.ts +5 -0
  78. package/dist/types/common/helpers.d.ts +2 -2
  79. package/dist/types/components/new-environment/new-environment.d.ts +6 -12
  80. package/dist/types/components/new-kb/new-kb.d.ts +6 -9
  81. package/dist/types/components.d.ts +3 -35
  82. package/package.json +1 -1
  83. package/dist/collection/components/new-kb/helpers.js +0 -4
  84. package/dist/collection/components/new-kb/helpers.js.map +0 -1
  85. package/dist/esm/helpers-97d0509d.js.map +0 -1
  86. package/dist/genexus-ide-ui/p-4b6e1cf2.js.map +0 -1
  87. package/dist/genexus-ide-ui/p-51d5cc3d.entry.js +0 -436
  88. package/dist/genexus-ide-ui/p-51d5cc3d.entry.js.map +0 -1
  89. package/dist/genexus-ide-ui/p-92681e48.entry.js.map +0 -1
  90. package/dist/types/components/new-kb/helpers.d.ts +0 -3
  91. /package/dist/genexus-ide-ui/{p-f9a00f85.entry.js.map → p-35c9edc0.entry.js.map} +0 -0
  92. /package/dist/genexus-ide-ui/{p-90deeaa8.entry.js.map → p-424ed874.entry.js.map} +0 -0
  93. /package/dist/genexus-ide-ui/{p-4a8910cd.entry.js.map → p-4546fa05.entry.js.map} +0 -0
  94. /package/dist/genexus-ide-ui/{p-58409610.entry.js.map → p-5bff0103.entry.js.map} +0 -0
  95. /package/dist/genexus-ide-ui/{p-3663c45f.entry.js.map → p-85f7f92d.entry.js.map} +0 -0
  96. /package/dist/genexus-ide-ui/{p-7f7d93b8.entry.js.map → p-99d52e11.entry.js.map} +0 -0
  97. /package/dist/genexus-ide-ui/{p-7f4d8db5.entry.js.map → p-a5d5fb4d.entry.js.map} +0 -0
  98. /package/dist/genexus-ide-ui/{p-3c7371a8.entry.js.map → p-be640a8a.entry.js.map} +0 -0
  99. /package/dist/genexus-ide-ui/{p-8ad301c4.entry.js.map → p-c2fdb419.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"gx-ide-new-environment.entry.js","mappings":"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","names":[],"sources":["src/components/new-environment/new-environment.scss?tag=gx-ide-new-environment&encapsulation=shadow","src/components/new-environment/new-environment.tsx"],"sourcesContent":[":host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.section {\n display: contents;\n}\n\n.basic,\n.advanced {\n padding-block-start: var(--content-block-spacing);\n block-size: 100%;\n overflow: auto;\n}\n.advanced {\n padding-block-end: var(--content-block-spacing);\n}\n\n// basic\n.basic {\n display: grid;\n grid-template:\n \"runtime-environment runtime-environment\" max-content\n \"back-end front-end\" 1fr;\n grid-template-columns: 1fr 1fr;\n}\n.basic__runtime-environment {\n grid-area: runtime-environment;\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.control-header__back-end,\n.control-header__front-end {\n padding-block-start: var(--mer-spacing--md);\n}\n.basic__back-end {\n grid-area: back-end;\n}\n.basic__front-end {\n grid-area: front-end;\n}\n.basic__back-end,\n.basic__front-end {\n display: grid;\n grid-template-rows: max-content 1fr;\n grid-auto-rows: max-content;\n overflow: auto;\n}\n.main__back-end {\n border-inline-end: var(--section-common-border);\n}\n.main__back-end,\n.main__front-end {\n grid-auto-rows: max-content;\n padding-block: var(--content-block-spacing);\n overflow: auto;\n}\n\n// WA / TODO: Add a helper class in Mercury to justify text.\n.text-align-center {\n text-align: center; // should be resolved on mercury\n}\n\n.tab::part(page) {\n // WA / TODO: Remove this line when the ch-tab renders supports scrollbar\n // custom styling\n scrollbar-width: thin;\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Element,\n getAssetPath,\n Host,\n Method,\n Prop,\n State,\n h,\n Watch\n} from \"@stencil/core\";\n\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n\nimport { config } from \"../../common/config\";\nimport { Locale } from \"../../common/locale\";\nimport {\n mapOptionsToComboBoxItemModel,\n renderChCheckboxItems\n} from \"../../common/helpers\";\nimport { getSelectedItem } from \"../../common/common\";\nimport { FormSubmitResult, GxOption } from \"../../common/types\";\nimport {\n ControlValidation,\n validateControls\n} from \"../../common/form-validation\";\nimport {\n ChRadioGroupRenderCustomEvent,\n TabModel,\n ComboBoxModel,\n ChEditCustomEvent,\n RadioGroupModel\n} from \"@genexus/chameleon-controls-library\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n // TODO: review if \"utils/form--full\" is required.\n \"resets/box-sizing\",\n \"components/tab\",\n \"components/tooltip\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"chameleon/scrollbar\"\n];\nconst GEMINI_TOOLS_GENEXUS_CLOUD_ON_SURFACE = getIconPath({\n category: \"window-tools\",\n name: \"genexus-cloud\",\n colorType: \"on-surface\"\n});\nconst GEMINI_TOOLS_ROL_ON_SURFACE = getIconPath({\n category: \"window-tools\",\n name: \"rol\",\n colorType: \"on-surface\"\n});\n\nconst MAIN_SECTION_CLASSES: string = \"main\";\nconst BASIC_SECTION_PARENT_CLASSES: string = \"basic\";\nconst BASIC_TAB_SELECTOR: string = \"basic\";\nconst ADVANCED_TAB_SELECTOR: string = \"advanced\";\n\n@Component({\n tag: \"gx-ide-new-environment\",\n styleUrl: \"new-environment.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/new-environment\"]\n})\nexport class GxIdeNewEnvironment {\n #advancedTabHasBeenRendered: boolean = false;\n #chShortcutsEl!: HTMLChShortcutsElement;\n #envNameModifiedByUser = false;\n #selectedDataStoreId: string;\n #selectedFrontEndsIds: string[] = [];\n #selectedLanguageId: string;\n #selectedRuntimeEnvironmentId: string;\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/new-environment/shortcuts.json`\n );\n #newEnvironmentSectionsModel: TabModel = [];\n\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 @Element() el: HTMLGxIdeNewEnvironmentElement;\n\n /* References needed to collect data con \"createCallback\" button submit*/\n #dataStoreEl!: HTMLChComboBoxRenderElement;\n #environmentNameEl!: HTMLChEditElement;\n #frontEndsEl!: HTMLDivElement;\n #languageEl!: HTMLChComboBoxRenderElement;\n #setAsCurrentEnvironmentEl!: HTMLChCheckboxElement;\n\n @State() advancedTabIsVisible: boolean = false;\n @State() validatableControls = new Map<string, ControlValidation>();\n\n // representations of GxOption[] as ComboBoxModel or RadioGroupModel.\n @State() dataStoresComboBoxModel: ComboBoxModel = [];\n @State() dataStoresInitialValue: string;\n @State() languageComboBoxModel: ComboBoxModel = [];\n @State() languageInitialValue: string;\n @State() runtimesRadioGroupModel: RadioGroupModel = [];\n\n /**\n * Callback invoked when user wants to cancel\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * Callback invoked when user confirms the KB creation\n */\n @Prop() readonly createCallback!: CreateCallback;\n\n /**\n * Allows defining the DBMS to be used in the solution\n */\n @Prop({ mutable: true }) dataStores!: GxOption[];\n @Watch(\"dataStores\")\n dataStoresChanged(newValue: GxOption[]) {\n if (newValue?.length) {\n this.dataStoresComboBoxModel = mapOptionsToComboBoxItemModel(newValue);\n this.dataStoresInitialValue = getSelectedItem(newValue);\n }\n }\n\n /**\n * Allows selecting multiple generators for the front end\n */\n @Prop() readonly disableAdvanced: boolean = false;\n\n /**\n * Name of the new environment\n */\n @Prop({ mutable: true }) environmentName: string;\n\n /**\n * Allows selecting multiple generators for the front end\n */\n @Prop({ mutable: true }) frontEnds!: GxOption[];\n\n /**\n * Callback invoked when user changes the language or the runtime\n */\n @Prop() readonly getDataSourcesCallback: GetDataSourcesCallback;\n\n /**\n * Callback invoked when user changes the language or data source\n */\n @Prop() readonly getEnvironmentNameCallback: GetEnvironmentNameCallback;\n\n /**\n * Callback invoked when user changes the language\n */\n @Prop() readonly getFrontEndsCallback: GetFrontEndsCallback;\n\n /**\n * Define if the Advanced tab should be displayed\n */\n @Prop() readonly isAdvanced: boolean = false;\n\n /**\n * Possible values for 'Language' combo\n */\n @Prop() readonly languages!: GxOption[];\n @Watch(\"languages\")\n languagesChanged(newValue: GxOption[]) {\n if (newValue?.length) {\n this.languageComboBoxModel = mapOptionsToComboBoxItemModel(newValue);\n this.languageInitialValue = getSelectedItem(newValue);\n }\n }\n\n /**\n * Possible values for 'Runtime Environment' radio button\n */\n @Prop() readonly runtimes!: GxOption[];\n @Watch(\"runtimes\")\n runtimesChanged(newValue: GxOption[]) {\n if (newValue?.length) {\n this.runtimesRadioGroupModel = mapOptionsToComboBoxItemModel(\n this.runtimes\n );\n }\n }\n\n /**\n * Belongs to checkbox 'Set as current environment' @default true\n *\n */\n @Prop() readonly setAsTarget?: boolean = true;\n\n connectedCallback() {\n this.dataStoresChanged(this.dataStores);\n this.languagesChanged(this.languages);\n this.runtimesChanged(this.runtimes);\n }\n\n componentDidLoad() {\n this.#updateSelectedFrontEndsIds();\n this.#initializeValidatableControlsBasicTab();\n }\n\n componentDidRender() {\n if (this.advancedTabIsVisible && !this.#advancedTabHasBeenRendered) {\n // just call this once.\n this.#advancedTabHasBeenRendered = true;\n }\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#newEnvironmentSectionsModel = [\n {\n id: BASIC_TAB_SELECTOR,\n name: this.#componentLocale.tabBasic.tabLabel\n },\n {\n id: ADVANCED_TAB_SELECTOR,\n name: this.#componentLocale.tabAdvanced.tabLabel\n }\n ];\n this.#evaluateSelectedRuntimeEnvironmentId();\n }\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.#chShortcutsEl.suspend = true;\n } else {\n this.#chShortcutsEl.suspend = false;\n }\n }\n\n #dataStoreValueChangedHandler = () => {\n /* the data store item id is used for the value (they are equal)*/\n this.#selectedDataStoreId = this.#dataStoreEl.value;\n this.#updateEnvironmentName();\n };\n\n #envNameInputHandler = (e: ChEditCustomEvent<string> | InputEvent) => {\n const newEnvName = (e as ChEditCustomEvent<string>).detail.trim();\n if (newEnvName !== this.environmentName) {\n this.environmentName = newEnvName;\n this.#envNameModifiedByUser = true;\n }\n };\n\n #evaluateSelectedRuntimeEnvironmentId = () => {\n this.#selectedRuntimeEnvironmentId = this.runtimes[0]?.value;\n };\n\n #evaluateSingleRuntimeIcon = () => {\n if (this.runtimes[0].id === \"local\") {\n return GEMINI_TOOLS_ROL_ON_SURFACE;\n } else {\n return GEMINI_TOOLS_GENEXUS_CLOUD_ON_SURFACE;\n }\n };\n\n // TODO: We must avoid performing the get 3 times.\n // It is used on new-environment as well.\n #evaluateTooltipRender = (\n controlReference: HTMLElement\n ): HTMLChTooltipElement =>\n this.validatableControls?.get(controlReference?.id)?.hasError &&\n this.validatableControls.get(controlReference.id)?.message && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={controlReference as unknown as HTMLButtonElement}\n blockAlign={config.tooltipSettings.blockAlign}\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.validatableControls.get(controlReference.id).message}\n </ch-tooltip>\n );\n\n #getCheckboxValues() {\n const checkboxes = this.#frontEndsEl.querySelectorAll(\"ch-checkbox\");\n const values: Array<string> = Array.from(checkboxes)\n .map((checkbox: any) => checkbox.value)\n .filter(Boolean);\n return values;\n }\n\n #initializeValidatableControlsBasicTab = () => {\n // populate #controlsValidation with the controls that could have errors.\n const validatableControls: HTMLElement[] = [\n this.#dataStoreEl,\n this.#languageEl\n ];\n validatableControls.forEach(validatableControl => {\n if (validatableControl.id) {\n this.validatableControls.set(validatableControl.id, {\n reference: validatableControl,\n hasError: false,\n message: undefined\n });\n }\n });\n };\n\n #languageValueChangedHandler = () => {\n /* the language item id is used for the value (they are equal)*/\n this.#selectedLanguageId = this.#languageEl.value;\n this.#updateDataSources();\n this.#updateFrontEnds();\n this.#updateEnvironmentName();\n };\n\n #renderAdvanced = (): Element => {\n return <slot name=\"property-grid\"></slot>;\n };\n\n #renderBasic = (): HTMLElement[] => {\n return [\n <div class=\"basic__runtime-environment control-header-with-border\">\n <h2\n // back end\n class=\"control-header heading-5 text-align-center\"\n >\n {this.#componentLocale.runtime}\n </h2>\n {this.runtimes.length > 1 ? (\n <ch-radio-group-render\n class=\"radio-group\"\n onChange={this.#runtimeEnvironmentChangedHandler}\n model={this.runtimesRadioGroupModel}\n value={this.#selectedRuntimeEnvironmentId}\n ></ch-radio-group-render>\n ) : (\n <div>\n <ch-image\n class=\"icon-sm\"\n src={this.#evaluateSingleRuntimeIcon()}\n ></ch-image>\n <p class=\"text-body\">{this.runtimes[0].label} </p>\n </div>\n )}\n </div>,\n <section class=\"basic__back-end scrollable\">\n <h2\n // back end\n class=\"control-header control-header-with-border control-header__back-end heading-5 text-align-center spacing-body-inline\"\n >\n {this.#componentLocale.tabBasic.backEnd.backEndLabel}\n </h2>\n\n <div class=\"field-group main__back-end spacing-body-inline scrollable\">\n <div\n // #language\n class=\"field field-block\"\n >\n <label class=\"label\" htmlFor=\"language\">\n {this.#componentLocale.tabBasic.backEnd.language}\n </label>\n <ch-combo-box-render\n id=\"language\"\n class=\"combo-box\"\n part=\"language\"\n value={this.languageInitialValue}\n disabled={this.languages.length === 0}\n model={this.languageComboBoxModel}\n onInput={\n this.languages.length > 0 && this.#languageValueChangedHandler\n }\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#languageEl = el as HTMLChComboBoxRenderElement)\n }\n // TODO: toolTip={config.tooltip}\n ></ch-combo-box-render>\n {this.#evaluateTooltipRender(this.#languageEl)}\n </div>\n\n <div\n // #data stores\n class=\"field field-block\"\n >\n <label class=\"label\" htmlFor=\"data-store\">\n {this.#componentLocale.tabBasic.backEnd.dataStores}\n </label>\n <ch-combo-box-render\n id=\"data-store\"\n class=\"combo-box\"\n part=\"data-store\"\n value={this.dataStoresInitialValue}\n model={this.dataStoresComboBoxModel}\n onInput={this.#dataStoreValueChangedHandler}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#dataStoreEl = el as HTMLChComboBoxRenderElement)\n }\n // TODO: toolTip={config.tooltip}\n ></ch-combo-box-render>\n {this.#evaluateTooltipRender(this.#dataStoreEl)}\n </div>\n </div>\n </section>,\n\n <section class=\"basic__front-end scrollable\">\n <h2\n // front end\n class=\"control-header control-header-with-border control-header__front-end heading-5 text-align-center spacing-body-inline\"\n >\n {this.#componentLocale.tabBasic.frontEnd.frontEndLabel}\n </h2>\n <div\n class=\"field-group front-end__checkboxes spacing-body-inline main__front-end scrollable\"\n role=\"group\"\n aria-labelledby={this.#componentLocale.tabBasic.frontEnd.generators}\n ref={(el: HTMLDivElement) =>\n (this.#frontEndsEl = el as HTMLDivElement)\n }\n >\n {renderChCheckboxItems(\n this.frontEnds,\n \"front-end\",\n this.#updateSelectedFrontEndsIds\n )}\n </div>\n </section>\n ];\n };\n\n #runtimeEnvironmentChangedHandler = (\n event: ChRadioGroupRenderCustomEvent<string>\n ): void => {\n this.#selectedRuntimeEnvironmentId = event.detail;\n this.#updateDataSources();\n };\n\n #setEnvironmentHandler = async () => {\n this.createCallback({\n setAsCurrent: !!this.#setAsCurrentEnvironmentEl?.value,\n name: this.#environmentNameEl.value,\n runtime: this.#selectedRuntimeEnvironmentId,\n language: this.#languageEl.value,\n dataStores: this.#dataStoreEl.value,\n frontEnds: this.#selectedFrontEndsIds\n }).then((formSubmitResult: FormSubmitResult) => {\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n });\n };\n\n #tabSelectionChangedHandler = (\n event: CustomEvent<{\n lastSelectedIndex: number;\n newSelectedId: string;\n newSelectedIndex: number;\n }>\n ): void => {\n if (event.detail.newSelectedId === ADVANCED_TAB_SELECTOR) {\n this.advancedTabIsVisible = true;\n // Some logic for advanced tab is done on componentDidRender lifecycle,\n // since the reference to the elements is needed.\n }\n };\n\n #updateDataSources = async () => {\n if (this.getDataSourcesCallback) {\n const updatedDataSources = await this.getDataSourcesCallback(\n this.#selectedLanguageId,\n this.#selectedRuntimeEnvironmentId\n );\n if (updatedDataSources?.length > 0) {\n this.dataStores = updatedDataSources;\n }\n }\n };\n\n #updateEnvironmentName = async () => {\n if (\n this.getEnvironmentNameCallback &&\n this.#environmentNameEl &&\n !this.#envNameModifiedByUser\n ) {\n const updatedEnvName = await this.getEnvironmentNameCallback(\n this.#selectedLanguageId,\n this.#selectedDataStoreId\n );\n if (updatedEnvName) {\n this.environmentName = updatedEnvName;\n }\n }\n };\n\n #updateSelectedFrontEndsIds = () => {\n this.#selectedFrontEndsIds = this.#getCheckboxValues();\n };\n\n #updateFrontEnds = async () => {\n if (this.getFrontEndsCallback) {\n const updatedFrontEnds = await this.getFrontEndsCallback(\n this.#selectedLanguageId\n );\n if (updatedFrontEnds?.length > 0) {\n this.frontEnds = updatedFrontEnds;\n }\n }\n };\n\n render() {\n return (\n <Host class=\"widget scrollable\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.#chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n\n <section class=\"section\">\n <header class=\"header control-header-with-border spacing-body-inline spacing-body-block-start\">\n <div\n // #environment name\n class=\"field field-inline\"\n >\n <label class=\"label\" htmlFor=\"environment-name\">\n {this.#componentLocale.name}\n </label>\n <ch-edit\n autoFocus\n id=\"environment-name\"\n class=\"form-input\"\n part=\"environment-name\"\n value={this.environmentName}\n placeholder={this.#componentLocale.environmentNamePlaceholder}\n // TODO: toolTip={config.tooltip}\n ref={(el: HTMLChEditElement) =>\n (this.#environmentNameEl = el as HTMLChEditElement)\n }\n onInput={\n !this.#envNameModifiedByUser &&\n (this.#envNameInputHandler as any)\n }\n ></ch-edit>\n </div>\n </header>\n\n {this.isAdvanced ? (\n <ch-tab-render\n // main section\n class={{\n tab: true,\n [MAIN_SECTION_CLASSES]: true\n }}\n direction=\"block\"\n model={this.#newEnvironmentSectionsModel}\n selectedId={BASIC_TAB_SELECTOR}\n overflow=\"auto\"\n contain=\"size\"\n onSelectedItemChange={\n !this.advancedTabIsVisible && this.#tabSelectionChangedHandler\n }\n >\n <div\n slot={BASIC_TAB_SELECTOR}\n class={BASIC_SECTION_PARENT_CLASSES}\n part=\"tab-button-basic\"\n >\n {this.#renderBasic()}\n </div>\n {this.advancedTabIsVisible && (\n <div\n slot={ADVANCED_TAB_SELECTOR}\n class=\"advanced spacing-body-inline\"\n part=\"tab-button-advanced\"\n >\n {this.#renderAdvanced()}\n </div>\n )}\n </ch-tab-render>\n ) : (\n <div\n // main section\n class={MAIN_SECTION_CLASSES}\n >\n <div class={BASIC_SECTION_PARENT_CLASSES}>\n {this.#renderBasic()}\n </div>\n </div>\n )}\n\n <footer\n class={{\n \"control-footer\": this.isAdvanced,\n \"control-footer-with-border\": !this.isAdvanced,\n \"control-footer-space-between\": true,\n \"spacing-body-block-end\": true,\n \"spacing-body-inline\": true\n }}\n >\n <ch-checkbox\n // #set as current environment\n class=\"checkbox\"\n caption={this.#componentLocale.footer.setAsCurrentEnvironment}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#setAsCurrentEnvironmentEl = el as HTMLChCheckboxElement)\n }\n checkedValue=\"current-environment\"\n value={this.setAsTarget ? \"current-environment\" : \"\"}\n part=\"set-as-current-environment\"\n ></ch-checkbox>\n\n <div class=\"buttons-spacer\">\n <button\n // #cancel\n class=\"button-secondary\"\n onClick={this.cancelCallback}\n part=\"button button--cancel\"\n >\n {this.#componentLocale.footer.btnCancel}\n </button>\n\n <button\n // #set new environment\n class=\"button-primary\"\n onClick={this.#setEnvironmentHandler}\n part=\"button button--create\"\n >\n {this.#componentLocale.footer.btnCreate}\n </button>\n </div>\n </footer>\n </section>\n </Host>\n );\n }\n}\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type ChangedCallback = (data: NewEnvironmentData) => Promise<void>;\n\nexport type CreateCallback = (\n data: NewEnvironmentData\n) => Promise<FormSubmitResult>;\n\nexport type GetDataSourcesCallback = (\n selectedLanguageId: string,\n selectedRuntimeId: string\n) => Promise<GxOption[]>;\n\nexport type GetEnvironmentNameCallback = (\n selectedLanguageId: string,\n selectedDataSourceId: string\n) => Promise<string | undefined>;\n\nexport type GetFrontEndsCallback = (\n selectedLanguageId: string\n) => Promise<GxOption[]>;\n\nexport interface NewEnvironmentData {\n setAsCurrent: boolean;\n name: string;\n runtime: string;\n language: string;\n dataStores: string;\n frontEnds: string[];\n}\n"],"version":3}
1
+ {"file":"gx-ide-new-environment.entry.js","mappings":"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","names":[],"sources":["src/components/new-environment/new-environment.scss?tag=gx-ide-new-environment&encapsulation=shadow","src/components/new-environment/new-environment.tsx"],"sourcesContent":[":host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.section {\n display: contents;\n}\n\n.basic,\n.advanced {\n padding-block-start: var(--mer-spacing--md);\n block-size: 100%;\n overflow: auto;\n}\n.advanced {\n padding-block-end: var(--content-block-spacing);\n}\n\n// basic\n.basic {\n display: grid;\n grid-template:\n \"runtime-environment runtime-environment\" max-content\n \"back-end front-end\" 1fr;\n grid-template-columns: 1fr 1fr;\n}\n.basic__runtime-environment {\n grid-area: runtime-environment;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--mer-spacing--xs);\n}\n.basic__runtime-environment.one-runtime-only {\n align-items: center;\n flex-direction: row;\n justify-content: center;\n}\n.control-header__back-end,\n.control-header__front-end {\n padding-block-start: var(--mer-spacing--md);\n}\n.basic__back-end {\n grid-area: back-end;\n}\n.basic__front-end {\n grid-area: front-end;\n}\n.basic__back-end,\n.basic__front-end {\n display: grid;\n grid-template-rows: max-content 1fr;\n grid-auto-rows: max-content;\n overflow: auto;\n}\n.main__back-end {\n border-inline-end: var(--section-common-border);\n}\n.main__back-end,\n.main__front-end {\n grid-auto-rows: max-content;\n padding-block: var(--content-block-spacing);\n overflow: auto;\n}\n\n// WA / TODO: Add a helper class in Mercury to justify text.\n.text-align-center {\n text-align: center; // should be resolved on mercury\n}\n\n.tab::part(page) {\n // WA / TODO: Remove this line when the ch-tab renders supports scrollbar\n // custom styling\n scrollbar-width: thin;\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Element,\n getAssetPath,\n Host,\n Method,\n Prop,\n State,\n h,\n Watch\n} from \"@stencil/core\";\n\nimport { MercuryBundles } from \"@genexus/mercury\";\n\nimport { config } from \"../../common/config\";\nimport { Locale } from \"../../common/locale\";\nimport {\n mapOptionsToComboBoxItemModel,\n renderChCheckboxItems\n} from \"../../common/helpers\";\nimport { getSelectedItem } from \"../../common/common\";\nimport { FormSubmitResult, GxOption } from \"../../common/types\";\nimport {\n ControlValidation,\n validateControls\n} from \"../../common/form-validation\";\nimport {\n ChRadioGroupRenderCustomEvent,\n TabModel,\n ComboBoxModel,\n ChEditCustomEvent,\n RadioGroupModel,\n ChCheckboxCustomEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { removeIndex } from \"../../common/array\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n // TODO: review if \"utils/form--full\" is required.\n \"resets/box-sizing\",\n \"components/tab\",\n \"components/tooltip\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"chameleon/scrollbar\"\n];\n\nconst MAIN_SECTION_CLASSES: string = \"main\";\nconst BASIC_SECTION_PARENT_CLASSES: string = \"basic\";\nconst BASIC_TAB_SELECTOR: string = \"basic\";\nconst ADVANCED_TAB_SELECTOR: string = \"advanced\";\n\n@Component({\n tag: \"gx-ide-new-environment\",\n styleUrl: \"new-environment.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/new-environment\"]\n})\nexport class GxIdeNewEnvironment {\n #advancedTabHasBeenRendered: boolean = false;\n #chShortcutsEl!: HTMLChShortcutsElement;\n #envNameModifiedByUser = false;\n /**\n * frontEndsState saves the id's of the front ends checkboxes that are checked\n */\n // TODO (Use a set instead of an array to improve performance)\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #frontEndsCheckedMap = new Map<string, string[]>();\n #selectedDataStoreId: string;\n #selectedLanguageId: string;\n #selectedRuntimeEnvironmentId: string;\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/new-environment/shortcuts.json`\n );\n #newEnvironmentSectionsModel: TabModel = [];\n\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 @Element() el: HTMLGxIdeNewEnvironmentElement;\n\n // References needed to collect data con \"createCallback\" button submit*/\n #dataStoreEl!: HTMLChComboBoxRenderElement;\n #environmentNameEl!: HTMLChEditElement;\n #languageEl!: HTMLChComboBoxRenderElement;\n #setAsCurrentEnvironmentEl!: HTMLChCheckboxElement;\n\n @State() advancedTabIsVisible: boolean = false;\n\n /**\n * Allows selecting multiple generators for the front end\n * TODO: Check if this property can be deleted, since we can call getFrontEndsCallback.\n */\n @State() frontEnds: GxOption[];\n\n @State() validatableControls = new Map<string, ControlValidation>();\n\n // representations of GxOption[] as ComboBoxModel or RadioGroupModel.\n @State() dataStoresComboBoxModel: ComboBoxModel = [];\n @State() languageComboBoxModel: ComboBoxModel = [];\n @State() runtimesRadioGroupModel: RadioGroupModel = [];\n\n /**\n * Callback invoked when user wants to cancel\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * Callback invoked when user confirms the KB creation\n */\n @Prop() readonly createCallback!: CreateCallback;\n\n /**\n * Allows defining the DBMS to be used in the solution\n */\n @Prop({ mutable: true }) dataStores!: GxOption[];\n @Watch(\"dataStores\")\n dataStoresChanged(newValue: GxOption[]) {\n if (newValue?.length) {\n this.dataStoresComboBoxModel = mapOptionsToComboBoxItemModel(newValue);\n this.#selectedDataStoreId = getSelectedItem(newValue);\n }\n }\n\n /**\n * Name of the new environment\n */\n @Prop({ mutable: true }) environmentName: string;\n\n /**\n * Callback invoked when user changes the language or the runtime\n */\n @Prop() readonly getDataSourcesCallback!: GetDataSourcesCallback;\n\n /**\n * Callback invoked when user changes the language or data source\n */\n @Prop() readonly getEnvironmentNameCallback!: GetEnvironmentNameCallback;\n\n /**\n * Callback invoked when user changes the language\n */\n @Prop() readonly getFrontEndsCallback!: GetFrontEndsCallback;\n\n /**\n * Define if the Advanced tab should be displayed\n */\n @Prop() readonly isAdvanced: boolean = false;\n\n /**\n * Possible values for 'Language' combo\n */\n @Prop() readonly languages!: GxOption[];\n @Watch(\"languages\")\n languagesChanged(newValue: GxOption[]) {\n if (newValue?.length) {\n this.languageComboBoxModel = mapOptionsToComboBoxItemModel(newValue);\n this.#selectedLanguageId = getSelectedItem(newValue);\n this.#updateFrontEnds();\n }\n }\n\n /**\n * Possible values for 'Runtime Environment' radio button\n */\n @Prop() readonly runtimes!: GxOption[];\n @Watch(\"runtimes\")\n runtimesChanged(newValue: GxOption[]) {\n if (newValue?.length) {\n this.runtimesRadioGroupModel = mapOptionsToComboBoxItemModel(\n this.runtimes\n );\n }\n }\n\n /**\n * Belongs to checkbox 'Set as current environment' @default true\n *\n */\n @Prop() readonly setAsTarget?: boolean = true;\n\n connectedCallback() {\n this.dataStoresChanged(this.dataStores);\n this.languagesChanged(this.languages);\n this.runtimesChanged(this.runtimes);\n }\n\n componentDidLoad() {\n this.#initializeValidatableControlsBasicTab();\n }\n\n componentDidRender() {\n if (this.advancedTabIsVisible && !this.#advancedTabHasBeenRendered) {\n // just call this once.\n this.#advancedTabHasBeenRendered = true;\n }\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#newEnvironmentSectionsModel = [\n {\n id: BASIC_TAB_SELECTOR,\n name: this.#componentLocale.tabBasic.tabLabel\n },\n {\n id: ADVANCED_TAB_SELECTOR,\n name: this.#componentLocale.tabAdvanced.tabLabel\n }\n ];\n this.#evaluateSelectedRuntimeEnvironmentId();\n }\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.#chShortcutsEl.suspend = true;\n } else {\n this.#chShortcutsEl.suspend = false;\n }\n }\n\n #dataStoreValueChangedHandler = () => {\n /* the data store item id is used for the value (they are equal)*/\n this.#selectedDataStoreId = this.#dataStoreEl.value;\n this.#updateEnvironmentName();\n };\n\n #envNameInputHandler = (e: ChEditCustomEvent<string> | InputEvent) => {\n const newEnvName = (e as ChEditCustomEvent<string>).detail.trim();\n this.#envNameModifiedByUser = newEnvName !== this.environmentName;\n };\n\n #evaluateSelectedRuntimeEnvironmentId = () => {\n this.#selectedRuntimeEnvironmentId = this.runtimes[0]?.value;\n };\n\n // TODO: We must avoid performing the get 3 times.\n // It is used on new-environment as well.\n #evaluateTooltipRender = (\n controlReference: HTMLElement\n ): HTMLChTooltipElement =>\n this.validatableControls?.get(controlReference?.id)?.hasError &&\n this.validatableControls.get(controlReference.id)?.message && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={controlReference as unknown as HTMLButtonElement}\n blockAlign={config.tooltipSettings.blockAlign}\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.validatableControls.get(controlReference.id).message}\n </ch-tooltip>\n );\n\n #initializeValidatableControlsBasicTab = () => {\n // populate #controlsValidation with the controls that could have errors.\n const validatableControls: HTMLElement[] = [\n this.#dataStoreEl,\n this.#languageEl\n ];\n validatableControls.forEach(validatableControl => {\n if (validatableControl.id) {\n this.validatableControls.set(validatableControl.id, {\n reference: validatableControl,\n hasError: false,\n message: undefined\n });\n }\n });\n };\n\n #languageValueChangedHandler = async (\n event: CustomEvent<string> | InputEvent\n ) => {\n this.#selectedLanguageId = event.detail as string;\n await this.#updateDataSources();\n this.#updateFrontEnds();\n this.#updateEnvironmentName();\n };\n\n #renderAdvanced = (): Element => {\n return <slot name=\"property-grid\"></slot>;\n };\n\n #renderBasic = (): HTMLElement[] => {\n return [\n <div\n class={{\n \"basic__runtime-environment\": true,\n \"control-header-with-border\": true,\n \"one-runtime-only\": this.runtimes.length === 1\n }}\n >\n {this.runtimes.length > 1\n ? [\n <h2\n // Runtime Environment\n class=\"heading-5 text-align-center\"\n >\n {this.#componentLocale.runtime}\n </h2>,\n <ch-radio-group-render\n class=\"radio-group\"\n onChange={this.#runtimeEnvironmentChangedHandler}\n model={this.runtimesRadioGroupModel}\n value={this.#selectedRuntimeEnvironmentId}\n ></ch-radio-group-render>\n ]\n : [\n <h2 class=\"heading-5 text-align-center\">\n {this.#componentLocale.runtime}:\n </h2>,\n <p>{this.runtimesRadioGroupModel[0].caption}</p>\n ]}\n </div>,\n <section class=\"basic__back-end scrollable\">\n <h2\n // back end\n class=\"control-header control-header-with-border control-header__back-end heading-5 text-align-center spacing-body-inline\"\n >\n {this.#componentLocale.tabBasic.backEnd.backEndLabel}\n </h2>\n\n <div class=\"field-group main__back-end spacing-body-inline scrollable\">\n <div\n // #language\n class=\"field field-block\"\n >\n <label class=\"label\" htmlFor=\"language\">\n {this.#componentLocale.tabBasic.backEnd.language}\n </label>\n <ch-combo-box-render\n id=\"language\"\n class=\"combo-box\"\n part=\"language\"\n value={this.#selectedLanguageId}\n disabled={this.languages.length === 0}\n model={this.languageComboBoxModel}\n onInput={this.#languageValueChangedHandler}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#languageEl = el as HTMLChComboBoxRenderElement)\n }\n // TODO: toolTip={config.tooltip}\n ></ch-combo-box-render>\n {this.#evaluateTooltipRender(this.#languageEl)}\n </div>\n\n <div\n // #data stores\n class=\"field field-block\"\n >\n <label class=\"label\" htmlFor=\"data-store\">\n {this.#componentLocale.tabBasic.backEnd.dataStores}\n </label>\n <ch-combo-box-render\n id=\"data-store\"\n class=\"combo-box\"\n part=\"data-store\"\n value={this.#selectedDataStoreId}\n model={this.dataStoresComboBoxModel}\n onInput={this.#dataStoreValueChangedHandler}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#dataStoreEl = el as HTMLChComboBoxRenderElement)\n }\n // TODO: toolTip={config.tooltip}\n ></ch-combo-box-render>\n {this.#evaluateTooltipRender(this.#dataStoreEl)}\n </div>\n </div>\n </section>,\n\n <section class=\"basic__front-end scrollable\">\n <h2\n // front end\n class=\"control-header control-header-with-border control-header__front-end heading-5 text-align-center spacing-body-inline\"\n >\n {this.#componentLocale.tabBasic.frontEnd.frontEndLabel}\n </h2>\n <div\n class=\"field-group front-end__checkboxes spacing-body-inline main__front-end scrollable\"\n role=\"group\"\n aria-labelledby={this.#componentLocale.tabBasic.frontEnd.generators}\n >\n {renderChCheckboxItems(\n this.frontEnds,\n this.#frontEndCheckboxInputHandler,\n this.#frontEndsCheckedMap.get(this.#selectedLanguageId)\n )}\n </div>\n </section>\n ];\n };\n\n #runtimeEnvironmentChangedHandler = (\n event: ChRadioGroupRenderCustomEvent<string>\n ): void => {\n this.#selectedRuntimeEnvironmentId = event.detail;\n this.#updateDataSources();\n this.#updateEnvironmentName();\n };\n\n #createCallbackHandler = async () => {\n const selectedFrontEndIds =\n this.#frontEndsCheckedMap.get(this.#selectedLanguageId) ?? [];\n\n this.createCallback({\n setAsCurrent: !!this.#setAsCurrentEnvironmentEl?.value,\n name: this.#environmentNameEl.value,\n runtime: this.#selectedRuntimeEnvironmentId,\n language: this.#languageEl.value,\n dataStores: this.#dataStoreEl.value,\n frontEnds: selectedFrontEndIds\n }).then((formSubmitResult: FormSubmitResult) => {\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n });\n };\n\n #tabSelectionChangedHandler = (\n event: CustomEvent<{\n lastSelectedIndex: number;\n newSelectedId: string;\n newSelectedIndex: number;\n }>\n ): void => {\n if (event.detail.newSelectedId === ADVANCED_TAB_SELECTOR) {\n this.advancedTabIsVisible = true;\n // Some logic for advanced tab is done on componentDidRender lifecycle,\n // since the reference to the elements is needed.\n }\n };\n\n #updateDataSources = async () => {\n const updatedDataSources = await this.getDataSourcesCallback(\n this.#selectedLanguageId,\n this.#selectedRuntimeEnvironmentId\n );\n if (updatedDataSources?.length > 0) {\n this.dataStores = updatedDataSources;\n }\n };\n\n #updateEnvironmentName = async () => {\n if (!this.#envNameModifiedByUser) {\n this.environmentName = await this.getEnvironmentNameCallback(\n this.#selectedLanguageId,\n this.#selectedDataStoreId,\n this.#selectedRuntimeEnvironmentId\n );\n }\n };\n\n #updateFrontEnds = async () => {\n const updatedFrontEnds = await this.getFrontEndsCallback(\n this.#selectedLanguageId\n );\n if (updatedFrontEnds?.length > 0) {\n this.frontEnds = updatedFrontEnds;\n }\n };\n\n #frontEndCheckboxInputHandler = (\n event: ChCheckboxCustomEvent<string> | InputEvent\n ) => {\n const checkedValue = (event.target as HTMLChCheckboxElement).checkedValue;\n const checked = event.detail === checkedValue;\n this.#updateFrontEndsCheckedMap(checkedValue, checked);\n };\n\n /**\n * This function updates frontEndsCheckedMap, that contains the checked\n * checkboxes for each language front ends.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #updateFrontEndsCheckedMap = (checkboxId: string, checked: boolean) => {\n let currentState = this.#frontEndsCheckedMap.get(this.#selectedLanguageId);\n if (!currentState) {\n // first time\n currentState = [];\n this.#frontEndsCheckedMap.set(this.#selectedLanguageId, currentState);\n }\n if (checked) {\n // update by adding\n currentState.push(checkboxId);\n } else {\n // update by removing\n const checkboxIndex = currentState.findIndex(id => id === checkboxId);\n removeIndex(currentState, checkboxIndex);\n }\n };\n\n render() {\n return (\n <Host class=\"widget scrollable\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.#chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n\n <section class=\"section\">\n {/* <header class=\" spacing-body-inline \n spacing-body-block-start\"> */}\n <header\n class={{\n \"header\": true,\n \"spacing-body-inline\": true,\n \"spacing-body-block-start\": true,\n \"control-header\": this.isAdvanced,\n \"control-header-with-border\": !this.isAdvanced\n }}\n >\n <div\n // #environment name\n class=\"field field-inline\"\n >\n <label class=\"label\" htmlFor=\"environment-name\">\n {this.#componentLocale.name}\n </label>\n <ch-edit\n // environment name\n autoFocus\n id=\"environment-name\"\n class=\"form-input\"\n part=\"environment-name\"\n value={this.environmentName}\n placeholder={this.#componentLocale.environmentNamePlaceholder}\n // TODO: toolTip={config.tooltip}\n ref={(el: HTMLChEditElement) =>\n (this.#environmentNameEl = el as HTMLChEditElement)\n }\n onInput={this.#envNameInputHandler}\n ></ch-edit>\n </div>\n </header>\n\n {this.isAdvanced ? (\n <ch-tab-render\n // main section\n class={{\n tab: true,\n [MAIN_SECTION_CLASSES]: true\n }}\n direction=\"block\"\n model={this.#newEnvironmentSectionsModel}\n selectedId={BASIC_TAB_SELECTOR}\n overflow=\"auto\"\n contain=\"size\"\n onSelectedItemChange={\n !this.advancedTabIsVisible && this.#tabSelectionChangedHandler\n }\n >\n <div\n slot={BASIC_TAB_SELECTOR}\n class={BASIC_SECTION_PARENT_CLASSES}\n part=\"tab-button-basic\"\n >\n {this.#renderBasic()}\n </div>\n {this.advancedTabIsVisible && (\n <div\n slot={ADVANCED_TAB_SELECTOR}\n class=\"advanced spacing-body-inline\"\n part=\"tab-button-advanced\"\n >\n {this.#renderAdvanced()}\n </div>\n )}\n </ch-tab-render>\n ) : (\n <div\n // main section\n class={MAIN_SECTION_CLASSES}\n >\n <div class={BASIC_SECTION_PARENT_CLASSES}>\n {this.#renderBasic()}\n </div>\n </div>\n )}\n\n <footer\n class={{\n \"control-footer\": this.isAdvanced,\n \"control-footer-with-border\": !this.isAdvanced,\n \"control-footer-space-between\": true,\n \"spacing-body-block-end\": true,\n \"spacing-body-inline\": true\n }}\n >\n <ch-checkbox\n // #set as current environment\n class=\"checkbox\"\n caption={this.#componentLocale.footer.setAsCurrentEnvironment}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#setAsCurrentEnvironmentEl = el as HTMLChCheckboxElement)\n }\n checkedValue=\"current-environment\"\n value={this.setAsTarget ? \"current-environment\" : \"\"}\n part=\"set-as-current-environment\"\n ></ch-checkbox>\n\n <div class=\"buttons-spacer\">\n <button\n // #cancel\n class=\"button-secondary\"\n onClick={this.cancelCallback}\n part=\"button button-cancel\"\n >\n {this.#componentLocale.footer.btnCancel}\n </button>\n\n <button\n // #create\n class=\"button-primary\"\n onClick={this.#createCallbackHandler}\n part=\"button button-create\"\n >\n {this.#componentLocale.footer.btnCreate}\n </button>\n </div>\n </footer>\n </section>\n </Host>\n );\n }\n}\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type CreateCallback = (\n data: NewEnvironmentData\n) => Promise<FormSubmitResult>;\n\nexport type GetDataSourcesCallback = (\n selectedLanguageId: string,\n selectedRuntimeId: string\n) => Promise<GxOption[]>;\n\nexport type GetEnvironmentNameCallback = (\n selectedLanguageId: string,\n selectedDataSourceId: string,\n selectedRuntimeId: string\n) => Promise<string | undefined>;\n\nexport type GetFrontEndsCallback = (\n selectedLanguageId: string\n) => Promise<GxOption[]>;\n\nexport interface NewEnvironmentData {\n setAsCurrent: boolean;\n name: string;\n runtime: string;\n language: string;\n dataStores: string;\n frontEnds: string[];\n}\n"],"version":3}
@@ -2,9 +2,10 @@ import { r as registerInstance, a as getAssetPath, h, H as Host, g as getElement
2
2
  import { c as config } from './config-ed1f26d7.js';
3
3
  import { L as Locale } from './locale-3c32f251.js';
4
4
  import { g as getSelectedItem } from './common-339b4376.js';
5
- import { r as renderChCheckboxItems, m as mapOptionsToComboBoxItemModel } from './helpers-97d0509d.js';
5
+ import { r as renderChCheckboxItems, m as mapOptionsToComboBoxItemModel } from './helpers-64e1dd0b.js';
6
6
  import { v as validateControls } from './form-validation-8b3f527c.js';
7
7
  import { g as getIconPath } from './assets-manager-120996e9.js';
8
+ import { r as removeIndex } from './array-c52006e6.js';
8
9
 
9
10
  const newKbCss = ":host{display:grid;block-size:100%;overflow:auto;grid-template-rows:max-content 1fr max-content}.section{display:contents}.header-one-col{grid-template-columns:1fr}.header-two-cols{grid-template-columns:1fr 1fr}.location-wrapper{display:flex;gap:var(--mer-spacing--2xs)}.location{flex-grow:1;grid-area:location}.basic{display:grid;grid-template:\"basic-top basic-top\" max-content \"back-end front-end\" 1fr;grid-template-columns:1fr 1fr}.basic__header{grid-area:basic-top;grid-template-columns:1fr 1fr}.control-header__back-end,.control-header__front-end{padding-block-start:var(--mer-spacing--md)}.main__back-end{border-inline-end:var(--section-common-border)}.main__back-end,.main__front-end{grid-auto-rows:max-content;padding-block:var(--content-block-spacing);overflow:auto}.section__back-end{grid-area:back-end;grid-auto-rows:max-content}.section__front-end{grid-area:front-end}.section__back-end,.section__front-end{display:grid;grid-template-rows:max-content 1fr;overflow:auto}.tab-advanced-title{grid-area:tab-advanced-title}.layout-tab-advanced-left-col{grid-area:layout-tab-advanced-left-col}.layout-tab-advanced-right-col{grid-area:layout-tab-advanced-right-col}.basic,.advanced{padding-block-start:var(--content-block-spacing);overflow:auto;block-size:100%}.tab-advanced__field-group{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:auto}.text-align-center{text-align:center}.tab::part(page){scrollbar-width:thin}";
10
11
 
@@ -24,7 +25,7 @@ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) ||
24
25
  throw new TypeError("Cannot write private member to an object whose class did not declare it");
25
26
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
26
27
  };
27
- var _GxIdeNewKb_instances, _GxIdeNewKb_advancedTabHasBeenRendered, _GxIdeNewKb_componentLocale, _GxIdeNewKb_selectedFrontEndsIds, _GxIdeNewKb_shortcutsSrc, _GxIdeNewKb_kbSectionsModel, _GxIdeNewKb_authenticationTypeEl, _GxIdeNewKb_collationEl, _GxIdeNewKb_createDataFilesInKBFolderEl, _GxIdeNewKb_databaseNameEl, _GxIdeNewKb_dataSourceEl, _GxIdeNewKb_frontEndsEl, _GxIdeNewKb_kbNameEl, _GxIdeNewKb_locationEl, _GxIdeNewKb_passwordEl, _GxIdeNewKb_prototypingEnvironmentEl, _GxIdeNewKb_prototypingTargetEl, _GxIdeNewKb_savePasswordEl, _GxIdeNewKb_serverNameEl, _GxIdeNewKb_userInterfaceLanguageEl, _GxIdeNewKb_userNameEl, _GxIdeNewKb_chShortcutsEl, _GxIdeNewKb_getCheckboxValues, _GxIdeNewKb_handleCheckboxStatusChange, _GxIdeNewKb_handlerAuthenticationTypeInput, _GxIdeNewKb_handlerServerNameInput, _GxIdeNewKb_prototypingEnvironmentValueChangedHandler, _GxIdeNewKb_prototypingTargetValueChangedHandler, _GxIdeNewKb_renderAdvanced, _GxIdeNewKb_renderBasic, _GxIdeNewKb_cancelKbHandler, _GxIdeNewKb_createKbHandler, _GxIdeNewKb_evaluateCreateDataCheckboxEnabled, _GxIdeNewKb_evaluateTooltipRender, _GxIdeNewKb_evaluateUserInputsDisplay, _GxIdeNewKb_getDataSources, _GxIdeNewKb_initialSetup, _GxIdeNewKb_initialSetupAdvancedTab, _GxIdeNewKb_initializeValidatableControlsBasicTab, _GxIdeNewKb_initializeValidatableControlsAdvancedTab, _GxIdeNewKb_selectLocationHandler, _GxIdeNewKb_tabSelectionChangedHandler, _GxIdeNewKb_updateFrontEnds, _GxIdeNewKb_updateSelectedFrontEndsIds;
28
+ var _GxIdeNewKb_advancedTabHasBeenRendered, _GxIdeNewKb_componentLocale, _GxIdeNewKb_frontEndsCheckedMap, _GxIdeNewKb_selectedPrototypingEnvironmentId, _GxIdeNewKb_shortcutsSrc, _GxIdeNewKb_kbSectionsModel, _GxIdeNewKb_authenticationTypeEl, _GxIdeNewKb_collationEl, _GxIdeNewKb_createDataFilesInKBFolderEl, _GxIdeNewKb_databaseNameEl, _GxIdeNewKb_dataSourceEl, _GxIdeNewKb_kbNameEl, _GxIdeNewKb_locationEl, _GxIdeNewKb_passwordEl, _GxIdeNewKb_prototypingEnvironmentEl, _GxIdeNewKb_prototypingTargetEl, _GxIdeNewKb_savePasswordEl, _GxIdeNewKb_serverNameEl, _GxIdeNewKb_userInterfaceLanguageEl, _GxIdeNewKb_userNameEl, _GxIdeNewKb_chShortcutsEl, _GxIdeNewKb_handlerAuthenticationTypeInput, _GxIdeNewKb_handlerServerNameInput, _GxIdeNewKb_prototypingEnvironmentValueChangedHandler, _GxIdeNewKb_prototypingTargetValueChangedHandler, _GxIdeNewKb_renderAdvanced, _GxIdeNewKb_renderBasic, _GxIdeNewKb_cancelKbHandler, _GxIdeNewKb_createKbHandler, _GxIdeNewKb_evaluateCreateDataCheckboxEnabled, _GxIdeNewKb_evaluateTooltipRender, _GxIdeNewKb_evaluateUserInputsDisplay, _GxIdeNewKb_frontEndCheckboxInputHandler, _GxIdeNewKb_updateFrontEndsCheckedMap, _GxIdeNewKb_getDataSources, _GxIdeNewKb_initialSetupAdvancedTab, _GxIdeNewKb_initializeValidatableControlsBasicTab, _GxIdeNewKb_initializeValidatableControlsAdvancedTab, _GxIdeNewKb_selectLocationHandler, _GxIdeNewKb_tabSelectionChangedHandler, _GxIdeNewKb_updateFrontEnds;
28
29
  const CSS_BUNDLES = [
29
30
  "resets/box-sizing",
30
31
  "components/tab",
@@ -47,14 +48,18 @@ const ADVANCED_TAB_SELECTOR = "advanced";
47
48
  const GxIdeNewKb = class {
48
49
  constructor(hostRef) {
49
50
  registerInstance(this, hostRef);
50
- _GxIdeNewKb_instances.add(this);
51
51
  _GxIdeNewKb_advancedTabHasBeenRendered.set(this, false);
52
52
  /**
53
53
  * The component hard-coded strings translations.
54
54
  */
55
55
  // eslint-disable-next-line @stencil-community/own-props-must-be-private
56
56
  _GxIdeNewKb_componentLocale.set(this, void 0);
57
- _GxIdeNewKb_selectedFrontEndsIds.set(this, []);
57
+ /**
58
+ * frontEndsState saves the id's of the front ends checkboxes that are checked
59
+ */
60
+ // eslint-disable-next-line @stencil-community/own-props-must-be-private
61
+ _GxIdeNewKb_frontEndsCheckedMap.set(this, new Map());
62
+ _GxIdeNewKb_selectedPrototypingEnvironmentId.set(this, void 0);
58
63
  _GxIdeNewKb_shortcutsSrc.set(this, getAssetPath(`./gx-ide-assets/new-kb/shortcuts.json`));
59
64
  _GxIdeNewKb_kbSectionsModel.set(this, []);
60
65
  /* References needed to collect data con "Create" button submit*/
@@ -63,7 +68,6 @@ const GxIdeNewKb = class {
63
68
  _GxIdeNewKb_createDataFilesInKBFolderEl.set(this, void 0);
64
69
  _GxIdeNewKb_databaseNameEl.set(this, void 0);
65
70
  _GxIdeNewKb_dataSourceEl.set(this, void 0);
66
- _GxIdeNewKb_frontEndsEl.set(this, void 0);
67
71
  _GxIdeNewKb_kbNameEl.set(this, void 0);
68
72
  _GxIdeNewKb_locationEl.set(this, void 0);
69
73
  _GxIdeNewKb_passwordEl.set(this, void 0);
@@ -74,9 +78,17 @@ const GxIdeNewKb = class {
74
78
  _GxIdeNewKb_userInterfaceLanguageEl.set(this, void 0);
75
79
  _GxIdeNewKb_userNameEl.set(this, void 0);
76
80
  _GxIdeNewKb_chShortcutsEl.set(this, void 0);
77
- _GxIdeNewKb_handleCheckboxStatusChange.set(this, () => {
78
- __classPrivateFieldGet(this, _GxIdeNewKb_updateSelectedFrontEndsIds, "f").call(this);
79
- });
81
+ // Uncomment when "TODO: define button handler and logic" is done.
82
+ // #geminiToolsSearchPrimary = getIconPath({
83
+ // category: "gemini-tools",
84
+ // name: "search",
85
+ // colorType: "primary"
86
+ // });
87
+ // #geminiToolsResetPrimary = getIconPath({
88
+ // category: "gemini-tools",
89
+ // name: "reset",
90
+ // colorType: "primary"
91
+ // });
80
92
  _GxIdeNewKb_handlerAuthenticationTypeInput.set(this, (e) => {
81
93
  const authenticationTypeValue = e === null || e === void 0 ? void 0 : e.detail;
82
94
  __classPrivateFieldGet(this, _GxIdeNewKb_evaluateUserInputsDisplay, "f").call(this, authenticationTypeValue);
@@ -84,7 +96,8 @@ const GxIdeNewKb = class {
84
96
  _GxIdeNewKb_handlerServerNameInput.set(this, (e) => {
85
97
  __classPrivateFieldGet(this, _GxIdeNewKb_evaluateCreateDataCheckboxEnabled, "f").call(this, e.detail);
86
98
  });
87
- _GxIdeNewKb_prototypingEnvironmentValueChangedHandler.set(this, () => {
99
+ _GxIdeNewKb_prototypingEnvironmentValueChangedHandler.set(this, (event) => {
100
+ __classPrivateFieldSet(this, _GxIdeNewKb_selectedPrototypingEnvironmentId, event.detail, "f");
88
101
  __classPrivateFieldGet(this, _GxIdeNewKb_getDataSources, "f").call(this);
89
102
  __classPrivateFieldGet(this, _GxIdeNewKb_updateFrontEnds, "f").call(this);
90
103
  });
@@ -171,16 +184,14 @@ const GxIdeNewKb = class {
171
184
  .label), h("ch-combo-box-render", { class: "combo-box", disabled: this.prototypingEnvironments.length === 0, placeholder: this.prototypingEnvironments.length === 0
172
185
  ? __classPrivateFieldGet(this, _GxIdeNewKb_componentLocale, "f").tabBasic.backEnd
173
186
  .prototypingEnvironment.disabledPlaceholder
174
- : "", value: this.prototypingEnvironmentsInitialValue, ref: (el) => (__classPrivateFieldSet(this, _GxIdeNewKb_prototypingEnvironmentEl, el, "f")), model: this.prototypingEnvironmentsComboBoxModel, onInput: this.prototypingEnvironments.length > 0
175
- ? __classPrivateFieldGet(this, _GxIdeNewKb_prototypingEnvironmentValueChangedHandler, "f")
176
- : undefined, part: "prototyping-environment", id: "prototypingEnvironment" }), __classPrivateFieldGet(this, _GxIdeNewKb_evaluateTooltipRender, "f").call(this, __classPrivateFieldGet(this, _GxIdeNewKb_prototypingEnvironmentEl, "f"))), h("div", {
187
+ : "", value: __classPrivateFieldGet(this, _GxIdeNewKb_selectedPrototypingEnvironmentId, "f"), ref: (el) => (__classPrivateFieldSet(this, _GxIdeNewKb_prototypingEnvironmentEl, el, "f")), model: this.prototypingEnvironmentsComboBoxModel, onInput: __classPrivateFieldGet(this, _GxIdeNewKb_prototypingEnvironmentValueChangedHandler, "f"), part: "prototyping-environment", id: "prototypingEnvironment" }), __classPrivateFieldGet(this, _GxIdeNewKb_evaluateTooltipRender, "f").call(this, __classPrivateFieldGet(this, _GxIdeNewKb_prototypingEnvironmentEl, "f"))), h("div", {
177
188
  // #data source
178
189
  class: "field field-block"
179
190
  }, h("label", { class: "label", htmlFor: "dataSource" }, __classPrivateFieldGet(this, _GxIdeNewKb_componentLocale, "f").tabBasic.backEnd.dataSource.label), h("ch-combo-box-render", { class: "combo-box", disabled: this.defaultDataSources.length === 0, placeholder: this.defaultDataSources.length === 0
180
191
  ? __classPrivateFieldGet(this, _GxIdeNewKb_componentLocale, "f").tabBasic.backEnd.dataSource
181
192
  .disabledPlaceholder
182
193
  : "", value: this.defaultDataSourcesInitialValue, ref: (el) => (__classPrivateFieldSet(this, _GxIdeNewKb_dataSourceEl, el, "f")), model: this.defaultDataSourcesComboBoxModel, part: "data-source", id: "dataSource" }), __classPrivateFieldGet(this, _GxIdeNewKb_evaluateTooltipRender, "f").call(this, __classPrivateFieldGet(this, _GxIdeNewKb_dataSourceEl, "f"))))),
183
- h("section", { class: "section__front-end" }, h("h2", { class: "control-header control-header-with-border control-header__front-end heading-5 text-align-center spacing-body-inline" }, __classPrivateFieldGet(this, _GxIdeNewKb_componentLocale, "f").tabBasic.frontEnd.frontEndLabel), h("div", { class: "field-group main__front-end spacing-body-inline scrollable", ref: (el) => (__classPrivateFieldSet(this, _GxIdeNewKb_frontEndsEl, el, "f")) }, renderChCheckboxItems(this.frontEnds, "front-end", __classPrivateFieldGet(this, _GxIdeNewKb_handleCheckboxStatusChange, "f"))))
194
+ h("section", { class: "section__front-end" }, h("h2", { class: "control-header control-header-with-border control-header__front-end heading-5 text-align-center spacing-body-inline" }, __classPrivateFieldGet(this, _GxIdeNewKb_componentLocale, "f").tabBasic.frontEnd.frontEndLabel), h("div", { class: "field-group main__front-end spacing-body-inline scrollable" }, renderChCheckboxItems(this.frontEnds, __classPrivateFieldGet(this, _GxIdeNewKb_frontEndCheckboxInputHandler, "f"), __classPrivateFieldGet(this, _GxIdeNewKb_frontEndsCheckedMap, "f").get(__classPrivateFieldGet(this, _GxIdeNewKb_selectedPrototypingEnvironmentId, "f")))))
184
195
  ];
185
196
  });
186
197
  // - - - - - - - - - -
@@ -190,23 +201,24 @@ const GxIdeNewKb = class {
190
201
  }
191
202
  });
192
203
  _GxIdeNewKb_createKbHandler.set(this, () => {
193
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
204
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
205
+ const selectedFrontEndIds = (_a = __classPrivateFieldGet(this, _GxIdeNewKb_frontEndsCheckedMap, "f").get(__classPrivateFieldGet(this, _GxIdeNewKb_selectedPrototypingEnvironmentId, "f"))) !== null && _a !== void 0 ? _a : [];
194
206
  this.createCallback({
195
- authenticationType: (_a = __classPrivateFieldGet(this, _GxIdeNewKb_authenticationTypeEl, "f")) === null || _a === void 0 ? void 0 : _a.value,
196
- collation: (_b = __classPrivateFieldGet(this, _GxIdeNewKb_collationEl, "f")) === null || _b === void 0 ? void 0 : _b.value,
197
- createDataFilesInKBFolder: !!((_c = __classPrivateFieldGet(this, _GxIdeNewKb_createDataFilesInKBFolderEl, "f")) === null || _c === void 0 ? void 0 : _c.value),
198
- dataSource: (_d = __classPrivateFieldGet(this, _GxIdeNewKb_dataSourceEl, "f")) === null || _d === void 0 ? void 0 : _d.value,
199
- databaseName: (_e = __classPrivateFieldGet(this, _GxIdeNewKb_databaseNameEl, "f")) === null || _e === void 0 ? void 0 : _e.value,
200
- frontEnds: __classPrivateFieldGet(this, _GxIdeNewKb_selectedFrontEndsIds, "f"),
201
- kbLocation: (_f = __classPrivateFieldGet(this, _GxIdeNewKb_locationEl, "f")) === null || _f === void 0 ? void 0 : _f.value,
202
- kbName: (_g = __classPrivateFieldGet(this, _GxIdeNewKb_kbNameEl, "f")) === null || _g === void 0 ? void 0 : _g.value,
203
- password: (_h = __classPrivateFieldGet(this, _GxIdeNewKb_passwordEl, "f")) === null || _h === void 0 ? void 0 : _h.value,
204
- prototypingEnvironment: (_j = __classPrivateFieldGet(this, _GxIdeNewKb_prototypingEnvironmentEl, "f")) === null || _j === void 0 ? void 0 : _j.value,
205
- prototypingTarget: (_k = __classPrivateFieldGet(this, _GxIdeNewKb_prototypingTargetEl, "f")) === null || _k === void 0 ? void 0 : _k.value,
206
- savePassword: !!((_l = __classPrivateFieldGet(this, _GxIdeNewKb_savePasswordEl, "f")) === null || _l === void 0 ? void 0 : _l.value),
207
- serverName: (_m = __classPrivateFieldGet(this, _GxIdeNewKb_serverNameEl, "f")) === null || _m === void 0 ? void 0 : _m.value,
208
- userInterfaceLanguage: (_o = __classPrivateFieldGet(this, _GxIdeNewKb_userInterfaceLanguageEl, "f")) === null || _o === void 0 ? void 0 : _o.value,
209
- userName: (_p = __classPrivateFieldGet(this, _GxIdeNewKb_userNameEl, "f")) === null || _p === void 0 ? void 0 : _p.value
207
+ authenticationType: (_b = __classPrivateFieldGet(this, _GxIdeNewKb_authenticationTypeEl, "f")) === null || _b === void 0 ? void 0 : _b.value,
208
+ collation: (_c = __classPrivateFieldGet(this, _GxIdeNewKb_collationEl, "f")) === null || _c === void 0 ? void 0 : _c.value,
209
+ createDataFilesInKBFolder: !!((_d = __classPrivateFieldGet(this, _GxIdeNewKb_createDataFilesInKBFolderEl, "f")) === null || _d === void 0 ? void 0 : _d.value),
210
+ dataSource: (_e = __classPrivateFieldGet(this, _GxIdeNewKb_dataSourceEl, "f")) === null || _e === void 0 ? void 0 : _e.value,
211
+ databaseName: (_f = __classPrivateFieldGet(this, _GxIdeNewKb_databaseNameEl, "f")) === null || _f === void 0 ? void 0 : _f.value,
212
+ frontEnds: selectedFrontEndIds,
213
+ kbLocation: (_g = __classPrivateFieldGet(this, _GxIdeNewKb_locationEl, "f")) === null || _g === void 0 ? void 0 : _g.value,
214
+ kbName: (_h = __classPrivateFieldGet(this, _GxIdeNewKb_kbNameEl, "f")) === null || _h === void 0 ? void 0 : _h.value,
215
+ password: (_j = __classPrivateFieldGet(this, _GxIdeNewKb_passwordEl, "f")) === null || _j === void 0 ? void 0 : _j.value,
216
+ prototypingEnvironment: (_k = __classPrivateFieldGet(this, _GxIdeNewKb_prototypingEnvironmentEl, "f")) === null || _k === void 0 ? void 0 : _k.value,
217
+ prototypingTarget: (_l = __classPrivateFieldGet(this, _GxIdeNewKb_prototypingTargetEl, "f")) === null || _l === void 0 ? void 0 : _l.value,
218
+ savePassword: !!((_m = __classPrivateFieldGet(this, _GxIdeNewKb_savePasswordEl, "f")) === null || _m === void 0 ? void 0 : _m.value),
219
+ serverName: (_o = __classPrivateFieldGet(this, _GxIdeNewKb_serverNameEl, "f")) === null || _o === void 0 ? void 0 : _o.value,
220
+ userInterfaceLanguage: (_p = __classPrivateFieldGet(this, _GxIdeNewKb_userInterfaceLanguageEl, "f")) === null || _p === void 0 ? void 0 : _p.value,
221
+ userName: (_q = __classPrivateFieldGet(this, _GxIdeNewKb_userNameEl, "f")) === null || _q === void 0 ? void 0 : _q.value
210
222
  }).then((formSubmitResult) => {
211
223
  this.validatableControls = validateControls(formSubmitResult, this.validatableControls);
212
224
  });
@@ -249,6 +261,33 @@ const GxIdeNewKb = class {
249
261
  this.savePasswordVisible = true;
250
262
  }
251
263
  });
264
+ _GxIdeNewKb_frontEndCheckboxInputHandler.set(this, (event) => {
265
+ const checkedValue = event.target.checkedValue;
266
+ const checked = event.detail === checkedValue;
267
+ __classPrivateFieldGet(this, _GxIdeNewKb_updateFrontEndsCheckedMap, "f").call(this, checkedValue, checked);
268
+ });
269
+ /**
270
+ * This function updates frontEndsCheckedMap, that contains the checked
271
+ * checkboxes for each language front ends.
272
+ */
273
+ // eslint-disable-next-line @stencil-community/own-props-must-be-private
274
+ _GxIdeNewKb_updateFrontEndsCheckedMap.set(this, (checkboxId, checked) => {
275
+ let currentState = __classPrivateFieldGet(this, _GxIdeNewKb_frontEndsCheckedMap, "f").get(__classPrivateFieldGet(this, _GxIdeNewKb_selectedPrototypingEnvironmentId, "f"));
276
+ if (!currentState) {
277
+ // first time
278
+ currentState = [];
279
+ __classPrivateFieldGet(this, _GxIdeNewKb_frontEndsCheckedMap, "f").set(__classPrivateFieldGet(this, _GxIdeNewKb_selectedPrototypingEnvironmentId, "f"), currentState);
280
+ }
281
+ if (checked) {
282
+ // update by adding
283
+ currentState.push(checkboxId);
284
+ }
285
+ else {
286
+ // update by removing
287
+ const checkboxIndex = currentState.findIndex(id => id === checkboxId);
288
+ removeIndex(currentState, checkboxIndex);
289
+ }
290
+ });
252
291
  _GxIdeNewKb_getDataSources.set(this, () => {
253
292
  if (this.getDataSourcesCallback) {
254
293
  const selectedPrototypingEnvironmentId = __classPrivateFieldGet(this, _GxIdeNewKb_prototypingEnvironmentEl, "f").value;
@@ -267,15 +306,6 @@ const GxIdeNewKb = class {
267
306
  });
268
307
  }
269
308
  });
270
- _GxIdeNewKb_initialSetup.set(this, () => {
271
- __classPrivateFieldGet(this, _GxIdeNewKb_updateSelectedFrontEndsIds, "f").call(this);
272
- // map all "Basic Tab" GxOption[]'s to ComboBoxModel's
273
- this.watchDefaultDataSources(this.defaultDataSources);
274
- this.watchPrototypingEnvironments(this.prototypingEnvironments);
275
- this.watchPrototypingTargets(this.prototypingTargets);
276
- this.watchServerNames(this.serverNames);
277
- this.watchUserInterfaceLanguages(this.userInterfaceLanguages);
278
- });
279
309
  _GxIdeNewKb_initialSetupAdvancedTab.set(this, () => {
280
310
  const selectedServerNameValue = __classPrivateFieldGet(this, _GxIdeNewKb_serverNameEl, "f").value;
281
311
  __classPrivateFieldGet(this, _GxIdeNewKb_evaluateCreateDataCheckboxEnabled, "f").call(this, selectedServerNameValue);
@@ -351,34 +381,14 @@ const GxIdeNewKb = class {
351
381
  * by comparing the new state (getFrontEndsCallback result) and previous state.
352
382
  */
353
383
  // eslint-disable-next-line @stencil-community/own-props-must-be-private
354
- _GxIdeNewKb_updateFrontEnds.set(this, () => {
355
- if (this.getFrontEndsCallback) {
356
- const selectedPrototypingEnvironmentId = __classPrivateFieldGet(this, _GxIdeNewKb_prototypingEnvironmentEl, "f").value;
357
- const updatedFrontEndsPromise = this.getFrontEndsCallback(selectedPrototypingEnvironmentId);
358
- updatedFrontEndsPromise
359
- .then(newFrontEndsOptions => {
360
- const updatedFrontEnds = [];
361
- newFrontEndsOptions.forEach(newFrontEnd => {
362
- const foundActualFrontEnd = this.frontEnds.find(actualFrontEnd => {
363
- return newFrontEnd.id === actualFrontEnd.id;
364
- });
365
- if (foundActualFrontEnd) {
366
- // update newFrontEnd checked status with actual frontEnd checked status
367
- newFrontEnd.checked = foundActualFrontEnd.checked;
368
- }
369
- updatedFrontEnds.push(newFrontEnd);
370
- });
371
- this.frontEnds = updatedFrontEnds;
372
- })
373
- .catch(() => {
374
- // to do
375
- });
384
+ _GxIdeNewKb_updateFrontEnds.set(this, async () => {
385
+ const updatedFrontEnds = await this.getFrontEndsCallback(__classPrivateFieldGet(this, _GxIdeNewKb_selectedPrototypingEnvironmentId, "f"));
386
+ if ((updatedFrontEnds === null || updatedFrontEnds === void 0 ? void 0 : updatedFrontEnds.length) > 0) {
387
+ this.frontEnds = updatedFrontEnds;
376
388
  }
377
389
  });
378
- _GxIdeNewKb_updateSelectedFrontEndsIds.set(this, () => {
379
- __classPrivateFieldSet(this, _GxIdeNewKb_selectedFrontEndsIds, __classPrivateFieldGet(this, _GxIdeNewKb_instances, "m", _GxIdeNewKb_getCheckboxValues).call(this), "f");
380
- });
381
390
  this.advancedTabIsVisible = false;
391
+ this.frontEnds = undefined;
382
392
  this.validatableControls = new Map();
383
393
  this.createDataInKbDisabled = false;
384
394
  this.userNameVisible = true;
@@ -405,8 +415,6 @@ const GxIdeNewKb = class {
405
415
  this.createDataFilesInKBFolder = false;
406
416
  this.databaseName = undefined;
407
417
  this.defaultDataSources = undefined;
408
- this.displayTitle = false;
409
- this.frontEnds = undefined;
410
418
  this.getDataSourcesCallback = undefined;
411
419
  this.getFrontEndsCallback = undefined;
412
420
  this.isAdvanced = false;
@@ -445,7 +453,8 @@ const GxIdeNewKb = class {
445
453
  if (newValue === null || newValue === void 0 ? void 0 : newValue.length) {
446
454
  this.prototypingEnvironmentsComboBoxModel =
447
455
  mapOptionsToComboBoxItemModel(newValue);
448
- this.prototypingEnvironmentsInitialValue = getSelectedItem(newValue);
456
+ __classPrivateFieldSet(this, _GxIdeNewKb_selectedPrototypingEnvironmentId, getSelectedItem(newValue), "f");
457
+ __classPrivateFieldGet(this, _GxIdeNewKb_updateFrontEnds, "f").call(this);
449
458
  }
450
459
  }
451
460
  watchPrototypingTargets(newValue) {
@@ -470,7 +479,6 @@ const GxIdeNewKb = class {
470
479
  }
471
480
  async componentWillLoad() {
472
481
  __classPrivateFieldSet(this, _GxIdeNewKb_componentLocale, await Locale.getComponentStrings(this.el), "f");
473
- this.previousFrontEndsState = this.frontEnds;
474
482
  __classPrivateFieldSet(this, _GxIdeNewKb_kbSectionsModel, [
475
483
  {
476
484
  id: BASIC_TAB_SELECTOR,
@@ -482,8 +490,14 @@ const GxIdeNewKb = class {
482
490
  }
483
491
  ], "f");
484
492
  }
493
+ connectedCallback() {
494
+ this.watchDefaultDataSources(this.defaultDataSources);
495
+ this.watchPrototypingEnvironments(this.prototypingEnvironments);
496
+ this.watchPrototypingTargets(this.prototypingTargets);
497
+ this.watchServerNames(this.serverNames);
498
+ this.watchUserInterfaceLanguages(this.userInterfaceLanguages);
499
+ }
485
500
  componentDidLoad() {
486
- __classPrivateFieldGet(this, _GxIdeNewKb_initialSetup, "f").call(this);
487
501
  __classPrivateFieldGet(this, _GxIdeNewKb_initializeValidatableControlsBasicTab, "f").call(this);
488
502
  }
489
503
  componentDidRender() {
@@ -559,14 +573,7 @@ const GxIdeNewKb = class {
559
573
  "userInterfaceLanguages": ["watchUserInterfaceLanguages"]
560
574
  }; }
561
575
  };
562
- _GxIdeNewKb_advancedTabHasBeenRendered = new WeakMap(), _GxIdeNewKb_componentLocale = new WeakMap(), _GxIdeNewKb_selectedFrontEndsIds = new WeakMap(), _GxIdeNewKb_shortcutsSrc = new WeakMap(), _GxIdeNewKb_kbSectionsModel = new WeakMap(), _GxIdeNewKb_authenticationTypeEl = new WeakMap(), _GxIdeNewKb_collationEl = new WeakMap(), _GxIdeNewKb_createDataFilesInKBFolderEl = new WeakMap(), _GxIdeNewKb_databaseNameEl = new WeakMap(), _GxIdeNewKb_dataSourceEl = new WeakMap(), _GxIdeNewKb_frontEndsEl = new WeakMap(), _GxIdeNewKb_kbNameEl = new WeakMap(), _GxIdeNewKb_locationEl = new WeakMap(), _GxIdeNewKb_passwordEl = new WeakMap(), _GxIdeNewKb_prototypingEnvironmentEl = new WeakMap(), _GxIdeNewKb_prototypingTargetEl = new WeakMap(), _GxIdeNewKb_savePasswordEl = new WeakMap(), _GxIdeNewKb_serverNameEl = new WeakMap(), _GxIdeNewKb_userInterfaceLanguageEl = new WeakMap(), _GxIdeNewKb_userNameEl = new WeakMap(), _GxIdeNewKb_chShortcutsEl = new WeakMap(), _GxIdeNewKb_handleCheckboxStatusChange = new WeakMap(), _GxIdeNewKb_handlerAuthenticationTypeInput = new WeakMap(), _GxIdeNewKb_handlerServerNameInput = new WeakMap(), _GxIdeNewKb_prototypingEnvironmentValueChangedHandler = new WeakMap(), _GxIdeNewKb_prototypingTargetValueChangedHandler = new WeakMap(), _GxIdeNewKb_renderAdvanced = new WeakMap(), _GxIdeNewKb_renderBasic = new WeakMap(), _GxIdeNewKb_cancelKbHandler = new WeakMap(), _GxIdeNewKb_createKbHandler = new WeakMap(), _GxIdeNewKb_evaluateCreateDataCheckboxEnabled = new WeakMap(), _GxIdeNewKb_evaluateTooltipRender = new WeakMap(), _GxIdeNewKb_evaluateUserInputsDisplay = new WeakMap(), _GxIdeNewKb_getDataSources = new WeakMap(), _GxIdeNewKb_initialSetup = new WeakMap(), _GxIdeNewKb_initialSetupAdvancedTab = new WeakMap(), _GxIdeNewKb_initializeValidatableControlsBasicTab = new WeakMap(), _GxIdeNewKb_initializeValidatableControlsAdvancedTab = new WeakMap(), _GxIdeNewKb_selectLocationHandler = new WeakMap(), _GxIdeNewKb_tabSelectionChangedHandler = new WeakMap(), _GxIdeNewKb_updateFrontEnds = new WeakMap(), _GxIdeNewKb_updateSelectedFrontEndsIds = new WeakMap(), _GxIdeNewKb_instances = new WeakSet(), _GxIdeNewKb_getCheckboxValues = function _GxIdeNewKb_getCheckboxValues() {
563
- // TODO (We shouldn't be using querySelector)
564
- const checkboxes = __classPrivateFieldGet(this, _GxIdeNewKb_frontEndsEl, "f").querySelectorAll("ch-checkbox");
565
- const values = Array.from(checkboxes)
566
- .map((checkbox) => checkbox.value)
567
- .filter(Boolean);
568
- return values;
569
- };
576
+ _GxIdeNewKb_advancedTabHasBeenRendered = new WeakMap(), _GxIdeNewKb_componentLocale = new WeakMap(), _GxIdeNewKb_frontEndsCheckedMap = new WeakMap(), _GxIdeNewKb_selectedPrototypingEnvironmentId = new WeakMap(), _GxIdeNewKb_shortcutsSrc = new WeakMap(), _GxIdeNewKb_kbSectionsModel = new WeakMap(), _GxIdeNewKb_authenticationTypeEl = new WeakMap(), _GxIdeNewKb_collationEl = new WeakMap(), _GxIdeNewKb_createDataFilesInKBFolderEl = new WeakMap(), _GxIdeNewKb_databaseNameEl = new WeakMap(), _GxIdeNewKb_dataSourceEl = new WeakMap(), _GxIdeNewKb_kbNameEl = new WeakMap(), _GxIdeNewKb_locationEl = new WeakMap(), _GxIdeNewKb_passwordEl = new WeakMap(), _GxIdeNewKb_prototypingEnvironmentEl = new WeakMap(), _GxIdeNewKb_prototypingTargetEl = new WeakMap(), _GxIdeNewKb_savePasswordEl = new WeakMap(), _GxIdeNewKb_serverNameEl = new WeakMap(), _GxIdeNewKb_userInterfaceLanguageEl = new WeakMap(), _GxIdeNewKb_userNameEl = new WeakMap(), _GxIdeNewKb_chShortcutsEl = new WeakMap(), _GxIdeNewKb_handlerAuthenticationTypeInput = new WeakMap(), _GxIdeNewKb_handlerServerNameInput = new WeakMap(), _GxIdeNewKb_prototypingEnvironmentValueChangedHandler = new WeakMap(), _GxIdeNewKb_prototypingTargetValueChangedHandler = new WeakMap(), _GxIdeNewKb_renderAdvanced = new WeakMap(), _GxIdeNewKb_renderBasic = new WeakMap(), _GxIdeNewKb_cancelKbHandler = new WeakMap(), _GxIdeNewKb_createKbHandler = new WeakMap(), _GxIdeNewKb_evaluateCreateDataCheckboxEnabled = new WeakMap(), _GxIdeNewKb_evaluateTooltipRender = new WeakMap(), _GxIdeNewKb_evaluateUserInputsDisplay = new WeakMap(), _GxIdeNewKb_frontEndCheckboxInputHandler = new WeakMap(), _GxIdeNewKb_updateFrontEndsCheckedMap = new WeakMap(), _GxIdeNewKb_getDataSources = new WeakMap(), _GxIdeNewKb_initialSetupAdvancedTab = new WeakMap(), _GxIdeNewKb_initializeValidatableControlsBasicTab = new WeakMap(), _GxIdeNewKb_initializeValidatableControlsAdvancedTab = new WeakMap(), _GxIdeNewKb_selectLocationHandler = new WeakMap(), _GxIdeNewKb_tabSelectionChangedHandler = new WeakMap(), _GxIdeNewKb_updateFrontEnds = new WeakMap();
570
577
  GxIdeNewKb.style = newKbCss;
571
578
 
572
579
  export { GxIdeNewKb as gx_ide_new_kb };