@genexus/genexus-ide-ui 1.1.69 → 1.1.71

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/dist/cjs/{utilities-25be3069.js → constants-a2ac1812.js} +70 -1
  2. package/dist/cjs/constants-a2ac1812.js.map +1 -0
  3. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +7 -8
  4. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
  5. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +2 -2
  6. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  7. package/dist/cjs/gx-ide-restore-version.cjs.entry.js +5 -4
  8. package/dist/cjs/gx-ide-restore-version.cjs.entry.js.map +1 -1
  9. package/dist/cjs/gx-ide-server-selector.cjs.entry.js +8 -7
  10. package/dist/cjs/gx-ide-server-selector.cjs.entry.js.map +1 -1
  11. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +2 -2
  12. package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
  13. package/dist/cjs/gx-ide-team-dev-bring-all-changes-selector.cjs.entry.js +14 -7
  14. package/dist/cjs/gx-ide-team-dev-bring-all-changes-selector.cjs.entry.js.map +1 -1
  15. package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js +3 -3
  16. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +21 -21
  17. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
  18. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js +8 -28
  19. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js.map +1 -1
  20. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +3 -3
  21. package/dist/cjs/{tabular-grid-render-c0e0738c.js → tabular-grid-render-37b7153b.js} +12 -86
  22. package/dist/cjs/tabular-grid-render-37b7153b.js.map +1 -0
  23. package/dist/collection/components/restore-version/gx-ide-assets/restore-version/shortcuts.json +15 -0
  24. package/dist/collection/components/restore-version/restore-version.js +6 -5
  25. package/dist/collection/components/restore-version/restore-version.js.map +1 -1
  26. package/dist/collection/components/team-dev/bring-all-changes-selector/bring-all-changes-selector.js +15 -8
  27. package/dist/collection/components/team-dev/bring-all-changes-selector/bring-all-changes-selector.js.map +1 -1
  28. package/dist/collection/components/team-dev/bring-all-changes-selector/gx-ide-assets/team-dev-bring-all-changes-selector/shortcuts.json +15 -0
  29. package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js +8 -9
  30. package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js.map +1 -1
  31. package/dist/collection/components/team-dev/connect-gx-server/gx-ide-assets/connect-gx-server/shortcuts.json +15 -0
  32. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js +2 -2
  33. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js.map +1 -1
  34. package/dist/collection/components/team-dev/create-kb-from-server/gx-ide-assets/create-kb-from-server/shortcuts.json +6 -1
  35. package/dist/collection/components/team-dev/history/history.css +3 -0
  36. package/dist/collection/components/team-dev/history/history.js +4 -24
  37. package/dist/collection/components/team-dev/history/history.js.map +1 -1
  38. package/dist/collection/components/team-dev/server-selector/gx-ide-assets/server-selector/shortcuts.json +15 -0
  39. package/dist/collection/components/team-dev/server-selector/server-selector.js +9 -7
  40. package/dist/collection/components/team-dev/server-selector/server-selector.js.map +1 -1
  41. package/dist/collection/components/team-dev/share-kb/gx-ide-assets/share-kb/shortcuts.json +1 -1
  42. package/dist/collection/components/team-dev/share-kb/share-kb.js +2 -2
  43. package/dist/collection/components/team-dev/share-kb/share-kb.js.map +1 -1
  44. package/dist/components/{utilities.js → constants2.js} +68 -2
  45. package/dist/components/constants2.js.map +1 -0
  46. package/dist/components/gx-ide-connect-gx-server.js +8 -9
  47. package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
  48. package/dist/components/gx-ide-create-kb-from-server.js +2 -2
  49. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  50. package/dist/components/gx-ide-restore-version.js +6 -5
  51. package/dist/components/gx-ide-restore-version.js.map +1 -1
  52. package/dist/components/gx-ide-server-selector.js +9 -8
  53. package/dist/components/gx-ide-server-selector.js.map +1 -1
  54. package/dist/components/gx-ide-share-kb.js +2 -2
  55. package/dist/components/gx-ide-share-kb.js.map +1 -1
  56. package/dist/components/gx-ide-team-dev-bring-all-changes-selector.js +15 -8
  57. package/dist/components/gx-ide-team-dev-bring-all-changes-selector.js.map +1 -1
  58. package/dist/components/gx-ide-team-dev-bring-changes.js +1 -1
  59. package/dist/components/gx-ide-team-dev-commit.js +2 -1
  60. package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
  61. package/dist/components/gx-ide-team-dev-history.js +4 -28
  62. package/dist/components/gx-ide-team-dev-history.js.map +1 -1
  63. package/dist/components/gx-ide-team-dev-update.js +1 -1
  64. package/dist/components/tabular-grid-render.js +2 -72
  65. package/dist/components/tabular-grid-render.js.map +1 -1
  66. package/dist/esm/{utilities-efeffb76.js → constants-31612239.js} +68 -2
  67. package/dist/esm/constants-31612239.js.map +1 -0
  68. package/dist/esm/gx-ide-connect-gx-server.entry.js +8 -9
  69. package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
  70. package/dist/esm/gx-ide-create-kb-from-server.entry.js +2 -2
  71. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  72. package/dist/esm/gx-ide-restore-version.entry.js +6 -5
  73. package/dist/esm/gx-ide-restore-version.entry.js.map +1 -1
  74. package/dist/esm/gx-ide-server-selector.entry.js +9 -8
  75. package/dist/esm/gx-ide-server-selector.entry.js.map +1 -1
  76. package/dist/esm/gx-ide-share-kb.entry.js +2 -2
  77. package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
  78. package/dist/esm/gx-ide-team-dev-bring-all-changes-selector.entry.js +15 -8
  79. package/dist/esm/gx-ide-team-dev-bring-all-changes-selector.entry.js.map +1 -1
  80. package/dist/esm/gx-ide-team-dev-bring-changes.entry.js +2 -2
  81. package/dist/esm/gx-ide-team-dev-commit.entry.js +5 -5
  82. package/dist/esm/gx-ide-team-dev-history.entry.js +8 -28
  83. package/dist/esm/gx-ide-team-dev-history.entry.js.map +1 -1
  84. package/dist/esm/gx-ide-team-dev-update.entry.js +2 -2
  85. package/dist/esm/{tabular-grid-render-c868fa55.js → tabular-grid-render-d06826a5.js} +3 -74
  86. package/dist/esm/tabular-grid-render-d06826a5.js.map +1 -0
  87. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  88. package/dist/genexus-ide-ui/gx-ide-assets/connect-gx-server/shortcuts.json +15 -0
  89. package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/shortcuts.json +6 -1
  90. package/dist/genexus-ide-ui/gx-ide-assets/restore-version/shortcuts.json +15 -0
  91. package/dist/genexus-ide-ui/gx-ide-assets/server-selector/shortcuts.json +15 -0
  92. package/dist/genexus-ide-ui/gx-ide-assets/share-kb/shortcuts.json +1 -1
  93. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-bring-all-changes-selector/shortcuts.json +15 -0
  94. package/dist/genexus-ide-ui/p-025c9aa4.entry.js +239 -0
  95. package/dist/genexus-ide-ui/p-025c9aa4.entry.js.map +1 -0
  96. package/dist/genexus-ide-ui/p-082015be.js +244 -0
  97. package/dist/{esm/tabular-grid-render-c868fa55.js.map → genexus-ide-ui/p-082015be.js.map} +1 -1
  98. package/dist/genexus-ide-ui/{p-972dc777.entry.js → p-1351412d.entry.js} +3 -3
  99. package/dist/genexus-ide-ui/p-32b37b3d.js +163 -0
  100. package/dist/genexus-ide-ui/p-32b37b3d.js.map +1 -0
  101. package/dist/genexus-ide-ui/{p-85cf50c5.entry.js → p-3ca03a38.entry.js} +31 -55
  102. package/dist/genexus-ide-ui/p-3ca03a38.entry.js.map +1 -0
  103. package/dist/genexus-ide-ui/{p-09693b80.entry.js → p-451994e8.entry.js} +111 -96
  104. package/dist/genexus-ide-ui/p-451994e8.entry.js.map +1 -0
  105. package/dist/genexus-ide-ui/{p-c3cc759d.entry.js → p-8dedbcd9.entry.js} +64 -58
  106. package/dist/genexus-ide-ui/p-8dedbcd9.entry.js.map +1 -0
  107. package/dist/genexus-ide-ui/{p-6ee5d68e.entry.js → p-92a027bc.entry.js} +33 -33
  108. package/dist/genexus-ide-ui/{p-9ffa7afd.entry.js → p-941f470f.entry.js} +3 -1
  109. package/dist/genexus-ide-ui/{p-9ffa7afd.entry.js.map → p-941f470f.entry.js.map} +1 -1
  110. package/dist/genexus-ide-ui/{p-93e79d19.entry.js → p-ac79f7e8.entry.js} +59 -57
  111. package/dist/genexus-ide-ui/{p-93e79d19.entry.js.map → p-ac79f7e8.entry.js.map} +1 -1
  112. package/dist/genexus-ide-ui/{p-e2fd2c24.entry.js → p-c256dc59.entry.js} +3 -3
  113. package/dist/genexus-ide-ui/{p-5e56280c.entry.js → p-eeeb3d52.entry.js} +199 -192
  114. package/dist/genexus-ide-ui/p-eeeb3d52.entry.js.map +1 -0
  115. package/package.json +1 -1
  116. package/dist/cjs/tabular-grid-render-c0e0738c.js.map +0 -1
  117. package/dist/cjs/utilities-25be3069.js.map +0 -1
  118. package/dist/components/utilities.js.map +0 -1
  119. package/dist/esm/utilities-efeffb76.js.map +0 -1
  120. package/dist/genexus-ide-ui/p-09693b80.entry.js.map +0 -1
  121. package/dist/genexus-ide-ui/p-22bdcf23.js +0 -322
  122. package/dist/genexus-ide-ui/p-22bdcf23.js.map +0 -1
  123. package/dist/genexus-ide-ui/p-5e56280c.entry.js.map +0 -1
  124. package/dist/genexus-ide-ui/p-85cf50c5.entry.js.map +0 -1
  125. package/dist/genexus-ide-ui/p-a105f903.entry.js +0 -234
  126. package/dist/genexus-ide-ui/p-a105f903.entry.js.map +0 -1
  127. package/dist/genexus-ide-ui/p-c3cc759d.entry.js.map +0 -1
  128. package/dist/genexus-ide-ui/p-db6c6085.js +0 -95
  129. package/dist/genexus-ide-ui/p-db6c6085.js.map +0 -1
  130. /package/dist/genexus-ide-ui/{p-972dc777.entry.js.map → p-1351412d.entry.js.map} +0 -0
  131. /package/dist/genexus-ide-ui/{p-6ee5d68e.entry.js.map → p-92a027bc.entry.js.map} +0 -0
  132. /package/dist/genexus-ide-ui/{p-e2fd2c24.entry.js.map → p-c256dc59.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"gx-ide-connect-gx-server.entry.js","mappings":"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","names":[],"sources":["src/components/team-dev/connect-gx-server/helpers.ts","src/components/team-dev/connect-gx-server/connect-gx-server.scss?tag=gx-ide-connect-gx-server&encapsulation=shadow","src/components/team-dev/connect-gx-server/connect-gx-server.tsx"],"sourcesContent":["import { AuthenticationType } from \"./connect-gx-server\";\nimport { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\n\nexport const mapAuthenticationTypeToComboBoxModel = (\n authenticationTypes: AuthenticationType[]\n): ComboBoxModel => {\n return authenticationTypes.map(authenticationType => {\n return {\n value: authenticationType.id,\n caption: authenticationType.name\n };\n });\n};\n\nexport const mapServerUrlsToComboBoxModel = (\n serverUrls: string[]\n): ComboBoxModel => {\n return serverUrls.map(serverUrl => {\n return {\n value: serverUrl,\n caption: serverUrl\n };\n });\n};\n",":host {\n display: grid;\n block-size: 100%;\n overflow: auto;\n grid-template-rows: 1fr max-content;\n}\n\n.main {\n display: grid;\n grid-template-areas:\n \"server-url server-url\"\n \"authentication-type .\"\n \"user-name user-password\";\n grid-auto-rows: max-content;\n grid-template-columns: 1fr 1fr;\n}\n\n.section {\n display: contents;\n}\n\n.authentication-type {\n grid-area: authentication-type;\n}\n.server-url {\n grid-area: server-url;\n}\n.user-name {\n grid-area: user-name;\n}\n.user-password {\n grid-area: user-password;\n}\n\n.tooltip {\n position: absolute;\n}\n","// Stencil\nimport { Component, Element, h, Host, Prop, State, Watch } from \"@stencil/core\";\n\n// Other Libraries\nimport { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n\n// Custom Imports\nimport { config } from \"../../../common/config\";\nimport {\n ControlValidation,\n validateControls\n} from \"../../../common/form-validation\";\nimport { Locale } from \"../../../common/locale\";\nimport { FormSubmitResult } from \"../../../common/types\";\nimport { mapAuthenticationTypeToComboBoxModel } from \"./helpers\";\nimport { NewServerConnectionData } from \"../server-selector/server-selector\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/tooltip\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\n\n@Component({\n tag: \"gx-ide-connect-gx-server\",\n styleUrl: \"connect-gx-server.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/connect-gx-server\"]\n})\nexport class HTMLGxIdeConnectGxServer {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n\n @Element() el: HTMLGxIdeConnectGxServerElement;\n #usernameRef!: HTMLChEditElement;\n #passwordRef!: HTMLChEditElement;\n #serverUrlRef!: HTMLChEditElement;\n\n @State() authenticationTypesComboBoxModel: ComboBoxModel;\n @State() gxServerConnectionData: GXServerConnectionData = {\n authenticationType: {\n id: null,\n name: null\n },\n serverUrl: null,\n userName: null,\n userPassword: null,\n serverName: null\n };\n @State() validatableControls = new Map<string, ControlValidation>();\n\n /**\n * List of authentication types.\n */\n @Prop() readonly authenticationTypes!: AuthenticationType[];\n @Watch(\"authenticationTypes\")\n authenticationTypesChanged(newAuthenticationTypes: AuthenticationType[]) {\n if (newAuthenticationTypes?.length) {\n this.authenticationTypesComboBoxModel =\n mapAuthenticationTypeToComboBoxModel(newAuthenticationTypes);\n }\n }\n\n /**\n * Callback that must be invoked when the 'Cancel' button is pressed.\n */\n @Prop() readonly cancelCallback!: () => Promise<void>;\n\n /**\n * Callback that must be invoked when the 'Connect' button is pressed.\n */\n @Prop() readonly connectCallback!: (\n data: GXServerConnectionData\n ) => Promise<FormSubmitResult>;\n\n /**\n * Initial user values for the case in which the user returns to the\n * login modal after successful authentication.\n */\n @Prop() readonly defaultConnectionData?: NewServerConnectionData;\n\n /**\n * true if the user should be allowed to manually enter a server URL.\n */\n @Prop() readonly enableCustomServer: boolean = false;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n\n this.#init();\n }\n\n async componentDidLoad() {\n this.#initializeValidatableControls();\n }\n\n #cancelClickHandler = () => {\n this.cancelCallback();\n };\n\n #connectClickHandler = async () => {\n this.connectCallback(this.gxServerConnectionData).then(\n (formSubmitResult: FormSubmitResult) => {\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n }\n );\n };\n\n // TODO: evaluate if this should be a global helper function.\n // It is used on other dialogs 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 #init = () => {\n this.authenticationTypesChanged(this.authenticationTypes);\n // set initial values:\n // server url\n this.gxServerConnectionData.serverUrl =\n this.defaultConnectionData?.serverUrl;\n //server name\n this.gxServerConnectionData.serverName =\n this.defaultConnectionData?.serverName;\n // authentication type\n this.gxServerConnectionData.authenticationType = {\n id: this.authenticationTypesComboBoxModel[0]?.value,\n name: this.authenticationTypesComboBoxModel[0]?.caption\n };\n };\n\n #initializeValidatableControls = () => {\n // populate #controlsValidation with the controls that could have errors.\n const validatableControls: HTMLElement[] = [\n this.#usernameRef,\n this.#passwordRef,\n this.#serverUrlRef\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 #authenticationInputEventHandler = (\n event: CustomEvent<string> | InputEvent\n ) => {\n const authenticationTypeId = event.detail as string;\n const authenticationTypeIndex = this.authenticationTypes.findIndex(\n authType => {\n return authType.id === authenticationTypeId;\n }\n );\n const authenticationTypeName =\n this.authenticationTypes[authenticationTypeIndex].name;\n\n this.gxServerConnectionData.authenticationType = {\n id: authenticationTypeId,\n name: authenticationTypeName\n };\n };\n #usernameInputEventHandler = (event: CustomEvent<string> | InputEvent) => {\n this.gxServerConnectionData.userName = event.detail as string;\n };\n #passwordInputEventHandler = (event: CustomEvent<string> | InputEvent) => {\n this.gxServerConnectionData.userPassword = event.detail as string;\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <section class=\"section\">\n <div class=\"main field-group spacing-body\">\n <div\n // server urls\n class=\"field field-block server-url\"\n >\n <label class=\"label\" htmlFor=\"server-url\">\n {this.#componentLocale.main.serverURLLabel}\n </label>\n <ch-edit\n type=\"url\"\n id=\"server-url\"\n class=\"input\"\n value={this.gxServerConnectionData?.serverUrl}\n readonly={true}\n ref={(el: HTMLChEditElement) =>\n (this.#serverUrlRef = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <div\n // authentication types\n class=\"field field-block authentication-type\"\n >\n <label class=\"label\" htmlFor=\"authentication-type\">\n {this.#componentLocale.main.authenticationTypeLabel}\n </label>\n <ch-combo-box-render\n id=\"authentication-type\"\n class=\"combo-box\"\n accessibleName=\"Authentication Types\"\n model={this.authenticationTypesComboBoxModel}\n placeholder=\"Select an authentication type\"\n value={this.gxServerConnectionData?.authenticationType.id}\n onInput={this.#authenticationInputEventHandler}\n ></ch-combo-box-render>\n </div>\n\n <div\n // username\n class=\"field field-block user-name\"\n >\n <label class=\"label\" htmlFor=\"username\">\n {this.#componentLocale.main.usernameLabel}\n </label>\n <ch-edit\n type=\"text\"\n id=\"username\"\n class=\"input\"\n value={this.gxServerConnectionData?.userName}\n onInput={this.#usernameInputEventHandler}\n ref={(el: HTMLChEditElement) =>\n (this.#usernameRef = el as HTMLChEditElement)\n }\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#usernameRef)}\n </div>\n\n <div\n // user password\n class=\"field field-block user-password\"\n >\n <label class=\"label\" htmlFor=\"password\">\n {this.#componentLocale.main.passwordLabel}\n </label>\n <ch-edit\n type=\"password\"\n id=\"password\"\n class=\"input\"\n value={this.gxServerConnectionData?.userPassword}\n onInput={this.#passwordInputEventHandler}\n ref={(el: HTMLChEditElement) =>\n (this.#passwordRef = el as HTMLChEditElement)\n }\n showPasswordButton={true}\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#passwordRef)}\n </div>\n </div>\n\n <footer class=\"control-footer-with-border spacing-body\">\n <div class=\"buttons-spacer\">\n <button\n // cancel button\n class=\"button-secondary\"\n onClick={this.#cancelClickHandler}\n >\n {this.#componentLocale.footer.backButtonCaption}\n </button>\n\n <button\n // connect button\n class=\"button-primary\"\n onClick={this.#connectClickHandler}\n >\n {this.#componentLocale.footer.connectButtonCaption}\n </button>\n </div>\n </footer>\n </section>\n </Host>\n );\n }\n}\n\nexport type GXServerConnectionData = {\n authenticationType: AuthenticationType;\n serverUrl: string;\n userName: string;\n userPassword: string;\n serverName?: string;\n};\n\nexport type AuthenticationType = {\n id: string;\n name: string;\n};\n"],"version":3}
1
+ {"file":"gx-ide-connect-gx-server.entry.js","mappings":"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","names":[],"sources":["src/components/team-dev/connect-gx-server/helpers.ts","src/components/team-dev/connect-gx-server/connect-gx-server.scss?tag=gx-ide-connect-gx-server&encapsulation=shadow","src/components/team-dev/connect-gx-server/connect-gx-server.tsx"],"sourcesContent":["import { AuthenticationType } from \"./connect-gx-server\";\nimport { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\n\nexport const mapAuthenticationTypeToComboBoxModel = (\n authenticationTypes: AuthenticationType[]\n): ComboBoxModel => {\n return authenticationTypes.map(authenticationType => {\n return {\n value: authenticationType.id,\n caption: authenticationType.name\n };\n });\n};\n\nexport const mapServerUrlsToComboBoxModel = (\n serverUrls: string[]\n): ComboBoxModel => {\n return serverUrls.map(serverUrl => {\n return {\n value: serverUrl,\n caption: serverUrl\n };\n });\n};\n",":host {\n display: grid;\n block-size: 100%;\n overflow: auto;\n grid-template-rows: 1fr max-content;\n}\n\n.main {\n display: grid;\n grid-template-areas:\n \"server-url server-url\"\n \"authentication-type .\"\n \"user-name user-password\";\n grid-auto-rows: max-content;\n grid-template-columns: 1fr 1fr;\n}\n\n.section {\n display: contents;\n}\n\n.authentication-type {\n grid-area: authentication-type;\n}\n.server-url {\n grid-area: server-url;\n}\n.user-name {\n grid-area: user-name;\n}\n.user-password {\n grid-area: user-password;\n}\n\n.tooltip {\n position: absolute;\n}\n","// Stencil\nimport {\n Component,\n Element,\n getAssetPath,\n h,\n Host,\n Prop,\n State,\n Watch\n} from \"@stencil/core\";\n\n// Other Libraries\nimport { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n\n// Custom Imports\nimport { config } from \"../../../common/config\";\nimport {\n ControlValidation,\n validateControls\n} from \"../../../common/form-validation\";\nimport { Locale } from \"../../../common/locale\";\nimport { FormSubmitResult } from \"../../../common/types\";\nimport { mapAuthenticationTypeToComboBoxModel } from \"./helpers\";\nimport { NewServerConnectionData } from \"../server-selector/server-selector\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/tooltip\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\n\n@Component({\n tag: \"gx-ide-connect-gx-server\",\n styleUrl: \"connect-gx-server.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/connect-gx-server\"]\n})\nexport class HTMLGxIdeConnectGxServer {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n\n @Element() el: HTMLGxIdeConnectGxServerElement;\n #usernameRef!: HTMLChEditElement;\n #passwordRef!: HTMLChEditElement;\n #serverUrlRef!: HTMLChEditElement;\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/connect-gx-server/shortcuts.json`\n );\n\n @State() authenticationTypesComboBoxModel: ComboBoxModel;\n @State() gxServerConnectionData: GXServerConnectionData = {\n authenticationType: {\n id: null,\n name: null\n },\n serverUrl: null,\n userName: null,\n userPassword: null,\n serverName: null\n };\n @State() validatableControls = new Map<string, ControlValidation>();\n\n /**\n * List of authentication types.\n */\n @Prop() readonly authenticationTypes!: AuthenticationType[];\n @Watch(\"authenticationTypes\")\n authenticationTypesChanged(newAuthenticationTypes: AuthenticationType[]) {\n if (newAuthenticationTypes?.length) {\n this.authenticationTypesComboBoxModel =\n mapAuthenticationTypeToComboBoxModel(newAuthenticationTypes);\n }\n }\n\n /**\n * Callback that must be invoked when the 'Cancel' button is pressed.\n */\n @Prop() readonly cancelCallback!: () => Promise<void>;\n\n /**\n * Callback that must be invoked when the 'Connect' button is pressed.\n */\n @Prop() readonly connectCallback!: (\n data: GXServerConnectionData\n ) => Promise<FormSubmitResult>;\n\n /**\n * Initial user values for the case in which the user returns to the\n * login modal after successful authentication.\n */\n @Prop() readonly defaultConnectionData?: NewServerConnectionData;\n\n /**\n * true if the user should be allowed to manually enter a server URL.\n */\n @Prop() readonly enableCustomServer: boolean = false;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n\n this.#init();\n }\n\n async componentDidLoad() {\n this.#initializeValidatableControls();\n }\n\n #cancelClickHandler = () => {\n this.cancelCallback();\n };\n\n #connectClickHandler = async () => {\n this.connectCallback(this.gxServerConnectionData).then(\n (formSubmitResult: FormSubmitResult) => {\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n }\n );\n };\n\n // TODO: evaluate if this should be a global helper function.\n // It is used on other dialogs 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 #init = () => {\n this.authenticationTypesChanged(this.authenticationTypes);\n // set initial values:\n // server url\n this.gxServerConnectionData.serverUrl =\n this.defaultConnectionData?.serverUrl;\n //server name\n this.gxServerConnectionData.serverName =\n this.defaultConnectionData?.serverName;\n // authentication type\n this.gxServerConnectionData.authenticationType = {\n id: this.authenticationTypesComboBoxModel[0]?.value,\n name: this.authenticationTypesComboBoxModel[0]?.caption\n };\n };\n\n #initializeValidatableControls = () => {\n // populate #controlsValidation with the controls that could have errors.\n const validatableControls: HTMLElement[] = [\n this.#usernameRef,\n this.#passwordRef,\n this.#serverUrlRef\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 #authenticationInputEventHandler = (\n event: CustomEvent<string> | InputEvent\n ) => {\n const authenticationTypeId = event.detail as string;\n const authenticationTypeIndex = this.authenticationTypes.findIndex(\n authType => {\n return authType.id === authenticationTypeId;\n }\n );\n const authenticationTypeName =\n this.authenticationTypes[authenticationTypeIndex].name;\n\n this.gxServerConnectionData.authenticationType = {\n id: authenticationTypeId,\n name: authenticationTypeName\n };\n };\n #usernameInputEventHandler = (event: CustomEvent<string> | InputEvent) => {\n this.gxServerConnectionData.userName = event.detail as string;\n };\n #passwordInputEventHandler = (event: CustomEvent<string> | InputEvent) => {\n this.gxServerConnectionData.userPassword = event.detail as string;\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts src={this.#shortcutsSrc}></ch-shortcuts>\n\n <section class=\"section\">\n <div class=\"main field-group spacing-body\">\n <div\n // server urls\n class=\"field field-block server-url\"\n >\n <label class=\"label\" htmlFor=\"server-url\">\n {this.#componentLocale.main.serverURLLabel}\n </label>\n <ch-edit\n type=\"url\"\n id=\"server-url\"\n class=\"input\"\n value={this.gxServerConnectionData?.serverUrl}\n readonly={true}\n ref={(el: HTMLChEditElement) =>\n (this.#serverUrlRef = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <div\n // authentication types\n class=\"field field-block authentication-type\"\n >\n <label class=\"label\" htmlFor=\"authentication-type\">\n {this.#componentLocale.main.authenticationTypeLabel}\n </label>\n <ch-combo-box-render\n id=\"authentication-type\"\n class=\"combo-box\"\n accessibleName=\"Authentication Types\"\n model={this.authenticationTypesComboBoxModel}\n placeholder=\"Select an authentication type\"\n value={this.gxServerConnectionData?.authenticationType.id}\n onInput={this.#authenticationInputEventHandler}\n ></ch-combo-box-render>\n </div>\n\n <div\n // username\n class=\"field field-block user-name\"\n >\n <label class=\"label\" htmlFor=\"username\">\n {this.#componentLocale.main.usernameLabel}\n </label>\n <ch-edit\n type=\"text\"\n id=\"username\"\n class=\"input\"\n value={this.gxServerConnectionData?.userName}\n onInput={this.#usernameInputEventHandler}\n ref={(el: HTMLChEditElement) =>\n (this.#usernameRef = el as HTMLChEditElement)\n }\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#usernameRef)}\n </div>\n\n <div\n // user password\n class=\"field field-block user-password\"\n >\n <label class=\"label\" htmlFor=\"password\">\n {this.#componentLocale.main.passwordLabel}\n </label>\n <ch-edit\n type=\"password\"\n id=\"password\"\n class=\"input\"\n value={this.gxServerConnectionData?.userPassword}\n onInput={this.#passwordInputEventHandler}\n ref={(el: HTMLChEditElement) =>\n (this.#passwordRef = el as HTMLChEditElement)\n }\n showPasswordButton={true}\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#passwordRef)}\n </div>\n </div>\n\n <footer class=\"control-footer-with-border spacing-body\">\n <div class=\"buttons-spacer\">\n <button\n id=\"cancel-button\"\n // cancel button\n class=\"button-secondary\"\n onClick={this.#cancelClickHandler}\n >\n {this.#componentLocale.footer.backButtonCaption}\n </button>\n\n <button\n id=\"connect-button\"\n // connect button\n class=\"button-primary\"\n onClick={this.#connectClickHandler}\n >\n {this.#componentLocale.footer.connectButtonCaption}\n </button>\n </div>\n </footer>\n </section>\n </Host>\n );\n }\n}\n\nexport type GXServerConnectionData = {\n authenticationType: AuthenticationType;\n serverUrl: string;\n userName: string;\n userPassword: string;\n serverName?: string;\n};\n\nexport type AuthenticationType = {\n id: string;\n name: string;\n};\n"],"version":3}
@@ -229,7 +229,7 @@ const GxIdeCreateKbFromServer = class {
229
229
  __classPrivateFieldSet(this, _GxIdeCreateKbFromServer__componentLocale, await Locale.getComponentStrings(this.el), "f");
230
230
  }
231
231
  render() {
232
- return (h(Host, { class: "widget" }, h("ch-theme", { model: CSS_BUNDLES }), h("ch-shortcuts", { src: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_shortcutsSrc, "f"), ref: (el) => (this.chShortcutsEl = el) }), h("section", { class: "section" }, h("header", { class: "header control-header-with-border space-body spacing-body-inline spacing-body-block-start" }, h("div", { class: "field field-block" }, h("label", { class: "label" }, __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").header.serverUrl), h("p", null, this.connectionData.serverUrl)), h("div", { class: "field field-block" }, h("label", { class: "label" }, __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").header.user), h("p", null, this.connectionData.userName)), h("button", { class: "button-tertiary button-change", onClick: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_changeConnectionHandler, "f") }, __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").header.change)), h("section", { class: "main field-group spacing-body" }, this.loading ? (h("gx-ide-loader", { loaderTitle: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").loader.title, description: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").loader.description, show: true })) : (h(Fragment, null, h("ch-edit", { class: "input search-kbs", id: "local-kb-name", startImgSrc: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_chSearchIcon, "f"), onInput: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_filterValueChangedHandler, "f"), placeholder: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").kb.searchKbsPlaceholder }), __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_kbsActionListModel, "f").length === 0 ||
232
+ return (h(Host, { class: "widget" }, h("ch-theme", { model: CSS_BUNDLES }), h("ch-shortcuts", { src: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_shortcutsSrc, "f"), ref: (el) => (this.chShortcutsEl = el) }), h("section", { class: "section" }, h("header", { class: "header control-header-with-border space-body spacing-body-inline spacing-body-block-start" }, h("div", { class: "field field-block" }, h("label", { class: "label" }, __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").header.serverUrl), h("p", null, this.connectionData.serverUrl)), h("div", { class: "field field-block" }, h("label", { class: "label" }, __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").header.user), h("p", null, this.connectionData.userName)), h("button", { id: "change-connection-button", class: "button-tertiary button-change", onClick: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_changeConnectionHandler, "f") }, __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").header.change)), h("section", { class: "main field-group spacing-body" }, this.loading ? (h("gx-ide-loader", { loaderTitle: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").loader.title, description: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").loader.description, show: true })) : (h(Fragment, null, h("ch-edit", { class: "input search-kbs", id: "local-kb-name", startImgSrc: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_chSearchIcon, "f"), onInput: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_filterValueChangedHandler, "f"), placeholder: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").kb.searchKbsPlaceholder }), __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_kbsActionListModel, "f").length === 0 ||
233
233
  this.kbsFilteredActionListModel.length === 0 ? (h("div", { class: "list-box" }, h("gx-ide-empty-state", { stateIconSrc: INFO_ICON, stateTitle: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").emptyKBsText, isAnimated: true }))) : (h("ch-action-list-render", { selection: "single", class: "list-box", onSelectedItemsChange: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_selectKbChangeHandler, "f"), model: this.kbsFilteredActionListModel, sortItemsCallback: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_sortItems, "f") })), h("div", { class: "versions-container field-group" }, h("ch-radio-group-render", { class: "radio-group", model: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_versionsSelect, "f"), onChange: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_versionsChangedHandler, "f"), value: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_versionsSelect, "f")[0].value, ref: (el) => {
234
234
  __classPrivateFieldSet(this, _GxIdeCreateKbFromServer_versionSelectedTypeEl, el, "f");
235
235
  if (__classPrivateFieldGet(this, _GxIdeCreateKbFromServer_versionSelectedTypeEl, "f")) {
@@ -239,7 +239,7 @@ const GxIdeCreateKbFromServer = class {
239
239
  } }), this.versionSelectedType === "Select" && (h("div", { class: "versions-container__item field-group" }, h("div", { class: "field field-block" }, h("label", { class: "label", htmlFor: "control-id-1" }, __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").kb.versionsLabel), h("div", { class: "versions-container__input" }, h("ch-edit", { class: "input", readonly: true, placeholder: this.enableSelectVersionsButton
240
240
  ? __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").kb.versionsPlaceholder
241
241
  : __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").kb
242
- .versionsPlaceholderDisabled, value: this.versionsValueInput }), h("button", { class: "button-tertiary button-icon-only", onClick: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_selectedVersionHandler, "f"), disabled: !this.enableSelectVersionsButton }, h("ch-image", { src: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_showMoreIcon, "f"), class: "icon-sm" }))))))), h("div", { class: "field field-block" }, h("label", { class: "label", htmlFor: "localKbName" }, __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").kb.localKbNameLabel), h("ch-edit", {
242
+ .versionsPlaceholderDisabled, value: this.versionsValueInput }), h("button", { id: "select-version-button", class: "button-tertiary button-icon-only", onClick: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_selectedVersionHandler, "f"), disabled: !this.enableSelectVersionsButton }, h("ch-image", { src: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_showMoreIcon, "f"), class: "icon-sm" }))))))), h("div", { class: "field field-block" }, h("label", { class: "label", htmlFor: "localKbName" }, __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").kb.localKbNameLabel), h("ch-edit", {
243
243
  // local kb name
244
244
  class: "input", id: "local-kb-name", value: this.localKbNameInputValue, onInput: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_inputLocalKbNameHandler, "f"), placeholder: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").kb.localKbNamePlaceholder, ref: (el) => {
245
245
  __classPrivateFieldSet(this, _GxIdeCreateKbFromServer_localKBNameEl, el, "f");
@@ -1 +1 @@
1
- {"file":"gx-ide-create-kb-from-server.entry.js","mappings":"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","names":[],"sources":["src/components/team-dev/create-kb-from-server/helpers.ts","src/components/team-dev/create-kb-from-server/create-kb-from-server.scss?tag=gx-ide-create-kb-from-server&encapsulation=shadow","src/components/team-dev/create-kb-from-server/create-kb-from-server.tsx"],"sourcesContent":["import { ActionListItemModel } from \"@genexus/chameleon-controls-library\";\nimport { KBData } from \"./create-kb-from-server\";\n\nexport const mapKbsModelToActionListModel = (\n kbsData: KBData[]\n): ActionListItemModel[] => {\n const listBoxItems: ActionListItemModel[] = [];\n kbsData.forEach(kb => {\n listBoxItems.push({\n id: kb.id,\n type: \"actionable\",\n caption: kb.name\n });\n });\n return listBoxItems;\n};\n",":host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.section {\n display: contents;\n}\n\n// - - - - - - - - - - -\n// Header\n// - - - - - - - - - - -\n\nheader {\n display: grid;\n grid-template-rows: max-content;\n grid-template-columns: 1fr 1fr max-content;\n}\n\n.button-change {\n align-self: center;\n justify-self: end;\n}\n\n// - - - - - - - - - - -\n// Main\n// - - - - - - - - - - -\n\n.main {\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: max-content 1fr max-content max-content;\n position: relative;\n}\n\n.search-kbs {\n inline-size: 50%;\n}\n\n.versions-container {\n grid-auto-rows: max-content;\n\n &__input {\n display: grid;\n grid-template-columns: 1fr max-content;\n gap: var(--mer-spacing--xs);\n }\n\n .button-icon-only {\n border-color: var(--mer-color__neutral-gray--500);\n border-width: var(--mer-border__width--sm);\n border-radius: var(--mer-border__radius--sm);\n }\n\n .button-icon-only:hover {\n border-color: var(--mer-color__neutral-gray--100);\n }\n}\n","// Stencil\nimport {\n Component,\n Element,\n Fragment,\n getAssetPath,\n h,\n Host,\n Prop,\n State\n} from \"@stencil/core\";\n\n// Other Libraries\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n\n// Custom Imports\nimport {\n ActionListItemActionable,\n ActionListItemModel,\n ActionListItemModelExtended,\n ChActionListRenderCustomEvent,\n ChEditCustomEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { RadioGroupItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/radio-group/types\";\nimport { config } from \"../../../common/config\";\nimport {\n ControlValidation,\n validateControls\n} from \"../../../common/form-validation\";\nimport { Locale } from \"../../../common/locale\";\nimport { FormSubmitResult } from \"../../../common/types\";\nimport { GXServerConnectionData } from \"../connect-gx-server/connect-gx-server\";\nimport { KBVersion } from \"../version-control/common/types\";\nimport { mapKbsModelToActionListModel } from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"components/list-box\",\n \"components/tooltip\",\n \"chameleon/scrollbar\"\n];\n\nconst INFO_ICON = getIconPath({\n category: \"system\",\n name: \"information\",\n colorType: \"on-surface\"\n});\n\n@Component({\n tag: \"gx-ide-create-kb-from-server\",\n styleUrl: \"create-kb-from-server.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/create-kb-from-server\"]\n})\nexport class GxIdeCreateKbFromServer {\n #chSearchIcon = getIconPath({\n category: \"system\",\n name: \"search\",\n colorType: \"on-surface\"\n });\n\n #showMoreIcon = getIconPath({\n category: \"gemini-tools\",\n name: \"show-more-horizontal\",\n colorType: \"on-elevation\"\n });\n\n #versionsSelect: RadioGroupItemModel[] = [\n { value: \"Trunk\", caption: \"Trunk Version\" },\n { value: \"All\", caption: \"All Versions\" },\n { value: \"Select\", caption: \"Select Version\" }\n ];\n\n [key: string]: any;\n\n #_componentLocale: any;\n #kbsActionListModel: ActionListItemModel[] = [];\n #kbVersions: KBVersion[] = [];\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/create-kb-from-server/shortcuts.json`\n );\n #selectedKbId: string;\n #kbNameAlreadyEditedByUser: boolean = false;\n\n #versionSelectedTypeEl: HTMLChRadioGroupRenderElement;\n\n @Element() el: HTMLGxIdeCreateKbFromServerElement;\n\n #localKBNameEl!: HTMLChEditElement;\n\n /**\n * State to enable/disable the select versions button\n */\n @State() enableSelectVersionsButton: boolean = false;\n\n /**\n * The current kbn name value.\n */\n @State() localKbNameInputValue: string = \"\";\n\n /**\n * State to store the loading state of the component\n */\n @State() loading = true;\n\n /**\n * State to store the filter input value to filter the list-box\n */\n @State() filterValue: string = \"\";\n\n /**\n * KBs filtered\n */\n @State() kbsFilteredActionListModel: ActionListItemModel[] = [];\n\n @State() validatableControls = new Map<string, ControlValidation>();\n\n /**\n * The version selected type\n */\n @State() versionSelectedType: VersionOption;\n\n /**\n * String value to show the number of versions selected (\"N versions selected\")\n */\n @State() versionsValueInput: string = \"\";\n\n /**\n * Set of data required when executing any of the callbacks that require a connection to the server.\n */\n @Prop() readonly connectionData: GXServerConnectionData;\n\n /**\n * Callback that is invoked when the dialog is closed\n */\n @Prop() readonly cancelCallback!: () => Promise<void>;\n\n /**\n * The host reopens the gx-ide-connect-server login modal with the previous data, and closes the current modal\n */\n @Prop() readonly changeConnectionCallback: (\n data: GXServerConnectionData\n ) => Promise<void>;\n\n /**\n * Callback that must be invoked when the 'Create KB' button is pressed. Receives the user's parameter selection to create the remote KB locally and ends the dialog.\n */\n @Prop() readonly createKBCallback!: (\n kbInfo: KnowledgeBaseInfo\n ) => Promise<FormSubmitResult>;\n\n /**\n * Callback that must be invoked when invoking the dialog\n */\n @Prop() readonly getGXserverKBsCallback!: (\n data: GXServerConnectionData\n ) => Promise<KBData[]>;\n\n /**\n * Callback invoked by pressing the ellipsis in the version selector. Receives the KB selected by the user, and displays the version selector dialog. Returns a list of versions chosen by the user.\n */\n @Prop() readonly selectKBVersionsCallback: (\n selectedKB: string\n ) => Promise<KBVersion[]>;\n\n async componentDidLoad() {\n await this.#init();\n this.loading = false;\n }\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n #cancelHandler = (): void => {\n this.cancelCallback();\n };\n\n #changeConnectionHandler = async (): Promise<void> => {\n this.changeConnectionCallback({\n authenticationType: this.connectionData.authenticationType,\n serverUrl: this.connectionData.serverUrl,\n userName: this.connectionData.userName,\n userPassword: this.connectionData.userPassword\n });\n };\n\n #createHandler = async (): Promise<void> => {\n if (this.versionSelectedType !== \"Select\") {\n this.#kbVersions = [];\n }\n this.createKBCallback({\n selectedKB: this.#selectedKbId,\n versionSelected: this.versionSelectedType,\n localKBName: this.localKbNameInputValue,\n versionList: this.#kbVersions\n }).then((formSubmitResult: FormSubmitResult) => {\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n });\n };\n\n // TODO: evaluate if this should be a global helper function.\n // It is used on other dialogs 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 #filterValueChangedHandler = (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.filterValue = (event.detail as string).toLowerCase();\n this.kbsFilteredActionListModel = this.#kbsActionListModel.filter(\n (item: ActionListItemActionable) =>\n item.caption.toLowerCase().includes(this.filterValue)\n );\n };\n\n #init = async () => {\n await this.getGXserverKBsCallback({\n authenticationType: this.connectionData.authenticationType,\n serverUrl: this.connectionData.serverUrl,\n userName: this.connectionData.userName,\n userPassword: this.connectionData.userPassword\n }).then(result => {\n this.#kbsActionListModel = mapKbsModelToActionListModel(result);\n this.kbsFilteredActionListModel = this.#kbsActionListModel;\n this.filterValue = \"\";\n });\n };\n\n #initializeValidatableControls = () => {\n // populate validatableControls with the controls that could have errors.\n const validatableControls: HTMLElement[] = [this.#localKBNameEl];\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 #inputLocalKbNameHandler = (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.localKbNameInputValue = event.detail as string;\n this.#kbNameAlreadyEditedByUser = true;\n };\n\n #selectedVersionHandler = async () => {\n if (this.selectKBVersionsCallback) {\n await this.selectKBVersionsCallback(this.#selectedKbId).then(result => {\n if (result?.length) {\n this.#kbVersions = result.map(kbVersion => ({\n id: kbVersion.id,\n name: kbVersion.name\n }));\n\n if (result.length === 1 && this.#kbVersions[0].id === 0) {\n this.localKbNameInputValue = this.#selectedKbId;\n this.versionsValueInput =\n this.#_componentLocale.kb.versionsPlaceholder;\n } else if (result.length > 1) {\n this.localKbNameInputValue = this.#selectedKbId;\n this.versionsValueInput = `${result.length.toString()} ${\n this.#_componentLocale.kb.versionSelectedFieldValue\n }`;\n } else {\n this.localKbNameInputValue = `${this.#selectedKbId}_${\n this.#kbVersions[0].name\n }`;\n this.versionsValueInput = `${result[0].name} ${\n this.#_componentLocale.kb.oneVersionSelectedFieldValue\n }`;\n }\n }\n });\n }\n };\n\n #selectKbChangeHandler = (\n event: ChActionListRenderCustomEvent<ActionListItemModelExtended[]>\n ): void => {\n const item = event.detail[0]?.item as ActionListItemActionable;\n if (item === undefined) {\n this.enableSelectVersionsButton = false;\n this.#selectedKbId = undefined;\n return;\n }\n this.enableSelectVersionsButton = true;\n this.#selectedKbId = item.id;\n if (this.#kbNameAlreadyEditedByUser) {\n return;\n }\n this.localKbNameInputValue = item.caption;\n if (this.versionSelectedType === \"Select\") {\n this.versionsValueInput = \"\";\n this.#kbVersions = [];\n }\n };\n\n #versionsChangedHandler = (event: CustomEvent<string>) => {\n this.versionSelectedType = event.detail as VersionOption;\n };\n\n #sortItems = (model: ActionListItemActionable[]): void => {\n model.sort((a, b) =>\n a.caption\n ?.toLocaleLowerCase()\n .localeCompare(b.caption?.toLocaleLowerCase())\n );\n };\n\n #renderFooter = () => {\n return (\n <footer class=\"footer control-footer-with-border spacing-body-inline spacing-body-block-end\">\n <div class=\"buttons-spacer\">\n <button\n // cancel button\n class=\"button-secondary\"\n onClick={this.#cancelHandler}\n part=\"button button-cancel\"\n >\n {this.#_componentLocale.footer.cancel}\n </button>\n\n <button\n // create kb button\n class=\"button-primary\"\n onClick={this.enableSelectVersionsButton && this.#createHandler}\n disabled={!this.enableSelectVersionsButton}\n part=\"button button-create-kb\"\n >\n {this.#_componentLocale.footer.createKb}\n </button>\n </div>\n </footer>\n );\n };\n\n render(): void {\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\n <section class=\"section\">\n <header class=\"header control-header-with-border space-body spacing-body-inline spacing-body-block-start\">\n <div class=\"field field-block\">\n <label class=\"label\">\n {this.#_componentLocale.header.serverUrl}\n </label>\n <p>{this.connectionData.serverUrl}</p>\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\">{this.#_componentLocale.header.user}</label>\n <p>{this.connectionData.userName}</p>\n </div>\n\n <button\n class=\"button-tertiary button-change\"\n onClick={this.#changeConnectionHandler}\n >\n {this.#_componentLocale.header.change}\n </button>\n </header>\n <section class=\"main field-group spacing-body\">\n {this.loading ? (\n <gx-ide-loader\n loaderTitle={this.#_componentLocale.loader.title}\n description={this.#_componentLocale.loader.description}\n show\n ></gx-ide-loader>\n ) : (\n <Fragment>\n <ch-edit\n class=\"input search-kbs\"\n id=\"local-kb-name\"\n startImgSrc={this.#chSearchIcon}\n onInput={this.#filterValueChangedHandler}\n placeholder={this.#_componentLocale.kb.searchKbsPlaceholder}\n ></ch-edit>\n {this.#kbsActionListModel.length === 0 ||\n this.kbsFilteredActionListModel.length === 0 ? (\n <div class=\"list-box\">\n <gx-ide-empty-state\n stateIconSrc={INFO_ICON}\n stateTitle={this.#_componentLocale.emptyKBsText}\n isAnimated={true}\n ></gx-ide-empty-state>\n </div>\n ) : (\n <ch-action-list-render\n selection=\"single\"\n class=\"list-box\"\n onSelectedItemsChange={this.#selectKbChangeHandler}\n model={this.kbsFilteredActionListModel}\n sortItemsCallback={this.#sortItems}\n ></ch-action-list-render>\n )}\n <div class=\"versions-container field-group\">\n <ch-radio-group-render\n class=\"radio-group\"\n model={this.#versionsSelect}\n onChange={this.#versionsChangedHandler}\n value={this.#versionsSelect[0].value}\n ref={(el: HTMLChRadioGroupRenderElement) => {\n this.#versionSelectedTypeEl =\n el as HTMLChRadioGroupRenderElement;\n if (this.#versionSelectedTypeEl) {\n this.versionSelectedType = this.#versionSelectedTypeEl\n .value as VersionOption;\n }\n }}\n ></ch-radio-group-render>\n\n {this.versionSelectedType === \"Select\" && (\n <div class=\"versions-container__item field-group\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"control-id-1\">\n {this.#_componentLocale.kb.versionsLabel}\n </label>\n <div class=\"versions-container__input\">\n <ch-edit\n class=\"input\"\n readonly\n placeholder={\n this.enableSelectVersionsButton\n ? this.#_componentLocale.kb.versionsPlaceholder\n : this.#_componentLocale.kb\n .versionsPlaceholderDisabled\n }\n value={this.versionsValueInput}\n ></ch-edit>\n <button\n class=\"button-tertiary button-icon-only\"\n onClick={this.#selectedVersionHandler}\n disabled={!this.enableSelectVersionsButton}\n >\n <ch-image\n src={this.#showMoreIcon}\n class=\"icon-sm\"\n ></ch-image>\n </button>\n </div>\n </div>\n </div>\n )}\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"localKbName\">\n {this.#_componentLocale.kb.localKbNameLabel}\n </label>\n <ch-edit\n // local kb name\n class=\"input\"\n id=\"local-kb-name\"\n value={this.localKbNameInputValue}\n onInput={this.#inputLocalKbNameHandler}\n placeholder={\n this.#_componentLocale.kb.localKbNamePlaceholder\n }\n ref={(el: HTMLChEditElement) => {\n this.#localKBNameEl = el as HTMLChEditElement;\n if (this.#localKBNameEl) {\n this.#initializeValidatableControls();\n }\n }}\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#localKBNameEl)}\n </div>\n </Fragment>\n )}\n </section>\n\n {this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n\nexport type KBData = {\n id: string;\n name: string;\n};\n\nexport type ConnectionResultData = {\n formResult: FormSubmitResult;\n kbs: KBData[];\n};\n\nexport type KnowledgeBaseInfo = {\n selectedKB: string;\n versionSelected: VersionOption;\n localKBName: string;\n versionList: KBVersion[];\n};\n\nexport type VersionOption = \"Trunk\" | \"All\" | \"Select\";\n"],"version":3}
1
+ {"file":"gx-ide-create-kb-from-server.entry.js","mappings":"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","names":[],"sources":["src/components/team-dev/create-kb-from-server/helpers.ts","src/components/team-dev/create-kb-from-server/create-kb-from-server.scss?tag=gx-ide-create-kb-from-server&encapsulation=shadow","src/components/team-dev/create-kb-from-server/create-kb-from-server.tsx"],"sourcesContent":["import { ActionListItemModel } from \"@genexus/chameleon-controls-library\";\nimport { KBData } from \"./create-kb-from-server\";\n\nexport const mapKbsModelToActionListModel = (\n kbsData: KBData[]\n): ActionListItemModel[] => {\n const listBoxItems: ActionListItemModel[] = [];\n kbsData.forEach(kb => {\n listBoxItems.push({\n id: kb.id,\n type: \"actionable\",\n caption: kb.name\n });\n });\n return listBoxItems;\n};\n",":host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.section {\n display: contents;\n}\n\n// - - - - - - - - - - -\n// Header\n// - - - - - - - - - - -\n\nheader {\n display: grid;\n grid-template-rows: max-content;\n grid-template-columns: 1fr 1fr max-content;\n}\n\n.button-change {\n align-self: center;\n justify-self: end;\n}\n\n// - - - - - - - - - - -\n// Main\n// - - - - - - - - - - -\n\n.main {\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: max-content 1fr max-content max-content;\n position: relative;\n}\n\n.search-kbs {\n inline-size: 50%;\n}\n\n.versions-container {\n grid-auto-rows: max-content;\n\n &__input {\n display: grid;\n grid-template-columns: 1fr max-content;\n gap: var(--mer-spacing--xs);\n }\n\n .button-icon-only {\n border-color: var(--mer-color__neutral-gray--500);\n border-width: var(--mer-border__width--sm);\n border-radius: var(--mer-border__radius--sm);\n }\n\n .button-icon-only:hover {\n border-color: var(--mer-color__neutral-gray--100);\n }\n}\n","// Stencil\nimport {\n Component,\n Element,\n Fragment,\n getAssetPath,\n h,\n Host,\n Prop,\n State\n} from \"@stencil/core\";\n\n// Other Libraries\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n\n// Custom Imports\nimport {\n ActionListItemActionable,\n ActionListItemModel,\n ActionListItemModelExtended,\n ChActionListRenderCustomEvent,\n ChEditCustomEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { RadioGroupItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/radio-group/types\";\nimport { config } from \"../../../common/config\";\nimport {\n ControlValidation,\n validateControls\n} from \"../../../common/form-validation\";\nimport { Locale } from \"../../../common/locale\";\nimport { FormSubmitResult } from \"../../../common/types\";\nimport { GXServerConnectionData } from \"../connect-gx-server/connect-gx-server\";\nimport { KBVersion } from \"../version-control/common/types\";\nimport { mapKbsModelToActionListModel } from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"components/list-box\",\n \"components/tooltip\",\n \"chameleon/scrollbar\"\n];\n\nconst INFO_ICON = getIconPath({\n category: \"system\",\n name: \"information\",\n colorType: \"on-surface\"\n});\n\n@Component({\n tag: \"gx-ide-create-kb-from-server\",\n styleUrl: \"create-kb-from-server.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/create-kb-from-server\"]\n})\nexport class GxIdeCreateKbFromServer {\n #chSearchIcon = getIconPath({\n category: \"system\",\n name: \"search\",\n colorType: \"on-surface\"\n });\n\n #showMoreIcon = getIconPath({\n category: \"gemini-tools\",\n name: \"show-more-horizontal\",\n colorType: \"on-elevation\"\n });\n\n #versionsSelect: RadioGroupItemModel[] = [\n { value: \"Trunk\", caption: \"Trunk Version\" },\n { value: \"All\", caption: \"All Versions\" },\n { value: \"Select\", caption: \"Select Version\" }\n ];\n\n [key: string]: any;\n\n #_componentLocale: any;\n #kbsActionListModel: ActionListItemModel[] = [];\n #kbVersions: KBVersion[] = [];\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/create-kb-from-server/shortcuts.json`\n );\n #selectedKbId: string;\n #kbNameAlreadyEditedByUser: boolean = false;\n\n #versionSelectedTypeEl: HTMLChRadioGroupRenderElement;\n\n @Element() el: HTMLGxIdeCreateKbFromServerElement;\n\n #localKBNameEl!: HTMLChEditElement;\n\n /**\n * State to enable/disable the select versions button\n */\n @State() enableSelectVersionsButton: boolean = false;\n\n /**\n * The current kbn name value.\n */\n @State() localKbNameInputValue: string = \"\";\n\n /**\n * State to store the loading state of the component\n */\n @State() loading = true;\n\n /**\n * State to store the filter input value to filter the list-box\n */\n @State() filterValue: string = \"\";\n\n /**\n * KBs filtered\n */\n @State() kbsFilteredActionListModel: ActionListItemModel[] = [];\n\n @State() validatableControls = new Map<string, ControlValidation>();\n\n /**\n * The version selected type\n */\n @State() versionSelectedType: VersionOption;\n\n /**\n * String value to show the number of versions selected (\"N versions selected\")\n */\n @State() versionsValueInput: string = \"\";\n\n /**\n * Set of data required when executing any of the callbacks that require a connection to the server.\n */\n @Prop() readonly connectionData: GXServerConnectionData;\n\n /**\n * Callback that is invoked when the dialog is closed\n */\n @Prop() readonly cancelCallback!: () => Promise<void>;\n\n /**\n * The host reopens the gx-ide-connect-server login modal with the previous data, and closes the current modal\n */\n @Prop() readonly changeConnectionCallback: (\n data: GXServerConnectionData\n ) => Promise<void>;\n\n /**\n * Callback that must be invoked when the 'Create KB' button is pressed. Receives the user's parameter selection to create the remote KB locally and ends the dialog.\n */\n @Prop() readonly createKBCallback!: (\n kbInfo: KnowledgeBaseInfo\n ) => Promise<FormSubmitResult>;\n\n /**\n * Callback that must be invoked when invoking the dialog\n */\n @Prop() readonly getGXserverKBsCallback!: (\n data: GXServerConnectionData\n ) => Promise<KBData[]>;\n\n /**\n * Callback invoked by pressing the ellipsis in the version selector. Receives the KB selected by the user, and displays the version selector dialog. Returns a list of versions chosen by the user.\n */\n @Prop() readonly selectKBVersionsCallback: (\n selectedKB: string\n ) => Promise<KBVersion[]>;\n\n async componentDidLoad() {\n await this.#init();\n this.loading = false;\n }\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n #cancelHandler = (): void => {\n this.cancelCallback();\n };\n\n #changeConnectionHandler = async (): Promise<void> => {\n this.changeConnectionCallback({\n authenticationType: this.connectionData.authenticationType,\n serverUrl: this.connectionData.serverUrl,\n userName: this.connectionData.userName,\n userPassword: this.connectionData.userPassword\n });\n };\n\n #createHandler = async (): Promise<void> => {\n if (this.versionSelectedType !== \"Select\") {\n this.#kbVersions = [];\n }\n this.createKBCallback({\n selectedKB: this.#selectedKbId,\n versionSelected: this.versionSelectedType,\n localKBName: this.localKbNameInputValue,\n versionList: this.#kbVersions\n }).then((formSubmitResult: FormSubmitResult) => {\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n });\n };\n\n // TODO: evaluate if this should be a global helper function.\n // It is used on other dialogs 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 #filterValueChangedHandler = (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.filterValue = (event.detail as string).toLowerCase();\n this.kbsFilteredActionListModel = this.#kbsActionListModel.filter(\n (item: ActionListItemActionable) =>\n item.caption.toLowerCase().includes(this.filterValue)\n );\n };\n\n #init = async () => {\n await this.getGXserverKBsCallback({\n authenticationType: this.connectionData.authenticationType,\n serverUrl: this.connectionData.serverUrl,\n userName: this.connectionData.userName,\n userPassword: this.connectionData.userPassword\n }).then(result => {\n this.#kbsActionListModel = mapKbsModelToActionListModel(result);\n this.kbsFilteredActionListModel = this.#kbsActionListModel;\n this.filterValue = \"\";\n });\n };\n\n #initializeValidatableControls = () => {\n // populate validatableControls with the controls that could have errors.\n const validatableControls: HTMLElement[] = [this.#localKBNameEl];\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 #inputLocalKbNameHandler = (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.localKbNameInputValue = event.detail as string;\n this.#kbNameAlreadyEditedByUser = true;\n };\n\n #selectedVersionHandler = async () => {\n if (this.selectKBVersionsCallback) {\n await this.selectKBVersionsCallback(this.#selectedKbId).then(result => {\n if (result?.length) {\n this.#kbVersions = result.map(kbVersion => ({\n id: kbVersion.id,\n name: kbVersion.name\n }));\n\n if (result.length === 1 && this.#kbVersions[0].id === 0) {\n this.localKbNameInputValue = this.#selectedKbId;\n this.versionsValueInput =\n this.#_componentLocale.kb.versionsPlaceholder;\n } else if (result.length > 1) {\n this.localKbNameInputValue = this.#selectedKbId;\n this.versionsValueInput = `${result.length.toString()} ${\n this.#_componentLocale.kb.versionSelectedFieldValue\n }`;\n } else {\n this.localKbNameInputValue = `${this.#selectedKbId}_${\n this.#kbVersions[0].name\n }`;\n this.versionsValueInput = `${result[0].name} ${\n this.#_componentLocale.kb.oneVersionSelectedFieldValue\n }`;\n }\n }\n });\n }\n };\n\n #selectKbChangeHandler = (\n event: ChActionListRenderCustomEvent<ActionListItemModelExtended[]>\n ): void => {\n const item = event.detail[0]?.item as ActionListItemActionable;\n if (item === undefined) {\n this.enableSelectVersionsButton = false;\n this.#selectedKbId = undefined;\n return;\n }\n this.enableSelectVersionsButton = true;\n this.#selectedKbId = item.id;\n if (this.#kbNameAlreadyEditedByUser) {\n return;\n }\n this.localKbNameInputValue = item.caption;\n if (this.versionSelectedType === \"Select\") {\n this.versionsValueInput = \"\";\n this.#kbVersions = [];\n }\n };\n\n #versionsChangedHandler = (event: CustomEvent<string>) => {\n this.versionSelectedType = event.detail as VersionOption;\n };\n\n #sortItems = (model: ActionListItemActionable[]): void => {\n model.sort((a, b) =>\n a.caption\n ?.toLocaleLowerCase()\n .localeCompare(b.caption?.toLocaleLowerCase())\n );\n };\n\n #renderFooter = () => {\n return (\n <footer class=\"footer control-footer-with-border spacing-body-inline spacing-body-block-end\">\n <div class=\"buttons-spacer\">\n <button\n // cancel button\n class=\"button-secondary\"\n onClick={this.#cancelHandler}\n part=\"button button-cancel\"\n >\n {this.#_componentLocale.footer.cancel}\n </button>\n\n <button\n // create kb button\n class=\"button-primary\"\n onClick={this.enableSelectVersionsButton && this.#createHandler}\n disabled={!this.enableSelectVersionsButton}\n part=\"button button-create-kb\"\n >\n {this.#_componentLocale.footer.createKb}\n </button>\n </div>\n </footer>\n );\n };\n\n render(): void {\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\n <section class=\"section\">\n <header class=\"header control-header-with-border space-body spacing-body-inline spacing-body-block-start\">\n <div class=\"field field-block\">\n <label class=\"label\">\n {this.#_componentLocale.header.serverUrl}\n </label>\n <p>{this.connectionData.serverUrl}</p>\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\">{this.#_componentLocale.header.user}</label>\n <p>{this.connectionData.userName}</p>\n </div>\n\n <button\n id=\"change-connection-button\"\n class=\"button-tertiary button-change\"\n onClick={this.#changeConnectionHandler}\n >\n {this.#_componentLocale.header.change}\n </button>\n </header>\n <section class=\"main field-group spacing-body\">\n {this.loading ? (\n <gx-ide-loader\n loaderTitle={this.#_componentLocale.loader.title}\n description={this.#_componentLocale.loader.description}\n show\n ></gx-ide-loader>\n ) : (\n <Fragment>\n <ch-edit\n class=\"input search-kbs\"\n id=\"local-kb-name\"\n startImgSrc={this.#chSearchIcon}\n onInput={this.#filterValueChangedHandler}\n placeholder={this.#_componentLocale.kb.searchKbsPlaceholder}\n ></ch-edit>\n {this.#kbsActionListModel.length === 0 ||\n this.kbsFilteredActionListModel.length === 0 ? (\n <div class=\"list-box\">\n <gx-ide-empty-state\n stateIconSrc={INFO_ICON}\n stateTitle={this.#_componentLocale.emptyKBsText}\n isAnimated={true}\n ></gx-ide-empty-state>\n </div>\n ) : (\n <ch-action-list-render\n selection=\"single\"\n class=\"list-box\"\n onSelectedItemsChange={this.#selectKbChangeHandler}\n model={this.kbsFilteredActionListModel}\n sortItemsCallback={this.#sortItems}\n ></ch-action-list-render>\n )}\n <div class=\"versions-container field-group\">\n <ch-radio-group-render\n class=\"radio-group\"\n model={this.#versionsSelect}\n onChange={this.#versionsChangedHandler}\n value={this.#versionsSelect[0].value}\n ref={(el: HTMLChRadioGroupRenderElement) => {\n this.#versionSelectedTypeEl =\n el as HTMLChRadioGroupRenderElement;\n if (this.#versionSelectedTypeEl) {\n this.versionSelectedType = this.#versionSelectedTypeEl\n .value as VersionOption;\n }\n }}\n ></ch-radio-group-render>\n\n {this.versionSelectedType === \"Select\" && (\n <div class=\"versions-container__item field-group\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"control-id-1\">\n {this.#_componentLocale.kb.versionsLabel}\n </label>\n <div class=\"versions-container__input\">\n <ch-edit\n class=\"input\"\n readonly\n placeholder={\n this.enableSelectVersionsButton\n ? this.#_componentLocale.kb.versionsPlaceholder\n : this.#_componentLocale.kb\n .versionsPlaceholderDisabled\n }\n value={this.versionsValueInput}\n ></ch-edit>\n <button\n id=\"select-version-button\"\n class=\"button-tertiary button-icon-only\"\n onClick={this.#selectedVersionHandler}\n disabled={!this.enableSelectVersionsButton}\n >\n <ch-image\n src={this.#showMoreIcon}\n class=\"icon-sm\"\n ></ch-image>\n </button>\n </div>\n </div>\n </div>\n )}\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"localKbName\">\n {this.#_componentLocale.kb.localKbNameLabel}\n </label>\n <ch-edit\n // local kb name\n class=\"input\"\n id=\"local-kb-name\"\n value={this.localKbNameInputValue}\n onInput={this.#inputLocalKbNameHandler}\n placeholder={\n this.#_componentLocale.kb.localKbNamePlaceholder\n }\n ref={(el: HTMLChEditElement) => {\n this.#localKBNameEl = el as HTMLChEditElement;\n if (this.#localKBNameEl) {\n this.#initializeValidatableControls();\n }\n }}\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#localKBNameEl)}\n </div>\n </Fragment>\n )}\n </section>\n\n {this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n\nexport type KBData = {\n id: string;\n name: string;\n};\n\nexport type ConnectionResultData = {\n formResult: FormSubmitResult;\n kbs: KBData[];\n};\n\nexport type KnowledgeBaseInfo = {\n selectedKB: string;\n versionSelected: VersionOption;\n localKBName: string;\n versionList: KBVersion[];\n};\n\nexport type VersionOption = \"Trunk\" | \"All\" | \"Select\";\n"],"version":3}
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host, a as getElement } from './index-b153bfd0.js';
1
+ import { r as registerInstance, g as getAssetPath, h, H as Host, a as getElement } from './index-b153bfd0.js';
2
2
  import { g as getIconPath } from './assets-manager-7d6fc08f.js';
3
3
  import './mer-animated-dots-75d88f7e.js';
4
4
  import 'lit';
@@ -24,7 +24,7 @@ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) ||
24
24
  throw new TypeError("Cannot write private member to an object whose class did not declare it");
25
25
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
26
26
  };
27
- var _GxIdeRestoreVersion_componentLocale, _GxIdeRestoreVersion_confirmHandler, _GxIdeRestoreVersion_cancelHandler, _GxIdeRestoreVersion_versionsToComboBoxItemModel, _GxIdeRestoreVersion_handleComboBoxInput, _GxIdeRestoreVersion_selectSourceVersionHandler, _GxIdeRestoreVersion_renderFooter;
27
+ var _GxIdeRestoreVersion_componentLocale, _GxIdeRestoreVersion_shortcutsSrc, _GxIdeRestoreVersion_confirmHandler, _GxIdeRestoreVersion_cancelHandler, _GxIdeRestoreVersion_versionsToComboBoxItemModel, _GxIdeRestoreVersion_handleComboBoxInput, _GxIdeRestoreVersion_selectSourceVersionHandler, _GxIdeRestoreVersion_renderFooter;
28
28
  const CSS_BUNDLES = [
29
29
  "resets/box-sizing",
30
30
  "utils/form--full",
@@ -55,6 +55,7 @@ const GxIdeRestoreVersion = class {
55
55
  constructor(hostRef) {
56
56
  registerInstance(this, hostRef);
57
57
  _GxIdeRestoreVersion_componentLocale.set(this, void 0);
58
+ _GxIdeRestoreVersion_shortcutsSrc.set(this, getAssetPath(`./gx-ide-assets/restore-version/shortcuts.json`));
58
59
  _GxIdeRestoreVersion_confirmHandler.set(this, async () => {
59
60
  const restoreVersionData = {
60
61
  toVersionGuid: this.toVersionInfo.guid,
@@ -93,7 +94,7 @@ const GxIdeRestoreVersion = class {
93
94
  _GxIdeRestoreVersion_renderFooter.set(this, () => {
94
95
  const disableConfirmButton = !this.selectedSourceVersionName ||
95
96
  !this.versionsComboBoxModel.some(v => v.caption === this.selectedSourceVersionName);
96
- return (h("footer", { class: "footer control-footer-with-border spacing-body" }, h("div", { class: "buttons-spacer" }, h("button", { class: "button-secondary", onClick: __classPrivateFieldGet(this, _GxIdeRestoreVersion_cancelHandler, "f") }, __classPrivateFieldGet(this, _GxIdeRestoreVersion_componentLocale, "f").footer.cancel), h("button", { class: "button-primary", onClick: __classPrivateFieldGet(this, _GxIdeRestoreVersion_confirmHandler, "f"), disabled: disableConfirmButton }, __classPrivateFieldGet(this, _GxIdeRestoreVersion_componentLocale, "f").footer.confirm))));
97
+ return (h("footer", { class: "footer control-footer-with-border spacing-body" }, h("div", { class: "buttons-spacer" }, h("button", { id: "cancel-button", class: "button-secondary", onClick: __classPrivateFieldGet(this, _GxIdeRestoreVersion_cancelHandler, "f") }, __classPrivateFieldGet(this, _GxIdeRestoreVersion_componentLocale, "f").footer.cancel), h("button", { id: "confirm-button", class: "button-primary", onClick: __classPrivateFieldGet(this, _GxIdeRestoreVersion_confirmHandler, "f"), disabled: disableConfirmButton }, __classPrivateFieldGet(this, _GxIdeRestoreVersion_componentLocale, "f").footer.confirm))));
97
98
  });
98
99
  this.syncEnvironments = false;
99
100
  this.selectedSourceVersionName = "";
@@ -113,7 +114,7 @@ const GxIdeRestoreVersion = class {
113
114
  __classPrivateFieldGet(this, _GxIdeRestoreVersion_versionsToComboBoxItemModel, "f").call(this, this.versions || []);
114
115
  }
115
116
  render() {
116
- return (h(Host, { class: "widget" }, h("ch-theme", { model: CSS_BUNDLES }), h("div", { class: "main-container spacing-body" }, h("div", null, h("p", { class: "giu-static-pill-icon-and-text" }, h("ch-image", { class: "icon-md", type: "mask", src: VERSION_ICON }), h("span", null, `${__classPrivateFieldGet(this, _GxIdeRestoreVersion_componentLocale, "f").descriptions.pill} - ${this.toVersionInfo.name}`))), h("p", { class: "body-regular-m" }, __classPrivateFieldGet(this, _GxIdeRestoreVersion_componentLocale, "f").descriptions.summary), h("div", { class: "field field-block" }, h("label", { class: "label", htmlFor: "versions-combo-box" }, __classPrivateFieldGet(this, _GxIdeRestoreVersion_componentLocale, "f").labels.fromVersion), h("div", { class: "versions-container" }, h("ch-combo-box-render", { class: "combo-box", id: "versions-combo-box", model: this.versionsComboBoxModel, placeholder: __classPrivateFieldGet(this, _GxIdeRestoreVersion_componentLocale, "f").placeHolders.fromVersion, value: this.selectedSourceVersionName, suggest: true, onInput: __classPrivateFieldGet(this, _GxIdeRestoreVersion_handleComboBoxInput, "f") }), h("button", { class: "button-tertiary button-icon-only", onClick: __classPrivateFieldGet(this, _GxIdeRestoreVersion_selectSourceVersionHandler, "f") }, h("ch-image", { src: SHOW_MORE_ICON, class: "icon-sm" }))))), __classPrivateFieldGet(this, _GxIdeRestoreVersion_renderFooter, "f").call(this)));
117
+ return (h(Host, { class: "widget" }, h("ch-theme", { model: CSS_BUNDLES }), h("ch-shortcuts", { src: __classPrivateFieldGet(this, _GxIdeRestoreVersion_shortcutsSrc, "f") }), h("div", { class: "main-container spacing-body" }, h("div", null, h("p", { class: "giu-static-pill-icon-and-text" }, h("ch-image", { class: "icon-md", type: "mask", src: VERSION_ICON }), h("span", null, `${__classPrivateFieldGet(this, _GxIdeRestoreVersion_componentLocale, "f").descriptions.pill} - ${this.toVersionInfo.name}`))), h("p", { class: "body-regular-m" }, __classPrivateFieldGet(this, _GxIdeRestoreVersion_componentLocale, "f").descriptions.summary), h("div", { class: "field field-block" }, h("label", { class: "label", htmlFor: "versions-combo-box" }, __classPrivateFieldGet(this, _GxIdeRestoreVersion_componentLocale, "f").labels.fromVersion), h("div", { class: "versions-container" }, h("ch-combo-box-render", { class: "combo-box", id: "versions-combo-box", model: this.versionsComboBoxModel, placeholder: __classPrivateFieldGet(this, _GxIdeRestoreVersion_componentLocale, "f").placeHolders.fromVersion, value: this.selectedSourceVersionName, suggest: true, onInput: __classPrivateFieldGet(this, _GxIdeRestoreVersion_handleComboBoxInput, "f") }), h("button", { id: "select-version-button", class: "button-tertiary button-icon-only", onClick: __classPrivateFieldGet(this, _GxIdeRestoreVersion_selectSourceVersionHandler, "f") }, h("ch-image", { src: SHOW_MORE_ICON, class: "icon-sm" }))))), __classPrivateFieldGet(this, _GxIdeRestoreVersion_renderFooter, "f").call(this)));
117
118
  }
118
119
  static get assetsDirs() { return ["gx-ide-assets/restore-version"]; }
119
120
  get el() { return getElement(this); }
@@ -121,7 +122,7 @@ const GxIdeRestoreVersion = class {
121
122
  "versions": ["versionsChanged"]
122
123
  }; }
123
124
  };
124
- _GxIdeRestoreVersion_componentLocale = new WeakMap(), _GxIdeRestoreVersion_confirmHandler = new WeakMap(), _GxIdeRestoreVersion_cancelHandler = new WeakMap(), _GxIdeRestoreVersion_versionsToComboBoxItemModel = new WeakMap(), _GxIdeRestoreVersion_handleComboBoxInput = new WeakMap(), _GxIdeRestoreVersion_selectSourceVersionHandler = new WeakMap(), _GxIdeRestoreVersion_renderFooter = new WeakMap();
125
+ _GxIdeRestoreVersion_componentLocale = new WeakMap(), _GxIdeRestoreVersion_shortcutsSrc = new WeakMap(), _GxIdeRestoreVersion_confirmHandler = new WeakMap(), _GxIdeRestoreVersion_cancelHandler = new WeakMap(), _GxIdeRestoreVersion_versionsToComboBoxItemModel = new WeakMap(), _GxIdeRestoreVersion_handleComboBoxInput = new WeakMap(), _GxIdeRestoreVersion_selectSourceVersionHandler = new WeakMap(), _GxIdeRestoreVersion_renderFooter = new WeakMap();
125
126
  GxIdeRestoreVersion.style = restoreVersionCss;
126
127
 
127
128
  export { GxIdeRestoreVersion as gx_ide_restore_version };
@@ -1 +1 @@
1
- {"file":"gx-ide-restore-version.entry.js","mappings":"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","names":[],"sources":["src/components/restore-version/restore-version.scss?tag=gx-ide-restore-version&encapsulation=shadow","src/components/restore-version/restore-version.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n\n:host {\n display: grid;\n block-size: 100%;\n grid-template-rows: 1fr max-content;\n}\n\n.main-container {\n display: grid;\n grid-template-rows: max-content max-content max-content;\n gap: var(--mer-spacing--md);\n}\n\n.versions-container {\n display: grid;\n grid-template-columns: 1fr max-content;\n gap: var(--mer-spacing--xs);\n\n .button-icon-only {\n border-color: var(--mer-color__neutral-gray--500);\n border-width: var(--mer-border__width--sm);\n border-radius: var(--mer-border__radius--sm);\n }\n\n .button-icon-only:hover {\n border-color: var(--mer-color__neutral-gray--100);\n }\n}\n\n.giu-static-pill-icon-and-text {\n background-color: var(--mer-surface__elevation--02);\n}\n","import {\n ChComboBoxRenderCustomEvent,\n ComboBoxModel\n} from \"@genexus/chameleon-controls-library\";\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport { Component, Element, h, Host, Prop, State, Watch } from \"@stencil/core\";\nimport { Locale } from \"../../common/locale\";\nimport { KBVersion } from \"../team-dev/version-control/common/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\n\nconst SHOW_MORE_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"show-more-horizontal\",\n colorType: \"on-elevation\"\n});\n\nconst VERSION_FROZEN_OBJECT_ICON = getIconPath({\n category: \"objects\",\n name: \"version-frozen\"\n});\n\nconst VERSION_OBJECT_ICON = getIconPath({\n category: \"objects\",\n name: \"version\"\n});\n\nconst VERSION_ICON = getIconPath({\n category: \"system\",\n name: \"version\",\n colorType: \"on-surface\"\n});\n\n// Uncomment this when the sync environments feature is available\n// const CHECKBOX_CHECKED_VALUE = \"true\";\n\n@Component({\n tag: \"gx-ide-restore-version\",\n styleUrl: \"restore-version.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/restore-version\"]\n})\nexport class GxIdeRestoreVersion {\n #componentLocale: any;\n\n @Element() el: HTMLGxIdeRestoreVersionElement;\n\n /**\n * Indicates if the environments should be synchronized.\n */\n @State() syncEnvironments: boolean = false;\n\n /**\n * Input value for the source version selector.\n */\n @State() selectedSourceVersionName: string = \"\";\n\n /**\n * Selected source version from version selector.\n */\n @State() selectedSourceVersion: KBVersion[] = [];\n\n /**\n * Combo box model for the versions selector.\n */\n @State() versionsComboBoxModel: ComboBoxModel = [];\n\n /**\n * Callback invoked by pressing the ellipsis in the version selector.\n */\n @Prop() readonly selectSourceVersionCallback!: () => Promise<KBVersion[]>;\n\n /**\n * Callback invoked by pressing the Confirm button.\n */\n @Prop() readonly confirmCallback!: (\n restoreVersionData: RestoreVersionData\n ) => Promise<void>;\n\n /**\n * Callback invoked by pressing the Cancel button.\n */\n @Prop() readonly cancelCallback!: () => Promise<void>;\n\n /**\n * The target version to which the restore will be made.\n */\n @Prop() readonly toVersionInfo!: KBVersion;\n\n /**\n * List of versions to show in the versions combo box.\n */\n @Prop() readonly versions!: KBVersion[];\n @Watch(\"versions\")\n versionsChanged() {\n this.#versionsToComboBoxItemModel(this.versions);\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#versionsToComboBoxItemModel(this.versions || []);\n }\n\n #confirmHandler = async () => {\n const restoreVersionData = {\n toVersionGuid: this.toVersionInfo.guid,\n toVersionName: this.toVersionInfo.name,\n fromVersionGuid: this.versions.find(\n version => version.name === this.selectedSourceVersionName\n ).guid,\n fromVersionName: this.selectedSourceVersionName,\n syncEnvironments: this.syncEnvironments\n };\n await this.confirmCallback(restoreVersionData);\n };\n\n #cancelHandler = async () => {\n await this.cancelCallback();\n };\n\n #versionsToComboBoxItemModel = (versions: KBVersion[]) => {\n this.versionsComboBoxModel = versions.map(version => ({\n caption: version.name,\n value: version.guid,\n startImgSrc: version.isFrozen\n ? VERSION_FROZEN_OBJECT_ICON\n : VERSION_OBJECT_ICON\n }));\n };\n\n #handleComboBoxInput = (\n event: ChComboBoxRenderCustomEvent<string> | InputEvent\n ) => {\n this.selectedSourceVersionName = event.detail as string;\n };\n // Uncomment this when the sync environments feature is available\n // #handleCheckBoxValueChange = (\n // event: ChCheckboxCustomEvent<any> | InputEvent\n // ) => {\n // this.syncEnvironments = event.detail === CHECKBOX_CHECKED_VALUE;\n // };\n\n #selectSourceVersionHandler = async () => {\n this.selectedSourceVersion = await this.selectSourceVersionCallback();\n this.selectedSourceVersionName = this.selectedSourceVersion[0].name;\n };\n\n #renderFooter = () => {\n const disableConfirmButton =\n !this.selectedSourceVersionName ||\n !this.versionsComboBoxModel.some(\n v => v.caption === this.selectedSourceVersionName\n );\n return (\n <footer class=\"footer control-footer-with-border spacing-body\">\n <div class=\"buttons-spacer\">\n <button class=\"button-secondary\" onClick={this.#cancelHandler}>\n {this.#componentLocale.footer.cancel}\n </button>\n\n <button\n class=\"button-primary\"\n onClick={this.#confirmHandler}\n disabled={disableConfirmButton}\n >\n {this.#componentLocale.footer.confirm}\n </button>\n </div>\n </footer>\n );\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <div class=\"main-container spacing-body\">\n <div>\n <p class=\"giu-static-pill-icon-and-text\">\n <ch-image\n class=\"icon-md\"\n type=\"mask\"\n src={VERSION_ICON}\n ></ch-image>\n <span>{`${this.#componentLocale.descriptions.pill} - ${this.toVersionInfo.name}`}</span>\n </p>\n </div>\n <p class=\"body-regular-m\">\n {this.#componentLocale.descriptions.summary}\n </p>\n\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"versions-combo-box\">\n {this.#componentLocale.labels.fromVersion}\n </label>\n <div class=\"versions-container\">\n <ch-combo-box-render\n class=\"combo-box\"\n id=\"versions-combo-box\"\n model={this.versionsComboBoxModel}\n placeholder={this.#componentLocale.placeHolders.fromVersion}\n value={this.selectedSourceVersionName}\n suggest={true}\n onInput={this.#handleComboBoxInput}\n />\n <button\n class=\"button-tertiary button-icon-only\"\n onClick={this.#selectSourceVersionHandler}\n >\n <ch-image src={SHOW_MORE_ICON} class=\"icon-sm\"></ch-image>\n </button>\n </div>\n </div>\n\n {\n // Uncomment this when the sync environments feature is available\n /* <ch-checkbox\n class=\"checkbox\"\n caption={this.#componentLocale.buttons.syncEnvironments}\n checkedValue={CHECKBOX_CHECKED_VALUE}\n onInput={this.#handleCheckBoxValueChange}\n /> */\n }\n </div>\n {this.#renderFooter()}\n </Host>\n );\n }\n}\n\nexport type RestoreVersionData = {\n fromVersionName: string;\n fromVersionGuid: string;\n toVersionGuid: string;\n toVersionName: string;\n syncEnvironments: boolean;\n};\n"],"version":3}
1
+ {"file":"gx-ide-restore-version.entry.js","mappings":"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","names":[],"sources":["src/components/restore-version/restore-version.scss?tag=gx-ide-restore-version&encapsulation=shadow","src/components/restore-version/restore-version.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n\n:host {\n display: grid;\n block-size: 100%;\n grid-template-rows: 1fr max-content;\n}\n\n.main-container {\n display: grid;\n grid-template-rows: max-content max-content max-content;\n gap: var(--mer-spacing--md);\n}\n\n.versions-container {\n display: grid;\n grid-template-columns: 1fr max-content;\n gap: var(--mer-spacing--xs);\n\n .button-icon-only {\n border-color: var(--mer-color__neutral-gray--500);\n border-width: var(--mer-border__width--sm);\n border-radius: var(--mer-border__radius--sm);\n }\n\n .button-icon-only:hover {\n border-color: var(--mer-color__neutral-gray--100);\n }\n}\n\n.giu-static-pill-icon-and-text {\n background-color: var(--mer-surface__elevation--02);\n}\n","import {\n ChComboBoxRenderCustomEvent,\n ComboBoxModel\n} from \"@genexus/chameleon-controls-library\";\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport {\n Component,\n Element,\n getAssetPath,\n h,\n Host,\n Prop,\n State,\n Watch\n} from \"@stencil/core\";\nimport { Locale } from \"../../common/locale\";\nimport { KBVersion } from \"../team-dev/version-control/common/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\n\nconst SHOW_MORE_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"show-more-horizontal\",\n colorType: \"on-elevation\"\n});\n\nconst VERSION_FROZEN_OBJECT_ICON = getIconPath({\n category: \"objects\",\n name: \"version-frozen\"\n});\n\nconst VERSION_OBJECT_ICON = getIconPath({\n category: \"objects\",\n name: \"version\"\n});\n\nconst VERSION_ICON = getIconPath({\n category: \"system\",\n name: \"version\",\n colorType: \"on-surface\"\n});\n\n// Uncomment this when the sync environments feature is available\n// const CHECKBOX_CHECKED_VALUE = \"true\";\n\n@Component({\n tag: \"gx-ide-restore-version\",\n styleUrl: \"restore-version.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/restore-version\"]\n})\nexport class GxIdeRestoreVersion {\n #componentLocale: any;\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/restore-version/shortcuts.json`\n );\n @Element() el: HTMLGxIdeRestoreVersionElement;\n\n /**\n * Indicates if the environments should be synchronized.\n */\n @State() syncEnvironments: boolean = false;\n\n /**\n * Input value for the source version selector.\n */\n @State() selectedSourceVersionName: string = \"\";\n\n /**\n * Selected source version from version selector.\n */\n @State() selectedSourceVersion: KBVersion[] = [];\n\n /**\n * Combo box model for the versions selector.\n */\n @State() versionsComboBoxModel: ComboBoxModel = [];\n\n /**\n * Callback invoked by pressing the ellipsis in the version selector.\n */\n @Prop() readonly selectSourceVersionCallback!: () => Promise<KBVersion[]>;\n\n /**\n * Callback invoked by pressing the Confirm button.\n */\n @Prop() readonly confirmCallback!: (\n restoreVersionData: RestoreVersionData\n ) => Promise<void>;\n\n /**\n * Callback invoked by pressing the Cancel button.\n */\n @Prop() readonly cancelCallback!: () => Promise<void>;\n\n /**\n * The target version to which the restore will be made.\n */\n @Prop() readonly toVersionInfo!: KBVersion;\n\n /**\n * List of versions to show in the versions combo box.\n */\n @Prop() readonly versions!: KBVersion[];\n @Watch(\"versions\")\n versionsChanged() {\n this.#versionsToComboBoxItemModel(this.versions);\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#versionsToComboBoxItemModel(this.versions || []);\n }\n\n #confirmHandler = async () => {\n const restoreVersionData = {\n toVersionGuid: this.toVersionInfo.guid,\n toVersionName: this.toVersionInfo.name,\n fromVersionGuid: this.versions.find(\n version => version.name === this.selectedSourceVersionName\n ).guid,\n fromVersionName: this.selectedSourceVersionName,\n syncEnvironments: this.syncEnvironments\n };\n await this.confirmCallback(restoreVersionData);\n };\n\n #cancelHandler = async () => {\n await this.cancelCallback();\n };\n\n #versionsToComboBoxItemModel = (versions: KBVersion[]) => {\n this.versionsComboBoxModel = versions.map(version => ({\n caption: version.name,\n value: version.guid,\n startImgSrc: version.isFrozen\n ? VERSION_FROZEN_OBJECT_ICON\n : VERSION_OBJECT_ICON\n }));\n };\n\n #handleComboBoxInput = (\n event: ChComboBoxRenderCustomEvent<string> | InputEvent\n ) => {\n this.selectedSourceVersionName = event.detail as string;\n };\n // Uncomment this when the sync environments feature is available\n // #handleCheckBoxValueChange = (\n // event: ChCheckboxCustomEvent<any> | InputEvent\n // ) => {\n // this.syncEnvironments = event.detail === CHECKBOX_CHECKED_VALUE;\n // };\n\n #selectSourceVersionHandler = async () => {\n this.selectedSourceVersion = await this.selectSourceVersionCallback();\n this.selectedSourceVersionName = this.selectedSourceVersion[0].name;\n };\n\n #renderFooter = () => {\n const disableConfirmButton =\n !this.selectedSourceVersionName ||\n !this.versionsComboBoxModel.some(\n v => v.caption === this.selectedSourceVersionName\n );\n return (\n <footer class=\"footer control-footer-with-border spacing-body\">\n <div class=\"buttons-spacer\">\n <button\n id=\"cancel-button\"\n class=\"button-secondary\"\n onClick={this.#cancelHandler}\n >\n {this.#componentLocale.footer.cancel}\n </button>\n\n <button\n id=\"confirm-button\"\n class=\"button-primary\"\n onClick={this.#confirmHandler}\n disabled={disableConfirmButton}\n >\n {this.#componentLocale.footer.confirm}\n </button>\n </div>\n </footer>\n );\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts src={this.#shortcutsSrc}></ch-shortcuts>\n\n <div class=\"main-container spacing-body\">\n <div>\n <p class=\"giu-static-pill-icon-and-text\">\n <ch-image\n class=\"icon-md\"\n type=\"mask\"\n src={VERSION_ICON}\n ></ch-image>\n <span>{`${this.#componentLocale.descriptions.pill} - ${this.toVersionInfo.name}`}</span>\n </p>\n </div>\n <p class=\"body-regular-m\">\n {this.#componentLocale.descriptions.summary}\n </p>\n\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"versions-combo-box\">\n {this.#componentLocale.labels.fromVersion}\n </label>\n <div class=\"versions-container\">\n <ch-combo-box-render\n class=\"combo-box\"\n id=\"versions-combo-box\"\n model={this.versionsComboBoxModel}\n placeholder={this.#componentLocale.placeHolders.fromVersion}\n value={this.selectedSourceVersionName}\n suggest={true}\n onInput={this.#handleComboBoxInput}\n />\n <button\n id=\"select-version-button\"\n class=\"button-tertiary button-icon-only\"\n onClick={this.#selectSourceVersionHandler}\n >\n <ch-image src={SHOW_MORE_ICON} class=\"icon-sm\"></ch-image>\n </button>\n </div>\n </div>\n\n {\n // Uncomment this when the sync environments feature is available\n /* <ch-checkbox\n class=\"checkbox\"\n caption={this.#componentLocale.buttons.syncEnvironments}\n checkedValue={CHECKBOX_CHECKED_VALUE}\n onInput={this.#handleCheckBoxValueChange}\n /> */\n }\n </div>\n {this.#renderFooter()}\n </Host>\n );\n }\n}\n\nexport type RestoreVersionData = {\n fromVersionName: string;\n fromVersionGuid: string;\n toVersionGuid: string;\n toVersionName: string;\n syncEnvironments: boolean;\n};\n"],"version":3}
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host, a as getElement } from './index-b153bfd0.js';
1
+ import { r as registerInstance, g as getAssetPath, h, H as Host, a as getElement } from './index-b153bfd0.js';
2
2
  import { g as getIconPath } from './assets-manager-7d6fc08f.js';
3
3
  import './mer-animated-dots-75d88f7e.js';
4
4
  import 'lit';
@@ -27,7 +27,7 @@ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) ||
27
27
  throw new TypeError("Cannot write private member to an object whose class did not declare it");
28
28
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
29
29
  };
30
- var _GxIdeServerSelector__componentLocale, _GxIdeServerSelector_chGridAllServersEl, _GxIdeServerSelector_serverUrlEL, _GxIdeServerSelector_serverFriendlyNameEL, _GxIdeServerSelector_updatedServerName, _GxIdeServerSelector_serverNameEditElsMap, _GxIdeServerSelector_versionsSelect, _GxIdeServerSelector_cancelHandler, _GxIdeServerSelector_confirmHandler, _GxIdeServerSelector_evaluateTooltipRender, _GxIdeServerSelector_initializeValidatableControls, _GxIdeServerSelector_filterValueChangedHandler, _GxIdeServerSelector_inputHandler, _GxIdeServerSelector_handleRecentlyUsedCardClick, _GxIdeServerSelector_handleDeleteServer, _GxIdeServerSelector_onServerNameInput, _GxIdeServerSelector_onServerNameChange, _GxIdeServerSelector_enableConfirmButton, _GxIdeServerSelector_onRecentlyUsedDoubleClickHandler, _GxIdeServerSelector_onServersRowClickHandler, _GxIdeServerSelector_handleServerSelection, _GxIdeServerSelector_connectionTypeChangedHandler, _GxIdeServerSelector_sortTabularGridColumnCallback, _GxIdeServerSelector_renderTabularGridColumnSet, _GxIdeServerSelector_renderTooltip, _GxIdeServerSelector_renderServerNameErrorMessage, _GxIdeServerSelector_renderTabularGridCommonCells, _GxIdeServerSelector_renderAllServersGrid, _GxIdeServerSelector_renderIcon, _GxIdeServerSelector_renderFooter, _GxIdeServerSelector_renderRecentlyUsed, _GxIdeServerSelector_renderAllServers;
30
+ var _GxIdeServerSelector__componentLocale, _GxIdeServerSelector_chGridAllServersEl, _GxIdeServerSelector_serverUrlEL, _GxIdeServerSelector_serverFriendlyNameEL, _GxIdeServerSelector_updatedServerName, _GxIdeServerSelector_serverNameEditElsMap, _GxIdeServerSelector_versionsSelect, _GxIdeServerSelector_shortcutsSrc, _GxIdeServerSelector_cancelHandler, _GxIdeServerSelector_confirmHandler, _GxIdeServerSelector_evaluateTooltipRender, _GxIdeServerSelector_initializeValidatableControls, _GxIdeServerSelector_filterValueChangedHandler, _GxIdeServerSelector_inputHandler, _GxIdeServerSelector_handleRecentlyUsedCardClick, _GxIdeServerSelector_handleDeleteServer, _GxIdeServerSelector_onServerNameInput, _GxIdeServerSelector_onServerNameChange, _GxIdeServerSelector_enableConfirmButton, _GxIdeServerSelector_onRecentlyUsedDoubleClickHandler, _GxIdeServerSelector_onServersRowClickHandler, _GxIdeServerSelector_handleServerSelection, _GxIdeServerSelector_connectionTypeChangedHandler, _GxIdeServerSelector_sortTabularGridColumnCallback, _GxIdeServerSelector_renderTabularGridColumnSet, _GxIdeServerSelector_renderTooltip, _GxIdeServerSelector_renderServerNameErrorMessage, _GxIdeServerSelector_renderTabularGridCommonCells, _GxIdeServerSelector_renderAllServersGrid, _GxIdeServerSelector_renderIcon, _GxIdeServerSelector_renderFooter, _GxIdeServerSelector_renderRecentlyUsed, _GxIdeServerSelector_renderAllServers;
31
31
  const CSS_BUNDLES = [
32
32
  "resets/box-sizing",
33
33
  "utils/form--full",
@@ -79,6 +79,7 @@ const GxIdeServerSelector = class {
79
79
  _GxIdeServerSelector_updatedServerName.set(this, void 0);
80
80
  _GxIdeServerSelector_serverNameEditElsMap.set(this, new Map());
81
81
  _GxIdeServerSelector_versionsSelect.set(this, []);
82
+ _GxIdeServerSelector_shortcutsSrc.set(this, getAssetPath(`./gx-ide-assets/server-selector/shortcuts.json`));
82
83
  _GxIdeServerSelector_cancelHandler.set(this, () => {
83
84
  this.cancelCallback();
84
85
  });
@@ -227,7 +228,7 @@ const GxIdeServerSelector = class {
227
228
  } })) : (serverData.serverName)),
228
229
  h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, serverData.serverUrl, __classPrivateFieldGet(this, _GxIdeServerSelector_renderTooltip, "f").call(this, serverData.serverUrl)),
229
230
  h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, serverData.gxServerUsername),
230
- h("ch-tabular-grid-cell", { class: "tabular-grid-cell", onClick: () => __classPrivateFieldGet(this, _GxIdeServerSelector_handleDeleteServer, "f").call(this, serverData) }, h("button", { class: "button-tertiary button-icon-only", "aria-label": __classPrivateFieldGet(this, _GxIdeServerSelector__componentLocale, "f").actions.deleteServer, disabled: serverData.accessLevel === "public" }, h("ch-image", { disabled: serverData.accessLevel === "public", class: "icon-md delete-server-icon", src: DELETE_ICON })))
231
+ h("ch-tabular-grid-cell", { class: "tabular-grid-cell", onClick: () => __classPrivateFieldGet(this, _GxIdeServerSelector_handleDeleteServer, "f").call(this, serverData) }, h("button", { id: "delete-button", class: "button-tertiary button-icon-only", "aria-label": __classPrivateFieldGet(this, _GxIdeServerSelector__componentLocale, "f").actions.deleteServer, disabled: serverData.accessLevel === "public" }, h("ch-image", { disabled: serverData.accessLevel === "public", class: "icon-md delete-server-icon", src: DELETE_ICON })))
231
232
  ];
232
233
  });
233
234
  _GxIdeServerSelector_renderAllServersGrid.set(this, () => {
@@ -254,10 +255,10 @@ const GxIdeServerSelector = class {
254
255
  "spacing-body-block": true
255
256
  } }, isSelectionMode && (h("p", { class: "body-italic-m" }, "Selected: ", this.selectedServerName)), h("div", { class: "buttons-spacer" }, h("button", {
256
257
  // cancel button
257
- class: "button-secondary", onClick: __classPrivateFieldGet(this, _GxIdeServerSelector_cancelHandler, "f")
258
+ id: "cancel-button", class: "button-secondary", onClick: __classPrivateFieldGet(this, _GxIdeServerSelector_cancelHandler, "f")
258
259
  }, __classPrivateFieldGet(this, _GxIdeServerSelector__componentLocale, "f").footer.cancel), h("button", {
259
260
  // confirm button
260
- class: "button-primary", onClick: this.enableConfirmButton && __classPrivateFieldGet(this, _GxIdeServerSelector_confirmHandler, "f"), disabled: !this.enableConfirmButton
261
+ id: "confirm-button", class: "button-primary", onClick: this.enableConfirmButton && __classPrivateFieldGet(this, _GxIdeServerSelector_confirmHandler, "f"), disabled: !this.enableConfirmButton
261
262
  }, __classPrivateFieldGet(this, _GxIdeServerSelector__componentLocale, "f").footer.confirm))));
262
263
  });
263
264
  _GxIdeServerSelector_renderRecentlyUsed.set(this, () => {
@@ -267,7 +268,7 @@ const GxIdeServerSelector = class {
267
268
  "layout": true,
268
269
  "layout--cols-3": this.recentlyUsedServersData.length >= 3,
269
270
  "layout--cols-2": this.recentlyUsedServersData.length <= 2
270
- } }, this.recentlyUsedServersData.map((server) => (h("button", { class: {
271
+ } }, this.recentlyUsedServersData.map((server, index) => (h("button", { id: "recently-used-server-" + index, class: {
271
272
  "layout__panel": true,
272
273
  "recently-used-card": true,
273
274
  "recently-used-card--selected": this.selectedRecentlyUsedId === server.id
@@ -336,7 +337,7 @@ const GxIdeServerSelector = class {
336
337
  "widget elevation-1": true,
337
338
  "new-connection": this.selectedConnectionType === "new",
338
339
  "recently-used-empty": this.recentlyUsedServersData.length === 0
339
- } }, h("ch-theme", { model: CSS_BUNDLES }), h("main", { class: "section" }, h("header", { class: "header spacing-body-block-start spacing-body-inline" }, h("div", { class: "field-group" }, h("label", { class: "body-regular-m text-neutral-gray-400" }, __classPrivateFieldGet(this, _GxIdeServerSelector__componentLocale, "f").header.title), h("ch-radio-group-render", { class: "radio-group", model: __classPrivateFieldGet(this, _GxIdeServerSelector_versionsSelect, "f"), onChange: __classPrivateFieldGet(this, _GxIdeServerSelector_connectionTypeChangedHandler, "f"), value: __classPrivateFieldGet(this, _GxIdeServerSelector_versionsSelect, "f")[0].value }), this.selectedConnectionType === "select" && (h("ch-edit", { class: "input search-server", id: "server-name-search", startImgSrc: SEARCH_ICON, onInput: __classPrivateFieldGet(this, _GxIdeServerSelector_filterValueChangedHandler, "f"), placeholder: __classPrivateFieldGet(this, _GxIdeServerSelector__componentLocale, "f").placeholders.searchServers, accessibleName: "search server", type: "search" })))), this.selectedConnectionType === "select" && [
340
+ } }, h("ch-theme", { model: CSS_BUNDLES }), h("ch-shortcuts", { src: __classPrivateFieldGet(this, _GxIdeServerSelector_shortcutsSrc, "f") }), h("main", { class: "section" }, h("header", { class: "header spacing-body-block-start spacing-body-inline" }, h("div", { class: "field-group" }, h("label", { class: "body-regular-m text-neutral-gray-400" }, __classPrivateFieldGet(this, _GxIdeServerSelector__componentLocale, "f").header.title), h("ch-radio-group-render", { class: "radio-group", model: __classPrivateFieldGet(this, _GxIdeServerSelector_versionsSelect, "f"), onChange: __classPrivateFieldGet(this, _GxIdeServerSelector_connectionTypeChangedHandler, "f"), value: __classPrivateFieldGet(this, _GxIdeServerSelector_versionsSelect, "f")[0].value }), this.selectedConnectionType === "select" && (h("ch-edit", { class: "input search-server", id: "server-name-search", startImgSrc: SEARCH_ICON, onInput: __classPrivateFieldGet(this, _GxIdeServerSelector_filterValueChangedHandler, "f"), placeholder: __classPrivateFieldGet(this, _GxIdeServerSelector__componentLocale, "f").placeholders.searchServers, accessibleName: "search server", type: "search" })))), this.selectedConnectionType === "select" && [
340
341
  __classPrivateFieldGet(this, _GxIdeServerSelector_renderRecentlyUsed, "f").call(this),
341
342
  __classPrivateFieldGet(this, _GxIdeServerSelector_renderAllServers, "f").call(this)
342
343
  ], this.selectedConnectionType === "new" && (h("section", { class: "spacing-body-inline" }, h("div", { class: "layout layout--cols-2" }, h("div", { class: "field field-block layout__panel" }, h("label", { class: "label", htmlFor: "server-url" }, __classPrivateFieldGet(this, _GxIdeServerSelector__componentLocale, "f").labels.serverUrl), h("ch-edit", {
@@ -353,7 +354,7 @@ const GxIdeServerSelector = class {
353
354
  "serversData": ["serversDataChanged"]
354
355
  }; }
355
356
  };
356
- _GxIdeServerSelector__componentLocale = new WeakMap(), _GxIdeServerSelector_chGridAllServersEl = new WeakMap(), _GxIdeServerSelector_serverUrlEL = new WeakMap(), _GxIdeServerSelector_serverFriendlyNameEL = new WeakMap(), _GxIdeServerSelector_updatedServerName = new WeakMap(), _GxIdeServerSelector_serverNameEditElsMap = new WeakMap(), _GxIdeServerSelector_versionsSelect = new WeakMap(), _GxIdeServerSelector_cancelHandler = new WeakMap(), _GxIdeServerSelector_confirmHandler = new WeakMap(), _GxIdeServerSelector_evaluateTooltipRender = new WeakMap(), _GxIdeServerSelector_initializeValidatableControls = new WeakMap(), _GxIdeServerSelector_filterValueChangedHandler = new WeakMap(), _GxIdeServerSelector_inputHandler = new WeakMap(), _GxIdeServerSelector_handleRecentlyUsedCardClick = new WeakMap(), _GxIdeServerSelector_handleDeleteServer = new WeakMap(), _GxIdeServerSelector_onServerNameInput = new WeakMap(), _GxIdeServerSelector_onServerNameChange = new WeakMap(), _GxIdeServerSelector_enableConfirmButton = new WeakMap(), _GxIdeServerSelector_onRecentlyUsedDoubleClickHandler = new WeakMap(), _GxIdeServerSelector_onServersRowClickHandler = new WeakMap(), _GxIdeServerSelector_handleServerSelection = new WeakMap(), _GxIdeServerSelector_connectionTypeChangedHandler = new WeakMap(), _GxIdeServerSelector_sortTabularGridColumnCallback = new WeakMap(), _GxIdeServerSelector_renderTabularGridColumnSet = new WeakMap(), _GxIdeServerSelector_renderTooltip = new WeakMap(), _GxIdeServerSelector_renderServerNameErrorMessage = new WeakMap(), _GxIdeServerSelector_renderTabularGridCommonCells = new WeakMap(), _GxIdeServerSelector_renderAllServersGrid = new WeakMap(), _GxIdeServerSelector_renderIcon = new WeakMap(), _GxIdeServerSelector_renderFooter = new WeakMap(), _GxIdeServerSelector_renderRecentlyUsed = new WeakMap(), _GxIdeServerSelector_renderAllServers = new WeakMap();
357
+ _GxIdeServerSelector__componentLocale = new WeakMap(), _GxIdeServerSelector_chGridAllServersEl = new WeakMap(), _GxIdeServerSelector_serverUrlEL = new WeakMap(), _GxIdeServerSelector_serverFriendlyNameEL = new WeakMap(), _GxIdeServerSelector_updatedServerName = new WeakMap(), _GxIdeServerSelector_serverNameEditElsMap = new WeakMap(), _GxIdeServerSelector_versionsSelect = new WeakMap(), _GxIdeServerSelector_shortcutsSrc = new WeakMap(), _GxIdeServerSelector_cancelHandler = new WeakMap(), _GxIdeServerSelector_confirmHandler = new WeakMap(), _GxIdeServerSelector_evaluateTooltipRender = new WeakMap(), _GxIdeServerSelector_initializeValidatableControls = new WeakMap(), _GxIdeServerSelector_filterValueChangedHandler = new WeakMap(), _GxIdeServerSelector_inputHandler = new WeakMap(), _GxIdeServerSelector_handleRecentlyUsedCardClick = new WeakMap(), _GxIdeServerSelector_handleDeleteServer = new WeakMap(), _GxIdeServerSelector_onServerNameInput = new WeakMap(), _GxIdeServerSelector_onServerNameChange = new WeakMap(), _GxIdeServerSelector_enableConfirmButton = new WeakMap(), _GxIdeServerSelector_onRecentlyUsedDoubleClickHandler = new WeakMap(), _GxIdeServerSelector_onServersRowClickHandler = new WeakMap(), _GxIdeServerSelector_handleServerSelection = new WeakMap(), _GxIdeServerSelector_connectionTypeChangedHandler = new WeakMap(), _GxIdeServerSelector_sortTabularGridColumnCallback = new WeakMap(), _GxIdeServerSelector_renderTabularGridColumnSet = new WeakMap(), _GxIdeServerSelector_renderTooltip = new WeakMap(), _GxIdeServerSelector_renderServerNameErrorMessage = new WeakMap(), _GxIdeServerSelector_renderTabularGridCommonCells = new WeakMap(), _GxIdeServerSelector_renderAllServersGrid = new WeakMap(), _GxIdeServerSelector_renderIcon = new WeakMap(), _GxIdeServerSelector_renderFooter = new WeakMap(), _GxIdeServerSelector_renderRecentlyUsed = new WeakMap(), _GxIdeServerSelector_renderAllServers = new WeakMap();
357
358
  GxIdeServerSelector.style = serverSelectorCss;
358
359
 
359
360
  export { GxIdeServerSelector as gx_ide_server_selector };