@genexus/genexus-ide-ui 3.1.3 → 3.2.1

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 (46) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +45 -5
  3. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  4. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +46 -13
  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-kb/gx-ide-assets/new-kb/langs/new-kb.lang.en.json +2 -0
  8. package/dist/collection/components/new-kb/gx-ide-assets/new-kb/langs/new-kb.lang.ja.json +2 -0
  9. package/dist/collection/components/new-kb/gx-ide-assets/new-kb/langs/new-kb.lang.zh.json +2 -0
  10. package/dist/collection/components/new-kb/new-kb.css +15 -5
  11. package/dist/collection/components/new-kb/new-kb.js +64 -12
  12. package/dist/collection/components/new-kb/new-kb.js.map +1 -1
  13. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.css +16 -0
  14. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js +102 -5
  15. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js.map +1 -1
  16. package/dist/collection/components/team-dev/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.en.json +5 -1
  17. package/dist/collection/components/team-dev/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.ja.json +5 -1
  18. package/dist/collection/components/team-dev/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.zh.json +5 -1
  19. package/dist/components/gx-ide-create-kb-from-server.js +49 -5
  20. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  21. package/dist/components/gx-ide-new-kb.js +48 -13
  22. package/dist/components/gx-ide-new-kb.js.map +1 -1
  23. package/dist/esm/genexus-ide-ui.js +1 -1
  24. package/dist/esm/gx-ide-create-kb-from-server.entry.js +45 -5
  25. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  26. package/dist/esm/gx-ide-new-kb.entry.js +46 -13
  27. package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
  28. package/dist/esm/loader.js +1 -1
  29. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  30. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  31. package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.en.json +5 -1
  32. package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.ja.json +5 -1
  33. package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.zh.json +5 -1
  34. package/dist/genexus-ide-ui/gx-ide-assets/new-kb/langs/new-kb.lang.en.json +2 -0
  35. package/dist/genexus-ide-ui/gx-ide-assets/new-kb/langs/new-kb.lang.ja.json +2 -0
  36. package/dist/genexus-ide-ui/gx-ide-assets/new-kb/langs/new-kb.lang.zh.json +2 -0
  37. package/dist/genexus-ide-ui/{p-217bd2d7.entry.js → p-76e1c357.entry.js} +178 -137
  38. package/dist/genexus-ide-ui/p-76e1c357.entry.js.map +1 -0
  39. package/dist/genexus-ide-ui/{p-83a7e6fb.entry.js → p-cf61384e.entry.js} +162 -94
  40. package/dist/genexus-ide-ui/p-cf61384e.entry.js.map +1 -0
  41. package/dist/types/components/new-kb/new-kb.d.ts +7 -0
  42. package/dist/types/components/team-dev/create-kb-from-server/create-kb-from-server.d.ts +17 -0
  43. package/dist/types/components.d.ts +38 -6
  44. package/package.json +1 -1
  45. package/dist/genexus-ide-ui/p-217bd2d7.entry.js.map +0 -1
  46. package/dist/genexus-ide-ui/p-83a7e6fb.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"new-kb.js","sourceRoot":"","sources":["../../../src/components/new-kb/new-kb.tsx"],"names":[],"mappings":"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","sourcesContent":["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() 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 const result = setSelectedItem(newValue, this.#selectedDataSourceId);\n this.#selectedDataSourceId = getSelectedItem(result);\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()\n 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(\n this.defaultPrototypingEnvironments\n );\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=\"dialog-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-xs\"\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-xs\"\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 dialog-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=\"dialog-header dialog-header-with-border dialog-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.#selectedDataSourceId}\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=\"dialog-header dialog-header-with-border dialog-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\n : this.prototypingTargetsInitialValue;\n const envs = await this.getPrototypingEnvironmentsCallback(\n selectedPrototypingTargetId\n );\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\n ? this.#selectedDataSourceId\n : 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 \"dialog-header-with-border\": !this.isAdvanced,\n \"dialog-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-m\" 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 \"dialog-footer\": this.isAdvanced,\n \"dialog-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"]}
1
+ {"version":3,"file":"new-kb.js","sourceRoot":"","sources":["../../../src/components/new-kb/new-kb.tsx"],"names":[],"mappings":"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","sourcesContent":["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 { RadioGroupItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/radio-group/types\";\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\n\nconst LOCATION_MODE_DEFAULT = \"default\";\nconst LOCATION_MODE_CUSTOM = \"custom\";\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 #locationModeEl!: HTMLChRadioGroupRenderElement;\n #locationModeModel: RadioGroupItemModel[];\n #locationElRegistered = false;\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 @State() locationMode: string = LOCATION_MODE_DEFAULT;\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() 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 * Specifies whether the location field (and its folder-picker button) is\n * shown in the header, allowing the user to override the default `kbLocation`\n * path. Independent from `isAdvanced`.\n */\n @Prop() readonly canSetLocation: boolean = false;\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 const result = setSelectedItem(newValue, this.#selectedDataSourceId);\n this.#selectedDataSourceId = getSelectedItem(result);\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()\n 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 this.#locationModeModel = [\n {\n value: LOCATION_MODE_DEFAULT,\n caption: this.#componentLocale.header.kbLocationDefault\n },\n {\n value: LOCATION_MODE_CUSTOM,\n caption: this.#componentLocale.header.kbLocationCustom\n }\n ];\n }\n\n connectedCallback() {\n this.watchDefaultDataSources(this.defaultDataSources);\n this.watchDefaultPrototypingEnvironments(\n this.defaultPrototypingEnvironments\n );\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 // Register the location input for validation once it's rendered (custom mode)\n if (\n this.locationMode === LOCATION_MODE_CUSTOM &&\n !this.#locationElRegistered &&\n this.#locationEl\n ) {\n this.validatableControls.set(this.#locationEl.id, {\n reference: this.#locationEl,\n hasError: false,\n message: undefined\n });\n this.#locationElRegistered = 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=\"dialog-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-xs\"\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-xs\"\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 dialog-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=\"dialog-header dialog-header-with-border dialog-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.#selectedDataSourceId}\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=\"dialog-header dialog-header-with-border dialog-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\n : this.prototypingTargetsInitialValue;\n const envs = await this.getPrototypingEnvironmentsCallback(\n selectedPrototypingTargetId\n );\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\n ? this.#selectedDataSourceId\n : 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.#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 #locationModeChangeHandler = () => {\n this.locationMode = this.#locationModeEl.value;\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 // Seed the checked map from the data's checked property so that\n // initially checked items render as checked on first load.\n if (\n !this.#frontEndsCheckedMap.has(\n this.#selectedPrototypingEnvironmentId\n )\n ) {\n const checkedIds = updatedFrontEnds\n .filter(fe => fe.checked)\n .map(fe => fe.value || fe.id);\n\n if (checkedIds.length > 0) {\n this.#frontEndsCheckedMap.set(\n this.#selectedPrototypingEnvironmentId,\n checkedIds\n );\n }\n }\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 \"dialog-header-with-border\": !this.isAdvanced,\n \"dialog-header\": this.isAdvanced,\n \"header\": true,\n \"header-one-col\": true,\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.canSetLocation && (\n <div class=\"location-wrapper\">\n <label class=\"label location-label\">\n {this.#componentLocale.header.kbLocation}\n </label>\n <ch-radio-group-render\n class=\"radio-group\"\n model={this.#locationModeModel}\n value={LOCATION_MODE_DEFAULT}\n onChange={this.#locationModeChangeHandler}\n ref={(el: HTMLChRadioGroupRenderElement) =>\n (this.#locationModeEl =\n el as HTMLChRadioGroupRenderElement)\n }\n ></ch-radio-group-render>\n\n {this.locationMode === LOCATION_MODE_CUSTOM && (\n <div class=\"location-custom-wrapper\">\n <div class=\"location-field\">\n <ch-edit\n class=\"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={\n this.#componentLocale.header.selectLocationButton\n }\n title={\n this.#componentLocale.header.selectLocationButton\n }\n part=\"button-select-location\"\n onClick={this.#selectLocationHandler}\n >\n <ch-image\n class=\"icon-m\"\n src={SYSTEM_ICON}\n ></ch-image>\n </button>\n </div>\n )}\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 \"dialog-footer\": this.isAdvanced,\n \"dialog-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"]}
@@ -41,4 +41,20 @@ header {
41
41
  display: grid;
42
42
  grid-template-columns: 1fr max-content;
43
43
  gap: var(--spacing-gap-m);
44
+ }
45
+
46
+ .location-custom-wrapper {
47
+ display: flex;
48
+ align-items: center;
49
+ gap: var(--spacing-gap-xs);
50
+ flex-grow: 1;
51
+ min-inline-size: 0;
52
+ }
53
+
54
+ .location-field {
55
+ flex-grow: 1;
56
+ min-inline-size: 0;
57
+ }
58
+ .location-field > .input {
59
+ inline-size: 100%;
44
60
  }
@@ -14,7 +14,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
14
14
  throw new TypeError("Cannot read private member from an object whose class did not declare it");
15
15
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
16
16
  };
17
- var _GxIdeCreateKbFromServer_chSearchIcon, _GxIdeCreateKbFromServer_showMoreIcon, _GxIdeCreateKbFromServer_versionsSelect, _GxIdeCreateKbFromServer__componentLocale, _GxIdeCreateKbFromServer_kbsActionListModel, _GxIdeCreateKbFromServer_kbVersions, _GxIdeCreateKbFromServer_chShortcutsEl, _GxIdeCreateKbFromServer_shortcutsSrc, _GxIdeCreateKbFromServer_selectedKbId, _GxIdeCreateKbFromServer_kbNameAlreadyEditedByUser, _GxIdeCreateKbFromServer_versionSelectedTypeEl, _GxIdeCreateKbFromServer_localKBNameEl, _GxIdeCreateKbFromServer_cancelHandler, _GxIdeCreateKbFromServer_changeConnectionHandler, _GxIdeCreateKbFromServer_createHandler, _GxIdeCreateKbFromServer_evaluateTooltipRender, _GxIdeCreateKbFromServer_filterValueChangedHandler, _GxIdeCreateKbFromServer_init, _GxIdeCreateKbFromServer_initializeValidatableControls, _GxIdeCreateKbFromServer_inputLocalKbNameHandler, _GxIdeCreateKbFromServer_selectedVersionHandler, _GxIdeCreateKbFromServer_selectKbChangeHandler, _GxIdeCreateKbFromServer_versionsChangedHandler, _GxIdeCreateKbFromServer_sortItems, _GxIdeCreateKbFromServer_renderFooter;
17
+ var _GxIdeCreateKbFromServer_chSearchIcon, _GxIdeCreateKbFromServer_showMoreIcon, _GxIdeCreateKbFromServer_versionsSelect, _GxIdeCreateKbFromServer__componentLocale, _GxIdeCreateKbFromServer_kbsActionListModel, _GxIdeCreateKbFromServer_kbVersions, _GxIdeCreateKbFromServer_chShortcutsEl, _GxIdeCreateKbFromServer_shortcutsSrc, _GxIdeCreateKbFromServer_selectedKbId, _GxIdeCreateKbFromServer_kbNameAlreadyEditedByUser, _GxIdeCreateKbFromServer_locationModeModel, _GxIdeCreateKbFromServer_versionSelectedTypeEl, _GxIdeCreateKbFromServer_localKBNameEl, _GxIdeCreateKbFromServer_cancelHandler, _GxIdeCreateKbFromServer_changeConnectionHandler, _GxIdeCreateKbFromServer_locationModeChangeHandler, _GxIdeCreateKbFromServer_selectLocationHandler, _GxIdeCreateKbFromServer_inputKbLocationHandler, _GxIdeCreateKbFromServer_createHandler, _GxIdeCreateKbFromServer_evaluateTooltipRender, _GxIdeCreateKbFromServer_filterValueChangedHandler, _GxIdeCreateKbFromServer_init, _GxIdeCreateKbFromServer_initializeValidatableControls, _GxIdeCreateKbFromServer_inputLocalKbNameHandler, _GxIdeCreateKbFromServer_selectedVersionHandler, _GxIdeCreateKbFromServer_selectKbChangeHandler, _GxIdeCreateKbFromServer_versionsChangedHandler, _GxIdeCreateKbFromServer_sortItems, _GxIdeCreateKbFromServer_renderFooter;
18
18
  // Stencil
19
19
  import { Fragment, getAssetPath, h, Host } from "@stencil/core";
20
20
  // Other Libraries
@@ -38,6 +38,13 @@ const INFO_ICON = getIconPath({
38
38
  name: "information",
39
39
  colorType: "on-surface"
40
40
  });
41
+ const FOLDER_ICON = getIconPath({
42
+ category: "system",
43
+ name: "folder",
44
+ colorType: "primary"
45
+ });
46
+ const LOCATION_MODE_DEFAULT = "default";
47
+ const LOCATION_MODE_CUSTOM = "custom";
41
48
  export class GxIdeCreateKbFromServer {
42
49
  constructor() {
43
50
  _GxIdeCreateKbFromServer_chSearchIcon.set(this, getIconPath({
@@ -62,6 +69,7 @@ export class GxIdeCreateKbFromServer {
62
69
  _GxIdeCreateKbFromServer_shortcutsSrc.set(this, getAssetPath(`./gx-ide-assets/create-kb-from-server/shortcuts.json`));
63
70
  _GxIdeCreateKbFromServer_selectedKbId.set(this, void 0);
64
71
  _GxIdeCreateKbFromServer_kbNameAlreadyEditedByUser.set(this, false);
72
+ _GxIdeCreateKbFromServer_locationModeModel.set(this, void 0);
65
73
  _GxIdeCreateKbFromServer_versionSelectedTypeEl.set(this, void 0);
66
74
  _GxIdeCreateKbFromServer_localKBNameEl.set(this, void 0);
67
75
  _GxIdeCreateKbFromServer_cancelHandler.set(this, () => {
@@ -75,6 +83,21 @@ export class GxIdeCreateKbFromServer {
75
83
  userPassword: this.connectionData.userPassword
76
84
  });
77
85
  });
86
+ _GxIdeCreateKbFromServer_locationModeChangeHandler.set(this, (event) => {
87
+ this.locationMode = event.detail;
88
+ if (this.locationMode === LOCATION_MODE_DEFAULT) {
89
+ this.kbLocation = "";
90
+ }
91
+ });
92
+ _GxIdeCreateKbFromServer_selectLocationHandler.set(this, async () => {
93
+ const location = await this.selectLocationCallback();
94
+ if (location) {
95
+ this.kbLocation = location;
96
+ }
97
+ });
98
+ _GxIdeCreateKbFromServer_inputKbLocationHandler.set(this, (event) => {
99
+ this.kbLocation = event.detail;
100
+ });
78
101
  _GxIdeCreateKbFromServer_createHandler.set(this, async () => {
79
102
  if (this.versionSelectedType !== "Select") {
80
103
  __classPrivateFieldSet(this, _GxIdeCreateKbFromServer_kbVersions, [], "f");
@@ -83,6 +106,9 @@ export class GxIdeCreateKbFromServer {
83
106
  selectedKB: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_selectedKbId, "f"),
84
107
  versionSelected: this.versionSelectedType,
85
108
  localKBName: this.localKbNameInputValue,
109
+ kbLocation: this.locationMode === LOCATION_MODE_CUSTOM
110
+ ? this.kbLocation || undefined
111
+ : undefined,
86
112
  versionList: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_kbVersions, "f")
87
113
  }).then((formSubmitResult) => {
88
114
  this.validatableControls = validateControls(formSubmitResult, this.validatableControls);
@@ -198,11 +224,15 @@ export class GxIdeCreateKbFromServer {
198
224
  this.validatableControls = new Map();
199
225
  this.versionSelectedType = undefined;
200
226
  this.versionsValueInput = "";
227
+ this.locationMode = LOCATION_MODE_DEFAULT;
228
+ this.kbLocation = undefined;
229
+ this.canSetLocation = false;
201
230
  this.connectionData = undefined;
202
231
  this.cancelCallback = undefined;
203
232
  this.changeConnectionCallback = undefined;
204
233
  this.createKBCallback = undefined;
205
234
  this.getGXserverKBsCallback = undefined;
235
+ this.selectLocationCallback = undefined;
206
236
  this.selectKBVersionsCallback = undefined;
207
237
  }
208
238
  async componentDidLoad() {
@@ -211,6 +241,16 @@ export class GxIdeCreateKbFromServer {
211
241
  }
212
242
  async componentWillLoad() {
213
243
  __classPrivateFieldSet(this, _GxIdeCreateKbFromServer__componentLocale, await Locale.getComponentStrings(this.el), "f");
244
+ __classPrivateFieldSet(this, _GxIdeCreateKbFromServer_locationModeModel, [
245
+ {
246
+ value: LOCATION_MODE_DEFAULT,
247
+ caption: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").kb.kbLocationDefault
248
+ },
249
+ {
250
+ value: LOCATION_MODE_CUSTOM,
251
+ caption: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").kb.kbLocationCustom
252
+ }
253
+ ], "f");
214
254
  }
215
255
  /**
216
256
  * Suspends or reactivates the shortcuts
@@ -236,13 +276,13 @@ export class GxIdeCreateKbFromServer {
236
276
  : __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").kb
237
277
  .versionsPlaceholderDisabled, value: this.versionsValueInput }), h("button", { id: "select-version-button", class: "button-tertiary button-icon-only", onClick: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_selectedVersionHandler, "f"), disabled: !this.enableSelectVersionsButton }, h("ch-image", { src: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_showMoreIcon, "f"), class: "icon-m", disabled: !this.enableSelectVersionsButton }))))))), h("div", { class: "field field-block" }, h("label", { class: "label", htmlFor: "localKbName" }, __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").kb.localKbNameLabel), h("ch-edit", {
238
278
  // local kb name
239
- class: "input", id: "local-kb-name", value: this.localKbNameInputValue, onInput: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_inputLocalKbNameHandler, "f"), placeholder: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").kb.localKbNamePlaceholder, ref: (el) => {
279
+ class: "input", id: "localKbName", value: this.localKbNameInputValue, onInput: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_inputLocalKbNameHandler, "f"), placeholder: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").kb.localKbNamePlaceholder, ref: (el) => {
240
280
  __classPrivateFieldSet(this, _GxIdeCreateKbFromServer_localKBNameEl, el, "f");
241
281
  if (__classPrivateFieldGet(this, _GxIdeCreateKbFromServer_localKBNameEl, "f")) {
242
282
  __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_initializeValidatableControls, "f").call(this);
243
283
  }
244
284
  }
245
- }), __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_evaluateTooltipRender, "f").call(this, __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_localKBNameEl, "f")))))), __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_renderFooter, "f").call(this))));
285
+ }), __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_evaluateTooltipRender, "f").call(this, __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_localKBNameEl, "f"))), this.canSetLocation && (h("div", { class: "field field-block" }, h("label", { class: "label", htmlFor: "kbLocation" }, __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").kb.kbLocation), h("ch-radio-group-render", { class: "radio-group", id: "kbLocation", model: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_locationModeModel, "f"), value: LOCATION_MODE_DEFAULT, onChange: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_locationModeChangeHandler, "f") }), this.locationMode === LOCATION_MODE_CUSTOM && (h("div", { class: "location-custom-wrapper" }, h("div", { class: "location-field" }, h("ch-edit", { class: "input", value: this.kbLocation, id: "kbLocation", onInput: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_inputKbLocationHandler, "f") })), h("button", { class: "button-tertiary button-icon-only", "aria-label": __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").kb.selectLocationButton, title: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").kb.selectLocationButton, onClick: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_selectLocationHandler, "f") }, h("ch-image", { class: "icon-m", type: "mask", src: FOLDER_ICON }))))))))), __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_renderFooter, "f").call(this))));
246
286
  }
247
287
  static get is() { return "gx-ide-create-kb-from-server"; }
248
288
  static get encapsulation() { return "shadow"; }
@@ -259,6 +299,41 @@ export class GxIdeCreateKbFromServer {
259
299
  static get assetsDirs() { return ["gx-ide-assets/create-kb-from-server"]; }
260
300
  static get properties() {
261
301
  return {
302
+ "kbLocation": {
303
+ "type": "string",
304
+ "mutable": true,
305
+ "complexType": {
306
+ "original": "string",
307
+ "resolved": "string",
308
+ "references": {}
309
+ },
310
+ "required": false,
311
+ "optional": false,
312
+ "docs": {
313
+ "tags": [],
314
+ "text": "Default suggested path to a directory where the KB will be stored/generated."
315
+ },
316
+ "attribute": "kb-location",
317
+ "reflect": false
318
+ },
319
+ "canSetLocation": {
320
+ "type": "boolean",
321
+ "mutable": false,
322
+ "complexType": {
323
+ "original": "boolean",
324
+ "resolved": "boolean",
325
+ "references": {}
326
+ },
327
+ "required": false,
328
+ "optional": false,
329
+ "docs": {
330
+ "tags": [],
331
+ "text": "Specifies whether the location field (and its folder-picker button) is\nshown in the header, allowing the user to override the default `kbLocation`\npath. Independent from `isAdvanced`."
332
+ },
333
+ "attribute": "can-set-location",
334
+ "reflect": false,
335
+ "defaultValue": "false"
336
+ },
262
337
  "connectionData": {
263
338
  "type": "unknown",
264
339
  "mutable": false,
@@ -385,6 +460,27 @@ export class GxIdeCreateKbFromServer {
385
460
  "text": "Callback that must be invoked when invoking the dialog"
386
461
  }
387
462
  },
463
+ "selectLocationCallback": {
464
+ "type": "unknown",
465
+ "mutable": false,
466
+ "complexType": {
467
+ "original": "SelectLocationCallback",
468
+ "resolved": "() => Promise<string>",
469
+ "references": {
470
+ "SelectLocationCallback": {
471
+ "location": "local",
472
+ "path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/team-dev/create-kb-from-server/create-kb-from-server.tsx",
473
+ "id": "src/components/team-dev/create-kb-from-server/create-kb-from-server.tsx::SelectLocationCallback"
474
+ }
475
+ }
476
+ },
477
+ "required": false,
478
+ "optional": false,
479
+ "docs": {
480
+ "tags": [],
481
+ "text": "Callback that returns a folder path selected by the user."
482
+ }
483
+ },
388
484
  "selectKBVersionsCallback": {
389
485
  "type": "unknown",
390
486
  "mutable": false,
@@ -421,7 +517,8 @@ export class GxIdeCreateKbFromServer {
421
517
  "kbsFilteredActionListModel": {},
422
518
  "validatableControls": {},
423
519
  "versionSelectedType": {},
424
- "versionsValueInput": {}
520
+ "versionsValueInput": {},
521
+ "locationMode": {}
425
522
  };
426
523
  }
427
524
  static get methods() {
@@ -451,5 +548,5 @@ export class GxIdeCreateKbFromServer {
451
548
  }
452
549
  static get elementRef() { return "el"; }
453
550
  }
454
- _GxIdeCreateKbFromServer_chSearchIcon = new WeakMap(), _GxIdeCreateKbFromServer_showMoreIcon = new WeakMap(), _GxIdeCreateKbFromServer_versionsSelect = new WeakMap(), _GxIdeCreateKbFromServer__componentLocale = new WeakMap(), _GxIdeCreateKbFromServer_kbsActionListModel = new WeakMap(), _GxIdeCreateKbFromServer_kbVersions = new WeakMap(), _GxIdeCreateKbFromServer_chShortcutsEl = new WeakMap(), _GxIdeCreateKbFromServer_shortcutsSrc = new WeakMap(), _GxIdeCreateKbFromServer_selectedKbId = new WeakMap(), _GxIdeCreateKbFromServer_kbNameAlreadyEditedByUser = new WeakMap(), _GxIdeCreateKbFromServer_versionSelectedTypeEl = new WeakMap(), _GxIdeCreateKbFromServer_localKBNameEl = new WeakMap(), _GxIdeCreateKbFromServer_cancelHandler = new WeakMap(), _GxIdeCreateKbFromServer_changeConnectionHandler = new WeakMap(), _GxIdeCreateKbFromServer_createHandler = new WeakMap(), _GxIdeCreateKbFromServer_evaluateTooltipRender = new WeakMap(), _GxIdeCreateKbFromServer_filterValueChangedHandler = new WeakMap(), _GxIdeCreateKbFromServer_init = new WeakMap(), _GxIdeCreateKbFromServer_initializeValidatableControls = new WeakMap(), _GxIdeCreateKbFromServer_inputLocalKbNameHandler = new WeakMap(), _GxIdeCreateKbFromServer_selectedVersionHandler = new WeakMap(), _GxIdeCreateKbFromServer_selectKbChangeHandler = new WeakMap(), _GxIdeCreateKbFromServer_versionsChangedHandler = new WeakMap(), _GxIdeCreateKbFromServer_sortItems = new WeakMap(), _GxIdeCreateKbFromServer_renderFooter = new WeakMap();
551
+ _GxIdeCreateKbFromServer_chSearchIcon = new WeakMap(), _GxIdeCreateKbFromServer_showMoreIcon = new WeakMap(), _GxIdeCreateKbFromServer_versionsSelect = new WeakMap(), _GxIdeCreateKbFromServer__componentLocale = new WeakMap(), _GxIdeCreateKbFromServer_kbsActionListModel = new WeakMap(), _GxIdeCreateKbFromServer_kbVersions = new WeakMap(), _GxIdeCreateKbFromServer_chShortcutsEl = new WeakMap(), _GxIdeCreateKbFromServer_shortcutsSrc = new WeakMap(), _GxIdeCreateKbFromServer_selectedKbId = new WeakMap(), _GxIdeCreateKbFromServer_kbNameAlreadyEditedByUser = new WeakMap(), _GxIdeCreateKbFromServer_locationModeModel = new WeakMap(), _GxIdeCreateKbFromServer_versionSelectedTypeEl = new WeakMap(), _GxIdeCreateKbFromServer_localKBNameEl = new WeakMap(), _GxIdeCreateKbFromServer_cancelHandler = new WeakMap(), _GxIdeCreateKbFromServer_changeConnectionHandler = new WeakMap(), _GxIdeCreateKbFromServer_locationModeChangeHandler = new WeakMap(), _GxIdeCreateKbFromServer_selectLocationHandler = new WeakMap(), _GxIdeCreateKbFromServer_inputKbLocationHandler = new WeakMap(), _GxIdeCreateKbFromServer_createHandler = new WeakMap(), _GxIdeCreateKbFromServer_evaluateTooltipRender = new WeakMap(), _GxIdeCreateKbFromServer_filterValueChangedHandler = new WeakMap(), _GxIdeCreateKbFromServer_init = new WeakMap(), _GxIdeCreateKbFromServer_initializeValidatableControls = new WeakMap(), _GxIdeCreateKbFromServer_inputLocalKbNameHandler = new WeakMap(), _GxIdeCreateKbFromServer_selectedVersionHandler = new WeakMap(), _GxIdeCreateKbFromServer_selectKbChangeHandler = new WeakMap(), _GxIdeCreateKbFromServer_versionsChangedHandler = new WeakMap(), _GxIdeCreateKbFromServer_sortItems = new WeakMap(), _GxIdeCreateKbFromServer_renderFooter = new WeakMap();
455
552
  //# sourceMappingURL=create-kb-from-server.js.map