@genexus/genexus-ide-ui 1.1.33 → 1.1.34

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 (34) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +11 -2
  3. package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
  4. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +30 -10
  5. package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/collection/components/new-environment/new-environment.js +33 -3
  8. package/dist/collection/components/new-environment/new-environment.js.map +1 -1
  9. package/dist/collection/components/new-kb/new-kb.js +55 -14
  10. package/dist/collection/components/new-kb/new-kb.js.map +1 -1
  11. package/dist/collection/components/new-kb/tests/new-kb.e2e.js +10 -1
  12. package/dist/collection/components/new-kb/tests/new-kb.e2e.js.map +1 -1
  13. package/dist/components/gx-ide-new-environment.js +13 -3
  14. package/dist/components/gx-ide-new-environment.js.map +1 -1
  15. package/dist/components/gx-ide-new-kb.js +34 -13
  16. package/dist/components/gx-ide-new-kb.js.map +1 -1
  17. package/dist/esm/genexus-ide-ui.js +1 -1
  18. package/dist/esm/gx-ide-new-environment.entry.js +11 -2
  19. package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
  20. package/dist/esm/gx-ide-new-kb.entry.js +31 -11
  21. package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
  22. package/dist/esm/loader.js +1 -1
  23. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  24. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  25. package/dist/genexus-ide-ui/{p-ec9e0915.entry.js → p-4da77239.entry.js} +228 -209
  26. package/dist/genexus-ide-ui/p-4da77239.entry.js.map +1 -0
  27. package/dist/genexus-ide-ui/{p-8d570fd2.entry.js → p-bf176329.entry.js} +60 -50
  28. package/dist/genexus-ide-ui/p-bf176329.entry.js.map +1 -0
  29. package/dist/types/components/new-environment/new-environment.d.ts +6 -1
  30. package/dist/types/components/new-kb/new-kb.d.ts +7 -2
  31. package/dist/types/components.d.ts +28 -12
  32. package/package.json +1 -1
  33. package/dist/genexus-ide-ui/p-8d570fd2.entry.js.map +0 -1
  34. package/dist/genexus-ide-ui/p-ec9e0915.entry.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["newKbCss","CSS_BUNDLES","WINDOWS_AUTHENTICATION_VALUE","MAIN_SECTION_CLASSES","BASIC_SECTION_PARENT_CLASSES","SYSTEM_ICON","getIconPath","category","name","colorType","BASIC_TAB_SELECTOR","ADVANCED_TAB_SELECTOR","GxIdeNewKb","_GxIdeNewKb_advancedTabHasBeenRendered","set","this","_GxIdeNewKb_componentLocale","_GxIdeNewKb_frontEndsCheckedMap","Map","_GxIdeNewKb_selectedPrototypingEnvironmentId","_GxIdeNewKb_selectedDataSourceId","_GxIdeNewKb_shortcutsSrc","getAssetPath","_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","e","authenticationTypeValue","detail","__classPrivateFieldGet","_GxIdeNewKb_evaluateUserInputsDisplay","call","_GxIdeNewKb_handlerServerNameInput","_GxIdeNewKb_evaluateCreateDataCheckboxEnabled","_GxIdeNewKb_prototypingEnvironmentValueChangedHandler","event","__classPrivateFieldSet","_GxIdeNewKb_getDataSources","_GxIdeNewKb_updateFrontEnds","_GxIdeNewKb_prototypingTargetValueChangedHandler","async","_GxIdeNewKb_getPrototypingEnvironments","_GxIdeNewKb_dataSourceValueChangedHandler","value","_GxIdeNewKb_renderAdvanced","h","class","tabAdvanced","tabTitle","htmlFor","serverName","label","disabled","serverNames","length","placeholder","disabledPlaceholder","serverNamesInitialValue","ref","el","model","serverNamesComboBoxModel","onInput","id","part","_GxIdeNewKb_evaluateTooltipRender","authenticationType","authenticationTypes","authenticationTypesInitialValue","authenticationTypesComboBoxModel","undefined","databaseName","userNameVisible","userName","collation","collations","collationsInitialValue","collationsComboBoxModel","passwordVisible","password","type","checkedValue","caption","createDataFilesInKbFolder","createDataInKbDisabled","savePasswordVisible","savePassword","_GxIdeNewKb_renderBasic","tabBasic","prototypingTarget","prototypingTargets","prototypingTargetsInitialValue","prototypingTargetsComboBoxModel","userInterfaceLanguage","userInterfaceLanguages","userInterfaceLanguagesInitialValue","userInterfaceLanguagesComboBoxModel","backEnd","backEndLabel","prototypingEnvironment","defaultPrototypingEnvironments","prototypingEnvironmentsComboBoxModel","dataSource","defaultDataSources","defaultDataSourcesInitialValue","defaultDataSourcesComboBoxModel","frontEnd","frontEndLabel","renderChCheckboxItems","frontEnds","_GxIdeNewKb_frontEndCheckboxInputHandler","get","_GxIdeNewKb_cancelKbHandler","cancelCallback","_GxIdeNewKb_createKbHandler","selectedFrontEndIds","_a","createCallback","_b","_c","createDataFilesInKBFolder","_d","_e","_f","kbLocation","_g","kbName","_h","_j","_k","_l","_m","_o","_p","_q","then","formSubmitResult","validatableControls","validateControls","serverNameValue","controlReference","hasError","message","actionElement","blockAlign","config","tooltipSettings","inlineAlign","delay","target","checked","_GxIdeNewKb_updateFrontEndsCheckedMap","checkboxId","currentState","push","checkboxIndex","findIndex","removeIndex","getPrototypingEnvironmentsCallback","selectedPrototypingTargetId","envs","getDataSourcesCallback","selectedPrototypingEnvironmentId","updatedDefaultDataSourcesPromise","result","setSelectedItem","getSelectedItem","catch","_GxIdeNewKb_initialSetupAdvancedTab","selectedServerNameValue","selectedAuthenticationType","watchAuthenticationTypes","watchCollations","_GxIdeNewKb_initializeValidatableControlsBasicTab","forEach","validatableControl","reference","_GxIdeNewKb_initializeValidatableControlsAdvancedTab","_GxIdeNewKb_selectLocationHandler","selectLocationCallback","_GxIdeNewKb_tabSelectionChangedHandler","newSelectedId","advancedTabIsVisible","updatedFrontEnds","getFrontEndsCallback","newValue","mapOptionsToComboBoxItemModel","watchDefaultDataSources","watchDefaultPrototypingEnvironments","watchPrototypingTargets","watchServerNames","watchUserInterfaceLanguages","componentWillLoad","Locale","getComponentStrings","tabLabel","connectedCallback","componentDidLoad","componentDidRender","suspendShortcuts","suspend","render","Host","src","isAdvanced","header","autoFocus","selectLocationButton","title","onClick","scrollable","tab","tabListPosition","selectedId","overflow","contain","onSelectedItemChange","slot","footer","btnCancel","btnCreate"],"sources":["src/components/new-kb/new-kb.scss?tag=gx-ide-new-kb&encapsulation=shadow","src/components/new-kb/new-kb.tsx"],"sourcesContent":[":host {\n display: grid;\n block-size: 100%;\n overflow: auto;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.section {\n display: contents;\n}\n\n.header {\n &-one-col {\n grid-template-columns: 1fr;\n }\n &-two-cols {\n grid-template-columns: 1fr 1fr;\n }\n}\n// location appears if advanced is true\n.location-wrapper {\n display: flex;\n gap: var(--mer-spacing--2xs);\n}\n.location {\n flex-grow: 1;\n grid-area: location;\n}\n\n.basic {\n display: grid;\n grid-template:\n \"basic-top basic-top\" max-content\n \"back-end front-end\" 1fr;\n grid-template-columns: 1fr 1fr;\n}\n.basic__header {\n grid-area: basic-top;\n grid-template-columns: 1fr 1fr;\n}\n.control-header__back-end,\n.control-header__front-end {\n padding-block-start: var(--mer-spacing--md);\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// back end\n.section__back-end {\n grid-area: back-end;\n grid-auto-rows: max-content;\n}\n// front end\n.section__front-end {\n grid-area: front-end;\n}\n.section__back-end,\n.section__front-end {\n display: grid;\n grid-template-rows: max-content 1fr;\n overflow: auto;\n}\n\n// advanced\n.tab-advanced-title {\n grid-area: tab-advanced-title;\n}\n.layout-tab-advanced-left-col {\n grid-area: layout-tab-advanced-left-col;\n}\n.layout-tab-advanced-right-col {\n grid-area: layout-tab-advanced-right-col;\n}\n\n.basic,\n.advanced {\n padding-block-start: var(--content-block-spacing);\n overflow: auto;\n block-size: 100%;\n}\n\n.tab-advanced__field-group {\n display: grid;\n grid-template-columns: 1fr 1fr;\n grid-auto-rows: 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","import {\n Component,\n Host,\n Prop,\n Element,\n State,\n getAssetPath,\n Method,\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 { getSelectedItem, setSelectedItem } from \"../../common/common\";\nimport {\n mapOptionsToComboBoxItemModel,\n renderChCheckboxItems\n} from \"../../common/helpers\";\nimport { FormSubmitResult, GxOption } from \"../../common/types\";\nimport {\n ControlValidation,\n validateControls\n} from \"../../common/form-validation\";\nimport {\n TabModel,\n ComboBoxModel,\n ChCheckboxCustomEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { removeIndex } from \"../../common/array\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/tab\",\n \"components/tooltip\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\n\nconst WINDOWS_AUTHENTICATION_VALUE: string = \"windows-authentication\";\nconst MAIN_SECTION_CLASSES: string = \"main\";\nconst BASIC_SECTION_PARENT_CLASSES: string = \"basic\";\n\nconst SYSTEM_ICON = getIconPath({\n category: \"system\",\n name: \"folder\",\n colorType: \"primary\"\n});\n\nconst BASIC_TAB_SELECTOR: string = \"basic\";\nconst ADVANCED_TAB_SELECTOR: string = \"advanced\";\n\n@Component({\n tag: \"gx-ide-new-kb\",\n styleUrl: \"new-kb.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/new-kb\"]\n})\nexport class GxIdeNewKb {\n #advancedTabHasBeenRendered: boolean = false;\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 * frontEndsState saves the id's of the front ends checkboxes that are checked\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #frontEndsCheckedMap = new Map<string, string[]>();\n #selectedPrototypingEnvironmentId: string;\n #selectedDataSourceId: string;\n #shortcutsSrc = getAssetPath(`./gx-ide-assets/new-kb/shortcuts.json`);\n #kbSectionsModel: TabModel = [];\n\n @Element() el: HTMLGxIdeNewKbElement;\n\n /* References needed to collect data con \"Create\" button submit*/\n #authenticationTypeEl!: HTMLChComboBoxRenderElement;\n #collationEl!: HTMLChComboBoxRenderElement;\n #createDataFilesInKBFolderEl!: HTMLChCheckboxElement;\n #databaseNameEl!: HTMLChEditElement;\n #dataSourceEl!: HTMLChComboBoxRenderElement;\n #kbNameEl!: HTMLChEditElement;\n #locationEl!: HTMLChEditElement;\n #passwordEl!: HTMLChEditElement;\n #prototypingEnvironmentEl!: HTMLChComboBoxRenderElement;\n #prototypingTargetEl!: HTMLChComboBoxRenderElement;\n #savePasswordEl!: HTMLChCheckboxElement;\n #serverNameEl!: HTMLChComboBoxRenderElement;\n #userInterfaceLanguageEl!: HTMLChComboBoxRenderElement;\n #userNameEl!: HTMLChEditElement;\n\n #chShortcutsEl: HTMLChShortcutsElement;\n\n @State() advancedTabIsVisible: boolean = false;\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 @State() validatableControls = new Map<string, ControlValidation>();\n @State() createDataInKbDisabled = false;\n @State() userNameVisible = true;\n @State() passwordVisible = true;\n @State() savePasswordVisible = true;\n // representations of GxOption[] as ComboBoxModel, and initialValue for each one.\n @State() authenticationTypesComboBoxModel: ComboBoxModel = [];\n @State() authenticationTypesInitialValue: string;\n @State() collationsComboBoxModel: ComboBoxModel = [];\n @State() collationsInitialValue: string;\n @State() defaultDataSourcesComboBoxModel: ComboBoxModel = [];\n @State() defaultDataSourcesInitialValue: string;\n @State() prototypingTargetsComboBoxModel: ComboBoxModel = [];\n @State() prototypingTargetsInitialValue: string;\n @State() prototypingEnvironmentsComboBoxModel: ComboBoxModel = [];\n @State() prototypingEnvironmentsInitialValue: string;\n @State() serverNamesComboBoxModel: ComboBoxModel = [];\n @State() serverNamesInitialValue: string;\n @State() userInterfaceLanguagesComboBoxModel: ComboBoxModel = [];\n @State() userInterfaceLanguagesInitialValue: string;\n\n /**\n * Defines the type of authentication for the connection to the previously defined database\n */\n @Prop() readonly authenticationTypes: GxOption[] = [];\n @Watch(\"authenticationTypes\")\n watchAuthenticationTypes(newValue: GxOption[]) {\n if (newValue?.length) {\n this.authenticationTypesComboBoxModel =\n mapOptionsToComboBoxItemModel(newValue);\n this.authenticationTypesInitialValue = getSelectedItem(newValue);\n }\n }\n\n /**\n * Callback invoked when the user wants to cancel KB creation (‘Cancel’ button)\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * DB Collations\n */\n @Prop() readonly collations!: GxOption[];\n @Watch(\"collations\")\n watchCollations(newValue: GxOption[]) {\n if (newValue?.length) {\n this.collationsComboBoxModel = mapOptionsToComboBoxItemModel(newValue);\n this.collationsInitialValue = getSelectedItem(newValue);\n }\n }\n\n /**\n * Callback that will be invoked when the user confirms KB creation (‘Create’ button)\n */\n @Prop() readonly createCallback!: CreateCallback;\n\n /**\n * Disabled if the first item of the 'Server Name' combo is selected\n */\n @Prop() readonly createDataFilesInKBFolder: boolean = false;\n\n /**\n * Name of the database where we are going to persist the information of our KB\n */\n @Prop() readonly databaseName: string;\n\n /**\n * It allows defining the DBMS that will be used in the solution\n */\n @Prop({ mutable: true }) defaultDataSources: GxOption[] = [];\n @Watch(\"defaultDataSources\")\n watchDefaultDataSources(newValue: GxOption[]) {\n if (newValue?.length) {\n this.defaultDataSourcesComboBoxModel =\n mapOptionsToComboBoxItemModel(newValue);\n this.defaultDataSourcesInitialValue = getSelectedItem(newValue);\n }\n }\n\n /**\n * Callback invoked when the user wants to cancel KB creation (‘Cancel’ button)\n */\n @Prop() readonly getDataSourcesCallback: GetDataSourcesCallback;\n\n /**\n * Callback invoked when the user changes the prototyping environment, allowing for the modification of the list of front ends\n */\n @Prop() readonly getFrontEndsCallback!: GetFrontEndsCallback;\n\n /**\n * Callback invoked when the user changes the prototyping target id, allowing for the modification of the list of prototyping environments\n */\n @Prop() readonly getPrototypingEnvironmentsCallback!: GetPrototypingEnvironmentsCallback;\n\n /**\n * Specify whether it is feasible to display information related to local configuration parameters\n */\n @Prop() readonly isAdvanced = false;\n\n /**\n * Default suggested path to a directory where the information related to the KB will be stored/generated\n */\n @Prop({ mutable: true }) kbLocation: string;\n\n /**\n * The knowledge base default suggested name\n */\n @Prop() readonly kbName: string;\n\n /**\n * Password for the database connection. Visible if the Authentication Type is different from Windows Authentication (first item of the combo)\n */\n @Prop() readonly password: string;\n\n /**\n * It allows selecting the default environment that the KB will have (additional environments can be created later)\n */\n @Prop({ mutable: true }) defaultPrototypingEnvironments: GxOption[] = [];\n @Watch(\"defaultPrototypingEnvironments\")\n watchDefaultPrototypingEnvironments(newValue: GxOption[]) {\n if (newValue?.length) {\n this.prototypingEnvironmentsComboBoxModel =\n mapOptionsToComboBoxItemModel(newValue);\n this.#selectedPrototypingEnvironmentId = getSelectedItem(newValue);\n this.#updateFrontEnds();\n }\n }\n\n /**\n * Path to a directory where the information related to the KB will be stored/generated\n */\n @Prop() readonly prototypingTargets: GxOption[] = [];\n @Watch(\"prototypingTargets\")\n watchPrototypingTargets(newValue: GxOption[]) {\n if (newValue?.length) {\n this.prototypingTargetsComboBoxModel =\n mapOptionsToComboBoxItemModel(newValue);\n this.prototypingTargetsInitialValue = getSelectedItem(newValue);\n this.#getPrototypingEnvironments();\n }\n }\n\n /**\n * Visible if something other than Windows Authentication is selected\n */\n @Prop() readonly savePassword: boolean = false;\n\n /**\n * This is a function provided by the developer that returns a string, with the location path\n */\n @Prop() readonly selectLocationCallback!: SelectLocationCallback;\n\n /**\n * Name of the DB server where we want to persist the information of our KB\n */\n @Prop() readonly serverNames: GxOption[] = [];\n @Watch(\"serverNames\")\n watchServerNames(newValue: GxOption[]) {\n if (newValue?.length) {\n this.serverNamesComboBoxModel = mapOptionsToComboBoxItemModel(newValue);\n this.serverNamesInitialValue = getSelectedItem(newValue);\n }\n }\n\n /**\n * Specify the language in which the application screens will be developed (default language)\n */\n @Prop() readonly userInterfaceLanguages: GxOption[] = [];\n @Watch(\"userInterfaceLanguages\")\n watchUserInterfaceLanguages(newValue: GxOption[]) {\n if (newValue?.length) {\n this.userInterfaceLanguagesComboBoxModel =\n mapOptionsToComboBoxItemModel(newValue);\n this.userInterfaceLanguagesInitialValue = getSelectedItem(newValue);\n }\n }\n\n /**\n * Username for the database connection. Visible if the Authentication Type is different from Windows Authentication (first item of the combo)\n */\n @Prop() readonly userName: string;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#kbSectionsModel = [\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 }\n\n connectedCallback() {\n this.watchDefaultDataSources(this.defaultDataSources);\n this.watchDefaultPrototypingEnvironments(this.defaultPrototypingEnvironments);\n this.watchPrototypingTargets(this.prototypingTargets);\n this.watchServerNames(this.serverNames);\n this.watchUserInterfaceLanguages(this.userInterfaceLanguages);\n }\n\n componentDidLoad() {\n this.#initializeValidatableControlsBasicTab();\n }\n\n componentDidRender() {\n if (this.advancedTabIsVisible && !this.#advancedTabHasBeenRendered) {\n // just call this once.\n this.#initialSetupAdvancedTab();\n this.#initializeValidatableControlsAdvancedTab();\n this.#advancedTabHasBeenRendered = true;\n }\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 // Uncomment when \"TODO: define button handler and logic\" is done.\n // #geminiToolsSearchPrimary = getIconPath({\n // category: \"gemini-tools\",\n // name: \"search\",\n // colorType: \"primary\"\n // });\n // #geminiToolsResetPrimary = getIconPath({\n // category: \"gemini-tools\",\n // name: \"reset\",\n // colorType: \"primary\"\n // });\n\n #handlerAuthenticationTypeInput = (e: CustomEvent<string> | InputEvent) => {\n const authenticationTypeValue = e?.detail;\n this.#evaluateUserInputsDisplay(authenticationTypeValue as string);\n };\n\n #handlerServerNameInput = (e: CustomEvent<string> | InputEvent) => {\n this.#evaluateCreateDataCheckboxEnabled(e.detail as string);\n };\n\n #prototypingEnvironmentValueChangedHandler = (\n event: CustomEvent<string> | InputEvent\n ): void => {\n this.#selectedPrototypingEnvironmentId = event.detail as string;\n this.#getDataSources();\n this.#updateFrontEnds();\n };\n\n #prototypingTargetValueChangedHandler = async (): Promise<void> => {\n await this.#getPrototypingEnvironments();\n this.#getDataSources();\n };\n\n #dataSourceValueChangedHandler = () => {\n this.#selectedDataSourceId = this.#dataSourceEl.value;\n };\n\n #renderAdvanced = (): Element[] => {\n return [\n <h2\n // #knowledge base storage\n class=\"control-header subtitle-regular-xs\t text-align-center\"\n >\n {this.#componentLocale.tabAdvanced.tabTitle}\n </h2>,\n <div class=\"field-group tab-advanced__field-group\">\n <div\n // #server name\n class=\"field field-block server-name-field\"\n >\n <label class=\"label\" htmlFor=\"serverName\">\n {this.#componentLocale.tabAdvanced.serverName.label}\n </label>\n <ch-combo-box-render\n class=\"combo-box\"\n disabled={this.serverNames.length === 0}\n placeholder={\n this.serverNames.length === 0\n ? this.#componentLocale.tabAdvanced.serverName\n .disabledPlaceholder\n : \"\"\n }\n value={this.serverNamesInitialValue}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#serverNameEl = el as HTMLChComboBoxRenderElement)\n }\n model={this.serverNamesComboBoxModel}\n onInput={\n this.serverNames.length > 0 && this.#handlerServerNameInput\n }\n id=\"serverName\"\n part=\"server-name\"\n ></ch-combo-box-render>\n {this.#evaluateTooltipRender(this.#serverNameEl)}\n </div>\n\n {/* <button\n TODO: define button handler and logic\n class=\"button-tertiary button-icon-only server-name-button\"\n aria-label=\"caption\"\n part=\"search-server-name\"\n hidden\n >\n <ch-image\n class=\"icon-sm\"\n src={this.#geminiToolsSearchPrimary}\n ></ch-image>\n </button> */}\n\n <div\n // #authentication type\n class=\"field field-block authentication-type-field\"\n >\n <label class=\"label\" htmlFor=\"authenticationType\">\n {this.#componentLocale.tabAdvanced.authenticationType.label}\n </label>\n <ch-combo-box-render\n class=\"combo-box\"\n disabled={this.authenticationTypes.length === 0}\n placeholder={\n this.authenticationTypes.length === 0\n ? this.#componentLocale.tabAdvanced.authenticationType\n .disabledPlaceholder\n : \"\"\n }\n value={this.authenticationTypesInitialValue}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#authenticationTypeEl = el as HTMLChComboBoxRenderElement)\n }\n model={this.authenticationTypesComboBoxModel}\n id=\"authenticationType\"\n part=\"authentication-type\"\n onInput={\n this.authenticationTypes.length > 0\n ? this.#handlerAuthenticationTypeInput\n : undefined\n }\n ></ch-combo-box-render>\n {this.#evaluateTooltipRender(this.#authenticationTypeEl)}\n </div>\n\n <div\n // #database\n class=\"field field-block database-field\"\n >\n <label class=\"label\" htmlFor=\"databaseName\">\n {this.#componentLocale.tabAdvanced.databaseName.label}\n </label>\n <ch-edit\n // TODO add placeholder\n class=\"input\"\n value={this.databaseName}\n id=\"databaseName\"\n part=\"database-name\"\n ref={(el: HTMLChEditElement) =>\n (this.#databaseNameEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#databaseNameEl)}\n </div>\n\n {this.userNameVisible ? (\n <div\n // #username\n class=\"field field-block username-field\"\n >\n <label class=\"label\" htmlFor=\"userName\">\n {this.#componentLocale.tabAdvanced.userName.label}\n </label>\n <ch-edit\n // TODO add placeholder\n class=\"input\"\n value={this.userName}\n id=\"userName\"\n part=\"user-name\"\n ref={(el: HTMLChEditElement) =>\n (this.#userNameEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#userNameEl)}\n </div>\n ) : null}\n\n <div\n // #collation\n class=\"field field-block collation-field\"\n >\n <label class=\"label\" htmlFor=\"collation\">\n {this.#componentLocale.tabAdvanced.collation.label}\n </label>\n <ch-combo-box-render\n class=\"combo-box\"\n disabled={this.serverNames.length === 0}\n placeholder={\n this.collations.length === 0\n ? this.#componentLocale.tabAdvanced.collation\n .disabledPlaceholder\n : \"\"\n }\n value={this.collationsInitialValue}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#collationEl = el as HTMLChComboBoxRenderElement)\n }\n model={this.collationsComboBoxModel}\n id=\"collation\"\n part=\"collation\"\n ></ch-combo-box-render>\n {this.#evaluateTooltipRender(this.#collationEl)}\n </div>\n\n {/* <button\n TODO: define button handler and logic \n class=\"button-tertiary button-icon-only collation-button\"\n aria-label=\"caption\"\n part=\"reset-collation\"\n >\n <ch-image\n class=\"icon-sm\"\n src={this.#geminiToolsResetPrimary}\n ></ch-image>\n </button> */}\n\n {this.passwordVisible ? (\n <div\n // #password\n class=\"field field-block password-field\"\n >\n <label class=\"label\" htmlFor=\"password\">\n {this.#componentLocale.tabAdvanced.password.label}\n </label>\n <ch-edit\n // TODO add placeholder\n class=\"input\"\n type=\"password\"\n value={this.password}\n id=\"password\"\n part=\"password\"\n ref={(el: HTMLChEditElement) =>\n (this.#passwordEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#passwordEl)}\n </div>\n ) : null}\n\n <ch-checkbox\n // #create data in knowledge base folder\n class=\"checkbox create-data-in-kb-checkbox\"\n checkedValue=\"createDataFilesInKBFolder\"\n caption={this.#componentLocale.tabAdvanced.createDataFilesInKbFolder}\n disabled={this.createDataInKbDisabled}\n part=\"create-data-in-kb\"\n id=\"createDataFilesInKBFolder\"\n ref={(el: HTMLChCheckboxElement) =>\n (this.#createDataFilesInKBFolderEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n\n {this.savePasswordVisible ? (\n <ch-checkbox\n // #save password\n class=\"checkbox save-password-checkbox\"\n checkedValue=\"password\"\n caption={this.#componentLocale.tabAdvanced.savePassword}\n part=\"save-password\"\n id=\"savePassword\"\n ref={(el: HTMLChCheckboxElement) =>\n (this.#savePasswordEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n ) : null}\n </div>\n ];\n };\n\n #renderBasic = (): HTMLElement[] => {\n return [\n <section class=\"basic__header field-group control-header-with-border spacing-body-inline\">\n <div\n // #prototyping target\n class=\"field field-block prototyping-target\"\n >\n <label class=\"label\" htmlFor=\"prototypingTarget\">\n {this.#componentLocale.tabBasic.prototypingTarget.label}\n </label>\n\n <ch-combo-box-render\n id=\"prototypingTarget\"\n class=\"combo-box\"\n part=\"prototyping-target\"\n disabled={this.prototypingTargets.length === 0}\n placeholder={\n this.prototypingTargets.length === 0\n ? this.#componentLocale.tabBasic.prototypingTarget\n .disabledPlaceholder\n : \"\"\n }\n value={this.prototypingTargetsInitialValue}\n model={this.prototypingTargetsComboBoxModel}\n onInput={\n this.prototypingTargets.length > 0\n ? this.#prototypingTargetValueChangedHandler\n : undefined\n }\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#prototypingTargetEl = el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n {this.#evaluateTooltipRender(this.#prototypingTargetEl)}\n </div>\n\n <div\n // #user interface\n class=\"field field-block user-interface-language\"\n >\n <label class=\"label\" htmlFor=\"userInterfaceLanguage\">\n {this.#componentLocale.tabBasic.userInterfaceLanguage.label}\n </label>\n <ch-combo-box-render\n class=\"combo-box\"\n disabled={this.userInterfaceLanguages.length === 0}\n placeholder={\n this.userInterfaceLanguages.length === 0\n ? this.#componentLocale.tabBasic.userInterfaceLanguage\n .disabledPlaceholder\n : \"\"\n }\n value={this.userInterfaceLanguagesInitialValue}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#userInterfaceLanguageEl =\n el as HTMLChComboBoxRenderElement)\n }\n model={this.userInterfaceLanguagesComboBoxModel}\n id=\"userInterfaceLanguage\"\n part=\"user-interface-language\"\n ></ch-combo-box-render>\n {this.#evaluateTooltipRender(this.#userInterfaceLanguageEl)}\n </div>\n </section>,\n\n <section\n class=\"section__back-end\"\n // backend\n >\n <h2\n // back end\n class=\"control-header control-header-with-border control-header__back-end subtitle-regular-xs\t text-align-center spacing-body-inline\"\n >\n {this.#componentLocale.tabBasic.backEnd.backEndLabel}\n </h2>\n <div class=\"field-group main__back-end spacing-body-inline scrollable\">\n <div\n // #prototyping environment\n class=\"field field-block\"\n >\n <label class=\"label\" htmlFor=\"prototypingEnvironment\">\n {\n this.#componentLocale.tabBasic.backEnd.prototypingEnvironment\n .label\n }\n </label>\n <ch-combo-box-render\n class=\"combo-box\"\n disabled={this.defaultPrototypingEnvironments.length === 0}\n placeholder={\n this.defaultPrototypingEnvironments.length === 0\n ? this.#componentLocale.tabBasic.backEnd\n .prototypingEnvironment.disabledPlaceholder\n : \"\"\n }\n value={this.#selectedPrototypingEnvironmentId}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#prototypingEnvironmentEl =\n el as HTMLChComboBoxRenderElement)\n }\n model={this.prototypingEnvironmentsComboBoxModel}\n onInput={this.#prototypingEnvironmentValueChangedHandler}\n part=\"prototyping-environment\"\n id=\"prototypingEnvironment\"\n ></ch-combo-box-render>\n {this.#evaluateTooltipRender(this.#prototypingEnvironmentEl)}\n </div>\n\n <div\n // #data source\n class=\"field field-block\"\n >\n <label class=\"label\" htmlFor=\"dataSource\">\n {this.#componentLocale.tabBasic.backEnd.dataSource.label}\n </label>\n <ch-combo-box-render\n class=\"combo-box\"\n disabled={this.defaultDataSources.length === 0}\n placeholder={\n this.defaultDataSources.length === 0\n ? this.#componentLocale.tabBasic.backEnd.dataSource\n .disabledPlaceholder\n : \"\"\n }\n value={this.defaultDataSourcesInitialValue}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#dataSourceEl = el as HTMLChComboBoxRenderElement)\n }\n onInput={this.#dataSourceValueChangedHandler}\n model={this.defaultDataSourcesComboBoxModel}\n part=\"data-source\"\n id=\"dataSource\"\n ></ch-combo-box-render>\n {this.#evaluateTooltipRender(this.#dataSourceEl)}\n </div>\n </div>\n </section>,\n\n <section\n class=\"section__front-end\"\n // front end\n >\n <h2 class=\"control-header control-header-with-border control-header__front-end subtitle-regular-xs\t text-align-center spacing-body-inline\">\n {this.#componentLocale.tabBasic.frontEnd.frontEndLabel}\n </h2>\n <div class=\"field-group main__front-end spacing-body-inline scrollable\">\n {renderChCheckboxItems(\n this.frontEnds,\n this.#frontEndCheckboxInputHandler,\n this.#frontEndsCheckedMap.get(\n this.#selectedPrototypingEnvironmentId\n )\n )}\n </div>\n </section>\n ];\n };\n\n // - - - - - - - - - -\n\n #cancelKbHandler = (): void => {\n if (this.cancelCallback) {\n this.cancelCallback();\n }\n };\n\n #createKbHandler = (): void => {\n const selectedFrontEndIds =\n this.#frontEndsCheckedMap.get(this.#selectedPrototypingEnvironmentId) ??\n [];\n\n this.createCallback({\n authenticationType: this.#authenticationTypeEl?.value,\n collation: this.#collationEl?.value,\n createDataFilesInKBFolder: !!this.#createDataFilesInKBFolderEl?.value,\n dataSource: this.#dataSourceEl?.value,\n databaseName: this.#databaseNameEl?.value,\n frontEnds: selectedFrontEndIds,\n kbLocation: this.#locationEl?.value,\n kbName: this.#kbNameEl?.value,\n password: this.#passwordEl?.value,\n prototypingEnvironment: this.#prototypingEnvironmentEl?.value,\n prototypingTarget: this.#prototypingTargetEl?.value,\n savePassword: !!this.#savePasswordEl?.value,\n serverName: this.#serverNameEl?.value,\n userInterfaceLanguage: this.#userInterfaceLanguageEl?.value,\n userName: this.#userNameEl?.value\n }).then((formSubmitResult: FormSubmitResult) => {\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n });\n };\n\n /**\n * Disable \"Create Data in Knowledge Base Folder\" if the first Server Name\n * option is selected.\n * */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #evaluateCreateDataCheckboxEnabled = (serverNameValue: string) => {\n if (this.serverNames[0]?.id === serverNameValue) {\n this.createDataInKbDisabled = true;\n } else {\n this.createDataInKbDisabled = false;\n }\n };\n\n // TODO: evaluate if this should be a global helper function.\n // It is used on new-kb 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 /**\n * If \"Authentication Type\" is \"Windows Authentication\", hide User Name,\n * Password, and Save Password fields.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #evaluateUserInputsDisplay = (authenticationTypeValue: string) => {\n if (authenticationTypeValue === WINDOWS_AUTHENTICATION_VALUE) {\n this.userNameVisible = false;\n this.passwordVisible = false;\n this.savePasswordVisible = false;\n } else {\n this.userNameVisible = true;\n this.passwordVisible = true;\n this.savePasswordVisible = true;\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(\n this.#selectedPrototypingEnvironmentId\n );\n if (!currentState) {\n // first time\n currentState = [];\n this.#frontEndsCheckedMap.set(\n this.#selectedPrototypingEnvironmentId,\n currentState\n );\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 #getPrototypingEnvironments = async (): Promise<void> => {\n if (this.getPrototypingEnvironmentsCallback) {\n const selectedPrototypingTargetId = this.#prototypingTargetEl ? \n this.#prototypingTargetEl.value : this.prototypingTargetsInitialValue;\n const envs = await this.getPrototypingEnvironmentsCallback(selectedPrototypingTargetId);\n if (envs) {\n this.defaultPrototypingEnvironments = envs;\n }\n }\n };\n\n #getDataSources = (): void => {\n if (this.getDataSourcesCallback) {\n const selectedPrototypingEnvironmentId =\n this.#prototypingEnvironmentEl.value;\n const selectedPrototypingTargetId = this.#prototypingTargetEl.value;\n const updatedDefaultDataSourcesPromise: Promise<GxOption[]> =\n this.getDataSourcesCallback(\n selectedPrototypingEnvironmentId,\n selectedPrototypingTargetId\n );\n updatedDefaultDataSourcesPromise\n .then(result => {\n if (result.length > 0) {\n result = setSelectedItem(result, this.#selectedDataSourceId);\n this.#selectedDataSourceId = getSelectedItem(result);\n this.defaultDataSources = result;\n // set first option as selected\n this.#dataSourceEl.value = \n this.#selectedDataSourceId !== undefined ? this.#selectedDataSourceId : this.defaultDataSources[0].id;\n }\n })\n .catch(() => {\n // to do\n });\n }\n };\n\n #initialSetupAdvancedTab = () => {\n const selectedServerNameValue = this.#serverNameEl.value;\n this.#evaluateCreateDataCheckboxEnabled(selectedServerNameValue);\n\n const selectedAuthenticationType = this.#authenticationTypeEl.value;\n this.#evaluateUserInputsDisplay(selectedAuthenticationType);\n\n // map all \"Advanced Tab\" GxOption[]'s to ComboBoxModel's\n this.watchAuthenticationTypes(this.authenticationTypes);\n this.watchCollations(this.collations);\n };\n\n #initializeValidatableControlsBasicTab = () => {\n // populate #controlsValidation with the controls that could have errors.\n const validatableControls: HTMLElement[] = [\n this.#dataSourceEl,\n this.#kbNameEl,\n this.#prototypingEnvironmentEl,\n this.#prototypingTargetEl,\n this.#userInterfaceLanguageEl\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 #initializeValidatableControlsAdvancedTab = () => {\n // populate #controlsValidation with the controls that could have errors.\n const validatableControls: HTMLElement[] = [\n this.#locationEl,\n this.#authenticationTypeEl,\n this.#createDataFilesInKBFolderEl,\n this.#serverNameEl,\n this.#authenticationTypeEl,\n this.#databaseNameEl,\n this.#userNameEl,\n this.#collationEl,\n this.#passwordEl,\n this.#savePasswordEl\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 /**\n * @description It allows defining the DBMS that will be used in the solution\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #selectLocationHandler = (): void => {\n this.selectLocationCallback().then(kbLocation => {\n if (kbLocation) {\n this.kbLocation = kbLocation;\n } else {\n // to be defined\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 /**\n * Evaluates which front-end options need updates on 'getFrontEndsCallback'\n * by comparing the new state (getFrontEndsCallback result) and previous state.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #updateFrontEnds = async () => {\n const updatedFrontEnds = await this.getFrontEndsCallback(\n this.#selectedPrototypingEnvironmentId\n );\n if (updatedFrontEnds?.length > 0) {\n this.frontEnds = updatedFrontEnds;\n }\n };\n\n render() {\n return (\n <Host class=\"widget\">\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 <section class=\"section\">\n <header\n class={{\n \"field-group\": true,\n \"control-header-with-border\": !this.isAdvanced,\n \"control-header\": this.isAdvanced,\n \"header\": true,\n \"header-two-cols\": this.isAdvanced,\n \"header-one-col\": !this.isAdvanced,\n \"spacing-body-block-start\": true,\n \"spacing-body-inline\": true\n }}\n >\n <div\n // #kb name\n class=\"field field-inline kb-name\"\n >\n <label class=\"label kb-label\" htmlFor=\"kbName\">\n {this.#componentLocale.header.kbName}\n </label>\n <ch-edit\n // TODO add placeholder\n autoFocus\n class=\"input kb-input\"\n placeholder=\"SalesInventory\"\n value={this.kbName}\n ref={(el: HTMLChEditElement) =>\n (this.#kbNameEl = el as HTMLChEditElement)\n }\n id=\"kbName\"\n part=\"kb-name\"\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#kbNameEl)}\n </div>\n\n {this.isAdvanced && (\n <div class=\"location-wrapper\">\n <div\n // #location\n class=\"field field-inline location\"\n >\n <label class=\"label location-label\" htmlFor=\"kbLocation\">\n {this.#componentLocale.header.kbLocation}\n </label>\n <ch-edit\n // TODO add placeholder\n class=\"input location-input\"\n value={this.kbLocation}\n ref={(el: HTMLChEditElement) =>\n (this.#locationEl = el as HTMLChEditElement)\n }\n id=\"kbLocation\"\n part=\"kb-location\"\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#locationEl)}\n </div>\n <button\n class=\"button-tertiary button-icon-only location-icon\"\n aria-label={this.#componentLocale.header.selectLocationButton}\n title={this.#componentLocale.header.selectLocationButton}\n part=\"button-select-location\"\n onClick={this.#selectLocationHandler}\n >\n <ch-image class=\"icon-md\" src={SYSTEM_ICON}></ch-image>\n </button>\n </div>\n )}\n </header>\n\n {this.isAdvanced ? (\n <ch-tab-render\n // #tab\n class={{\n scrollable: true,\n tab: true,\n [MAIN_SECTION_CLASSES]: true\n }}\n tabListPosition=\"block-start\"\n model={this.#kbSectionsModel}\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\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 class={MAIN_SECTION_CLASSES}>\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 \"spacing-body-block-end\": true,\n \"spacing-body-inline\": true\n }}\n >\n <div class=\"buttons-spacer\">\n <button\n // #cancel\n class=\"button-secondary\"\n id=\"button-cancel\"\n onClick={this.#cancelKbHandler}\n part=\"button-cancel\"\n >\n {this.#componentLocale.footer.btnCancel}\n </button>\n <button\n // #create\n class=\"button-primary\"\n id=\"button-create\"\n onClick={this.#createKbHandler}\n part=\"button-create\"\n >\n {this.#componentLocale.footer.btnCreate}\n </button>\n </div>\n </footer>\n </section>\n </Host>\n );\n }\n}\nexport interface NewKBData {\n authenticationType: string;\n collation: string;\n createDataFilesInKBFolder: boolean;\n databaseName: string;\n dataSource: string;\n frontEnds: string[];\n kbLocation: string;\n kbName: string;\n password: string;\n prototypingEnvironment: string;\n prototypingTarget: string;\n savePassword: boolean;\n serverName: string;\n userInterfaceLanguage: string;\n userName: string;\n}\n\nexport type CreateCallback = (data: NewKBData) => Promise<FormSubmitResult>;\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type GetDataSourcesCallback = (\n selectedPrototypingEnvironmentId: string,\n selectedPrototypingTargetId: string\n) => Promise<GxOption[]>;\n\nexport type GetFrontEndsCallback = (\n selectedPrototypingEnvironmentId: string\n) => Promise<GxOption[]>;\n\nexport type GetPrototypingEnvironmentsCallback = (\n selectedPrototypingTargetId: string\n) => Promise<GxOption[]>;\n\nexport type SelectLocationCallback = () => Promise<string>;\n"],"mappings":"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"}
@@ -6,9 +6,9 @@ import { L as o } from "./p-311eedf3.js";
6
6
 
7
7
  import { r, m as h } from "./p-8c15538c.js";
8
8
 
9
- import { s as c, g as l } from "./p-8c2e9df4.js";
9
+ import { s as c, g as d } from "./p-8c2e9df4.js";
10
10
 
11
- import { v as d } from "./p-289c3290.js";
11
+ import { v as l } from "./p-289c3290.js";
12
12
 
13
13
  import { r as f } from "./p-1252519a.js";
14
14
 
@@ -27,21 +27,21 @@ var b = undefined && undefined.__classPrivateFieldSet || function(t, e, i, s, n)
27
27
  return s === "a" ? n.call(t, i) : n ? n.value = i : e.set(t, i), i;
28
28
  };
29
29
 
30
- var m, v, g, w, k, _, y, x, M, W, C, j, E, S, I, T, z, F, L, P, A, D, H, R, V, q, B, G, J, K;
30
+ var m, v, g, w, k, y, _, M, x, W, C, j, E, S, I, T, z, F, L, P, A, D, H, R, V, q, B, G, J, K, N;
31
31
 
32
- const N = [
32
+ const O = [
33
33
  // TODO: review if "utils/form--full" is required.
34
34
  "resets/box-sizing", "components/tab", "components/tooltip", "utils/form--full", "utils/layout", "utils/typography", "utils/spacing", "chameleon/scrollbar" ];
35
35
 
36
- const O = "main";
37
-
38
- const Q = "basic";
36
+ const Q = "main";
39
37
 
40
38
  const U = "basic";
41
39
 
42
- const X = "advanced";
40
+ const X = "basic";
41
+
42
+ const Y = "advanced";
43
43
 
44
- const Y = class {
44
+ const Z = class {
45
45
  constructor(s) {
46
46
  t(this, s);
47
47
  m.set(this, false);
@@ -54,10 +54,10 @@ const Y = class {
54
54
  // eslint-disable-next-line @stencil-community/own-props-must-be-private
55
55
  w.set(this, new Map);
56
56
  k.set(this, void 0);
57
- _.set(this, void 0);
58
57
  y.set(this, void 0);
59
- x.set(this, e(`./gx-ide-assets/new-environment/shortcuts.json`));
60
- M.set(this, []);
58
+ _.set(this, void 0);
59
+ M.set(this, e(`./gx-ide-assets/new-environment/shortcuts.json`));
60
+ x.set(this, []);
61
61
  /**
62
62
  * The component hard-coded strings translations.
63
63
  */
@@ -79,7 +79,7 @@ const Y = class {
79
79
  }));
80
80
  z.set(this, (() => {
81
81
  var t;
82
- b(this, y, (t = this.runtimes[0]) === null || t === void 0 ? void 0 : t.value, "f");
82
+ b(this, _, (t = this.runtimes[0]) === null || t === void 0 ? void 0 : t.value, "f");
83
83
  }));
84
84
  // TODO: We must avoid performing the get 3 times.
85
85
  // It is used on new-environment as well.
@@ -107,7 +107,7 @@ const Y = class {
107
107
  }));
108
108
  }));
109
109
  P.set(this, (async t => {
110
- b(this, _, t.detail, "f");
110
+ b(this, y, t.detail, "f");
111
111
  await p(this, q, "f").call(this);
112
112
  p(this, G, "f").call(this);
113
113
  p(this, B, "f").call(this);
@@ -128,7 +128,7 @@ const Y = class {
128
128
  class: "radio-group",
129
129
  onChange: p(this, H, "f"),
130
130
  model: this.runtimesRadioGroupModel,
131
- value: p(this, y, "f")
131
+ value: p(this, _, "f")
132
132
  }) ] : [ i("h2", {
133
133
  class: "subtitle-regular-xs\t text-align-center"
134
134
  }, p(this, W, "f").runtime, ":"), i("p", null, this.runtimesRadioGroupModel[0].caption) ]), i("section", {
@@ -148,7 +148,7 @@ const Y = class {
148
148
  id: "language",
149
149
  class: "combo-box",
150
150
  part: "language",
151
- value: p(this, _, "f"),
151
+ value: p(this, y, "f"),
152
152
  disabled: this.languages.length === 0,
153
153
  model: this.languageComboBoxModel,
154
154
  onInput: p(this, P, "f"),
@@ -176,66 +176,73 @@ const Y = class {
176
176
  class: "field-group front-end__checkboxes spacing-body-inline main__front-end scrollable",
177
177
  role: "group",
178
178
  "aria-labelledby": p(this, W, "f").tabBasic.frontEnd.generators
179
- }, r(this.frontEnds, p(this, J, "f"), p(this, w, "f").get(p(this, _, "f"))))) ]));
179
+ }, r(this.frontEnds, p(this, K, "f"), p(this, w, "f").get(p(this, y, "f"))))) ]));
180
180
  H.set(this, (async t => {
181
- b(this, y, t.detail, "f");
181
+ b(this, _, t.detail, "f");
182
+ await p(this, J, "f").call(this);
182
183
  await p(this, q, "f").call(this);
183
184
  p(this, B, "f").call(this);
184
185
  }));
185
186
  R.set(this, (async () => {
186
187
  var t, e;
187
- const i = (t = p(this, w, "f").get(p(this, _, "f"))) !== null && t !== void 0 ? t : [];
188
+ const i = (t = p(this, w, "f").get(p(this, y, "f"))) !== null && t !== void 0 ? t : [];
188
189
  this.createCallback({
189
190
  setAsCurrent: !!((e = p(this, S, "f")) === null || e === void 0 ? void 0 : e.value),
190
191
  name: p(this, j, "f").value,
191
- runtime: p(this, y, "f"),
192
+ runtime: p(this, _, "f"),
192
193
  language: p(this, E, "f").value,
193
194
  dataStores: p(this, C, "f").value,
194
195
  frontEnds: i
195
196
  }).then((t => {
196
- this.validatableControls = d(t, this.validatableControls);
197
+ this.validatableControls = l(t, this.validatableControls);
197
198
  }));
198
199
  }));
199
200
  V.set(this, (t => {
200
- if (t.detail.newSelectedId === X) {
201
+ if (t.detail.newSelectedId === Y) {
201
202
  this.advancedTabIsVisible = true;
202
203
  // Some logic for advanced tab is done on componentDidRender lifecycle,
203
204
  // since the reference to the elements is needed.
204
205
  }
205
206
  }));
206
207
  q.set(this, (async () => {
207
- const t = await this.getDataSourcesCallback(p(this, _, "f"), p(this, y, "f"));
208
+ const t = await this.getDataSourcesCallback(p(this, y, "f"), p(this, _, "f"));
208
209
  if ((t === null || t === void 0 ? void 0 : t.length) > 0) {
209
210
  this.dataStores = t;
210
211
  }
211
212
  }));
212
213
  B.set(this, (async () => {
213
214
  if (!p(this, g, "f")) {
214
- this.environmentName = await this.getEnvironmentNameCallback(p(this, _, "f"), p(this, k, "f"), p(this, y, "f"));
215
+ this.environmentName = await this.getEnvironmentNameCallback(p(this, y, "f"), p(this, k, "f"), p(this, _, "f"));
215
216
  }
216
217
  }));
217
218
  G.set(this, (async () => {
218
- const t = await this.getFrontEndsCallback(p(this, _, "f"));
219
+ const t = await this.getFrontEndsCallback(p(this, y, "f"));
219
220
  if ((t === null || t === void 0 ? void 0 : t.length) > 0) {
220
221
  this.frontEnds = t;
221
222
  }
222
223
  }));
223
- J.set(this, (t => {
224
+ J.set(this, (async () => {
225
+ const t = await this.getLanguagesCallback(p(this, _, "f"));
226
+ if ((t === null || t === void 0 ? void 0 : t.length) > 0) {
227
+ this.languages = t;
228
+ }
229
+ }));
230
+ K.set(this, (t => {
224
231
  const e = t.target.checkedValue;
225
232
  const i = t.detail === e;
226
- p(this, K, "f").call(this, e, i);
233
+ p(this, N, "f").call(this, e, i);
227
234
  }));
228
235
  /**
229
236
  * This function updates frontEndsCheckedMap, that contains the checked
230
237
  * checkboxes for each language front ends.
231
238
  */
232
239
  // eslint-disable-next-line @stencil-community/own-props-must-be-private
233
- K.set(this, ((t, e) => {
234
- let i = p(this, w, "f").get(p(this, _, "f"));
240
+ N.set(this, ((t, e) => {
241
+ let i = p(this, w, "f").get(p(this, y, "f"));
235
242
  if (!i) {
236
243
  // first time
237
244
  i = [];
238
- p(this, w, "f").set(p(this, _, "f"), i);
245
+ p(this, w, "f").set(p(this, y, "f"), i);
239
246
  }
240
247
  if (e) {
241
248
  // update by adding
@@ -261,6 +268,7 @@ const Y = class {
261
268
  this.getFrontEndsCallback = undefined;
262
269
  this.isAdvanced = false;
263
270
  this.languages = undefined;
271
+ this.getLanguagesCallback = undefined;
264
272
  this.runtimes = undefined;
265
273
  this.setAsTarget = true;
266
274
  }
@@ -268,19 +276,20 @@ const Y = class {
268
276
  if (t === null || t === void 0 ? void 0 : t.length) {
269
277
  this.dataStoresComboBoxModel = h(t);
270
278
  const e = c(t, p(this, k, "f"));
271
- b(this, k, l(e), "f");
279
+ b(this, k, d(e), "f");
272
280
  }
273
281
  }
274
282
  languagesChanged(t) {
275
283
  if (t === null || t === void 0 ? void 0 : t.length) {
276
284
  this.languageComboBoxModel = h(t);
277
- b(this, _, l(t), "f");
285
+ b(this, y, d(t), "f");
278
286
  p(this, G, "f").call(this);
279
287
  }
280
288
  }
281
289
  runtimesChanged(t) {
282
290
  if (t === null || t === void 0 ? void 0 : t.length) {
283
291
  this.runtimesRadioGroupModel = h(this.runtimes);
292
+ p(this, J, "f").call(this);
284
293
  }
285
294
  }
286
295
  connectedCallback() {
@@ -299,11 +308,11 @@ const Y = class {
299
308
  }
300
309
  async componentWillLoad() {
301
310
  b(this, W, await o.getComponentStrings(this.el), "f");
302
- b(this, M, [ {
303
- id: U,
311
+ b(this, x, [ {
312
+ id: X,
304
313
  name: p(this, W, "f").tabBasic.tabLabel
305
314
  }, {
306
- id: X,
315
+ id: Y,
307
316
  name: p(this, W, "f").tabAdvanced.tabLabel
308
317
  } ], "f");
309
318
  p(this, z, "f").call(this);
@@ -321,9 +330,9 @@ const Y = class {
321
330
  return i(s, {
322
331
  class: "widget scrollable"
323
332
  }, i("ch-theme", {
324
- model: N
333
+ model: O
325
334
  }), i("ch-shortcuts", {
326
- src: p(this, x, "f"),
335
+ src: p(this, M, "f"),
327
336
  ref: t => b(this, v, t, "f")
328
337
  }), i("section", {
329
338
  class: "section"
@@ -356,27 +365,27 @@ const Y = class {
356
365
  // main section
357
366
  class: {
358
367
  tab: true,
359
- [O]: true
368
+ [Q]: true
360
369
  },
361
370
  tabListPosition: "block-start",
362
- model: p(this, M, "f"),
363
- selectedId: U,
371
+ model: p(this, x, "f"),
372
+ selectedId: X,
364
373
  overflow: "auto",
365
374
  contain: "size",
366
375
  onSelectedItemChange: !this.advancedTabIsVisible && p(this, V, "f")
367
376
  }, i("div", {
368
- slot: U,
369
- class: Q,
377
+ slot: X,
378
+ class: U,
370
379
  part: "tab-button-basic"
371
380
  }, p(this, D, "f").call(this)), this.advancedTabIsVisible && i("div", {
372
- slot: X,
381
+ slot: Y,
373
382
  class: "advanced spacing-body-inline",
374
383
  part: "tab-button-advanced"
375
384
  }, p(this, A, "f").call(this))) : i("div", {
376
385
  // main section
377
- class: O
378
- }, i("div", {
379
386
  class: Q
387
+ }, i("div", {
388
+ class: U
380
389
  }, p(this, D, "f").call(this))), i("footer", {
381
390
  class: {
382
391
  "control-footer": this.isAdvanced,
@@ -423,13 +432,14 @@ const Y = class {
423
432
  };
424
433
 
425
434
  m = new WeakMap, v = new WeakMap, g = new WeakMap, w = new WeakMap, k = new WeakMap,
426
- _ = new WeakMap, y = new WeakMap, x = new WeakMap, M = new WeakMap, W = new WeakMap,
435
+ y = new WeakMap, _ = new WeakMap, M = new WeakMap, x = new WeakMap, W = new WeakMap,
427
436
  C = new WeakMap, j = new WeakMap, E = new WeakMap, S = new WeakMap, I = new WeakMap,
428
437
  T = new WeakMap, z = new WeakMap, F = new WeakMap, L = new WeakMap, P = new WeakMap,
429
438
  A = new WeakMap, D = new WeakMap, H = new WeakMap, R = new WeakMap, V = new WeakMap,
430
- q = new WeakMap, B = new WeakMap, G = new WeakMap, J = new WeakMap, K = new WeakMap;
439
+ q = new WeakMap, B = new WeakMap, G = new WeakMap, J = new WeakMap, K = new WeakMap,
440
+ N = new WeakMap;
431
441
 
432
- Y.style = u;
442
+ Z.style = u;
433
443
 
434
- export { Y as gx_ide_new_environment };
435
- //# sourceMappingURL=p-8d570fd2.entry.js.map
444
+ export { Z as gx_ide_new_environment };
445
+ //# sourceMappingURL=p-bf176329.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["newEnvironmentCss","CSS_BUNDLES","MAIN_SECTION_CLASSES","BASIC_SECTION_PARENT_CLASSES","BASIC_TAB_SELECTOR","ADVANCED_TAB_SELECTOR","GxIdeNewEnvironment","_GxIdeNewEnvironment_advancedTabHasBeenRendered","set","this","_GxIdeNewEnvironment_chShortcutsEl","_GxIdeNewEnvironment_envNameModifiedByUser","_GxIdeNewEnvironment_frontEndsCheckedMap","Map","_GxIdeNewEnvironment_selectedDataStoreId","_GxIdeNewEnvironment_selectedLanguageId","_GxIdeNewEnvironment_selectedRuntimeEnvironmentId","_GxIdeNewEnvironment_shortcutsSrc","getAssetPath","_GxIdeNewEnvironment_newEnvironmentSectionsModel","_GxIdeNewEnvironment_componentLocale","_GxIdeNewEnvironment_dataStoreEl","_GxIdeNewEnvironment_environmentNameEl","_GxIdeNewEnvironment_languageEl","_GxIdeNewEnvironment_setAsCurrentEnvironmentEl","_GxIdeNewEnvironment_dataStoreValueChangedHandler","__classPrivateFieldSet","__classPrivateFieldGet","value","_GxIdeNewEnvironment_updateEnvironmentName","call","_GxIdeNewEnvironment_envNameInputHandler","e","newEnvName","detail","trim","environmentName","_GxIdeNewEnvironment_evaluateSelectedRuntimeEnvironmentId","_a","runtimes","_GxIdeNewEnvironment_evaluateTooltipRender","controlReference","_b","validatableControls","get","id","hasError","_c","message","h","class","actionElement","blockAlign","config","tooltipSettings","inlineAlign","delay","_GxIdeNewEnvironment_initializeValidatableControlsBasicTab","forEach","validatableControl","reference","undefined","_GxIdeNewEnvironment_languageValueChangedHandler","async","event","_GxIdeNewEnvironment_updateDataSources","_GxIdeNewEnvironment_updateFrontEnds","_GxIdeNewEnvironment_renderAdvanced","name","_GxIdeNewEnvironment_renderBasic","length","runtime","onChange","_GxIdeNewEnvironment_runtimeEnvironmentChangedHandler","model","runtimesRadioGroupModel","caption","tabBasic","backEnd","backEndLabel","htmlFor","language","part","disabled","languages","languageComboBoxModel","onInput","ref","el","dataStores","dataStoresComboBoxModel","frontEnd","frontEndLabel","role","generators","renderChCheckboxItems","frontEnds","_GxIdeNewEnvironment_frontEndCheckboxInputHandler","_GxIdeNewEnvironment_updateLanguages","_GxIdeNewEnvironment_createCallbackHandler","selectedFrontEndIds","createCallback","setAsCurrent","then","formSubmitResult","validateControls","_GxIdeNewEnvironment_tabSelectionChangedHandler","newSelectedId","advancedTabIsVisible","updatedDataSources","getDataSourcesCallback","getEnvironmentNameCallback","updatedFrontEnds","getFrontEndsCallback","updatedLanguages","getLanguagesCallback","checkedValue","target","checked","_GxIdeNewEnvironment_updateFrontEndsCheckedMap","checkboxId","currentState","push","checkboxIndex","findIndex","removeIndex","dataStoresChanged","newValue","mapOptionsToComboBoxItemModel","result","setSelectedItem","getSelectedItem","languagesChanged","runtimesChanged","connectedCallback","componentDidLoad","componentDidRender","componentWillLoad","Locale","getComponentStrings","tabLabel","tabAdvanced","suspendShortcuts","suspend","render","Host","src","header","isAdvanced","autoFocus","placeholder","environmentNamePlaceholder","tab","tabListPosition","selectedId","overflow","contain","onSelectedItemChange","slot","footer","setAsCurrentEnvironment","setAsTarget","onClick","cancelCallback","btnCancel","btnCreate"],"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, setSelectedItem } 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 \"utils/spacing\",\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 const result = setSelectedItem(newValue, this.#selectedDataStoreId);\n this.#selectedDataStoreId = getSelectedItem(result);\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({ mutable: true }) 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 * Callback invoked when selected runtime is changed\n */\n @Prop() readonly getLanguagesCallback!: GetLanguagesCallback;\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 this.#updateLanguages();\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=\"subtitle-regular-xs\t 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=\"subtitle-regular-xs\t 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 subtitle-regular-xs\t 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 subtitle-regular-xs\t 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 = async (\n event: ChRadioGroupRenderCustomEvent<string>\n ): Promise<void> => {\n this.#selectedRuntimeEnvironmentId = event.detail;\n await this.#updateLanguages();\n await 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 #updateLanguages = async () => {\n const updatedLanguages = await this.getLanguagesCallback(\n this.#selectedRuntimeEnvironmentId\n );\n if (updatedLanguages?.length > 0) {\n this.languages = updatedLanguages;\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\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=\"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 tabListPosition=\"block-start\"\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 type GetLanguagesCallback = (\n selectedRuntimeId: 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"],"mappings":";;;;;;;;;;;;;;AAAA,MAAMA,IAAoB;;;;;;;;;;;;;;;;;ACqC1B,MAAMC,IAA8B;;AAElC,qBACA,kBACA,sBACA,oBACA,gBACA,oBACA,iBACA;;AAGF,MAAMC,IAA+B;;AACrC,MAAMC,IAAuC;;AAC7C,MAAMC,IAA6B;;AACnC,MAAMC,IAAgC;;MAQzBC,IAAmB;;;IAC9BC,EAAAC,IAAAC,MAAuC;IACvCC,EAAAF,IAAAC,WAAA;IACAE,EAAAH,IAAAC,MAAyB;;;;;;QAMzBG,EAAAJ,IAAAC,MAAuB,IAAII;IAC3BC,EAAAN,IAAAC,WAAA;IACAM,EAAAP,IAAAC,WAAA;IACAO,EAAAR,IAAAC,WAAA;IACAQ,EAAAT,IAAAC,MAAgBS,EACd;IAEFC,EAAAX,IAAAC,MAAyC;;;;;QAMzCW,EAAAZ,IAAAC,WAAA;;QAKAY,EAAAb,IAAAC,WAAA;IACAa,EAAAd,IAAAC,WAAA;IACAc,EAAAf,IAAAC,WAAA;IACAe,EAAAhB,IAAAC,WAAA;IAoJAgB,EAAAjB,IAAAC,OAAgC;;MAE9BiB,EAAAjB,MAAIK,GAAwBa,EAAAlB,MAAIY,GAAA,KAAcO,OAAK;MACnDD,EAAAlB,MAAIoB,GAAA,KAAuBC,KAA3BrB;AAA6B;IAG/BsB,EAAAvB,IAAAC,OAAwBuB;MACtB,MAAMC,IAAcD,EAAgCE,OAAOC;MAC3DT,EAAAjB,MAAIE,GAA0BsB,MAAexB,KAAK2B,iBAAe;AAAA;IAGnEC,EAAA7B,IAAAC,OAAwC;;MACtCiB,EAAAjB,MAAIO,IAAiCsB,IAAA7B,KAAK8B,SAAS,QAAE,QAAAD,WAAA,aAAAA,EAAEV,OAAK;AAAA;;;QAK9DY,EAAAhC,IAAAC,OACEgC;;MAEA,SAAAC,KAAAJ,IAAA7B,KAAKkC,yBAAmB,QAAAL,WAAA,aAAAA,EAAEM,IAAIH,MAAgB,QAAhBA,WAAgB,aAAhBA,EAAkBI,SAAG,QAAAH,WAAA,aAAAA,EAAEI,eACrDC,IAAAtC,KAAKkC,oBAAoBC,IAAIH,EAAiBI,SAAG,QAAAE,WAAA,aAAAA,EAAEC,YACjDC,EAAA;QACEC,OAAM;QACNC,eAAeV;QACfW,YAAYC,EAAOC,gBAAgBF;QACnCG,aAAaF,EAAOC,gBAAgBC;QACpCC,OAAOH,EAAOC,gBAAgBE;SAE7B/C,KAAKkC,oBAAoBC,IAAIH,EAAiBI,IAAIG;AAEtD;IAEHS,EAAAjD,IAAAC,OAAyC;;MAEvC,MAAMkC,IAAqC,EACzChB,EAAAlB,MAAIY,GAAA,MACJM,EAAAlB,MAAIc,GAAA;MAENoB,EAAoBe,SAAQC;QAC1B,IAAIA,EAAmBd,IAAI;UACzBpC,KAAKkC,oBAAoBnC,IAAImD,EAAmBd,IAAI;YAClDe,WAAWD;YACXb,UAAU;YACVE,SAASa;;;;AAGb;IAGJC,EAAAtD,IAAAC,OAA+BsD,MAC7BC;MAEAtC,EAAAjB,MAAIM,GAAuBiD,EAAM9B,QAAgB;YAC3CP,EAAAlB,MAAIwD,GAAA,KAAmBnC,KAAvBrB;MACNkB,EAAAlB,MAAIyD,GAAA,KAAiBpC,KAArBrB;MACAkB,EAAAlB,MAAIoB,GAAA,KAAuBC,KAA3BrB;AAA6B;IAG/B0D,EAAA3D,IAAAC,OAAkB,MACTwC,EAAA;MAAMmB,MAAK;;IAGpBC,EAAA7D,IAAAC,OAAe,MACN,EACLwC,EAAA;MACEC,OAAO;QACL,8BAA8B;QAC9B,8BAA8B;QAC9B,oBAAoBzC,KAAK8B,SAAS+B,WAAW;;OAG9C7D,KAAK8B,SAAS+B,SAAS,IACpB,EACErB,EAAA;;MAEEC,OAAM;OAELvB,EAAAlB,MAAIW,GAAA,KAAkBmD,UAEzBtB,EAAA;MACEC,OAAM;MACNsB,UAAU7C,EAAAlB,MAAIgE,GAAA;MACdC,OAAOjE,KAAKkE;MACZ/C,OAAOD,EAAAlB,MAAIO,GAAA;WAGf,EACEiC,EAAA;MAAIC,OAAM;OACPvB,EAAAlB,MAAIW,GAAA,KAAkBmD,SAAO,MAEhCtB,EAAA,WAAIxC,KAAKkE,wBAAwB,GAAGC,aAG5C3B,EAAA;MAASC,OAAM;OACbD,EAAA;;MAEEC,OAAM;OAELvB,EAAAlB,MAAIW,GAAA,KAAkByD,SAASC,QAAQC,eAG1C9B,EAAA;MAAKC,OAAM;OACTD,EAAA;;MAEEC,OAAM;OAEND,EAAA;MAAOC,OAAM;MAAQ8B,SAAQ;OAC1BrD,EAAAlB,MAAIW,GAAA,KAAkByD,SAASC,QAAQG,WAE1ChC,EAAA;MACEJ,IAAG;MACHK,OAAM;MACNgC,MAAK;MACLtD,OAAOD,EAAAlB,MAAIM,GAAA;MACXoE,UAAU1E,KAAK2E,UAAUd,WAAW;MACpCI,OAAOjE,KAAK4E;MACZC,SAAS3D,EAAAlB,MAAIqD,GAAA;MACbyB,KAAMC,KACH9D,EAAAjB,MAAIc,GAAeiE,GAAiC;QAIxD7D,EAAAlB,MAAI+B,GAAA,KAAuBV,KAA3BrB,MAA4BkB,EAAAlB,MAAIc,GAAA,QAGnC0B,EAAA;;MAEEC,OAAM;OAEND,EAAA;MAAOC,OAAM;MAAQ8B,SAAQ;OAC1BrD,EAAAlB,MAAIW,GAAA,KAAkByD,SAASC,QAAQW,aAE1CxC,EAAA;MACEJ,IAAG;MACHK,OAAM;MACNgC,MAAK;MACLtD,OAAOD,EAAAlB,MAAIK,GAAA;MACX4D,OAAOjE,KAAKiF;MACZJ,SAAS3D,EAAAlB,MAAIgB,GAAA;MACb8D,KAAMC,KACH9D,EAAAjB,MAAIY,GAAgBmE,GAAiC;QAIzD7D,EAAAlB,MAAI+B,GAAA,KAAuBV,KAA3BrB,MAA4BkB,EAAAlB,MAAIY,GAAA,UAKvC4B,EAAA;MAASC,OAAM;OACbD,EAAA;;MAEEC,OAAM;OAELvB,EAAAlB,MAAIW,GAAA,KAAkByD,SAASc,SAASC,gBAE3C3C,EAAA;MACEC,OAAM;MACN2C,MAAK;MAAO,mBACKlE,EAAAlB,MAAIW,GAAA,KAAkByD,SAASc,SAASG;OAExDC,EACCtF,KAAKuF,WACLrE,EAAAlB,MAAIwF,GAAA,MACJtE,EAAAlB,MAAIG,GAAA,KAAsBgC,IAAIjB,EAAAlB,MAAIM,GAAA;IAO5C0D,EAAAjE,IAAAC,OAAoCsD,MAClCC;MAEAtC,EAAAjB,MAAIO,GAAiCgD,EAAM9B,QAAM;YAC3CP,EAAAlB,MAAIyF,GAAA,KAAiBpE,KAArBrB;YACAkB,EAAAlB,MAAIwD,GAAA,KAAmBnC,KAAvBrB;MACNkB,EAAAlB,MAAIoB,GAAA,KAAuBC,KAA3BrB;AAA6B;IAG/B0F,EAAA3F,IAAAC,OAAyBsD;;MACvB,MAAMqC,KACJ9D,IAAAX,EAAAlB,MAAIG,GAAA,KAAsBgC,IAAIjB,EAAAlB,MAAIM,GAAA,WAAqB,QAAAuB,WAAA,IAAAA,IAAI;MAE7D7B,KAAK4F,eAAe;QAClBC,kBAAgB5D,IAAAf,EAAAlB,MAAIe,GAAA,UAA2B,QAAAkB,WAAA,aAAAA,EAAEd;QACjDwC,MAAMzC,EAAAlB,MAAIa,GAAA,KAAoBM;QAC9B2C,SAAS5C,EAAAlB,MAAIO,GAAA;QACbiE,UAAUtD,EAAAlB,MAAIc,GAAA,KAAaK;QAC3B6D,YAAY9D,EAAAlB,MAAIY,GAAA,KAAcO;QAC9BoE,WAAWI;SACVG,MAAMC;QACP/F,KAAKkC,sBAAsB8D,EACzBD,GACA/F,KAAKkC;AACN;AACD;IAGJ+D,EAAAlG,IAAAC,OACEuD;MAMA,IAAIA,EAAM9B,OAAOyE,kBAAkBtG,GAAuB;QACxDI,KAAKmG,uBAAuB;;;;;IAMhC3C,EAAAzD,IAAAC,OAAqBsD;MACnB,MAAM8C,UAA2BpG,KAAKqG,uBACpCnF,EAAAlB,MAAIM,GAAA,MACJY,EAAAlB,MAAIO,GAAA;MAEN,KAAI6F,MAAkB,QAAlBA,WAAkB,aAAlBA,EAAoBvC,UAAS,GAAG;QAClC7D,KAAKgF,aAAaoB;;;IAItBhF,EAAArB,IAAAC,OAAyBsD;MACvB,KAAKpC,EAAAlB,MAAIE,GAAA,MAAyB;QAChCF,KAAK2B,wBAAwB3B,KAAKsG,2BAChCpF,EAAAlB,MAAIM,GAAA,MACJY,EAAAlB,MAAIK,GAAA,MACJa,EAAAlB,MAAIO,GAAA;;;IAKVkD,EAAA1D,IAAAC,OAAmBsD;MACjB,MAAMiD,UAAyBvG,KAAKwG,qBAClCtF,EAAAlB,MAAIM,GAAA;MAEN,KAAIiG,MAAgB,QAAhBA,WAAgB,aAAhBA,EAAkB1C,UAAS,GAAG;QAChC7D,KAAKuF,YAAYgB;;;IAIrBd,EAAA1F,IAAAC,OAAmBsD;MACjB,MAAMmD,UAAyBzG,KAAK0G,qBAClCxF,EAAAlB,MAAIO,GAAA;MAEN,KAAIkG,MAAgB,QAAhBA,WAAgB,aAAhBA,EAAkB5C,UAAS,GAAG;QAChC7D,KAAK2E,YAAY8B;;;IAIrBjB,EAAAzF,IAAAC,OACEuD;MAEA,MAAMoD,IAAgBpD,EAAMqD,OAAiCD;MAC7D,MAAME,IAAUtD,EAAM9B,WAAWkF;MACjCzF,EAAAlB,MAAI8G,GAAA,KAA2BzF,KAA/BrB,MAAgC2G,GAAcE;AAAQ;;;;;;QAQxDC,EAAA/G,IAAAC,OAA6B,CAAC+G,GAAoBF;MAChD,IAAIG,IAAe9F,EAAAlB,MAAIG,GAAA,KAAsBgC,IAAIjB,EAAAlB,MAAIM,GAAA;MACrD,KAAK0G,GAAc;;QAEjBA,IAAe;QACf9F,EAAAlB,MAAIG,GAAA,KAAsBJ,IAAImB,EAAAlB,MAAIM,GAAA,MAAsB0G;;MAE1D,IAAIH,GAAS;;QAEXG,EAAaC,KAAKF;aACb;;QAEL,MAAMG,IAAgBF,EAAaG,WAAU/E,KAAMA,MAAO2E;QAC1DK,EAAYJ,GAAcE;;;gCAxaW;;+BAQV,IAAI9G;mCAGe;iCACF;mCACI;;;;;;;;sBAgDb;;;;uBAuCE;;EAtEzC,iBAAAiH,CAAkBC;IAChB,IAAIA,MAAQ,QAARA,WAAQ,aAARA,EAAUzD,QAAQ;MACpB7D,KAAKiF,0BAA0BsC,EAA8BD;MAC7D,MAAME,IAASC,EAAgBH,GAAUpG,EAAAlB,MAAIK,GAAA;MAC7CY,EAAAjB,MAAIK,GAAwBqH,EAAgBF,IAAO;;;EAkCvD,gBAAAG,CAAiBL;IACf,IAAIA,MAAQ,QAARA,WAAQ,aAARA,EAAUzD,QAAQ;MACpB7D,KAAK4E,wBAAwB2C,EAA8BD;MAC3DrG,EAAAjB,MAAIM,GAAuBoH,EAAgBJ,IAAS;MACpDpG,EAAAlB,MAAIyD,GAAA,KAAiBpC,KAArBrB;;;EAcJ,eAAA4H,CAAgBN;IACd,IAAIA,MAAQ,QAARA,WAAQ,aAARA,EAAUzD,QAAQ;MACpB7D,KAAKkE,0BAA0BqD,EAC7BvH,KAAK8B;MAGPZ,EAAAlB,MAAIyF,GAAA,KAAiBpE,KAArBrB;;;EAUJ,iBAAA6H;IACE7H,KAAKqH,kBAAkBrH,KAAKgF;IAC5BhF,KAAK2H,iBAAiB3H,KAAK2E;IAC3B3E,KAAK4H,gBAAgB5H,KAAK8B;;EAG5B,gBAAAgG;IACE5G,EAAAlB,MAAIgD,GAAA,KAAuC3B,KAA3CrB;;EAGF,kBAAA+H;IACE,IAAI/H,KAAKmG,yBAAyBjF,EAAAlB,MAAIF,GAAA,MAA8B;;MAElEmB,EAAAjB,MAAIF,GAA+B,MAAI;;;EAI3C,uBAAMkI;IACJ/G,EAAAjB,MAAIW,SAA0BsH,EAAOC,oBAAoBlI,KAAK+E,KAAG;IACjE9D,EAAAjB,MAAIU,GAAgC,EAClC;MACE0B,IAAIzC;MACJgE,MAAMzC,EAAAlB,MAAIW,GAAA,KAAkByD,SAAS+D;OAEvC;MACE/F,IAAIxC;MACJ+D,MAAMzC,EAAAlB,MAAIW,GAAA,KAAkByH,YAAYD;SAE3C;IACDjH,EAAAlB,MAAI4B,GAAA,KAAsCP,KAA1CrB;;;;SAOF,sBAAMqI,CAAiBA;IACrB,IAAIA,GAAkB;MACpBnH,EAAAlB,MAAIC,GAAA,KAAgBqI,UAAU;WACzB;MACLpH,EAAAlB,MAAIC,GAAA,KAAgBqI,UAAU;;;EA8RlC,MAAAC;IACE,OACE/F,EAACgG,GAAI;MAAC/F,OAAM;OACVD,EAAA;MAAUyB,OAAOzE;QACjBgD,EAAA;MACEiG,KAAKvH,EAAAlB,MAAIQ,GAAA;MACTsE,KAAMC,KACH9D,EAAAjB,MAAIC,GAAkB8E,GAA4B;QAIvDvC,EAAA;MAASC,OAAM;OACbD,EAAA;MACEC,OAAO;QACLiG,QAAU;QACV,uBAAuB;QACvB,4BAA4B;QAC5B,kBAAkB1I,KAAK2I;QACvB,+BAA+B3I,KAAK2I;;OAGtCnG,EAAA;;MAEEC,OAAM;OAEND,EAAA;MAAOC,OAAM;MAAQ8B,SAAQ;OAC1BrD,EAAAlB,MAAIW,GAAA,KAAkBgD,OAEzBnB,EAAA;;MAEEoG,WAAS;MACTxG,IAAG;MACHK,OAAM;MACNgC,MAAK;MACLtD,OAAOnB,KAAK2B;MACZkH,aAAa3H,EAAAlB,MAAIW,GAAA,KAAkBmI;;MAEnChE,KAAMC,KACH9D,EAAAjB,MAAIa,GAAsBkE,GAAuB;MAEpDF,SAAS3D,EAAAlB,MAAIsB,GAAA;UAKlBtB,KAAK2I,aACJnG,EAAA;;MAEEC,OAAO;QACLsG,KAAK;QACLtJ,CAACA,IAAuB;;MAE1BuJ,iBAAgB;MAChB/E,OAAO/C,EAAAlB,MAAIU,GAAA;MACXuI,YAAYtJ;MACZuJ,UAAS;MACTC,SAAQ;MACRC,uBACGpJ,KAAKmG,wBAAwBjF,EAAAlB,MAAIiG,GAAA;OAGpCzD,EAAA;MACE6G,MAAM1J;MACN8C,OAAO/C;MACP+E,MAAK;OAEJvD,EAAAlB,MAAI4D,GAAA,KAAavC,KAAjBrB,QAEFA,KAAKmG,wBACJ3D,EAAA;MACE6G,MAAMzJ;MACN6C,OAAM;MACNgC,MAAK;OAEJvD,EAAAlB,MAAI0D,GAAA,KAAgBrC,KAApBrB,UAKPwC,EAAA;;MAEEC,OAAOhD;OAEP+C,EAAA;MAAKC,OAAO/C;OACTwB,EAAAlB,MAAI4D,GAAA,KAAavC,KAAjBrB,SAKPwC,EAAA;MACEC,OAAO;QACL,kBAAkBzC,KAAK2I;QACvB,+BAA+B3I,KAAK2I;QACpC,gCAAgC;QAChC,0BAA0B;QAC1B,uBAAuB;;OAGzBnG,EAAA;;MAEEC,OAAM;MACN0B,SAASjD,EAAAlB,MAAIW,GAAA,KAAkB2I,OAAOC;MACtCzE,KAAMC,KACH9D,EAAAjB,MAAIe,GAA8BgE,GAA2B;MAEhE4B,cAAa;MACbxF,OAAOnB,KAAKwJ,cAAc,wBAAwB;MAClD/E,MAAK;QAGPjC,EAAA;MAAKC,OAAM;OACTD,EAAA;;MAEEC,OAAM;MACNgH,SAASzJ,KAAK0J;MACdjF,MAAK;OAEJvD,EAAAlB,MAAIW,GAAA,KAAkB2I,OAAOK,YAGhCnH,EAAA;;MAEEC,OAAM;MACNgH,SAASvI,EAAAlB,MAAI0F,GAAA;MACbjB,MAAK;OAEJvD,EAAAlB,MAAIW,GAAA,KAAkB2I,OAAOM"}
@@ -50,8 +50,12 @@ export declare class GxIdeNewEnvironment {
50
50
  /**
51
51
  * Possible values for 'Language' combo
52
52
  */
53
- readonly languages: GxOption[];
53
+ languages: GxOption[];
54
54
  languagesChanged(newValue: GxOption[]): void;
55
+ /**
56
+ * Callback invoked when selected runtime is changed
57
+ */
58
+ readonly getLanguagesCallback: GetLanguagesCallback;
55
59
  /**
56
60
  * Possible values for 'Runtime Environment' radio button
57
61
  */
@@ -77,6 +81,7 @@ export type CreateCallback = (data: NewEnvironmentData) => Promise<FormSubmitRes
77
81
  export type GetDataSourcesCallback = (selectedLanguageId: string, selectedRuntimeId: string) => Promise<GxOption[]>;
78
82
  export type GetEnvironmentNameCallback = (selectedLanguageId: string, selectedDataSourceId: string, selectedRuntimeId: string) => Promise<string | undefined>;
79
83
  export type GetFrontEndsCallback = (selectedLanguageId: string) => Promise<GxOption[]>;
84
+ export type GetLanguagesCallback = (selectedRuntimeId: string) => Promise<GxOption[]>;
80
85
  export interface NewEnvironmentData {
81
86
  setAsCurrent: boolean;
82
87
  name: string;
@@ -68,6 +68,10 @@ export declare class GxIdeNewKb {
68
68
  * Callback invoked when the user changes the prototyping environment, allowing for the modification of the list of front ends
69
69
  */
70
70
  readonly getFrontEndsCallback: GetFrontEndsCallback;
71
+ /**
72
+ * Callback invoked when the user changes the prototyping target id, allowing for the modification of the list of prototyping environments
73
+ */
74
+ readonly getPrototypingEnvironmentsCallback: GetPrototypingEnvironmentsCallback;
71
75
  /**
72
76
  * Specify whether it is feasible to display information related to local configuration parameters
73
77
  */
@@ -87,8 +91,8 @@ export declare class GxIdeNewKb {
87
91
  /**
88
92
  * It allows selecting the default environment that the KB will have (additional environments can be created later)
89
93
  */
90
- readonly prototypingEnvironments: GxOption[];
91
- watchPrototypingEnvironments(newValue: GxOption[]): void;
94
+ defaultPrototypingEnvironments: GxOption[];
95
+ watchDefaultPrototypingEnvironments(newValue: GxOption[]): void;
92
96
  /**
93
97
  * Path to a directory where the information related to the KB will be stored/generated
94
98
  */
@@ -147,4 +151,5 @@ export type CreateCallback = (data: NewKBData) => Promise<FormSubmitResult>;
147
151
  export type CancelCallback = () => Promise<void>;
148
152
  export type GetDataSourcesCallback = (selectedPrototypingEnvironmentId: string, selectedPrototypingTargetId: string) => Promise<GxOption[]>;
149
153
  export type GetFrontEndsCallback = (selectedPrototypingEnvironmentId: string) => Promise<GxOption[]>;
154
+ export type GetPrototypingEnvironmentsCallback = (selectedPrototypingTargetId: string) => Promise<GxOption[]>;
150
155
  export type SelectLocationCallback = () => Promise<string>;