@genexus/genexus-ide-ui 1.1.37 → 1.1.39
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.
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +9 -3
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-details-acknowledgements.cjs.entry.js +19 -34
- package/dist/cjs/gx-ide-details-acknowledgements.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +9 -6
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-server-selector.cjs.entry.js +12 -4
- package/dist/cjs/gx-ide-server-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-status-message.cjs.entry.js +42 -0
- package/dist/cjs/gx-ide-status-message.cjs.entry.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/details-acknowledgements/details-acknowledgements.js +19 -34
- package/dist/collection/components/details-acknowledgements/details-acknowledgements.js.map +1 -1
- package/dist/collection/components/details-acknowledgements/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.en.json +3 -1
- package/dist/collection/components/details-acknowledgements/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.ja.json +3 -1
- package/dist/collection/components/details-acknowledgements/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.zh.json +3 -1
- package/dist/collection/components/new-kb/new-kb.js +9 -7
- package/dist/collection/components/new-kb/new-kb.js.map +1 -1
- package/dist/collection/components/status-message/gx-ide-assets/status-message/images/genexus-next-logo.svg +3 -0
- package/dist/collection/components/status-message/gx-ide-assets/status-message/images/left-side-illustration.svg +36 -0
- package/dist/collection/components/status-message/gx-ide-assets/status-message/images/right-side-illustration.svg +31 -0
- package/dist/collection/components/status-message/gx-ide-assets/status-message/langs/status-message.lang.en.json +6 -0
- package/dist/collection/components/status-message/gx-ide-assets/status-message/langs/status-message.lang.ja.json +6 -0
- package/dist/collection/components/status-message/gx-ide-assets/status-message/langs/status-message.lang.zh.json +6 -0
- package/dist/collection/components/status-message/status-message.css +33 -0
- package/dist/collection/components/status-message/status-message.js +42 -0
- package/dist/collection/components/status-message/status-message.js.map +1 -0
- package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js +9 -3
- package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js.map +1 -1
- package/dist/collection/components/team-dev/server-selector/server-selector.js +12 -4
- package/dist/collection/components/team-dev/server-selector/server-selector.js.map +1 -1
- package/dist/collection/testing/locale.e2e.js +1 -0
- package/dist/collection/testing/locale.e2e.js.map +1 -1
- package/dist/components/gx-ide-create-kb-from-server.js +9 -3
- package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
- package/dist/components/gx-ide-details-acknowledgements.js +19 -34
- package/dist/components/gx-ide-details-acknowledgements.js.map +1 -1
- package/dist/components/gx-ide-new-kb.js +9 -7
- package/dist/components/gx-ide-new-kb.js.map +1 -1
- package/dist/components/gx-ide-server-selector.js +12 -4
- package/dist/components/gx-ide-server-selector.js.map +1 -1
- package/dist/components/gx-ide-status-message.d.ts +11 -0
- package/dist/components/gx-ide-status-message.js +56 -0
- package/dist/components/gx-ide-status-message.js.map +1 -0
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-create-kb-from-server.entry.js +9 -3
- package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-details-acknowledgements.entry.js +19 -34
- package/dist/esm/gx-ide-details-acknowledgements.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-kb.entry.js +9 -6
- package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-server-selector.entry.js +12 -4
- package/dist/esm/gx-ide-server-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-status-message.entry.js +38 -0
- package/dist/esm/gx-ide-status-message.entry.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.en.json +3 -1
- package/dist/genexus-ide-ui/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.ja.json +3 -1
- package/dist/genexus-ide-ui/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.zh.json +3 -1
- package/dist/genexus-ide-ui/gx-ide-assets/status-message/images/genexus-next-logo.svg +3 -0
- package/dist/genexus-ide-ui/gx-ide-assets/status-message/images/left-side-illustration.svg +36 -0
- package/dist/genexus-ide-ui/gx-ide-assets/status-message/images/right-side-illustration.svg +31 -0
- package/dist/genexus-ide-ui/gx-ide-assets/status-message/langs/status-message.lang.en.json +6 -0
- package/dist/genexus-ide-ui/gx-ide-assets/status-message/langs/status-message.lang.ja.json +6 -0
- package/dist/genexus-ide-ui/gx-ide-assets/status-message/langs/status-message.lang.zh.json +6 -0
- package/dist/genexus-ide-ui/{p-3dc5d62e.entry.js → p-4b680e46.entry.js} +102 -102
- package/dist/genexus-ide-ui/p-4b680e46.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-50253b96.entry.js +61 -0
- package/dist/genexus-ide-ui/p-50253b96.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-bee71b20.entry.js → p-970e89ac.entry.js} +55 -45
- package/dist/genexus-ide-ui/p-970e89ac.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-9ad85231.entry.js → p-b34ecbdc.entry.js} +35 -28
- package/dist/genexus-ide-ui/p-b34ecbdc.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-5e2f9545.entry.js → p-bd0ffc08.entry.js} +56 -72
- package/dist/genexus-ide-ui/p-bd0ffc08.entry.js.map +1 -0
- package/dist/types/components/details-acknowledgements/types.d.ts +1 -1
- package/dist/types/components/new-kb/new-kb.d.ts +2 -3
- package/dist/types/components/status-message/status-message.d.ts +9 -0
- package/dist/types/components.d.ts +13 -0
- package/package.json +1 -1
- package/dist/genexus-ide-ui/p-3dc5d62e.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-5e2f9545.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-9ad85231.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-bee71b20.entry.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"gx-ide-details-acknowledgements.entry.js","mappings":"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","names":[],"sources":["src/components/details-acknowledgements/details-acknowledgements.scss?tag=gx-ide-details-acknowledgements&encapsulation=shadow","src/components/details-acknowledgements/details-acknowledgements.tsx"],"sourcesContent":[":host {\n display: grid;\n block-size: 100%;\n grid-auto-rows: max-content;\n justify-content: center;\n padding: 95px var(--mer-spacing--lg) 95px var(--mer-spacing--lg);\n overflow: auto;\n}\n\n%resetList {\n // TODO: Use mixin from common\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.main-wrapper {\n max-inline-size: 1000px;\n display: grid;\n gap: var(--mer-spacing--xl);\n}\n\n.logo {\n inline-size: 200px;\n margin: 0 auto;\n margin-block-end: var(--mer-spacing--2xl);\n opacity: 0;\n transform: translateY(var(--mer-spacing--2xs));\n animation: showLogo var(--mer-timing--regular) ease-out forwards;\n animation-delay: var(--mer-timing--regular);\n}\n@keyframes showLogo {\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n// general\n\n.card {\n display: grid;\n border-radius: var(--mer-border__radius--sm);\n border-width: var(--mer-border__width--sm);\n border-color: var(--elevation-border-color);\n border-style: solid;\n padding: var(--mer-spacing--lg);\n gap: var(--mer-spacing--md);\n opacity: 0;\n animation: showCard var(--mer-timing--fast) ease-out forwards;\n animation-delay: calc(var(--mer-timing--regular) * 2);\n}\n@keyframes showCard {\n 100% {\n opacity: 1;\n }\n}\n\n// details card\n\nh1.title {\n font-weight: 600;\n}\n\n.intro-container {\n display: grid;\n gap: var(--mer-spacing--md);\n}\n\n.date-container {\n display: grid;\n gap: var(--mer-spacing--sm);\n}\n\n// package card\n\n.card-package {\n opacity: 0;\n transition: opacity var(--mer-timing--fast);\n}\n\n.package-name {\n --package-name-color: var(--mer-text__primary);\n color: var(--package-name-color);\n\n a {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n &.has-link {\n // TODO: This should be a class in Mercury\n &:hover {\n --package-name-color: var(--mer-text__primary--hover);\n }\n &:active {\n --package-name-color: var(--mer-text__primary--active);\n }\n }\n}\n.package-link {\n display: inline-block;\n}\n\n.licenses-names-list {\n @extend %resetList;\n display: flex;\n align-items: center;\n}\n.licenses-names-item:not(:first-child)::before {\n content: \"•\";\n padding-inline: 8px;\n}\n\n.licenses-descriptions-list {\n @extend %resetList;\n}\n.licenses-descriptions-description {\n white-space: break-spaces;\n max-block-size: 940px;\n overflow: auto;\n line-height: 1.5;\n}\n.licenses-descriptions-item {\n display: grid;\n gap: var(--mer-spacing--md);\n}\n\n.code-box {\n border-radius: var(--mer-border__radius--sm);\n background-color: var(--mer-surface);\n border: 1px solid var(--mer-border-color__on-elevation--01);\n padding: var(--mer-spacing--md);\n font-family: var(--font-family-code);\n font-size: var(--font-size-body-s);\n display: grid;\n gap: var(--mer-spacing--lg);\n}\n\n.description-list {\n display: grid;\n gap: var(--mer-spacing--xs);\n max-inline-size: 400px;\n margin: 0 auto;\n}\n\n.show-more-button {\n justify-self: start;\n}\n\n// utilities\n// WA/TODO: This should be defined on Mercury\n.color-default {\n color: var(--mer-text__highlighted);\n}\n.color-neutral {\n color: var(--mer-color__neutral-gray--400);\n}\n.color-primary {\n color: var(--mer-text__primary);\n}\n\np {\n // TODO: Update line-height values on Mercury\n --line-height-tight: 1.5;\n --font-weight-regular: 300;\n}\n\nhr {\n // WA/TODO: A style for hr should be defined on Mercury\n border-block-start: 0;\n border-color: var(--mer-border-color__on-elevation--01);\n inline-size: 100%;\n margin: 0;\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n getAssetPath,\n JSX\n} from \"@stencil/core\";\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\n\nimport type { PackageData, License, OpenPackageURLCallback } from \"./types\";\n\nconst OPEN_WINDOW_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"open-window\",\n colorType: \"primary\"\n});\nconst EXPAND_ICON = getIconPath({\n category: \"system\",\n name: \"expand\",\n colorType: \"on-primary\"\n});\nconst COLLAPSE_ICON = getIconPath({\n category: \"system\",\n name: \"collapse-content\",\n colorType: \"on-primary\"\n});\n\nconst IMAGES_PATH = \"./gx-ide-assets/details-acknowledgements/images\";\nconst BACKGROUND_SIZE = \"300px\";\n\nconst GENEXUS_NEXT_LOGO_SRC = getAssetPath(\n `${IMAGES_PATH}/genexus-next-logo.svg`\n);\nconst BG_IMAGE_TOP_START = getAssetPath(`${IMAGES_PATH}/top-start.svg`);\nconst BG_IMAGE_BOTTOM_START = getAssetPath(`${IMAGES_PATH}/bottom-start.svg`);\nconst BG_IMAGE_BOTTOM_END = getAssetPath(`${IMAGES_PATH}/bottom-end.svg`);\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/typography\",\n \"utils/elevation\",\n \"components/button\",\n \"components/icon\",\n \"chameleon/scrollbar\"\n];\n\n@Component({\n tag: \"gx-ide-details-acknowledgements\",\n styleUrl: \"details-acknowledgements.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/details-acknowledgements\"]\n})\nexport class GxIdeDetailsAcknowledgements {\n /**\n * The component hard-coded strings translations.\n */\n _componentLocale: any;\n\n @Element() el: HTMLGxIdeDetailsAcknowledgementsElement;\n\n /**\n * Identifier of the currently expanded license. Should combine:\n * packageName + packageVersion + license.name. Example:\n * @sentry/core-6.7.1-mit\n */\n @State() expandedLicenseId?: string;\n\n /** The date when the current release was published */\n @Prop() readonly dateGenerated?: Date;\n\n /** The version of the current release*/\n @Prop() readonly release?: string;\n\n /** The list of packages that the current release contains*/\n @Prop() readonly packages: PackageData[];\n\n /**\n * Callback invoked when the user clicks a package with a packageURL.\n * If openPackageUrlCallback is defined, the default link action is\n * prevented and the URL is passed to the host via the callback.\n * Otherwise, the link opens in a new tab as usual.\n */\n @Prop() readonly openPackageUrlCallback: OpenPackageURLCallback;\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n #getFormatedDate = (date: Date) => {\n return date?.toISOString().split(\"T\")[0];\n };\n\n #renderLicensesInfo = (\n licenses: License[],\n type: \"name\" | \"description\" = \"name\",\n packageData?: PackageData\n ): JSX.Element => {\n return type === \"name\" ? (\n <ul class=\"licenses-names-list\">\n {licenses.map(license => {\n return (\n <li class=\"color-default body-regular-m licenses-names-item\">\n {license.name}\n </li>\n );\n })}\n </ul>\n ) : (\n <ul class=\"licenses-descriptions-list\">\n {licenses.map(license => {\n const licenseId = this.#getLicenseId(packageData, license.name);\n const showDescription = licenseId === this.expandedLicenseId;\n\n return (\n <li class=\"licenses-descriptions-item\" key={licenseId}>\n {showDescription ? (\n <p class=\"code-box color-neutral licenses-descriptions-description scrollable\">\n {license.description}\n </p>\n ) : null}\n </li>\n );\n })}\n </ul>\n );\n };\n\n #renderLicensesViewButtons = (\n licenses: License[],\n packageData?: PackageData\n ): JSX.Element => {\n return (\n <div class=\"licenses-buttons-container buttons-spacer\">\n {licenses.map(license => {\n const licenseId = this.#getLicenseId(packageData, license.name);\n const visibleLicenseButton = licenseId === this.expandedLicenseId;\n const icon = visibleLicenseButton ? COLLAPSE_ICON : EXPAND_ICON;\n\n const viewLicenseButtonLabel = `${license.name} ${this._componentLocale.packageCard.licenseLabel}`;\n\n return (\n <button\n class={{\n \"button-icon-and-text\": true,\n \"button-primary\": !visibleLicenseButton,\n \"button-secondary\": visibleLicenseButton,\n \"show-more-button\": true\n }}\n onClick={this.#viewLicenseClickedHandler(licenseId)}\n >\n <ch-image src={icon} class=\"package-icon icon-md\"></ch-image>\n {viewLicenseButtonLabel}\n </button>\n );\n })}\n </div>\n );\n };\n\n #getLicenseId = (packageData: PackageData, licenseName: string): string => {\n return `${packageData.packageName}-${packageData.packageVersion}-${licenseName}`;\n };\n\n #viewLicenseClickedHandler = (licenseId: string) => () => {\n if (licenseId === this.expandedLicenseId) {\n // collapse\n this.expandedLicenseId = undefined;\n } else {\n // expand collapse\n this.expandedLicenseId = licenseId;\n }\n };\n\n #openLinkClickedHandler = (url: string) => (e: MouseEvent) => {\n if (this.openPackageUrlCallback) {\n e.preventDefault();\n this.openPackageUrlCallback(url);\n }\n };\n\n render() {\n const formatedDate = this.#getFormatedDate(this.dateGenerated);\n return (\n <Host\n class=\"scrollable\"\n style={{\n backgroundImage: `url(${BG_IMAGE_TOP_START}), url(${BG_IMAGE_BOTTOM_START}), url(${BG_IMAGE_BOTTOM_END})`,\n backgroundPosition: \"left top, left bottom, right bottom\",\n backgroundRepeat: \"no-repeat, no-repeat, no-repeat\",\n backgroundSize: `${BACKGROUND_SIZE}, ${BACKGROUND_SIZE}, ${BACKGROUND_SIZE}`\n }}\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"main-wrapper\">\n <img src={GENEXUS_NEXT_LOGO_SRC} class=\"logo\"></img>\n <div class=\"card card-details elevation-1\">\n <div class=\"intro-container\">\n <h1 class=\"title heading-3 color-default\">\n {this._componentLocale.detailsCard.title}\n </h1>\n <p class=\"color-default body-regular-m\">\n {this._componentLocale.detailsCard.mainDescription}\n </p>\n <p class=\"color-neutral body-italic-s\">\n {this._componentLocale.detailsCard.secondaryDescription}\n </p>\n </div>\n\n <hr />\n\n <div class=\"date-container\">\n <p class=\"color-neutral\">\n {this._componentLocale.detailsCard.dateGenerated}\n </p>\n <time class=\"color-default\" dateTime={formatedDate}>\n {formatedDate}\n </time>\n </div>\n </div>\n\n {this.packages?.map(packageItem => {\n let packageName = `${packageItem.packageName} ${packageItem.packageVersion}`;\n const headingContent = packageItem.packageURL ? (\n <a\n href={packageItem.packageURL}\n target=\"_blank\"\n onClick={this.#openLinkClickedHandler(packageItem.packageURL)}\n class=\"package-link\"\n >\n {packageName}\n <ch-image\n src={OPEN_WINDOW_ICON}\n class=\"package-icon icon-md\"\n ></ch-image>\n </a>\n ) : (\n packageName\n );\n\n return (\n <article class=\"card card-package elevation-1\">\n <h2\n class={{\n \"subtitle-semi-bold-s\": true,\n \"package-name\": true,\n \"has-link\": !!packageItem.packageURL\n }}\n >\n {headingContent}\n </h2>\n <p class=\"color-default subtitle-semi-bold-s\">\n {this._componentLocale.packageCard.declaredLicenses}\n </p>\n {this.#renderLicensesInfo(packageItem.declaredLicenses, \"name\")}\n\n {this.#renderLicensesInfo(\n packageItem.declaredLicenses,\n \"description\",\n packageItem\n )}\n\n {this.#renderLicensesViewButtons(\n packageItem.declaredLicenses,\n packageItem\n )}\n </article>\n );\n })}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"gx-ide-details-acknowledgements.entry.js","mappings":";;;;AAAA,MAAM,0BAA0B,GAAG,qkFAAqkF;;;;;;;;;;ACexmF,MAAM,gBAAgB,GAAG,WAAW,CAAC;IACnC,QAAQ,EAAE,cAAc;IACxB,IAAI,EAAE,aAAa;IACnB,SAAS,EAAE,SAAS;CACrB,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,iDAAiD,CAAC;AACtE,MAAM,eAAe,GAAG,OAAO,CAAC;AAEhC,MAAM,qBAAqB,GAAG,YAAY,CACxC,GAAG,WAAW,wBAAwB,CACvC,CAAC;AACF,MAAM,kBAAkB,GAAG,YAAY,CAAC,GAAG,WAAW,gBAAgB,CAAC,CAAC;AACxE,MAAM,qBAAqB,GAAG,YAAY,CAAC,GAAG,WAAW,mBAAmB,CAAC,CAAC;AAC9E,MAAM,mBAAmB,GAAG,YAAY,CAAC,GAAG,WAAW,iBAAiB,CAAC,CAAC;AAE1E,MAAM,WAAW,GAAmB;IAClC,mBAAmB;IACnB,kBAAkB;IAClB,iBAAiB;IACjB,mBAAmB;IACnB,iBAAiB;IACjB,qBAAqB;CACtB,CAAC;MAQW,4BAA4B;;;QAoCvC,wDAAmB,CAAC,IAAU;YAC5B,OAAO,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;SAC1C,EAAC;QAEF,0DAAqB,CACnB,OAAgB,EAChB,OAA+B,MAAM,EACrC,WAAwB;YAExB,MAAM,SAAS,GAAG,uBAAA,IAAI,kDAAc,MAAlB,IAAI,EAAe,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAChE,MAAM,eAAe,GAAG,SAAS,KAAK,IAAI,CAAC,iBAAiB,CAAC;YAC7D,OAAO,IAAI,KAAK,MAAM,IACpB,UAAI,KAAK,EAAC,qBAAqB,IAC7B,UAAI,KAAK,EAAC,kDAAkD,IACzD,OAAO,CAAC,IAAI,CACV,CACF,KAEL,UAAI,KAAK,EAAC,4BAA4B,IACpC,UAAI,KAAK,EAAC,4BAA4B,EAAC,GAAG,EAAE,OAAO,CAAC,IAAI,IACrD,eAAe,IACd,SAAG,KAAK,EAAC,qEAAqE,IAC3E,OAAO,CAAC,WAAW,CAClB,IACF,IAAI,CACL,CACF,CACN,CAAC;SACH,EAAC;QAEF,kEAA6B,CAC3B,OAAgB,EAChB,WAAyB;YAEzB,MAAM,SAAS,GAAG,uBAAA,IAAI,kDAAc,MAAlB,IAAI,EAAe,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAChE,MAAM,oBAAoB,GAAG,SAAS,KAAK,IAAI,CAAC,iBAAiB,CAAC;YAClE,MAAM,sBAAsB,GAAG,oBAAoB;kBAC/C,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI;kBACtC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC;YAC3C,QACE,WAAK,KAAK,EAAC,2CAA2C,IAElD,cACE,KAAK,EAAE;oBACL,sBAAsB,EAAE,IAAI;oBAC5B,gBAAgB,EAAE,CAAC,oBAAoB;oBACvC,kBAAkB,EAAE,oBAAoB;oBACxC,kBAAkB,EAAE,IAAI;iBACzB,EACD,OAAO,EAAE,uBAAA,IAAI,+DAA2B,MAA/B,IAAI,EAA4B,SAAS,CAAC,IAElD,sBAAsB,CAChB,CAEP,EACN;SACH,EAAC;QAEF,qDAAgB,CAAC,WAAwB,EAAE,WAAmB;YAC5D,OAAO,GAAG,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,cAAc,IAAI,WAAW,EAAE,CAAC;SAClF,EAAC;QAEF,kEAA6B,CAAC,SAAiB,KAAK;YAClD,IAAI,SAAS,KAAK,IAAI,CAAC,iBAAiB,EAAE;;gBAExC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;aACpC;iBAAM;;gBAEL,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;aACpC;SACF,EAAC;QAEF,+DAA0B,CAAC,GAAW,KAAK,CAAC,CAAa;YACvD,IAAI,IAAI,CAAC,sBAAsB,EAAE;gBAC/B,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;aAClC;SACF,EAAC;;;;;;;IAjFF,MAAM,iBAAiB;QACrB,IAAI,CAAC,gBAAgB,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACnE;IAiFD,MAAM;;QACJ,MAAM,YAAY,GAAG,uBAAA,IAAI,qDAAiB,MAArB,IAAI,EAAkB,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/D,QACE,EAAC,IAAI,IACH,KAAK,EAAC,YAAY,EAClB,KAAK,EAAE;gBACL,eAAe,EAAE,OAAO,kBAAkB,UAAU,qBAAqB,UAAU,mBAAmB,GAAG;gBACzG,kBAAkB,EAAE,qCAAqC;gBACzD,gBAAgB,EAAE,iCAAiC;gBACnD,cAAc,EAAE,GAAG,eAAe,KAAK,eAAe,KAAK,eAAe,EAAE;aAC7E,IAED,gBAAU,KAAK,EAAE,WAAW,GAAa,EACzC,WAAK,KAAK,EAAC,cAAc,IACvB,WAAK,GAAG,EAAE,qBAAqB,EAAE,KAAK,EAAC,MAAM,GAAO,EACpD,WAAK,KAAK,EAAC,+BAA+B,IACxC,WAAK,KAAK,EAAC,iBAAiB,IAC1B,UAAI,KAAK,EAAC,+BAA+B,IACtC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,KAAK,CACrC,EACL,SAAG,KAAK,EAAC,8BAA8B,IACpC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,eAAe,CAChD,EACJ,SAAG,KAAK,EAAC,6BAA6B,IACnC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,oBAAoB,CACrD,CACA,EAEN,aAAM,EAEN,WAAK,KAAK,EAAC,gBAAgB,IACzB,SAAG,KAAK,EAAC,eAAe,IACrB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAC9C,EACJ,YAAM,KAAK,EAAC,eAAe,EAAC,QAAQ,EAAE,YAAY,IAC/C,YAAY,CACR,CACH,CACF,EAEL,MAAA,IAAI,CAAC,QAAQ;eAAE,GAAG,CAAC,WAAW;gBAC7B,IAAI,WAAW,GAAG,GAAG,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,cAAc,EAAE,CAAC;gBAC7E,MAAM,cAAc,GAAG,WAAW,CAAC,UAAU,IAC3C,SACE,IAAI,EAAE,WAAW,CAAC,UAAU,EAC5B,MAAM,EAAC,QAAQ,EACf,OAAO,EAAE,uBAAA,IAAI,4DAAwB,MAA5B,IAAI,EAAyB,WAAW,CAAC,UAAU,CAAC,EAC7D,KAAK,EAAC,cAAc,IAEnB,WAAW,EACZ,gBACE,GAAG,EAAE,gBAAgB,EACrB,KAAK,EAAC,sBAAsB,GAClB,CACV,KAEJ,WAAW,CACZ,CAAC;gBAEF,QACE,eAAS,KAAK,EAAC,+BAA+B,IAC5C,UACE,KAAK,EAAE;wBACL,sBAAsB,EAAE,IAAI;wBAC5B,cAAc,EAAE,IAAI;wBACpB,UAAU,EAAE,CAAC,CAAC,WAAW,CAAC,UAAU;qBACrC,IAEA,cAAc,CACZ,EACL,SAAG,KAAK,EAAC,oCAAoC,IAC1C,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,gBAAgB,CACjD,EACH,uBAAA,IAAI,uDAAmB,MAAvB,IAAI,EACH,WAAW,CAAC,eAAe,EAC3B,MAAM,EACN,WAAW,CACZ,EAEA,uBAAA,IAAI,uDAAmB,MAAvB,IAAI,EACH,WAAW,CAAC,eAAe,EAC3B,aAAa,EACb,WAAW,CACZ,EAEA,uBAAA,IAAI,+DAA2B,MAA/B,IAAI,EACH,WAAW,CAAC,eAAe,EAC3B,WAAW,CACZ,CACO,EACV;aACH,CAAC,CACE,CACD,EACP;KACH;;;;;;;;;","names":[],"sources":["src/components/details-acknowledgements/details-acknowledgements.scss?tag=gx-ide-details-acknowledgements&encapsulation=shadow","src/components/details-acknowledgements/details-acknowledgements.tsx"],"sourcesContent":[":host {\n display: grid;\n block-size: 100%;\n grid-auto-rows: max-content;\n justify-content: center;\n padding: 95px var(--mer-spacing--lg) 95px var(--mer-spacing--lg);\n overflow: auto;\n}\n\n%resetList {\n // TODO: Use mixin from common\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.main-wrapper {\n max-inline-size: 1000px;\n display: grid;\n gap: var(--mer-spacing--xl);\n}\n\n.logo {\n inline-size: 200px;\n margin: 0 auto;\n margin-block-end: var(--mer-spacing--2xl);\n opacity: 0;\n transform: translateY(var(--mer-spacing--2xs));\n animation: showLogo var(--mer-timing--regular) ease-out forwards;\n animation-delay: var(--mer-timing--regular);\n}\n@keyframes showLogo {\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n// general\n\n.card {\n display: grid;\n border-radius: var(--mer-border__radius--sm);\n border-width: var(--mer-border__width--sm);\n border-color: var(--elevation-border-color);\n border-style: solid;\n padding: var(--mer-spacing--lg);\n gap: var(--mer-spacing--md);\n opacity: 0;\n animation: showCard var(--mer-timing--fast) ease-out forwards;\n animation-delay: calc(var(--mer-timing--regular) * 2);\n}\n@keyframes showCard {\n 100% {\n opacity: 1;\n }\n}\n\n// details card\n\nh1.title {\n font-weight: 600;\n}\n\n.intro-container {\n display: grid;\n gap: var(--mer-spacing--md);\n}\n\n.date-container {\n display: grid;\n gap: var(--mer-spacing--sm);\n}\n\n// package card\n\n.card-package {\n opacity: 0;\n transition: opacity var(--mer-timing--fast);\n}\n\n.package-name {\n --package-name-color: var(--mer-text__primary);\n color: var(--package-name-color);\n\n a {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n &.has-link {\n // TODO: This should be a class in Mercury\n &:hover {\n --package-name-color: var(--mer-text__primary--hover);\n }\n &:active {\n --package-name-color: var(--mer-text__primary--active);\n }\n }\n}\n.package-link {\n display: inline-block;\n}\n\n.licenses-names-list {\n @extend %resetList;\n display: flex;\n align-items: center;\n}\n.licenses-names-item:not(:first-child)::before {\n content: \"•\";\n padding-inline: 8px;\n}\n\n.licenses-descriptions-list {\n @extend %resetList;\n}\n.licenses-descriptions-description {\n white-space: break-spaces;\n max-block-size: 940px;\n overflow: auto;\n line-height: 1.5;\n}\n.licenses-descriptions-item {\n display: grid;\n gap: var(--mer-spacing--md);\n}\n\n.code-box {\n border-radius: var(--mer-border__radius--sm);\n background-color: var(--mer-surface);\n border: 1px solid var(--mer-border-color__on-elevation--01);\n padding: var(--mer-spacing--md);\n font-family: var(--font-family-code);\n font-size: var(--font-size-body-s);\n display: grid;\n gap: var(--mer-spacing--lg);\n}\n\n.description-list {\n display: grid;\n gap: var(--mer-spacing--xs);\n max-inline-size: 400px;\n margin: 0 auto;\n}\n\n.show-more-button {\n justify-self: start;\n}\n\n// utilities\n// WA/TODO: This should be defined on Mercury\n.color-default {\n color: var(--mer-text__highlighted);\n}\n.color-neutral {\n color: var(--mer-color__neutral-gray--400);\n}\n.color-primary {\n color: var(--mer-text__primary);\n}\n\np {\n // TODO: Update line-height values on Mercury\n --line-height-tight: 1.5;\n --font-weight-regular: 300;\n}\n\nhr {\n // WA/TODO: A style for hr should be defined on Mercury\n border-block-start: 0;\n border-color: var(--mer-border-color__on-elevation--01);\n inline-size: 100%;\n margin: 0;\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n getAssetPath,\n JSX\n} from \"@stencil/core\";\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\n\nimport type { PackageData, License, OpenPackageURLCallback } from \"./types\";\n\nconst OPEN_WINDOW_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"open-window\",\n colorType: \"primary\"\n});\n\nconst IMAGES_PATH = \"./gx-ide-assets/details-acknowledgements/images\";\nconst BACKGROUND_SIZE = \"300px\";\n\nconst GENEXUS_NEXT_LOGO_SRC = getAssetPath(\n `${IMAGES_PATH}/genexus-next-logo.svg`\n);\nconst BG_IMAGE_TOP_START = getAssetPath(`${IMAGES_PATH}/top-start.svg`);\nconst BG_IMAGE_BOTTOM_START = getAssetPath(`${IMAGES_PATH}/bottom-start.svg`);\nconst BG_IMAGE_BOTTOM_END = getAssetPath(`${IMAGES_PATH}/bottom-end.svg`);\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/typography\",\n \"utils/elevation\",\n \"components/button\",\n \"components/icon\",\n \"chameleon/scrollbar\"\n];\n\n@Component({\n tag: \"gx-ide-details-acknowledgements\",\n styleUrl: \"details-acknowledgements.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/details-acknowledgements\"]\n})\nexport class GxIdeDetailsAcknowledgements {\n /**\n * The component hard-coded strings translations.\n */\n _componentLocale: any;\n\n @Element() el: HTMLGxIdeDetailsAcknowledgementsElement;\n\n /**\n * Identifier of the currently expanded license. Should combine:\n * packageName + packageVersion + license.name. Example:\n * @sentry/core-6.7.1-mit\n */\n @State() expandedLicenseId?: string;\n\n /** The date when the current release was published */\n @Prop() readonly dateGenerated?: Date;\n\n /** The version of the current release*/\n @Prop() readonly release?: string;\n\n /** The list of packages that the current release contains*/\n @Prop() readonly packages: PackageData[];\n\n /**\n * Callback invoked when the user clicks a package with a packageURL.\n * If openPackageUrlCallback is defined, the default link action is\n * prevented and the URL is passed to the host via the callback.\n * Otherwise, the link opens in a new tab as usual.\n */\n @Prop() readonly openPackageUrlCallback: OpenPackageURLCallback;\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n #getFormatedDate = (date: Date) => {\n return date?.toISOString().split(\"T\")[0];\n };\n\n #renderLicenseInfo = (\n license: License,\n type: \"name\" | \"description\" = \"name\",\n packageData: PackageData\n ): JSX.Element => {\n const licenseId = this.#getLicenseId(packageData, license.name);\n const showDescription = licenseId === this.expandedLicenseId;\n return type === \"name\" ? (\n <ul class=\"licenses-names-list\">\n <li class=\"color-default body-regular-m licenses-names-item\">\n {license.name}\n </li>\n </ul>\n ) : (\n <ul class=\"licenses-descriptions-list\">\n <li class=\"licenses-descriptions-item\" key={license.name}>\n {showDescription ? (\n <p class=\"code-box color-neutral licenses-descriptions-description scrollable\">\n {license.description}\n </p>\n ) : null}\n </li>\n </ul>\n );\n };\n\n #renderLicensesViewButtons = (\n license: License,\n packageData?: PackageData\n ): JSX.Element => {\n const licenseId = this.#getLicenseId(packageData, license.name);\n const visibleLicenseButton = licenseId === this.expandedLicenseId;\n const viewLicenseButtonLabel = visibleLicenseButton\n ? this._componentLocale.detailsCard.hide\n : this._componentLocale.detailsCard.show;\n return (\n <div class=\"licenses-buttons-container buttons-spacer\">\n {\n <button\n class={{\n \"button-icon-and-text\": true,\n \"button-primary\": !visibleLicenseButton,\n \"button-secondary\": visibleLicenseButton,\n \"show-more-button\": true\n }}\n onClick={this.#viewLicenseClickedHandler(licenseId)}\n >\n {viewLicenseButtonLabel}\n </button>\n }\n </div>\n );\n };\n\n #getLicenseId = (packageData: PackageData, licenseName: string): string => {\n return `${packageData.packageName}-${packageData.packageVersion}-${licenseName}`;\n };\n\n #viewLicenseClickedHandler = (licenseId: string) => () => {\n if (licenseId === this.expandedLicenseId) {\n // collapse\n this.expandedLicenseId = undefined;\n } else {\n // expand collapse\n this.expandedLicenseId = licenseId;\n }\n };\n\n #openLinkClickedHandler = (url: string) => (e: MouseEvent) => {\n if (this.openPackageUrlCallback) {\n e.preventDefault();\n this.openPackageUrlCallback(url);\n }\n };\n\n render() {\n const formatedDate = this.#getFormatedDate(this.dateGenerated);\n return (\n <Host\n class=\"scrollable\"\n style={{\n backgroundImage: `url(${BG_IMAGE_TOP_START}), url(${BG_IMAGE_BOTTOM_START}), url(${BG_IMAGE_BOTTOM_END})`,\n backgroundPosition: \"left top, left bottom, right bottom\",\n backgroundRepeat: \"no-repeat, no-repeat, no-repeat\",\n backgroundSize: `${BACKGROUND_SIZE}, ${BACKGROUND_SIZE}, ${BACKGROUND_SIZE}`\n }}\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"main-wrapper\">\n <img src={GENEXUS_NEXT_LOGO_SRC} class=\"logo\"></img>\n <div class=\"card card-details elevation-1\">\n <div class=\"intro-container\">\n <h1 class=\"title heading-3 color-default\">\n {this._componentLocale.detailsCard.title}\n </h1>\n <p class=\"color-default body-regular-m\">\n {this._componentLocale.detailsCard.mainDescription}\n </p>\n <p class=\"color-neutral body-italic-s\">\n {this._componentLocale.detailsCard.secondaryDescription}\n </p>\n </div>\n\n <hr />\n\n <div class=\"date-container\">\n <p class=\"color-neutral\">\n {this._componentLocale.detailsCard.dateGenerated}\n </p>\n <time class=\"color-default\" dateTime={formatedDate}>\n {formatedDate}\n </time>\n </div>\n </div>\n\n {this.packages?.map(packageItem => {\n let packageName = `${packageItem.packageName} ${packageItem.packageVersion}`;\n const headingContent = packageItem.packageURL ? (\n <a\n href={packageItem.packageURL}\n target=\"_blank\"\n onClick={this.#openLinkClickedHandler(packageItem.packageURL)}\n class=\"package-link\"\n >\n {packageName}\n <ch-image\n src={OPEN_WINDOW_ICON}\n class=\"package-icon icon-md\"\n ></ch-image>\n </a>\n ) : (\n packageName\n );\n\n return (\n <article class=\"card card-package elevation-1\">\n <h2\n class={{\n \"subtitle-semi-bold-s\": true,\n \"package-name\": true,\n \"has-link\": !!packageItem.packageURL\n }}\n >\n {headingContent}\n </h2>\n <p class=\"color-default subtitle-semi-bold-s\">\n {this._componentLocale.packageCard.declaredLicenses}\n </p>\n {this.#renderLicenseInfo(\n packageItem.declaredLicense,\n \"name\",\n packageItem\n )}\n\n {this.#renderLicenseInfo(\n packageItem.declaredLicense,\n \"description\",\n packageItem\n )}\n\n {this.#renderLicensesViewButtons(\n packageItem.declaredLicense,\n packageItem\n )}\n </article>\n );\n })}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -196,7 +196,7 @@ const GxIdeNewKb = class {
|
|
|
196
196
|
}, h("label", { class: "label", htmlFor: "dataSource" }, __classPrivateFieldGet(this, _GxIdeNewKb_componentLocale, "f").tabBasic.backEnd.dataSource.label), h("ch-combo-box-render", { class: "combo-box", disabled: this.defaultDataSources.length === 0, placeholder: this.defaultDataSources.length === 0
|
|
197
197
|
? __classPrivateFieldGet(this, _GxIdeNewKb_componentLocale, "f").tabBasic.backEnd.dataSource
|
|
198
198
|
.disabledPlaceholder
|
|
199
|
-
: "", value: this
|
|
199
|
+
: "", value: __classPrivateFieldGet(this, _GxIdeNewKb_selectedDataSourceId, "f"), ref: (el) => (__classPrivateFieldSet(this, _GxIdeNewKb_dataSourceEl, el, "f")), onInput: __classPrivateFieldGet(this, _GxIdeNewKb_dataSourceValueChangedHandler, "f"), model: this.defaultDataSourcesComboBoxModel, part: "data-source", id: "dataSource" }), __classPrivateFieldGet(this, _GxIdeNewKb_evaluateTooltipRender, "f").call(this, __classPrivateFieldGet(this, _GxIdeNewKb_dataSourceEl, "f"))))),
|
|
200
200
|
h("section", { class: "section__front-end" }, h("h2", { class: "control-header control-header-with-border control-header__front-end subtitle-regular-xs\t text-align-center spacing-body-inline" }, __classPrivateFieldGet(this, _GxIdeNewKb_componentLocale, "f").tabBasic.frontEnd.frontEndLabel), h("div", { class: "field-group main__front-end spacing-body-inline scrollable" }, renderChCheckboxItems(this.frontEnds, __classPrivateFieldGet(this, _GxIdeNewKb_frontEndCheckboxInputHandler, "f"), __classPrivateFieldGet(this, _GxIdeNewKb_frontEndsCheckedMap, "f").get(__classPrivateFieldGet(this, _GxIdeNewKb_selectedPrototypingEnvironmentId, "f")))))
|
|
201
201
|
];
|
|
202
202
|
});
|
|
@@ -296,8 +296,9 @@ const GxIdeNewKb = class {
|
|
|
296
296
|
});
|
|
297
297
|
_GxIdeNewKb_getPrototypingEnvironments.set(this, async () => {
|
|
298
298
|
if (this.getPrototypingEnvironmentsCallback) {
|
|
299
|
-
const selectedPrototypingTargetId = __classPrivateFieldGet(this, _GxIdeNewKb_prototypingTargetEl, "f")
|
|
300
|
-
__classPrivateFieldGet(this, _GxIdeNewKb_prototypingTargetEl, "f").value
|
|
299
|
+
const selectedPrototypingTargetId = __classPrivateFieldGet(this, _GxIdeNewKb_prototypingTargetEl, "f")
|
|
300
|
+
? __classPrivateFieldGet(this, _GxIdeNewKb_prototypingTargetEl, "f").value
|
|
301
|
+
: this.prototypingTargetsInitialValue;
|
|
301
302
|
const envs = await this.getPrototypingEnvironmentsCallback(selectedPrototypingTargetId);
|
|
302
303
|
if (envs) {
|
|
303
304
|
this.defaultPrototypingEnvironments = envs;
|
|
@@ -317,7 +318,9 @@ const GxIdeNewKb = class {
|
|
|
317
318
|
this.defaultDataSources = result;
|
|
318
319
|
// set first option as selected
|
|
319
320
|
__classPrivateFieldGet(this, _GxIdeNewKb_dataSourceEl, "f").value =
|
|
320
|
-
__classPrivateFieldGet(this, _GxIdeNewKb_selectedDataSourceId, "f") !== undefined
|
|
321
|
+
__classPrivateFieldGet(this, _GxIdeNewKb_selectedDataSourceId, "f") !== undefined
|
|
322
|
+
? __classPrivateFieldGet(this, _GxIdeNewKb_selectedDataSourceId, "f")
|
|
323
|
+
: this.defaultDataSources[0].id;
|
|
321
324
|
}
|
|
322
325
|
})
|
|
323
326
|
.catch(() => {
|
|
@@ -418,7 +421,6 @@ const GxIdeNewKb = class {
|
|
|
418
421
|
this.collationsComboBoxModel = [];
|
|
419
422
|
this.collationsInitialValue = undefined;
|
|
420
423
|
this.defaultDataSourcesComboBoxModel = [];
|
|
421
|
-
this.defaultDataSourcesInitialValue = undefined;
|
|
422
424
|
this.prototypingTargetsComboBoxModel = [];
|
|
423
425
|
this.prototypingTargetsInitialValue = undefined;
|
|
424
426
|
this.prototypingEnvironmentsComboBoxModel = [];
|
|
@@ -466,7 +468,8 @@ const GxIdeNewKb = class {
|
|
|
466
468
|
if (newValue === null || newValue === void 0 ? void 0 : newValue.length) {
|
|
467
469
|
this.defaultDataSourcesComboBoxModel =
|
|
468
470
|
mapOptionsToComboBoxItemModel(newValue);
|
|
469
|
-
|
|
471
|
+
const result = setSelectedItem(newValue, __classPrivateFieldGet(this, _GxIdeNewKb_selectedDataSourceId, "f"));
|
|
472
|
+
__classPrivateFieldSet(this, _GxIdeNewKb_selectedDataSourceId, getSelectedItem(result), "f");
|
|
470
473
|
}
|
|
471
474
|
}
|
|
472
475
|
watchDefaultPrototypingEnvironments(newValue) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"gx-ide-new-kb.entry.js","mappings":"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","names":[],"sources":["src/components/new-kb/new-kb.scss?tag=gx-ide-new-kb&encapsulation=shadow","src/components/new-kb/new-kb.tsx"],"sourcesContent":[":host {\n display: grid;\n block-size: 100%;\n overflow: auto;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.section {\n display: contents;\n}\n\n.header {\n &-one-col {\n grid-template-columns: 1fr;\n }\n &-two-cols {\n grid-template-columns: 1fr 1fr;\n }\n}\n// location appears if advanced is true\n.location-wrapper {\n display: flex;\n gap: var(--mer-spacing--2xs);\n}\n.location {\n flex-grow: 1;\n grid-area: location;\n}\n\n.basic {\n display: grid;\n grid-template:\n \"basic-top basic-top\" max-content\n \"back-end front-end\" 1fr;\n grid-template-columns: 1fr 1fr;\n}\n.basic__header {\n grid-area: basic-top;\n grid-template-columns: 1fr 1fr;\n}\n.control-header__back-end,\n.control-header__front-end {\n padding-block-start: var(--mer-spacing--md);\n}\n.main__back-end {\n border-inline-end: var(--section-common-border);\n}\n.main__back-end,\n.main__front-end {\n grid-auto-rows: max-content;\n padding-block: var(--content-block-spacing);\n overflow: auto;\n}\n// back end\n.section__back-end {\n grid-area: back-end;\n grid-auto-rows: max-content;\n}\n// front end\n.section__front-end {\n grid-area: front-end;\n}\n.section__back-end,\n.section__front-end {\n display: grid;\n grid-template-rows: max-content 1fr;\n overflow: auto;\n}\n\n// advanced\n.tab-advanced-title {\n grid-area: tab-advanced-title;\n}\n.layout-tab-advanced-left-col {\n grid-area: layout-tab-advanced-left-col;\n}\n.layout-tab-advanced-right-col {\n grid-area: layout-tab-advanced-right-col;\n}\n\n.basic,\n.advanced {\n padding-block-start: var(--content-block-spacing);\n overflow: auto;\n block-size: 100%;\n}\n\n.tab-advanced__field-group {\n display: grid;\n grid-template-columns: 1fr 1fr;\n grid-auto-rows: auto;\n}\n\n// WA / TODO: Add a helper class in Mercury to justify text.\n.text-align-center {\n text-align: center; // should be resolved on mercury\n}\n\n.tab::part(page) {\n // WA / TODO: Remove this line when the ch-tab renders supports scrollbar\n // custom styling\n scrollbar-width: thin;\n}\n","import {\n Component,\n Host,\n Prop,\n Element,\n State,\n getAssetPath,\n Method,\n h,\n Watch\n} from \"@stencil/core\";\n\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n\nimport { config } from \"../../common/config\";\nimport { Locale } from \"../../common/locale\";\nimport { getSelectedItem, setSelectedItem } from \"../../common/common\";\nimport {\n mapOptionsToComboBoxItemModel,\n renderChCheckboxItems\n} from \"../../common/helpers\";\nimport { FormSubmitResult, GxOption } from \"../../common/types\";\nimport {\n ControlValidation,\n validateControls\n} from \"../../common/form-validation\";\nimport {\n TabModel,\n ComboBoxModel,\n ChCheckboxCustomEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { removeIndex } from \"../../common/array\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/tab\",\n \"components/tooltip\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\n\nconst WINDOWS_AUTHENTICATION_VALUE: string = \"windows-authentication\";\nconst MAIN_SECTION_CLASSES: string = \"main\";\nconst BASIC_SECTION_PARENT_CLASSES: string = \"basic\";\n\nconst SYSTEM_ICON = getIconPath({\n category: \"system\",\n name: \"folder\",\n colorType: \"primary\"\n});\n\nconst BASIC_TAB_SELECTOR: string = \"basic\";\nconst ADVANCED_TAB_SELECTOR: string = \"advanced\";\n\n@Component({\n tag: \"gx-ide-new-kb\",\n styleUrl: \"new-kb.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/new-kb\"]\n})\nexport class GxIdeNewKb {\n #advancedTabHasBeenRendered: boolean = false;\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n /**\n * frontEndsState saves the id's of the front ends checkboxes that are checked\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #frontEndsCheckedMap = new Map<string, string[]>();\n #selectedPrototypingEnvironmentId: string;\n #selectedDataSourceId: string;\n #shortcutsSrc = getAssetPath(`./gx-ide-assets/new-kb/shortcuts.json`);\n #kbSectionsModel: TabModel = [];\n\n @Element() el: HTMLGxIdeNewKbElement;\n\n /* References needed to collect data con \"Create\" button submit*/\n #authenticationTypeEl!: HTMLChComboBoxRenderElement;\n #collationEl!: HTMLChComboBoxRenderElement;\n #createDataFilesInKBFolderEl!: HTMLChCheckboxElement;\n #databaseNameEl!: HTMLChEditElement;\n #dataSourceEl!: HTMLChComboBoxRenderElement;\n #kbNameEl!: HTMLChEditElement;\n #locationEl!: HTMLChEditElement;\n #passwordEl!: HTMLChEditElement;\n #prototypingEnvironmentEl!: HTMLChComboBoxRenderElement;\n #prototypingTargetEl!: HTMLChComboBoxRenderElement;\n #savePasswordEl!: HTMLChCheckboxElement;\n #serverNameEl!: HTMLChComboBoxRenderElement;\n #userInterfaceLanguageEl!: HTMLChComboBoxRenderElement;\n #userNameEl!: HTMLChEditElement;\n\n #chShortcutsEl: HTMLChShortcutsElement;\n\n @State() advancedTabIsVisible: boolean = false;\n /**\n * Allows selecting multiple generators for the front end\n * TODO: Check if this property can be deleted, since we can call getFrontEndsCallback.\n */\n @State() frontEnds: GxOption[];\n @State() validatableControls = new Map<string, ControlValidation>();\n @State() createDataInKbDisabled = false;\n @State() userNameVisible = true;\n @State() passwordVisible = true;\n @State() savePasswordVisible = true;\n // representations of GxOption[] as ComboBoxModel, and initialValue for each one.\n @State() authenticationTypesComboBoxModel: ComboBoxModel = [];\n @State() authenticationTypesInitialValue: string;\n @State() collationsComboBoxModel: ComboBoxModel = [];\n @State() collationsInitialValue: string;\n @State() defaultDataSourcesComboBoxModel: ComboBoxModel = [];\n @State() defaultDataSourcesInitialValue: string;\n @State() prototypingTargetsComboBoxModel: ComboBoxModel = [];\n @State() prototypingTargetsInitialValue: string;\n @State() prototypingEnvironmentsComboBoxModel: ComboBoxModel = [];\n @State() prototypingEnvironmentsInitialValue: string;\n @State() serverNamesComboBoxModel: ComboBoxModel = [];\n @State() serverNamesInitialValue: string;\n @State() userInterfaceLanguagesComboBoxModel: ComboBoxModel = [];\n @State() userInterfaceLanguagesInitialValue: string;\n\n /**\n * Defines the type of authentication for the connection to the previously defined database\n */\n @Prop() readonly authenticationTypes: GxOption[] = [];\n @Watch(\"authenticationTypes\")\n watchAuthenticationTypes(newValue: GxOption[]) {\n if (newValue?.length) {\n this.authenticationTypesComboBoxModel =\n mapOptionsToComboBoxItemModel(newValue);\n this.authenticationTypesInitialValue = getSelectedItem(newValue);\n }\n }\n\n /**\n * Callback invoked when the user wants to cancel KB creation (‘Cancel’ button)\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * DB Collations\n */\n @Prop() readonly collations!: GxOption[];\n @Watch(\"collations\")\n watchCollations(newValue: GxOption[]) {\n if (newValue?.length) {\n this.collationsComboBoxModel = mapOptionsToComboBoxItemModel(newValue);\n this.collationsInitialValue = getSelectedItem(newValue);\n }\n }\n\n /**\n * Callback that will be invoked when the user confirms KB creation (‘Create’ button)\n */\n @Prop() readonly createCallback!: CreateCallback;\n\n /**\n * Disabled if the first item of the 'Server Name' combo is selected\n */\n @Prop() readonly createDataFilesInKBFolder: boolean = false;\n\n /**\n * Name of the database where we are going to persist the information of our KB\n */\n @Prop() readonly databaseName: string;\n\n /**\n * It allows defining the DBMS that will be used in the solution\n */\n @Prop({ mutable: true }) defaultDataSources: GxOption[] = [];\n @Watch(\"defaultDataSources\")\n watchDefaultDataSources(newValue: GxOption[]) {\n if (newValue?.length) {\n this.defaultDataSourcesComboBoxModel =\n mapOptionsToComboBoxItemModel(newValue);\n this.defaultDataSourcesInitialValue = getSelectedItem(newValue);\n }\n }\n\n /**\n * Callback invoked when the user wants to cancel KB creation (‘Cancel’ button)\n */\n @Prop() readonly getDataSourcesCallback: GetDataSourcesCallback;\n\n /**\n * Callback invoked when the user changes the prototyping environment, allowing for the modification of the list of front ends\n */\n @Prop() readonly getFrontEndsCallback!: GetFrontEndsCallback;\n\n /**\n * Callback invoked when the user changes the prototyping target id, allowing for the modification of the list of prototyping environments\n */\n @Prop() readonly getPrototypingEnvironmentsCallback!: GetPrototypingEnvironmentsCallback;\n\n /**\n * Specify whether it is feasible to display information related to local configuration parameters\n */\n @Prop() readonly isAdvanced = false;\n\n /**\n * Default suggested path to a directory where the information related to the KB will be stored/generated\n */\n @Prop({ mutable: true }) kbLocation: string;\n\n /**\n * The knowledge base default suggested name\n */\n @Prop() readonly kbName: string;\n\n /**\n * Password for the database connection. Visible if the Authentication Type is different from Windows Authentication (first item of the combo)\n */\n @Prop() readonly password: string;\n\n /**\n * It allows selecting the default environment that the KB will have (additional environments can be created later)\n */\n @Prop({ mutable: true }) defaultPrototypingEnvironments: GxOption[] = [];\n @Watch(\"defaultPrototypingEnvironments\")\n watchDefaultPrototypingEnvironments(newValue: GxOption[]) {\n if (newValue?.length) {\n this.prototypingEnvironmentsComboBoxModel =\n mapOptionsToComboBoxItemModel(newValue);\n this.#selectedPrototypingEnvironmentId = getSelectedItem(newValue);\n this.#updateFrontEnds();\n }\n }\n\n /**\n * Path to a directory where the information related to the KB will be stored/generated\n */\n @Prop() readonly prototypingTargets: GxOption[] = [];\n @Watch(\"prototypingTargets\")\n watchPrototypingTargets(newValue: GxOption[]) {\n if (newValue?.length) {\n this.prototypingTargetsComboBoxModel =\n mapOptionsToComboBoxItemModel(newValue);\n this.prototypingTargetsInitialValue = getSelectedItem(newValue);\n this.#getPrototypingEnvironments();\n }\n }\n\n /**\n * Visible if something other than Windows Authentication is selected\n */\n @Prop() readonly savePassword: boolean = false;\n\n /**\n * This is a function provided by the developer that returns a string, with the location path\n */\n @Prop() readonly selectLocationCallback!: SelectLocationCallback;\n\n /**\n * Name of the DB server where we want to persist the information of our KB\n */\n @Prop() readonly serverNames: GxOption[] = [];\n @Watch(\"serverNames\")\n watchServerNames(newValue: GxOption[]) {\n if (newValue?.length) {\n this.serverNamesComboBoxModel = mapOptionsToComboBoxItemModel(newValue);\n this.serverNamesInitialValue = getSelectedItem(newValue);\n }\n }\n\n /**\n * Specify the language in which the application screens will be developed (default language)\n */\n @Prop() readonly userInterfaceLanguages: GxOption[] = [];\n @Watch(\"userInterfaceLanguages\")\n watchUserInterfaceLanguages(newValue: GxOption[]) {\n if (newValue?.length) {\n this.userInterfaceLanguagesComboBoxModel =\n mapOptionsToComboBoxItemModel(newValue);\n this.userInterfaceLanguagesInitialValue = getSelectedItem(newValue);\n }\n }\n\n /**\n * Username for the database connection. Visible if the Authentication Type is different from Windows Authentication (first item of the combo)\n */\n @Prop() readonly userName: string;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#kbSectionsModel = [\n {\n id: BASIC_TAB_SELECTOR,\n name: this.#componentLocale.tabBasic.tabLabel\n },\n {\n id: ADVANCED_TAB_SELECTOR,\n name: this.#componentLocale.tabAdvanced.tabLabel\n }\n ];\n }\n\n connectedCallback() {\n this.watchDefaultDataSources(this.defaultDataSources);\n this.watchDefaultPrototypingEnvironments(this.defaultPrototypingEnvironments);\n this.watchPrototypingTargets(this.prototypingTargets);\n this.watchServerNames(this.serverNames);\n this.watchUserInterfaceLanguages(this.userInterfaceLanguages);\n }\n\n componentDidLoad() {\n this.#initializeValidatableControlsBasicTab();\n }\n\n componentDidRender() {\n if (this.advancedTabIsVisible && !this.#advancedTabHasBeenRendered) {\n // just call this once.\n this.#initialSetupAdvancedTab();\n this.#initializeValidatableControlsAdvancedTab();\n this.#advancedTabHasBeenRendered = true;\n }\n }\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.#chShortcutsEl.suspend = true;\n } else {\n this.#chShortcutsEl.suspend = false;\n }\n }\n\n // Uncomment when \"TODO: define button handler and logic\" is done.\n // #geminiToolsSearchPrimary = getIconPath({\n // category: \"gemini-tools\",\n // name: \"search\",\n // colorType: \"primary\"\n // });\n // #geminiToolsResetPrimary = getIconPath({\n // category: \"gemini-tools\",\n // name: \"reset\",\n // colorType: \"primary\"\n // });\n\n #handlerAuthenticationTypeInput = (e: CustomEvent<string> | InputEvent) => {\n const authenticationTypeValue = e?.detail;\n this.#evaluateUserInputsDisplay(authenticationTypeValue as string);\n };\n\n #handlerServerNameInput = (e: CustomEvent<string> | InputEvent) => {\n this.#evaluateCreateDataCheckboxEnabled(e.detail as string);\n };\n\n #prototypingEnvironmentValueChangedHandler = (\n event: CustomEvent<string> | InputEvent\n ): void => {\n this.#selectedPrototypingEnvironmentId = event.detail as string;\n this.#getDataSources();\n this.#updateFrontEnds();\n };\n\n #prototypingTargetValueChangedHandler = async (): Promise<void> => {\n await this.#getPrototypingEnvironments();\n this.#getDataSources();\n };\n\n #dataSourceValueChangedHandler = () => {\n this.#selectedDataSourceId = this.#dataSourceEl.value;\n };\n\n #renderAdvanced = (): Element[] => {\n return [\n <h2\n // #knowledge base storage\n class=\"control-header subtitle-regular-xs\t text-align-center\"\n >\n {this.#componentLocale.tabAdvanced.tabTitle}\n </h2>,\n <div class=\"field-group tab-advanced__field-group\">\n <div\n // #server name\n class=\"field field-block server-name-field\"\n >\n <label class=\"label\" htmlFor=\"serverName\">\n {this.#componentLocale.tabAdvanced.serverName.label}\n </label>\n <ch-combo-box-render\n class=\"combo-box\"\n disabled={this.serverNames.length === 0}\n placeholder={\n this.serverNames.length === 0\n ? this.#componentLocale.tabAdvanced.serverName\n .disabledPlaceholder\n : \"\"\n }\n value={this.serverNamesInitialValue}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#serverNameEl = el as HTMLChComboBoxRenderElement)\n }\n model={this.serverNamesComboBoxModel}\n onInput={\n this.serverNames.length > 0 && this.#handlerServerNameInput\n }\n id=\"serverName\"\n part=\"server-name\"\n ></ch-combo-box-render>\n {this.#evaluateTooltipRender(this.#serverNameEl)}\n </div>\n\n {/* <button\n TODO: define button handler and logic\n class=\"button-tertiary button-icon-only server-name-button\"\n aria-label=\"caption\"\n part=\"search-server-name\"\n hidden\n >\n <ch-image\n class=\"icon-sm\"\n src={this.#geminiToolsSearchPrimary}\n ></ch-image>\n </button> */}\n\n <div\n // #authentication type\n class=\"field field-block authentication-type-field\"\n >\n <label class=\"label\" htmlFor=\"authenticationType\">\n {this.#componentLocale.tabAdvanced.authenticationType.label}\n </label>\n <ch-combo-box-render\n class=\"combo-box\"\n disabled={this.authenticationTypes.length === 0}\n placeholder={\n this.authenticationTypes.length === 0\n ? this.#componentLocale.tabAdvanced.authenticationType\n .disabledPlaceholder\n : \"\"\n }\n value={this.authenticationTypesInitialValue}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#authenticationTypeEl = el as HTMLChComboBoxRenderElement)\n }\n model={this.authenticationTypesComboBoxModel}\n id=\"authenticationType\"\n part=\"authentication-type\"\n onInput={\n this.authenticationTypes.length > 0\n ? this.#handlerAuthenticationTypeInput\n : undefined\n }\n ></ch-combo-box-render>\n {this.#evaluateTooltipRender(this.#authenticationTypeEl)}\n </div>\n\n <div\n // #database\n class=\"field field-block database-field\"\n >\n <label class=\"label\" htmlFor=\"databaseName\">\n {this.#componentLocale.tabAdvanced.databaseName.label}\n </label>\n <ch-edit\n // TODO add placeholder\n class=\"input\"\n value={this.databaseName}\n id=\"databaseName\"\n part=\"database-name\"\n ref={(el: HTMLChEditElement) =>\n (this.#databaseNameEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#databaseNameEl)}\n </div>\n\n {this.userNameVisible ? (\n <div\n // #username\n class=\"field field-block username-field\"\n >\n <label class=\"label\" htmlFor=\"userName\">\n {this.#componentLocale.tabAdvanced.userName.label}\n </label>\n <ch-edit\n // TODO add placeholder\n class=\"input\"\n value={this.userName}\n id=\"userName\"\n part=\"user-name\"\n ref={(el: HTMLChEditElement) =>\n (this.#userNameEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#userNameEl)}\n </div>\n ) : null}\n\n <div\n // #collation\n class=\"field field-block collation-field\"\n >\n <label class=\"label\" htmlFor=\"collation\">\n {this.#componentLocale.tabAdvanced.collation.label}\n </label>\n <ch-combo-box-render\n class=\"combo-box\"\n disabled={this.serverNames.length === 0}\n placeholder={\n this.collations.length === 0\n ? this.#componentLocale.tabAdvanced.collation\n .disabledPlaceholder\n : \"\"\n }\n value={this.collationsInitialValue}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#collationEl = el as HTMLChComboBoxRenderElement)\n }\n model={this.collationsComboBoxModel}\n id=\"collation\"\n part=\"collation\"\n ></ch-combo-box-render>\n {this.#evaluateTooltipRender(this.#collationEl)}\n </div>\n\n {/* <button\n TODO: define button handler and logic \n class=\"button-tertiary button-icon-only collation-button\"\n aria-label=\"caption\"\n part=\"reset-collation\"\n >\n <ch-image\n class=\"icon-sm\"\n src={this.#geminiToolsResetPrimary}\n ></ch-image>\n </button> */}\n\n {this.passwordVisible ? (\n <div\n // #password\n class=\"field field-block password-field\"\n >\n <label class=\"label\" htmlFor=\"password\">\n {this.#componentLocale.tabAdvanced.password.label}\n </label>\n <ch-edit\n // TODO add placeholder\n class=\"input\"\n type=\"password\"\n value={this.password}\n id=\"password\"\n part=\"password\"\n ref={(el: HTMLChEditElement) =>\n (this.#passwordEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#passwordEl)}\n </div>\n ) : null}\n\n <ch-checkbox\n // #create data in knowledge base folder\n class=\"checkbox create-data-in-kb-checkbox\"\n checkedValue=\"createDataFilesInKBFolder\"\n caption={this.#componentLocale.tabAdvanced.createDataFilesInKbFolder}\n disabled={this.createDataInKbDisabled}\n part=\"create-data-in-kb\"\n id=\"createDataFilesInKBFolder\"\n ref={(el: HTMLChCheckboxElement) =>\n (this.#createDataFilesInKBFolderEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n\n {this.savePasswordVisible ? (\n <ch-checkbox\n // #save password\n class=\"checkbox save-password-checkbox\"\n checkedValue=\"password\"\n caption={this.#componentLocale.tabAdvanced.savePassword}\n part=\"save-password\"\n id=\"savePassword\"\n ref={(el: HTMLChCheckboxElement) =>\n (this.#savePasswordEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n ) : null}\n </div>\n ];\n };\n\n #renderBasic = (): HTMLElement[] => {\n return [\n <section class=\"basic__header field-group control-header-with-border spacing-body-inline\">\n <div\n // #prototyping target\n class=\"field field-block prototyping-target\"\n >\n <label class=\"label\" htmlFor=\"prototypingTarget\">\n {this.#componentLocale.tabBasic.prototypingTarget.label}\n </label>\n\n <ch-combo-box-render\n id=\"prototypingTarget\"\n class=\"combo-box\"\n part=\"prototyping-target\"\n disabled={this.prototypingTargets.length === 0}\n placeholder={\n this.prototypingTargets.length === 0\n ? this.#componentLocale.tabBasic.prototypingTarget\n .disabledPlaceholder\n : \"\"\n }\n value={this.prototypingTargetsInitialValue}\n model={this.prototypingTargetsComboBoxModel}\n onInput={\n this.prototypingTargets.length > 0\n ? this.#prototypingTargetValueChangedHandler\n : undefined\n }\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#prototypingTargetEl = el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n {this.#evaluateTooltipRender(this.#prototypingTargetEl)}\n </div>\n\n <div\n // #user interface\n class=\"field field-block user-interface-language\"\n >\n <label class=\"label\" htmlFor=\"userInterfaceLanguage\">\n {this.#componentLocale.tabBasic.userInterfaceLanguage.label}\n </label>\n <ch-combo-box-render\n class=\"combo-box\"\n disabled={this.userInterfaceLanguages.length === 0}\n placeholder={\n this.userInterfaceLanguages.length === 0\n ? this.#componentLocale.tabBasic.userInterfaceLanguage\n .disabledPlaceholder\n : \"\"\n }\n value={this.userInterfaceLanguagesInitialValue}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#userInterfaceLanguageEl =\n el as HTMLChComboBoxRenderElement)\n }\n model={this.userInterfaceLanguagesComboBoxModel}\n id=\"userInterfaceLanguage\"\n part=\"user-interface-language\"\n ></ch-combo-box-render>\n {this.#evaluateTooltipRender(this.#userInterfaceLanguageEl)}\n </div>\n </section>,\n\n <section\n class=\"section__back-end\"\n // backend\n >\n <h2\n // back end\n class=\"control-header control-header-with-border control-header__back-end subtitle-regular-xs\t text-align-center spacing-body-inline\"\n >\n {this.#componentLocale.tabBasic.backEnd.backEndLabel}\n </h2>\n <div class=\"field-group main__back-end spacing-body-inline scrollable\">\n <div\n // #prototyping environment\n class=\"field field-block\"\n >\n <label class=\"label\" htmlFor=\"prototypingEnvironment\">\n {\n this.#componentLocale.tabBasic.backEnd.prototypingEnvironment\n .label\n }\n </label>\n <ch-combo-box-render\n class=\"combo-box\"\n disabled={this.defaultPrototypingEnvironments.length === 0}\n placeholder={\n this.defaultPrototypingEnvironments.length === 0\n ? this.#componentLocale.tabBasic.backEnd\n .prototypingEnvironment.disabledPlaceholder\n : \"\"\n }\n value={this.#selectedPrototypingEnvironmentId}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#prototypingEnvironmentEl =\n el as HTMLChComboBoxRenderElement)\n }\n model={this.prototypingEnvironmentsComboBoxModel}\n onInput={this.#prototypingEnvironmentValueChangedHandler}\n part=\"prototyping-environment\"\n id=\"prototypingEnvironment\"\n ></ch-combo-box-render>\n {this.#evaluateTooltipRender(this.#prototypingEnvironmentEl)}\n </div>\n\n <div\n // #data source\n class=\"field field-block\"\n >\n <label class=\"label\" htmlFor=\"dataSource\">\n {this.#componentLocale.tabBasic.backEnd.dataSource.label}\n </label>\n <ch-combo-box-render\n class=\"combo-box\"\n disabled={this.defaultDataSources.length === 0}\n placeholder={\n this.defaultDataSources.length === 0\n ? this.#componentLocale.tabBasic.backEnd.dataSource\n .disabledPlaceholder\n : \"\"\n }\n value={this.defaultDataSourcesInitialValue}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#dataSourceEl = el as HTMLChComboBoxRenderElement)\n }\n onInput={this.#dataSourceValueChangedHandler}\n model={this.defaultDataSourcesComboBoxModel}\n part=\"data-source\"\n id=\"dataSource\"\n ></ch-combo-box-render>\n {this.#evaluateTooltipRender(this.#dataSourceEl)}\n </div>\n </div>\n </section>,\n\n <section\n class=\"section__front-end\"\n // front end\n >\n <h2 class=\"control-header control-header-with-border control-header__front-end subtitle-regular-xs\t text-align-center spacing-body-inline\">\n {this.#componentLocale.tabBasic.frontEnd.frontEndLabel}\n </h2>\n <div class=\"field-group main__front-end spacing-body-inline scrollable\">\n {renderChCheckboxItems(\n this.frontEnds,\n this.#frontEndCheckboxInputHandler,\n this.#frontEndsCheckedMap.get(\n this.#selectedPrototypingEnvironmentId\n )\n )}\n </div>\n </section>\n ];\n };\n\n // - - - - - - - - - -\n\n #cancelKbHandler = (): void => {\n if (this.cancelCallback) {\n this.cancelCallback();\n }\n };\n\n #createKbHandler = (): void => {\n const selectedFrontEndIds =\n this.#frontEndsCheckedMap.get(this.#selectedPrototypingEnvironmentId) ??\n [];\n\n this.createCallback({\n authenticationType: this.#authenticationTypeEl?.value,\n collation: this.#collationEl?.value,\n createDataFilesInKBFolder: !!this.#createDataFilesInKBFolderEl?.value,\n dataSource: this.#dataSourceEl?.value,\n databaseName: this.#databaseNameEl?.value,\n frontEnds: selectedFrontEndIds,\n kbLocation: this.#locationEl?.value,\n kbName: this.#kbNameEl?.value,\n password: this.#passwordEl?.value,\n prototypingEnvironment: this.#prototypingEnvironmentEl?.value,\n prototypingTarget: this.#prototypingTargetEl?.value,\n savePassword: !!this.#savePasswordEl?.value,\n serverName: this.#serverNameEl?.value,\n userInterfaceLanguage: this.#userInterfaceLanguageEl?.value,\n userName: this.#userNameEl?.value\n }).then((formSubmitResult: FormSubmitResult) => {\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n });\n };\n\n /**\n * Disable \"Create Data in Knowledge Base Folder\" if the first Server Name\n * option is selected.\n * */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #evaluateCreateDataCheckboxEnabled = (serverNameValue: string) => {\n if (this.serverNames[0]?.id === serverNameValue) {\n this.createDataInKbDisabled = true;\n } else {\n this.createDataInKbDisabled = false;\n }\n };\n\n // TODO: evaluate if this should be a global helper function.\n // It is used on new-kb as well.\n #evaluateTooltipRender = (\n controlReference: HTMLElement\n ): HTMLChTooltipElement =>\n this.validatableControls?.get(controlReference?.id)?.hasError &&\n this.validatableControls.get(controlReference.id)?.message && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={controlReference as unknown as HTMLButtonElement}\n blockAlign={config.tooltipSettings.blockAlign}\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.validatableControls.get(controlReference.id).message}\n </ch-tooltip>\n );\n\n /**\n * If \"Authentication Type\" is \"Windows Authentication\", hide User Name,\n * Password, and Save Password fields.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #evaluateUserInputsDisplay = (authenticationTypeValue: string) => {\n if (authenticationTypeValue === WINDOWS_AUTHENTICATION_VALUE) {\n this.userNameVisible = false;\n this.passwordVisible = false;\n this.savePasswordVisible = false;\n } else {\n this.userNameVisible = true;\n this.passwordVisible = true;\n this.savePasswordVisible = true;\n }\n };\n\n #frontEndCheckboxInputHandler = (\n event: ChCheckboxCustomEvent<string> | InputEvent\n ) => {\n const checkedValue = (event.target as HTMLChCheckboxElement).checkedValue;\n const checked = event.detail === checkedValue;\n this.#updateFrontEndsCheckedMap(checkedValue, checked);\n };\n\n /**\n * This function updates frontEndsCheckedMap, that contains the checked\n * checkboxes for each language front ends.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #updateFrontEndsCheckedMap = (checkboxId: string, checked: boolean) => {\n let currentState = this.#frontEndsCheckedMap.get(\n this.#selectedPrototypingEnvironmentId\n );\n if (!currentState) {\n // first time\n currentState = [];\n this.#frontEndsCheckedMap.set(\n this.#selectedPrototypingEnvironmentId,\n currentState\n );\n }\n if (checked) {\n // update by adding\n currentState.push(checkboxId);\n } else {\n // update by removing\n const checkboxIndex = currentState.findIndex(id => id === checkboxId);\n removeIndex(currentState, checkboxIndex);\n }\n };\n\n #getPrototypingEnvironments = async (): Promise<void> => {\n if (this.getPrototypingEnvironmentsCallback) {\n const selectedPrototypingTargetId = this.#prototypingTargetEl ? \n this.#prototypingTargetEl.value : this.prototypingTargetsInitialValue;\n const envs = await this.getPrototypingEnvironmentsCallback(selectedPrototypingTargetId);\n if (envs) {\n this.defaultPrototypingEnvironments = envs;\n }\n }\n };\n\n #getDataSources = (): void => {\n if (this.getDataSourcesCallback) {\n const selectedPrototypingEnvironmentId =\n this.#prototypingEnvironmentEl.value;\n const selectedPrototypingTargetId = this.#prototypingTargetEl.value;\n const updatedDefaultDataSourcesPromise: Promise<GxOption[]> =\n this.getDataSourcesCallback(\n selectedPrototypingEnvironmentId,\n selectedPrototypingTargetId\n );\n updatedDefaultDataSourcesPromise\n .then(result => {\n if (result.length > 0) {\n result = setSelectedItem(result, this.#selectedDataSourceId);\n this.#selectedDataSourceId = getSelectedItem(result);\n this.defaultDataSources = result;\n // set first option as selected\n this.#dataSourceEl.value = \n this.#selectedDataSourceId !== undefined ? this.#selectedDataSourceId : this.defaultDataSources[0].id;\n }\n })\n .catch(() => {\n // to do\n });\n }\n };\n\n #initialSetupAdvancedTab = () => {\n const selectedServerNameValue = this.#serverNameEl.value;\n this.#evaluateCreateDataCheckboxEnabled(selectedServerNameValue);\n\n const selectedAuthenticationType = this.#authenticationTypeEl.value;\n this.#evaluateUserInputsDisplay(selectedAuthenticationType);\n\n // map all \"Advanced Tab\" GxOption[]'s to ComboBoxModel's\n this.watchAuthenticationTypes(this.authenticationTypes);\n this.watchCollations(this.collations);\n };\n\n #initializeValidatableControlsBasicTab = () => {\n // populate #controlsValidation with the controls that could have errors.\n const validatableControls: HTMLElement[] = [\n this.#dataSourceEl,\n this.#kbNameEl,\n this.#prototypingEnvironmentEl,\n this.#prototypingTargetEl,\n this.#userInterfaceLanguageEl\n ];\n validatableControls.forEach(validatableControl => {\n if (validatableControl.id) {\n this.validatableControls.set(validatableControl.id, {\n reference: validatableControl,\n hasError: false,\n message: undefined\n });\n }\n });\n };\n\n #initializeValidatableControlsAdvancedTab = () => {\n // populate #controlsValidation with the controls that could have errors.\n const validatableControls: HTMLElement[] = [\n this.#locationEl,\n this.#authenticationTypeEl,\n this.#createDataFilesInKBFolderEl,\n this.#serverNameEl,\n this.#authenticationTypeEl,\n this.#databaseNameEl,\n this.#userNameEl,\n this.#collationEl,\n this.#passwordEl,\n this.#savePasswordEl\n ];\n validatableControls.forEach(validatableControl => {\n if (validatableControl.id) {\n this.validatableControls.set(validatableControl.id, {\n reference: validatableControl,\n hasError: false,\n message: undefined\n });\n }\n });\n };\n\n /**\n * @description It allows defining the DBMS that will be used in the solution\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #selectLocationHandler = (): void => {\n this.selectLocationCallback().then(kbLocation => {\n if (kbLocation) {\n this.kbLocation = kbLocation;\n } else {\n // to be defined\n }\n });\n };\n\n #tabSelectionChangedHandler = (\n event: CustomEvent<{\n lastSelectedIndex: number;\n newSelectedId: string;\n newSelectedIndex: number;\n }>\n ): void => {\n if (event.detail.newSelectedId === ADVANCED_TAB_SELECTOR) {\n this.advancedTabIsVisible = true;\n // Some logic for advanced tab is done on componentDidRender lifecycle,\n // since the reference to the elements is needed.\n }\n };\n\n /**\n * Evaluates which front-end options need updates on 'getFrontEndsCallback'\n * by comparing the new state (getFrontEndsCallback result) and previous state.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #updateFrontEnds = async () => {\n const updatedFrontEnds = await this.getFrontEndsCallback(\n this.#selectedPrototypingEnvironmentId\n );\n if (updatedFrontEnds?.length > 0) {\n this.frontEnds = updatedFrontEnds;\n }\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.#chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n <section class=\"section\">\n <header\n class={{\n \"field-group\": true,\n \"control-header-with-border\": !this.isAdvanced,\n \"control-header\": this.isAdvanced,\n \"header\": true,\n \"header-two-cols\": this.isAdvanced,\n \"header-one-col\": !this.isAdvanced,\n \"spacing-body-block-start\": true,\n \"spacing-body-inline\": true\n }}\n >\n <div\n // #kb name\n class=\"field field-inline kb-name\"\n >\n <label class=\"label kb-label\" htmlFor=\"kbName\">\n {this.#componentLocale.header.kbName}\n </label>\n <ch-edit\n // TODO add placeholder\n autoFocus\n class=\"input kb-input\"\n placeholder=\"SalesInventory\"\n value={this.kbName}\n ref={(el: HTMLChEditElement) =>\n (this.#kbNameEl = el as HTMLChEditElement)\n }\n id=\"kbName\"\n part=\"kb-name\"\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#kbNameEl)}\n </div>\n\n {this.isAdvanced && (\n <div class=\"location-wrapper\">\n <div\n // #location\n class=\"field field-inline location\"\n >\n <label class=\"label location-label\" htmlFor=\"kbLocation\">\n {this.#componentLocale.header.kbLocation}\n </label>\n <ch-edit\n // TODO add placeholder\n class=\"input location-input\"\n value={this.kbLocation}\n ref={(el: HTMLChEditElement) =>\n (this.#locationEl = el as HTMLChEditElement)\n }\n id=\"kbLocation\"\n part=\"kb-location\"\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#locationEl)}\n </div>\n <button\n class=\"button-tertiary button-icon-only location-icon\"\n aria-label={this.#componentLocale.header.selectLocationButton}\n title={this.#componentLocale.header.selectLocationButton}\n part=\"button-select-location\"\n onClick={this.#selectLocationHandler}\n >\n <ch-image class=\"icon-md\" src={SYSTEM_ICON}></ch-image>\n </button>\n </div>\n )}\n </header>\n\n {this.isAdvanced ? (\n <ch-tab-render\n // #tab\n class={{\n scrollable: true,\n tab: true,\n [MAIN_SECTION_CLASSES]: true\n }}\n tabListPosition=\"block-start\"\n model={this.#kbSectionsModel}\n selectedId={BASIC_TAB_SELECTOR}\n overflow=\"auto\"\n contain=\"size\"\n onSelectedItemChange={\n !this.advancedTabIsVisible && this.#tabSelectionChangedHandler\n }\n >\n <div\n slot={BASIC_TAB_SELECTOR}\n class={BASIC_SECTION_PARENT_CLASSES}\n part=\"tab-button-basic\"\n >\n {this.#renderBasic()}\n </div>\n\n {this.advancedTabIsVisible && (\n <div\n slot={ADVANCED_TAB_SELECTOR}\n class=\"advanced spacing-body-inline\"\n part=\"tab-button-advanced\"\n >\n {this.#renderAdvanced()}\n </div>\n )}\n </ch-tab-render>\n ) : (\n <div class={MAIN_SECTION_CLASSES}>\n <div class={BASIC_SECTION_PARENT_CLASSES}>\n {this.#renderBasic()}\n </div>\n </div>\n )}\n\n <footer\n class={{\n \"control-footer\": this.isAdvanced,\n \"control-footer-with-border\": !this.isAdvanced,\n \"spacing-body-block-end\": true,\n \"spacing-body-inline\": true\n }}\n >\n <div class=\"buttons-spacer\">\n <button\n // #cancel\n class=\"button-secondary\"\n id=\"button-cancel\"\n onClick={this.#cancelKbHandler}\n part=\"button-cancel\"\n >\n {this.#componentLocale.footer.btnCancel}\n </button>\n <button\n // #create\n class=\"button-primary\"\n id=\"button-create\"\n onClick={this.#createKbHandler}\n part=\"button-create\"\n >\n {this.#componentLocale.footer.btnCreate}\n </button>\n </div>\n </footer>\n </section>\n </Host>\n );\n }\n}\nexport interface NewKBData {\n authenticationType: string;\n collation: string;\n createDataFilesInKBFolder: boolean;\n databaseName: string;\n dataSource: string;\n frontEnds: string[];\n kbLocation: string;\n kbName: string;\n password: string;\n prototypingEnvironment: string;\n prototypingTarget: string;\n savePassword: boolean;\n serverName: string;\n userInterfaceLanguage: string;\n userName: string;\n}\n\nexport type CreateCallback = (data: NewKBData) => Promise<FormSubmitResult>;\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type GetDataSourcesCallback = (\n selectedPrototypingEnvironmentId: string,\n selectedPrototypingTargetId: string\n) => Promise<GxOption[]>;\n\nexport type GetFrontEndsCallback = (\n selectedPrototypingEnvironmentId: string\n) => Promise<GxOption[]>;\n\nexport type GetPrototypingEnvironmentsCallback = (\n selectedPrototypingTargetId: string\n) => Promise<GxOption[]>;\n\nexport type SelectLocationCallback = () => Promise<string>;\n"],"version":3}
|
|
1
|
+
{"file":"gx-ide-new-kb.entry.js","mappings":"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","names":[],"sources":["src/components/new-kb/new-kb.scss?tag=gx-ide-new-kb&encapsulation=shadow","src/components/new-kb/new-kb.tsx"],"sourcesContent":[":host {\n display: grid;\n block-size: 100%;\n overflow: auto;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.section {\n display: contents;\n}\n\n.header {\n &-one-col {\n grid-template-columns: 1fr;\n }\n &-two-cols {\n grid-template-columns: 1fr 1fr;\n }\n}\n// location appears if advanced is true\n.location-wrapper {\n display: flex;\n gap: var(--mer-spacing--2xs);\n}\n.location {\n flex-grow: 1;\n grid-area: location;\n}\n\n.basic {\n display: grid;\n grid-template:\n \"basic-top basic-top\" max-content\n \"back-end front-end\" 1fr;\n grid-template-columns: 1fr 1fr;\n}\n.basic__header {\n grid-area: basic-top;\n grid-template-columns: 1fr 1fr;\n}\n.control-header__back-end,\n.control-header__front-end {\n padding-block-start: var(--mer-spacing--md);\n}\n.main__back-end {\n border-inline-end: var(--section-common-border);\n}\n.main__back-end,\n.main__front-end {\n grid-auto-rows: max-content;\n padding-block: var(--content-block-spacing);\n overflow: auto;\n}\n// back end\n.section__back-end {\n grid-area: back-end;\n grid-auto-rows: max-content;\n}\n// front end\n.section__front-end {\n grid-area: front-end;\n}\n.section__back-end,\n.section__front-end {\n display: grid;\n grid-template-rows: max-content 1fr;\n overflow: auto;\n}\n\n// advanced\n.tab-advanced-title {\n grid-area: tab-advanced-title;\n}\n.layout-tab-advanced-left-col {\n grid-area: layout-tab-advanced-left-col;\n}\n.layout-tab-advanced-right-col {\n grid-area: layout-tab-advanced-right-col;\n}\n\n.basic,\n.advanced {\n padding-block-start: var(--content-block-spacing);\n overflow: auto;\n block-size: 100%;\n}\n\n.tab-advanced__field-group {\n display: grid;\n grid-template-columns: 1fr 1fr;\n grid-auto-rows: auto;\n}\n\n// WA / TODO: Add a helper class in Mercury to justify text.\n.text-align-center {\n text-align: center; // should be resolved on mercury\n}\n\n.tab::part(page) {\n // WA / TODO: Remove this line when the ch-tab renders supports scrollbar\n // custom styling\n scrollbar-width: thin;\n}\n","import {\n Component,\n Host,\n Prop,\n Element,\n State,\n getAssetPath,\n Method,\n h,\n Watch\n} from \"@stencil/core\";\n\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n\nimport { config } from \"../../common/config\";\nimport { Locale } from \"../../common/locale\";\nimport { getSelectedItem, setSelectedItem } from \"../../common/common\";\nimport {\n mapOptionsToComboBoxItemModel,\n renderChCheckboxItems\n} from \"../../common/helpers\";\nimport { FormSubmitResult, GxOption } from \"../../common/types\";\nimport {\n ControlValidation,\n validateControls\n} from \"../../common/form-validation\";\nimport {\n TabModel,\n ComboBoxModel,\n ChCheckboxCustomEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { removeIndex } from \"../../common/array\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/tab\",\n \"components/tooltip\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\n\nconst WINDOWS_AUTHENTICATION_VALUE: string = \"windows-authentication\";\nconst MAIN_SECTION_CLASSES: string = \"main\";\nconst BASIC_SECTION_PARENT_CLASSES: string = \"basic\";\n\nconst SYSTEM_ICON = getIconPath({\n category: \"system\",\n name: \"folder\",\n colorType: \"primary\"\n});\n\nconst BASIC_TAB_SELECTOR: string = \"basic\";\nconst ADVANCED_TAB_SELECTOR: string = \"advanced\";\n\n@Component({\n tag: \"gx-ide-new-kb\",\n styleUrl: \"new-kb.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/new-kb\"]\n})\nexport class GxIdeNewKb {\n #advancedTabHasBeenRendered: boolean = false;\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n /**\n * frontEndsState saves the id's of the front ends checkboxes that are checked\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #frontEndsCheckedMap = new Map<string, string[]>();\n #selectedPrototypingEnvironmentId: string;\n #selectedDataSourceId: string;\n #shortcutsSrc = getAssetPath(`./gx-ide-assets/new-kb/shortcuts.json`);\n #kbSectionsModel: TabModel = [];\n\n @Element() el: HTMLGxIdeNewKbElement;\n\n /* References needed to collect data con \"Create\" button submit*/\n #authenticationTypeEl!: HTMLChComboBoxRenderElement;\n #collationEl!: HTMLChComboBoxRenderElement;\n #createDataFilesInKBFolderEl!: HTMLChCheckboxElement;\n #databaseNameEl!: HTMLChEditElement;\n #dataSourceEl!: HTMLChComboBoxRenderElement;\n #kbNameEl!: HTMLChEditElement;\n #locationEl!: HTMLChEditElement;\n #passwordEl!: HTMLChEditElement;\n #prototypingEnvironmentEl!: HTMLChComboBoxRenderElement;\n #prototypingTargetEl!: HTMLChComboBoxRenderElement;\n #savePasswordEl!: HTMLChCheckboxElement;\n #serverNameEl!: HTMLChComboBoxRenderElement;\n #userInterfaceLanguageEl!: HTMLChComboBoxRenderElement;\n #userNameEl!: HTMLChEditElement;\n\n #chShortcutsEl: HTMLChShortcutsElement;\n\n @State() advancedTabIsVisible: boolean = false;\n /**\n * Allows selecting multiple generators for the front end\n * TODO: Check if this property can be deleted, since we can call getFrontEndsCallback.\n */\n @State() frontEnds: GxOption[];\n @State() validatableControls = new Map<string, ControlValidation>();\n @State() createDataInKbDisabled = false;\n @State() userNameVisible = true;\n @State() passwordVisible = true;\n @State() savePasswordVisible = true;\n // representations of GxOption[] as ComboBoxModel, and initialValue for each one.\n @State() authenticationTypesComboBoxModel: ComboBoxModel = [];\n @State() authenticationTypesInitialValue: string;\n @State() collationsComboBoxModel: ComboBoxModel = [];\n @State() collationsInitialValue: string;\n @State() defaultDataSourcesComboBoxModel: ComboBoxModel = [];\n @State() 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=\"control-header subtitle-regular-xs\t text-align-center\"\n >\n {this.#componentLocale.tabAdvanced.tabTitle}\n </h2>,\n <div class=\"field-group tab-advanced__field-group\">\n <div\n // #server name\n class=\"field field-block server-name-field\"\n >\n <label class=\"label\" htmlFor=\"serverName\">\n {this.#componentLocale.tabAdvanced.serverName.label}\n </label>\n <ch-combo-box-render\n class=\"combo-box\"\n disabled={this.serverNames.length === 0}\n placeholder={\n this.serverNames.length === 0\n ? this.#componentLocale.tabAdvanced.serverName\n .disabledPlaceholder\n : \"\"\n }\n value={this.serverNamesInitialValue}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#serverNameEl = el as HTMLChComboBoxRenderElement)\n }\n model={this.serverNamesComboBoxModel}\n onInput={\n this.serverNames.length > 0 && this.#handlerServerNameInput\n }\n id=\"serverName\"\n part=\"server-name\"\n ></ch-combo-box-render>\n {this.#evaluateTooltipRender(this.#serverNameEl)}\n </div>\n\n {/* <button\n TODO: define button handler and logic\n class=\"button-tertiary button-icon-only server-name-button\"\n aria-label=\"caption\"\n part=\"search-server-name\"\n hidden\n >\n <ch-image\n class=\"icon-sm\"\n src={this.#geminiToolsSearchPrimary}\n ></ch-image>\n </button> */}\n\n <div\n // #authentication type\n class=\"field field-block authentication-type-field\"\n >\n <label class=\"label\" htmlFor=\"authenticationType\">\n {this.#componentLocale.tabAdvanced.authenticationType.label}\n </label>\n <ch-combo-box-render\n class=\"combo-box\"\n disabled={this.authenticationTypes.length === 0}\n placeholder={\n this.authenticationTypes.length === 0\n ? this.#componentLocale.tabAdvanced.authenticationType\n .disabledPlaceholder\n : \"\"\n }\n value={this.authenticationTypesInitialValue}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#authenticationTypeEl = el as HTMLChComboBoxRenderElement)\n }\n model={this.authenticationTypesComboBoxModel}\n id=\"authenticationType\"\n part=\"authentication-type\"\n onInput={\n this.authenticationTypes.length > 0\n ? this.#handlerAuthenticationTypeInput\n : undefined\n }\n ></ch-combo-box-render>\n {this.#evaluateTooltipRender(this.#authenticationTypeEl)}\n </div>\n\n <div\n // #database\n class=\"field field-block database-field\"\n >\n <label class=\"label\" htmlFor=\"databaseName\">\n {this.#componentLocale.tabAdvanced.databaseName.label}\n </label>\n <ch-edit\n // TODO add placeholder\n class=\"input\"\n value={this.databaseName}\n id=\"databaseName\"\n part=\"database-name\"\n ref={(el: HTMLChEditElement) =>\n (this.#databaseNameEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#databaseNameEl)}\n </div>\n\n {this.userNameVisible ? (\n <div\n // #username\n class=\"field field-block username-field\"\n >\n <label class=\"label\" htmlFor=\"userName\">\n {this.#componentLocale.tabAdvanced.userName.label}\n </label>\n <ch-edit\n // TODO add placeholder\n class=\"input\"\n value={this.userName}\n id=\"userName\"\n part=\"user-name\"\n ref={(el: HTMLChEditElement) =>\n (this.#userNameEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#userNameEl)}\n </div>\n ) : null}\n\n <div\n // #collation\n class=\"field field-block collation-field\"\n >\n <label class=\"label\" htmlFor=\"collation\">\n {this.#componentLocale.tabAdvanced.collation.label}\n </label>\n <ch-combo-box-render\n class=\"combo-box\"\n disabled={this.serverNames.length === 0}\n placeholder={\n this.collations.length === 0\n ? this.#componentLocale.tabAdvanced.collation\n .disabledPlaceholder\n : \"\"\n }\n value={this.collationsInitialValue}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#collationEl = el as HTMLChComboBoxRenderElement)\n }\n model={this.collationsComboBoxModel}\n id=\"collation\"\n part=\"collation\"\n ></ch-combo-box-render>\n {this.#evaluateTooltipRender(this.#collationEl)}\n </div>\n\n {/* <button\n TODO: define button handler and logic \n class=\"button-tertiary button-icon-only collation-button\"\n aria-label=\"caption\"\n part=\"reset-collation\"\n >\n <ch-image\n class=\"icon-sm\"\n src={this.#geminiToolsResetPrimary}\n ></ch-image>\n </button> */}\n\n {this.passwordVisible ? (\n <div\n // #password\n class=\"field field-block password-field\"\n >\n <label class=\"label\" htmlFor=\"password\">\n {this.#componentLocale.tabAdvanced.password.label}\n </label>\n <ch-edit\n // TODO add placeholder\n class=\"input\"\n type=\"password\"\n value={this.password}\n id=\"password\"\n part=\"password\"\n ref={(el: HTMLChEditElement) =>\n (this.#passwordEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#passwordEl)}\n </div>\n ) : null}\n\n <ch-checkbox\n // #create data in knowledge base folder\n class=\"checkbox create-data-in-kb-checkbox\"\n checkedValue=\"createDataFilesInKBFolder\"\n caption={this.#componentLocale.tabAdvanced.createDataFilesInKbFolder}\n disabled={this.createDataInKbDisabled}\n part=\"create-data-in-kb\"\n id=\"createDataFilesInKBFolder\"\n ref={(el: HTMLChCheckboxElement) =>\n (this.#createDataFilesInKBFolderEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n\n {this.savePasswordVisible ? (\n <ch-checkbox\n // #save password\n class=\"checkbox save-password-checkbox\"\n checkedValue=\"password\"\n caption={this.#componentLocale.tabAdvanced.savePassword}\n part=\"save-password\"\n id=\"savePassword\"\n ref={(el: HTMLChCheckboxElement) =>\n (this.#savePasswordEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n ) : null}\n </div>\n ];\n };\n\n #renderBasic = (): HTMLElement[] => {\n return [\n <section class=\"basic__header field-group control-header-with-border spacing-body-inline\">\n <div\n // #prototyping target\n class=\"field field-block prototyping-target\"\n >\n <label class=\"label\" htmlFor=\"prototypingTarget\">\n {this.#componentLocale.tabBasic.prototypingTarget.label}\n </label>\n\n <ch-combo-box-render\n id=\"prototypingTarget\"\n class=\"combo-box\"\n part=\"prototyping-target\"\n disabled={this.prototypingTargets.length === 0}\n placeholder={\n this.prototypingTargets.length === 0\n ? this.#componentLocale.tabBasic.prototypingTarget\n .disabledPlaceholder\n : \"\"\n }\n value={this.prototypingTargetsInitialValue}\n model={this.prototypingTargetsComboBoxModel}\n onInput={\n this.prototypingTargets.length > 0\n ? this.#prototypingTargetValueChangedHandler\n : undefined\n }\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#prototypingTargetEl = el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n {this.#evaluateTooltipRender(this.#prototypingTargetEl)}\n </div>\n\n <div\n // #user interface\n class=\"field field-block user-interface-language\"\n >\n <label class=\"label\" htmlFor=\"userInterfaceLanguage\">\n {this.#componentLocale.tabBasic.userInterfaceLanguage.label}\n </label>\n <ch-combo-box-render\n class=\"combo-box\"\n disabled={this.userInterfaceLanguages.length === 0}\n placeholder={\n this.userInterfaceLanguages.length === 0\n ? this.#componentLocale.tabBasic.userInterfaceLanguage\n .disabledPlaceholder\n : \"\"\n }\n value={this.userInterfaceLanguagesInitialValue}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#userInterfaceLanguageEl =\n el as HTMLChComboBoxRenderElement)\n }\n model={this.userInterfaceLanguagesComboBoxModel}\n id=\"userInterfaceLanguage\"\n part=\"user-interface-language\"\n ></ch-combo-box-render>\n {this.#evaluateTooltipRender(this.#userInterfaceLanguageEl)}\n </div>\n </section>,\n\n <section\n class=\"section__back-end\"\n // backend\n >\n <h2\n // back end\n class=\"control-header control-header-with-border control-header__back-end subtitle-regular-xs\t text-align-center spacing-body-inline\"\n >\n {this.#componentLocale.tabBasic.backEnd.backEndLabel}\n </h2>\n <div class=\"field-group main__back-end spacing-body-inline scrollable\">\n <div\n // #prototyping environment\n class=\"field field-block\"\n >\n <label class=\"label\" htmlFor=\"prototypingEnvironment\">\n {\n this.#componentLocale.tabBasic.backEnd.prototypingEnvironment\n .label\n }\n </label>\n <ch-combo-box-render\n class=\"combo-box\"\n disabled={this.defaultPrototypingEnvironments.length === 0}\n placeholder={\n this.defaultPrototypingEnvironments.length === 0\n ? this.#componentLocale.tabBasic.backEnd\n .prototypingEnvironment.disabledPlaceholder\n : \"\"\n }\n value={this.#selectedPrototypingEnvironmentId}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#prototypingEnvironmentEl =\n el as HTMLChComboBoxRenderElement)\n }\n model={this.prototypingEnvironmentsComboBoxModel}\n onInput={this.#prototypingEnvironmentValueChangedHandler}\n part=\"prototyping-environment\"\n id=\"prototypingEnvironment\"\n ></ch-combo-box-render>\n {this.#evaluateTooltipRender(this.#prototypingEnvironmentEl)}\n </div>\n\n <div\n // #data source\n class=\"field field-block\"\n >\n <label class=\"label\" htmlFor=\"dataSource\">\n {this.#componentLocale.tabBasic.backEnd.dataSource.label}\n </label>\n <ch-combo-box-render\n class=\"combo-box\"\n disabled={this.defaultDataSources.length === 0}\n placeholder={\n this.defaultDataSources.length === 0\n ? this.#componentLocale.tabBasic.backEnd.dataSource\n .disabledPlaceholder\n : \"\"\n }\n value={this.#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=\"control-header control-header-with-border control-header__front-end subtitle-regular-xs\t text-align-center spacing-body-inline\">\n {this.#componentLocale.tabBasic.frontEnd.frontEndLabel}\n </h2>\n <div class=\"field-group main__front-end spacing-body-inline scrollable\">\n {renderChCheckboxItems(\n this.frontEnds,\n this.#frontEndCheckboxInputHandler,\n this.#frontEndsCheckedMap.get(\n this.#selectedPrototypingEnvironmentId\n )\n )}\n </div>\n </section>\n ];\n };\n\n // - - - - - - - - - -\n\n #cancelKbHandler = (): void => {\n if (this.cancelCallback) {\n this.cancelCallback();\n }\n };\n\n #createKbHandler = (): void => {\n const selectedFrontEndIds =\n this.#frontEndsCheckedMap.get(this.#selectedPrototypingEnvironmentId) ??\n [];\n\n this.createCallback({\n authenticationType: this.#authenticationTypeEl?.value,\n collation: this.#collationEl?.value,\n createDataFilesInKBFolder: !!this.#createDataFilesInKBFolderEl?.value,\n dataSource: this.#dataSourceEl?.value,\n databaseName: this.#databaseNameEl?.value,\n frontEnds: selectedFrontEndIds,\n kbLocation: this.#locationEl?.value,\n kbName: this.#kbNameEl?.value,\n password: this.#passwordEl?.value,\n prototypingEnvironment: this.#prototypingEnvironmentEl?.value,\n prototypingTarget: this.#prototypingTargetEl?.value,\n savePassword: !!this.#savePasswordEl?.value,\n serverName: this.#serverNameEl?.value,\n userInterfaceLanguage: this.#userInterfaceLanguageEl?.value,\n userName: this.#userNameEl?.value\n }).then((formSubmitResult: FormSubmitResult) => {\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n });\n };\n\n /**\n * Disable \"Create Data in Knowledge Base Folder\" if the first Server Name\n * option is selected.\n * */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #evaluateCreateDataCheckboxEnabled = (serverNameValue: string) => {\n if (this.serverNames[0]?.id === serverNameValue) {\n this.createDataInKbDisabled = true;\n } else {\n this.createDataInKbDisabled = false;\n }\n };\n\n // TODO: evaluate if this should be a global helper function.\n // It is used on new-kb as well.\n #evaluateTooltipRender = (\n controlReference: HTMLElement\n ): HTMLChTooltipElement =>\n this.validatableControls?.get(controlReference?.id)?.hasError &&\n this.validatableControls.get(controlReference.id)?.message && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={controlReference as unknown as HTMLButtonElement}\n blockAlign={config.tooltipSettings.blockAlign}\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.validatableControls.get(controlReference.id).message}\n </ch-tooltip>\n );\n\n /**\n * If \"Authentication Type\" is \"Windows Authentication\", hide User Name,\n * Password, and Save Password fields.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #evaluateUserInputsDisplay = (authenticationTypeValue: string) => {\n if (authenticationTypeValue === WINDOWS_AUTHENTICATION_VALUE) {\n this.userNameVisible = false;\n this.passwordVisible = false;\n this.savePasswordVisible = false;\n } else {\n this.userNameVisible = true;\n this.passwordVisible = true;\n this.savePasswordVisible = true;\n }\n };\n\n #frontEndCheckboxInputHandler = (\n event: ChCheckboxCustomEvent<string> | InputEvent\n ) => {\n const checkedValue = (event.target as HTMLChCheckboxElement).checkedValue;\n const checked = event.detail === checkedValue;\n this.#updateFrontEndsCheckedMap(checkedValue, checked);\n };\n\n /**\n * This function updates frontEndsCheckedMap, that contains the checked\n * checkboxes for each language front ends.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #updateFrontEndsCheckedMap = (checkboxId: string, checked: boolean) => {\n let currentState = this.#frontEndsCheckedMap.get(\n this.#selectedPrototypingEnvironmentId\n );\n if (!currentState) {\n // first time\n currentState = [];\n this.#frontEndsCheckedMap.set(\n this.#selectedPrototypingEnvironmentId,\n currentState\n );\n }\n if (checked) {\n // update by adding\n currentState.push(checkboxId);\n } else {\n // update by removing\n const checkboxIndex = currentState.findIndex(id => id === checkboxId);\n removeIndex(currentState, checkboxIndex);\n }\n };\n\n #getPrototypingEnvironments = async (): Promise<void> => {\n if (this.getPrototypingEnvironmentsCallback) {\n const selectedPrototypingTargetId = this.#prototypingTargetEl\n ? this.#prototypingTargetEl.value\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 \"control-header-with-border\": !this.isAdvanced,\n \"control-header\": this.isAdvanced,\n \"header\": true,\n \"header-two-cols\": this.isAdvanced,\n \"header-one-col\": !this.isAdvanced,\n \"spacing-body-block-start\": true,\n \"spacing-body-inline\": true\n }}\n >\n <div\n // #kb name\n class=\"field field-inline kb-name\"\n >\n <label class=\"label kb-label\" htmlFor=\"kbName\">\n {this.#componentLocale.header.kbName}\n </label>\n <ch-edit\n // TODO add placeholder\n autoFocus\n class=\"input kb-input\"\n placeholder=\"SalesInventory\"\n value={this.kbName}\n ref={(el: HTMLChEditElement) =>\n (this.#kbNameEl = el as HTMLChEditElement)\n }\n id=\"kbName\"\n part=\"kb-name\"\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#kbNameEl)}\n </div>\n\n {this.isAdvanced && (\n <div class=\"location-wrapper\">\n <div\n // #location\n class=\"field field-inline location\"\n >\n <label class=\"label location-label\" htmlFor=\"kbLocation\">\n {this.#componentLocale.header.kbLocation}\n </label>\n <ch-edit\n // TODO add placeholder\n class=\"input location-input\"\n value={this.kbLocation}\n ref={(el: HTMLChEditElement) =>\n (this.#locationEl = el as HTMLChEditElement)\n }\n id=\"kbLocation\"\n part=\"kb-location\"\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#locationEl)}\n </div>\n <button\n class=\"button-tertiary button-icon-only location-icon\"\n aria-label={this.#componentLocale.header.selectLocationButton}\n title={this.#componentLocale.header.selectLocationButton}\n part=\"button-select-location\"\n onClick={this.#selectLocationHandler}\n >\n <ch-image class=\"icon-md\" src={SYSTEM_ICON}></ch-image>\n </button>\n </div>\n )}\n </header>\n\n {this.isAdvanced ? (\n <ch-tab-render\n // #tab\n class={{\n scrollable: true,\n tab: true,\n [MAIN_SECTION_CLASSES]: true\n }}\n tabListPosition=\"block-start\"\n model={this.#kbSectionsModel}\n selectedId={BASIC_TAB_SELECTOR}\n overflow=\"auto\"\n contain=\"size\"\n onSelectedItemChange={\n !this.advancedTabIsVisible && this.#tabSelectionChangedHandler\n }\n >\n <div\n slot={BASIC_TAB_SELECTOR}\n class={BASIC_SECTION_PARENT_CLASSES}\n part=\"tab-button-basic\"\n >\n {this.#renderBasic()}\n </div>\n\n {this.advancedTabIsVisible && (\n <div\n slot={ADVANCED_TAB_SELECTOR}\n class=\"advanced spacing-body-inline\"\n part=\"tab-button-advanced\"\n >\n {this.#renderAdvanced()}\n </div>\n )}\n </ch-tab-render>\n ) : (\n <div class={MAIN_SECTION_CLASSES}>\n <div class={BASIC_SECTION_PARENT_CLASSES}>\n {this.#renderBasic()}\n </div>\n </div>\n )}\n\n <footer\n class={{\n \"control-footer\": this.isAdvanced,\n \"control-footer-with-border\": !this.isAdvanced,\n \"spacing-body-block-end\": true,\n \"spacing-body-inline\": true\n }}\n >\n <div class=\"buttons-spacer\">\n <button\n // #cancel\n class=\"button-secondary\"\n id=\"button-cancel\"\n onClick={this.#cancelKbHandler}\n part=\"button-cancel\"\n >\n {this.#componentLocale.footer.btnCancel}\n </button>\n <button\n // #create\n class=\"button-primary\"\n id=\"button-create\"\n onClick={this.#createKbHandler}\n part=\"button-create\"\n >\n {this.#componentLocale.footer.btnCreate}\n </button>\n </div>\n </footer>\n </section>\n </Host>\n );\n }\n}\nexport interface NewKBData {\n authenticationType: string;\n collation: string;\n createDataFilesInKBFolder: boolean;\n databaseName: string;\n dataSource: string;\n frontEnds: string[];\n kbLocation: string;\n kbName: string;\n password: string;\n prototypingEnvironment: string;\n prototypingTarget: string;\n savePassword: boolean;\n serverName: string;\n userInterfaceLanguage: string;\n userName: string;\n}\n\nexport type CreateCallback = (data: NewKBData) => Promise<FormSubmitResult>;\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type GetDataSourcesCallback = (\n selectedPrototypingEnvironmentId: string,\n selectedPrototypingTargetId: string\n) => Promise<GxOption[]>;\n\nexport type GetFrontEndsCallback = (\n selectedPrototypingEnvironmentId: string\n) => Promise<GxOption[]>;\n\nexport type GetPrototypingEnvironmentsCallback = (\n selectedPrototypingTargetId: string\n) => Promise<GxOption[]>;\n\nexport type SelectLocationCallback = () => Promise<string>;\n"],"version":3}
|
|
@@ -21,7 +21,7 @@ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) ||
|
|
|
21
21
|
throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
22
22
|
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
23
23
|
};
|
|
24
|
-
var _GxIdeServerSelector_chSearchIcon, _GxIdeServerSelector_versionsSelect, _GxIdeServerSelector__componentLocale, _GxIdeServerSelector_chGridRecentlyUsedServersEl, _GxIdeServerSelector_chGridConnectedServersEl, _GxIdeServerSelector_previousSelectedRowId, _GxIdeServerSelector_selectedRowId, _GxIdeServerSelector_serverUrlEL, _GxIdeServerSelector_cancelHandler, _GxIdeServerSelector_confirmHandler, _GxIdeServerSelector_filterValueChangedHandler, _GxIdeServerSelector_inputHandler, _GxIdeServerSelector_validateUrl, _GxIdeServerSelector_enableConfirmButton, _GxIdeServerSelector_selectConnectedServersHandler, _GxIdeServerSelector_selectRecentlyUsedServersHandler, _GxIdeServerSelector_handleServerSelection, _GxIdeServerSelector_connectionTypeChangedHandler, _GxIdeServerSelector_renderTabularGridColumnSet, _GxIdeServerSelector_renderTooltip, _GxIdeServerSelector_renderTabularGridCommonCells, _GxIdeServerSelector_renderRecentlyUsedServersGrid, _GxIdeServerSelector_renderConnectedServersGrid, _GxIdeServerSelector_handleColumnSortChanged, _GxIdeServerSelector_renderIcon, _GxIdeServerSelector_renderFooter;
|
|
24
|
+
var _GxIdeServerSelector_chSearchIcon, _GxIdeServerSelector_versionsSelect, _GxIdeServerSelector__componentLocale, _GxIdeServerSelector_chGridRecentlyUsedServersEl, _GxIdeServerSelector_chGridConnectedServersEl, _GxIdeServerSelector_previousSelectedRowId, _GxIdeServerSelector_selectedRowId, _GxIdeServerSelector_serverUrlEL, _GxIdeServerSelector_cancelHandler, _GxIdeServerSelector_confirmHandler, _GxIdeServerSelector_filterValueChangedHandler, _GxIdeServerSelector_inputHandler, _GxIdeServerSelector_validateUrl, _GxIdeServerSelector_enableConfirmButton, _GxIdeServerSelector_onConnectedServersRowDoubleClickHandler, _GxIdeServerSelector_onRecentlyUsedRowDoubleClickHandler, _GxIdeServerSelector_selectConnectedServersHandler, _GxIdeServerSelector_selectRecentlyUsedServersHandler, _GxIdeServerSelector_handleServerSelection, _GxIdeServerSelector_connectionTypeChangedHandler, _GxIdeServerSelector_renderTabularGridColumnSet, _GxIdeServerSelector_renderTooltip, _GxIdeServerSelector_renderTabularGridCommonCells, _GxIdeServerSelector_renderRecentlyUsedServersGrid, _GxIdeServerSelector_renderConnectedServersGrid, _GxIdeServerSelector_handleColumnSortChanged, _GxIdeServerSelector_renderIcon, _GxIdeServerSelector_renderFooter;
|
|
25
25
|
const CSS_BUNDLES = [
|
|
26
26
|
"resets/box-sizing",
|
|
27
27
|
"utils/form--full",
|
|
@@ -116,6 +116,14 @@ const GxIdeServerSelector = class {
|
|
|
116
116
|
this.enableConfirmButton = false;
|
|
117
117
|
}
|
|
118
118
|
});
|
|
119
|
+
_GxIdeServerSelector_onConnectedServersRowDoubleClickHandler.set(this, (event) => {
|
|
120
|
+
__classPrivateFieldGet(this, _GxIdeServerSelector_selectConnectedServersHandler, "f").call(this, event);
|
|
121
|
+
__classPrivateFieldGet(this, _GxIdeServerSelector_confirmHandler, "f").call(this);
|
|
122
|
+
});
|
|
123
|
+
_GxIdeServerSelector_onRecentlyUsedRowDoubleClickHandler.set(this, (event) => {
|
|
124
|
+
__classPrivateFieldGet(this, _GxIdeServerSelector_selectRecentlyUsedServersHandler, "f").call(this, event);
|
|
125
|
+
__classPrivateFieldGet(this, _GxIdeServerSelector_confirmHandler, "f").call(this);
|
|
126
|
+
});
|
|
119
127
|
_GxIdeServerSelector_selectConnectedServersHandler.set(this, (event) => __classPrivateFieldGet(this, _GxIdeServerSelector_handleServerSelection, "f").call(this, event, this.connectedServersData, __classPrivateFieldGet(this, _GxIdeServerSelector_chGridRecentlyUsedServersEl, "f")));
|
|
120
128
|
_GxIdeServerSelector_selectRecentlyUsedServersHandler.set(this, (event) => __classPrivateFieldGet(this, _GxIdeServerSelector_handleServerSelection, "f").call(this, event, this.recentlyUsedServersData, __classPrivateFieldGet(this, _GxIdeServerSelector_chGridConnectedServersEl, "f")));
|
|
121
129
|
_GxIdeServerSelector_handleServerSelection.set(this, async (event, serversData, otherGridEl) => {
|
|
@@ -163,10 +171,10 @@ const GxIdeServerSelector = class {
|
|
|
163
171
|
];
|
|
164
172
|
});
|
|
165
173
|
_GxIdeServerSelector_renderRecentlyUsedServersGrid.set(this, (hideColumnName) => {
|
|
166
|
-
return (h("ch-tabular-grid", { class: "tabular-grid-recently-used tabular-grid", rowSelectionMode: "single", ref: (el) => (__classPrivateFieldSet(this, _GxIdeServerSelector_chGridRecentlyUsedServersEl, el, "f")), allowColumnReorder: false, onRowClicked: __classPrivateFieldGet(this, _GxIdeServerSelector_selectRecentlyUsedServersHandler, "f"), id: "recently-used-servers" }, __classPrivateFieldGet(this, _GxIdeServerSelector_renderTabularGridColumnSet, "f").call(this, hideColumnName), this.recentlyUsedServersData.length > 0 ? (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, this.recentlyUsedServersData.map((server) => (h("ch-tabular-grid-row", { rowid: server.id, class: "tabular-grid-row" }, __classPrivateFieldGet(this, _GxIdeServerSelector_renderTabularGridCommonCells, "f").call(this, server)))))) : (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, h("ch-tabular-grid-rowset-empty", null, h("gx-ide-empty-state", { stateIconSrc: INFO_ICON, stateTitle: __classPrivateFieldGet(this, _GxIdeServerSelector__componentLocale, "f").emptyConnectedServers, isAnimated: true }))))));
|
|
174
|
+
return (h("ch-tabular-grid", { class: "tabular-grid-recently-used tabular-grid", rowSelectionMode: "single", ref: (el) => (__classPrivateFieldSet(this, _GxIdeServerSelector_chGridRecentlyUsedServersEl, el, "f")), allowColumnReorder: false, onRowClicked: __classPrivateFieldGet(this, _GxIdeServerSelector_selectRecentlyUsedServersHandler, "f"), onRowDoubleClicked: __classPrivateFieldGet(this, _GxIdeServerSelector_onRecentlyUsedRowDoubleClickHandler, "f"), id: "recently-used-servers" }, __classPrivateFieldGet(this, _GxIdeServerSelector_renderTabularGridColumnSet, "f").call(this, hideColumnName), this.recentlyUsedServersData.length > 0 ? (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, this.recentlyUsedServersData.map((server) => (h("ch-tabular-grid-row", { rowid: server.id, class: "tabular-grid-row" }, __classPrivateFieldGet(this, _GxIdeServerSelector_renderTabularGridCommonCells, "f").call(this, server)))))) : (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, h("ch-tabular-grid-rowset-empty", null, h("gx-ide-empty-state", { stateIconSrc: INFO_ICON, stateTitle: __classPrivateFieldGet(this, _GxIdeServerSelector__componentLocale, "f").emptyConnectedServers, isAnimated: true }))))));
|
|
167
175
|
});
|
|
168
176
|
_GxIdeServerSelector_renderConnectedServersGrid.set(this, () => {
|
|
169
|
-
return (h("ch-tabular-grid", { class: "tabular-grid tabular-grid-all-servers", rowSelectionMode: "single", ref: (el) => (__classPrivateFieldSet(this, _GxIdeServerSelector_chGridConnectedServersEl, el, "f")), allowColumnReorder: false, onRowClicked: __classPrivateFieldGet(this, _GxIdeServerSelector_selectConnectedServersHandler, "f"), id: "all-servers" }, __classPrivateFieldGet(this, _GxIdeServerSelector_renderTabularGridColumnSet, "f").call(this), this.filteredConnectedServersData.length > 0 ? (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, this.filteredConnectedServersData.map((server) => (h("ch-tabular-grid-row", { rowid: server.id, class: "tabular-grid-row" }, __classPrivateFieldGet(this, _GxIdeServerSelector_renderTabularGridCommonCells, "f").call(this, server)))))) : (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, h("ch-tabular-grid-rowset-empty", { class: "tabular-grid-rowset-empty" }, h("gx-ide-empty-state", { stateIconSrc: INFO_ICON, stateTitle: __classPrivateFieldGet(this, _GxIdeServerSelector__componentLocale, "f").emptyConnectedServers, isAnimated: true }))))));
|
|
177
|
+
return (h("ch-tabular-grid", { class: "tabular-grid tabular-grid-all-servers", rowSelectionMode: "single", ref: (el) => (__classPrivateFieldSet(this, _GxIdeServerSelector_chGridConnectedServersEl, el, "f")), allowColumnReorder: false, onRowClicked: __classPrivateFieldGet(this, _GxIdeServerSelector_selectConnectedServersHandler, "f"), onRowDoubleClicked: __classPrivateFieldGet(this, _GxIdeServerSelector_onConnectedServersRowDoubleClickHandler, "f"), id: "all-servers" }, __classPrivateFieldGet(this, _GxIdeServerSelector_renderTabularGridColumnSet, "f").call(this), this.filteredConnectedServersData.length > 0 ? (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, this.filteredConnectedServersData.map((server) => (h("ch-tabular-grid-row", { rowid: server.id, class: "tabular-grid-row" }, __classPrivateFieldGet(this, _GxIdeServerSelector_renderTabularGridCommonCells, "f").call(this, server)))))) : (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, h("ch-tabular-grid-rowset-empty", { class: "tabular-grid-rowset-empty" }, h("gx-ide-empty-state", { stateIconSrc: INFO_ICON, stateTitle: __classPrivateFieldGet(this, _GxIdeServerSelector__componentLocale, "f").emptyConnectedServers, isAnimated: true }))))));
|
|
170
178
|
});
|
|
171
179
|
_GxIdeServerSelector_handleColumnSortChanged.set(this, (e) => {
|
|
172
180
|
const { columnId, sortDirection } = e.detail;
|
|
@@ -243,7 +251,7 @@ const GxIdeServerSelector = class {
|
|
|
243
251
|
static get assetsDirs() { return ["gx-ide-assets/server-selector"]; }
|
|
244
252
|
get el() { return getElement(this); }
|
|
245
253
|
};
|
|
246
|
-
_GxIdeServerSelector_chSearchIcon = new WeakMap(), _GxIdeServerSelector_versionsSelect = new WeakMap(), _GxIdeServerSelector__componentLocale = new WeakMap(), _GxIdeServerSelector_chGridRecentlyUsedServersEl = new WeakMap(), _GxIdeServerSelector_chGridConnectedServersEl = new WeakMap(), _GxIdeServerSelector_previousSelectedRowId = new WeakMap(), _GxIdeServerSelector_selectedRowId = new WeakMap(), _GxIdeServerSelector_serverUrlEL = new WeakMap(), _GxIdeServerSelector_cancelHandler = new WeakMap(), _GxIdeServerSelector_confirmHandler = new WeakMap(), _GxIdeServerSelector_filterValueChangedHandler = new WeakMap(), _GxIdeServerSelector_inputHandler = new WeakMap(), _GxIdeServerSelector_validateUrl = new WeakMap(), _GxIdeServerSelector_enableConfirmButton = new WeakMap(), _GxIdeServerSelector_selectConnectedServersHandler = new WeakMap(), _GxIdeServerSelector_selectRecentlyUsedServersHandler = new WeakMap(), _GxIdeServerSelector_handleServerSelection = new WeakMap(), _GxIdeServerSelector_connectionTypeChangedHandler = new WeakMap(), _GxIdeServerSelector_renderTabularGridColumnSet = new WeakMap(), _GxIdeServerSelector_renderTooltip = new WeakMap(), _GxIdeServerSelector_renderTabularGridCommonCells = new WeakMap(), _GxIdeServerSelector_renderRecentlyUsedServersGrid = new WeakMap(), _GxIdeServerSelector_renderConnectedServersGrid = new WeakMap(), _GxIdeServerSelector_handleColumnSortChanged = new WeakMap(), _GxIdeServerSelector_renderIcon = new WeakMap(), _GxIdeServerSelector_renderFooter = new WeakMap();
|
|
254
|
+
_GxIdeServerSelector_chSearchIcon = new WeakMap(), _GxIdeServerSelector_versionsSelect = new WeakMap(), _GxIdeServerSelector__componentLocale = new WeakMap(), _GxIdeServerSelector_chGridRecentlyUsedServersEl = new WeakMap(), _GxIdeServerSelector_chGridConnectedServersEl = new WeakMap(), _GxIdeServerSelector_previousSelectedRowId = new WeakMap(), _GxIdeServerSelector_selectedRowId = new WeakMap(), _GxIdeServerSelector_serverUrlEL = new WeakMap(), _GxIdeServerSelector_cancelHandler = new WeakMap(), _GxIdeServerSelector_confirmHandler = new WeakMap(), _GxIdeServerSelector_filterValueChangedHandler = new WeakMap(), _GxIdeServerSelector_inputHandler = new WeakMap(), _GxIdeServerSelector_validateUrl = new WeakMap(), _GxIdeServerSelector_enableConfirmButton = new WeakMap(), _GxIdeServerSelector_onConnectedServersRowDoubleClickHandler = new WeakMap(), _GxIdeServerSelector_onRecentlyUsedRowDoubleClickHandler = new WeakMap(), _GxIdeServerSelector_selectConnectedServersHandler = new WeakMap(), _GxIdeServerSelector_selectRecentlyUsedServersHandler = new WeakMap(), _GxIdeServerSelector_handleServerSelection = new WeakMap(), _GxIdeServerSelector_connectionTypeChangedHandler = new WeakMap(), _GxIdeServerSelector_renderTabularGridColumnSet = new WeakMap(), _GxIdeServerSelector_renderTooltip = new WeakMap(), _GxIdeServerSelector_renderTabularGridCommonCells = new WeakMap(), _GxIdeServerSelector_renderRecentlyUsedServersGrid = new WeakMap(), _GxIdeServerSelector_renderConnectedServersGrid = new WeakMap(), _GxIdeServerSelector_handleColumnSortChanged = new WeakMap(), _GxIdeServerSelector_renderIcon = new WeakMap(), _GxIdeServerSelector_renderFooter = new WeakMap();
|
|
247
255
|
GxIdeServerSelector.style = serverSelectorCss;
|
|
248
256
|
|
|
249
257
|
export { GxIdeServerSelector as gx_ide_server_selector };
|