@genexus/genexus-ide-ui 1.1.68 → 1.1.69

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 (58) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  3. package/dist/cjs/gx-ide-restore-version.cjs.entry.js +133 -0
  4. package/dist/cjs/gx-ide-restore-version.cjs.entry.js.map +1 -0
  5. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +38 -9
  6. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js.map +1 -1
  7. package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/collection/collection-manifest.json +1 -0
  10. package/dist/collection/components/restore-version/gx-ide-assets/restore-version/langs/restore-version.lang.en.json +19 -0
  11. package/dist/collection/components/restore-version/gx-ide-assets/restore-version/langs/restore-version.lang.ja.json +19 -0
  12. package/dist/collection/components/restore-version/gx-ide-assets/restore-version/langs/restore-version.lang.zh.json +19 -0
  13. package/dist/collection/components/restore-version/restore-version.css +651 -0
  14. package/dist/collection/components/restore-version/restore-version.js +258 -0
  15. package/dist/collection/components/restore-version/restore-version.js.map +1 -0
  16. package/dist/collection/components/select-kb-items/select-kb-items.js +56 -9
  17. package/dist/collection/components/select-kb-items/select-kb-items.js.map +1 -1
  18. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js +4 -5
  19. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js.map +1 -1
  20. package/dist/collection/components/team-dev/share-kb/share-kb.js +4 -5
  21. package/dist/collection/components/team-dev/share-kb/share-kb.js.map +1 -1
  22. package/dist/collection/components/team-dev/version-control/common/types.js.map +1 -1
  23. package/dist/collection/testing/locale.e2e.js +2 -1
  24. package/dist/collection/testing/locale.e2e.js.map +1 -1
  25. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  26. package/dist/components/gx-ide-restore-version.d.ts +11 -0
  27. package/dist/components/gx-ide-restore-version.js +158 -0
  28. package/dist/components/gx-ide-restore-version.js.map +1 -0
  29. package/dist/components/gx-ide-share-kb.js.map +1 -1
  30. package/dist/components/select-kb-items.js +39 -9
  31. package/dist/components/select-kb-items.js.map +1 -1
  32. package/dist/esm/genexus-ide-ui.js +1 -1
  33. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  34. package/dist/esm/gx-ide-restore-version.entry.js +129 -0
  35. package/dist/esm/gx-ide-restore-version.entry.js.map +1 -0
  36. package/dist/esm/gx-ide-select-kb-items.entry.js +38 -9
  37. package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
  38. package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
  39. package/dist/esm/loader.js +1 -1
  40. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  41. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  42. package/dist/genexus-ide-ui/gx-ide-assets/restore-version/langs/restore-version.lang.en.json +19 -0
  43. package/dist/genexus-ide-ui/gx-ide-assets/restore-version/langs/restore-version.lang.ja.json +19 -0
  44. package/dist/genexus-ide-ui/gx-ide-assets/restore-version/langs/restore-version.lang.zh.json +19 -0
  45. package/dist/genexus-ide-ui/{p-f83c415c.entry.js → p-8897c6de.entry.js} +88 -64
  46. package/dist/genexus-ide-ui/p-8897c6de.entry.js.map +1 -0
  47. package/dist/genexus-ide-ui/p-93e79d19.entry.js.map +1 -1
  48. package/dist/genexus-ide-ui/p-9ffa7afd.entry.js.map +1 -1
  49. package/dist/genexus-ide-ui/p-c3cc759d.entry.js +182 -0
  50. package/dist/genexus-ide-ui/p-c3cc759d.entry.js.map +1 -0
  51. package/dist/types/components/restore-version/restore-version.d.ts +52 -0
  52. package/dist/types/components/select-kb-items/select-kb-items.d.ts +4 -0
  53. package/dist/types/components/team-dev/create-kb-from-server/create-kb-from-server.d.ts +4 -9
  54. package/dist/types/components/team-dev/share-kb/share-kb.d.ts +3 -8
  55. package/dist/types/components/team-dev/version-control/common/types.d.ts +6 -0
  56. package/dist/types/components.d.ts +75 -8
  57. package/package.json +1 -1
  58. package/dist/genexus-ide-ui/p-f83c415c.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["shareKbCss","CSS_BUNDLES","GxIdeShareKb","_GxIdeShareKb_showMoreIcon","set","this","getIconPath","category","name","colorType","_GxIdeShareKb_versionsSelect","value","caption","_GxIdeShareKb__componentLocale","_GxIdeShareKb_kbVersions","_GxIdeShareKb_renderedFirstTime","_GxIdeShareKb_shortcutsSrc","getAssetPath","_GxIdeShareKb_selectedKbId","_GxIdeShareKb_versionSelectedTypeEl","_GxIdeShareKb_KBNameEl","_GxIdeShareKb_cancelHandler","cancelCallback","_GxIdeShareKb_changeConnectionHandler","async","changeConnectionCallback","authenticationType","connectionData","serverUrl","userName","userPassword","_GxIdeShareKb_shareKBHandler","versionSelectedType","__classPrivateFieldSet","shareKBCallback","kbName","versionList","__classPrivateFieldGet","allVersions","then","formSubmitResult","validatableControls","validateControls","_GxIdeShareKb_evaluateTooltipRender","controlReference","_b","_a","get","id","hasError","_c","message","h","class","actionElement","blockAlign","config","tooltipSettings","inlineAlign","delay","_GxIdeShareKb_initializeValidatableControls","forEach","validatableControl","reference","undefined","_GxIdeShareKb_kbNameInputHandler","event","detail","_GxIdeShareKb_selectedVersionHandler","selectKBVersionsCallback","result","length","map","kbVersion","localKbNameInputValue","versionsValueInput","kb","versionsPlaceholder","toString","versionSelectedFieldValue","oneVersionSelectedFieldValue","_GxIdeShareKb_versionsChangedHandler","enableSelectVersionsButton","_GxIdeShareKb_renderFooter","disableShareKbButton","onClick","part","footer","cancel","disabled","shareKB","Map","componentDidLoad","call","componentDidRender","componentDidRenderFirstTime","emit","componentName","componentWillLoad","Locale","getComponentStrings","el","render","Host","model","src","ref","chShortcutsEl","header","user","change","htmlFor","aliasLabel","onInput","placeholder","localKbNamePlaceholder","onChange","versionsLabel","readonly","versionsPlaceholderDisabled"],"sources":["src/components/team-dev/share-kb/share-kb.scss?tag=gx-ide-share-kb&encapsulation=shadow","src/components/team-dev/share-kb/share-kb.tsx"],"sourcesContent":[":host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.section {\n display: contents;\n}\n\n// - - - - - - - - - - -\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}\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\n.button-icon-only.button-tertiary {\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","// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Element,\n State,\n getAssetPath\n} from \"@stencil/core\";\n\n// Other Libraries\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n\n// Custom Imports\nimport { config } from \"../../../common/config\";\nimport { GXServerConnectionData } from \"../connect-gx-server/connect-gx-server\";\nimport { FormSubmitResult } from \"../../../common/types\";\nimport {\n ControlValidation,\n validateControls\n} from \"../../../common/form-validation\";\nimport { Locale } from \"../../../common/locale\";\nimport { RadioGroupItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/radio-group/types\";\nimport { ChEditCustomEvent } from \"@genexus/chameleon-controls-library\";\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\n@Component({\n tag: \"gx-ide-share-kb\",\n styleUrl: \"share-kb.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/share-kb\"]\n})\nexport class GxIdeShareKb {\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 #kbVersions: KBVersion[] = [];\n #renderedFirstTime = false;\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/create-kb-from-server/shortcuts.json`\n );\n #selectedKbId: string;\n\n #versionSelectedTypeEl: HTMLChRadioGroupRenderElement;\n\n @Element() el: HTMLGxIdeShareKbElement;\n\n #KBNameEl!: HTMLChEditElement;\n\n /**\n * State to enable/disable the select versions button\n */\n @State() enableSelectVersionsButton: boolean = false;\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 * The name of the KB.\n */\n @Prop({ mutable: true }) kbName: string;\n\n /**\n * Callback that must be invoked when the Share button is pressed.\n */\n @Prop() readonly shareKBCallback: (\n data: ShareKBData\n ) => Promise<FormSubmitResult>;\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 /**\n * Emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n componentDidLoad() {\n this.versionSelectedType = this.#versionSelectedTypeEl\n .value as VersionOption;\n\n this.#initializeValidatableControls();\n }\n\n componentDidRender() {\n if (!this.#renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this.#_componentLocale.componentName\n );\n this.#renderedFirstTime = true;\n }\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 #shareKBHandler = async (): Promise<void> => {\n if (this.versionSelectedType !== \"Select\") {\n this.#kbVersions = [];\n }\n this.shareKBCallback({\n name: this.kbName,\n serverUrl: this.connectionData.serverUrl,\n versionList: this.#kbVersions,\n allVersions: this.versionSelectedType === \"All\"\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 #initializeValidatableControls = () => {\n // populate validatableControls with the controls that could have errors.\n const validatableControls: HTMLElement[] = [this.#KBNameEl];\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 #kbNameInputHandler = (event: ChEditCustomEvent<string> | InputEvent) => {\n this.kbName = event.detail as string;\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 #versionsChangedHandler = (event: CustomEvent<string>) => {\n this.versionSelectedType = event.detail as VersionOption;\n if (this.versionSelectedType === \"Select\") {\n this.enableSelectVersionsButton = true;\n } else {\n this.enableSelectVersionsButton = false;\n }\n };\n\n #renderFooter = () => {\n const disableShareKbButton = !this.kbName.length;\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 // share kb button\n class=\"button-primary\"\n onClick={!disableShareKbButton && this.#shareKBHandler}\n disabled={disableShareKbButton}\n part=\"button button-create-kb\"\n >\n {this.#_componentLocale.footer.shareKB}\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\n <section class=\"main field-group spacing-body\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"alias\">\n {this.#_componentLocale.kb.aliasLabel}\n </label>\n <ch-edit\n // alias\n class=\"input\"\n id=\"kb-name\"\n value={this.kbName}\n onInput={this.#kbNameInputHandler}\n placeholder={this.#_componentLocale.kb.localKbNamePlaceholder}\n ref={(el: HTMLChEditElement) =>\n (this.#KBNameEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#KBNameEl)}\n </div>\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 }\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 </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 KBVersion = {\n id: number;\n name: string;\n type?: VersionType;\n};\n\nexport type ConnectionResultData = {\n formResult: FormSubmitResult;\n kbs: KBData[];\n};\n\nexport type ShareKBData = {\n name: string;\n serverUrl: string;\n versionList: KBVersion[];\n allVersions: boolean;\n};\n\nexport type VersionOption = \"Trunk\" | \"All\" | \"Select\";\n\nexport type VersionType = \"Branch\" | \"Frozen\";\n"],"mappings":"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"}
1
+ {"version":3,"names":["shareKbCss","CSS_BUNDLES","GxIdeShareKb","_GxIdeShareKb_showMoreIcon","set","this","getIconPath","category","name","colorType","_GxIdeShareKb_versionsSelect","value","caption","_GxIdeShareKb__componentLocale","_GxIdeShareKb_kbVersions","_GxIdeShareKb_renderedFirstTime","_GxIdeShareKb_shortcutsSrc","getAssetPath","_GxIdeShareKb_selectedKbId","_GxIdeShareKb_versionSelectedTypeEl","_GxIdeShareKb_KBNameEl","_GxIdeShareKb_cancelHandler","cancelCallback","_GxIdeShareKb_changeConnectionHandler","async","changeConnectionCallback","authenticationType","connectionData","serverUrl","userName","userPassword","_GxIdeShareKb_shareKBHandler","versionSelectedType","__classPrivateFieldSet","shareKBCallback","kbName","versionList","__classPrivateFieldGet","allVersions","then","formSubmitResult","validatableControls","validateControls","_GxIdeShareKb_evaluateTooltipRender","controlReference","_b","_a","get","id","hasError","_c","message","h","class","actionElement","blockAlign","config","tooltipSettings","inlineAlign","delay","_GxIdeShareKb_initializeValidatableControls","forEach","validatableControl","reference","undefined","_GxIdeShareKb_kbNameInputHandler","event","detail","_GxIdeShareKb_selectedVersionHandler","selectKBVersionsCallback","result","length","map","kbVersion","localKbNameInputValue","versionsValueInput","kb","versionsPlaceholder","toString","versionSelectedFieldValue","oneVersionSelectedFieldValue","_GxIdeShareKb_versionsChangedHandler","enableSelectVersionsButton","_GxIdeShareKb_renderFooter","disableShareKbButton","onClick","part","footer","cancel","disabled","shareKB","Map","componentDidLoad","call","componentDidRender","componentDidRenderFirstTime","emit","componentName","componentWillLoad","Locale","getComponentStrings","el","render","Host","model","src","ref","chShortcutsEl","header","user","change","htmlFor","aliasLabel","onInput","placeholder","localKbNamePlaceholder","onChange","versionsLabel","readonly","versionsPlaceholderDisabled"],"sources":["src/components/team-dev/share-kb/share-kb.scss?tag=gx-ide-share-kb&encapsulation=shadow","src/components/team-dev/share-kb/share-kb.tsx"],"sourcesContent":[":host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.section {\n display: contents;\n}\n\n// - - - - - - - - - - -\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}\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\n.button-icon-only.button-tertiary {\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","// Stencil\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\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 { ChEditCustomEvent } 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\";\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\n@Component({\n tag: \"gx-ide-share-kb\",\n styleUrl: \"share-kb.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/share-kb\"]\n})\nexport class GxIdeShareKb {\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 #kbVersions: KBVersion[] = [];\n #renderedFirstTime = false;\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/create-kb-from-server/shortcuts.json`\n );\n #selectedKbId: string;\n\n #versionSelectedTypeEl: HTMLChRadioGroupRenderElement;\n\n @Element() el: HTMLGxIdeShareKbElement;\n\n #KBNameEl!: HTMLChEditElement;\n\n /**\n * State to enable/disable the select versions button\n */\n @State() enableSelectVersionsButton: boolean = false;\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 * The name of the KB.\n */\n @Prop({ mutable: true }) kbName: string;\n\n /**\n * Callback that must be invoked when the Share button is pressed.\n */\n @Prop() readonly shareKBCallback: (\n data: ShareKBData\n ) => Promise<FormSubmitResult>;\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 /**\n * Emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n componentDidLoad() {\n this.versionSelectedType = this.#versionSelectedTypeEl\n .value as VersionOption;\n\n this.#initializeValidatableControls();\n }\n\n componentDidRender() {\n if (!this.#renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this.#_componentLocale.componentName\n );\n this.#renderedFirstTime = true;\n }\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 #shareKBHandler = async (): Promise<void> => {\n if (this.versionSelectedType !== \"Select\") {\n this.#kbVersions = [];\n }\n this.shareKBCallback({\n name: this.kbName,\n serverUrl: this.connectionData.serverUrl,\n versionList: this.#kbVersions,\n allVersions: this.versionSelectedType === \"All\"\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 #initializeValidatableControls = () => {\n // populate validatableControls with the controls that could have errors.\n const validatableControls: HTMLElement[] = [this.#KBNameEl];\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 #kbNameInputHandler = (event: ChEditCustomEvent<string> | InputEvent) => {\n this.kbName = event.detail as string;\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 #versionsChangedHandler = (event: CustomEvent<string>) => {\n this.versionSelectedType = event.detail as VersionOption;\n if (this.versionSelectedType === \"Select\") {\n this.enableSelectVersionsButton = true;\n } else {\n this.enableSelectVersionsButton = false;\n }\n };\n\n #renderFooter = () => {\n const disableShareKbButton = !this.kbName.length;\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 // share kb button\n class=\"button-primary\"\n onClick={!disableShareKbButton && this.#shareKBHandler}\n disabled={disableShareKbButton}\n part=\"button button-create-kb\"\n >\n {this.#_componentLocale.footer.shareKB}\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\n <section class=\"main field-group spacing-body\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"alias\">\n {this.#_componentLocale.kb.aliasLabel}\n </label>\n <ch-edit\n // alias\n class=\"input\"\n id=\"kb-name\"\n value={this.kbName}\n onInput={this.#kbNameInputHandler}\n placeholder={this.#_componentLocale.kb.localKbNamePlaceholder}\n ref={(el: HTMLChEditElement) =>\n (this.#KBNameEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#KBNameEl)}\n </div>\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 }\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 </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 ShareKBData = {\n name: string;\n serverUrl: string;\n versionList: KBVersion[];\n allVersions: boolean;\n};\n\nexport type VersionOption = \"Trunk\" | \"All\" | \"Select\";\n"],"mappings":"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"}
@@ -0,0 +1,182 @@
1
+ import { r as e, h as r, H as t, a as o } from "./p-9b9ccd0c.js";
2
+
3
+ import { g as a } from "./p-d42e842b.js";
4
+
5
+ import "./p-d4ecd3bb.js";
6
+
7
+ import "lit";
8
+
9
+ import "lit/directives/when.js";
10
+
11
+ import "lit/directives/if-defined.js";
12
+
13
+ import { L as i } from "./p-311eedf3.js";
14
+
15
+ const s = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.pill-tag{padding:1px 4px;border-radius:2px;min-inline-size:40px;text-align:center;margin-inline-end:10px;font-size:11px}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}.giu-static-pill-icon-and-text,.giu-static-pill{background-color:var(--elevation-background-color, var(--mer-surface__elevation--01));padding-inline:var(--mer-spacing--xs);color:var(--mer-text__on-elevation);font-size:var(--font-size-body-s);line-height:1.4;font-weight:var(--font-weight-regular);border-radius:var(--mer-border__width--lg);min-block-size:25px;display:inline-grid;align-items:center;pointer-events:none}.giu-static-pill-icon-and-text{display:inline-grid;grid-auto-flow:column;grid-auto-columns:max-content;gap:var(--mer-spacing--xs)}.tab-full-width-buttons::part(tab-list block-start),.tab-full-width-buttons::part(tab-list block-end){grid-auto-columns:1fr}.tab-full-width-buttons::part(tab block-start){justify-content:center}:host{display:grid;block-size:100%;grid-template-rows:1fr max-content}.main-container{display:grid;grid-template-rows:max-content max-content max-content;gap:var(--mer-spacing--md)}.versions-container{display:grid;grid-template-columns:1fr max-content;gap:var(--mer-spacing--xs)}.versions-container .button-icon-only{border-color:var(--mer-color__neutral-gray--500);border-width:var(--mer-border__width--sm);border-radius:var(--mer-border__radius--sm)}.versions-container .button-icon-only:hover{border-color:var(--mer-color__neutral-gray--100)}.giu-static-pill-icon-and-text{background-color:var(--mer-surface__elevation--02)}";
16
+
17
+ var n = undefined && undefined.__classPrivateFieldGet || function(e, r, t, o) {
18
+ if (t === "a" && !o) throw new TypeError("Private accessor was defined without a getter");
19
+ if (typeof r === "function" ? e !== r || !o : !r.has(e)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
20
+ return t === "m" ? o : t === "a" ? o.call(e) : o ? o.value : r.get(e);
21
+ };
22
+
23
+ var l = undefined && undefined.__classPrivateFieldSet || function(e, r, t, o, a) {
24
+ if (o === "m") throw new TypeError("Private method is not writable");
25
+ if (o === "a" && !a) throw new TypeError("Private accessor was defined without a setter");
26
+ if (typeof r === "function" ? e !== r || !a : !r.has(e)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
27
+ return o === "a" ? a.call(e, t) : a ? a.value = t : r.set(e, t), t;
28
+ };
29
+
30
+ var c, g, d, f, b, v, h;
31
+
32
+ const m = [ "resets/box-sizing", "utils/form--full", "utils/layout", "utils/typography", "utils/spacing", "chameleon/scrollbar" ];
33
+
34
+ const p = a({
35
+ category: "gemini-tools",
36
+ name: "show-more-horizontal",
37
+ colorType: "on-elevation"
38
+ });
39
+
40
+ const u = a({
41
+ category: "objects",
42
+ name: "version-frozen"
43
+ });
44
+
45
+ const x = a({
46
+ category: "objects",
47
+ name: "version"
48
+ });
49
+
50
+ const y = a({
51
+ category: "system",
52
+ name: "version",
53
+ colorType: "on-surface"
54
+ });
55
+
56
+ const w = class {
57
+ constructor(t) {
58
+ e(this, t);
59
+ c.set(this, void 0);
60
+ g.set(this, (async () => {
61
+ const e = {
62
+ toVersionGuid: this.toVersionInfo.guid,
63
+ toVersionName: this.toVersionInfo.name,
64
+ fromVersionGuid: this.versions.find((e => e.name === this.selectedSourceVersionName)).guid,
65
+ fromVersionName: this.selectedSourceVersionName,
66
+ syncEnvironments: this.syncEnvironments
67
+ };
68
+ await this.confirmCallback(e);
69
+ }));
70
+ d.set(this, (async () => {
71
+ await this.cancelCallback();
72
+ }));
73
+ f.set(this, (e => {
74
+ this.versionsComboBoxModel = e.map((e => ({
75
+ caption: e.name,
76
+ value: e.guid,
77
+ startImgSrc: e.isFrozen ? u : x
78
+ })));
79
+ }));
80
+ b.set(this, (e => {
81
+ this.selectedSourceVersionName = e.detail;
82
+ }));
83
+ // Uncomment this when the sync environments feature is available
84
+ // #handleCheckBoxValueChange = (
85
+ // event: ChCheckboxCustomEvent<any> | InputEvent
86
+ // ) => {
87
+ // this.syncEnvironments = event.detail === CHECKBOX_CHECKED_VALUE;
88
+ // };
89
+ v.set(this, (async () => {
90
+ this.selectedSourceVersion = await this.selectSourceVersionCallback();
91
+ this.selectedSourceVersionName = this.selectedSourceVersion[0].name;
92
+ }));
93
+ h.set(this, (() => {
94
+ const e = !this.selectedSourceVersionName || !this.versionsComboBoxModel.some((e => e.caption === this.selectedSourceVersionName));
95
+ return r("footer", {
96
+ class: "footer control-footer-with-border spacing-body"
97
+ }, r("div", {
98
+ class: "buttons-spacer"
99
+ }, r("button", {
100
+ class: "button-secondary",
101
+ onClick: n(this, d, "f")
102
+ }, n(this, c, "f").footer.cancel), r("button", {
103
+ class: "button-primary",
104
+ onClick: n(this, g, "f"),
105
+ disabled: e
106
+ }, n(this, c, "f").footer.confirm)));
107
+ }));
108
+ this.syncEnvironments = false;
109
+ this.selectedSourceVersionName = "";
110
+ this.selectedSourceVersion = [];
111
+ this.versionsComboBoxModel = [];
112
+ this.selectSourceVersionCallback = undefined;
113
+ this.confirmCallback = undefined;
114
+ this.cancelCallback = undefined;
115
+ this.toVersionInfo = undefined;
116
+ this.versions = undefined;
117
+ }
118
+ versionsChanged() {
119
+ n(this, f, "f").call(this, this.versions);
120
+ }
121
+ async componentWillLoad() {
122
+ l(this, c, await i.getComponentStrings(this.el), "f");
123
+ n(this, f, "f").call(this, this.versions || []);
124
+ }
125
+ render() {
126
+ return r(t, {
127
+ class: "widget"
128
+ }, r("ch-theme", {
129
+ model: m
130
+ }), r("div", {
131
+ class: "main-container spacing-body"
132
+ }, r("div", null, r("p", {
133
+ class: "giu-static-pill-icon-and-text"
134
+ }, r("ch-image", {
135
+ class: "icon-md",
136
+ type: "mask",
137
+ src: y
138
+ }), r("span", null, `${n(this, c, "f").descriptions.pill} - ${this.toVersionInfo.name}`))), r("p", {
139
+ class: "body-regular-m"
140
+ }, n(this, c, "f").descriptions.summary), r("div", {
141
+ class: "field field-block"
142
+ }, r("label", {
143
+ class: "label",
144
+ htmlFor: "versions-combo-box"
145
+ }, n(this, c, "f").labels.fromVersion), r("div", {
146
+ class: "versions-container"
147
+ }, r("ch-combo-box-render", {
148
+ class: "combo-box",
149
+ id: "versions-combo-box",
150
+ model: this.versionsComboBoxModel,
151
+ placeholder: n(this, c, "f").placeHolders.fromVersion,
152
+ value: this.selectedSourceVersionName,
153
+ suggest: true,
154
+ onInput: n(this, b, "f")
155
+ }), r("button", {
156
+ class: "button-tertiary button-icon-only",
157
+ onClick: n(this, v, "f")
158
+ }, r("ch-image", {
159
+ src: p,
160
+ class: "icon-sm"
161
+ }))))), n(this, h, "f").call(this));
162
+ }
163
+ static get assetsDirs() {
164
+ return [ "gx-ide-assets/restore-version" ];
165
+ }
166
+ get el() {
167
+ return o(this);
168
+ }
169
+ static get watchers() {
170
+ return {
171
+ versions: [ "versionsChanged" ]
172
+ };
173
+ }
174
+ };
175
+
176
+ c = new WeakMap, g = new WeakMap, d = new WeakMap, f = new WeakMap, b = new WeakMap,
177
+ v = new WeakMap, h = new WeakMap;
178
+
179
+ w.style = s;
180
+
181
+ export { w as gx_ide_restore_version };
182
+ //# sourceMappingURL=p-c3cc759d.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["restoreVersionCss","CSS_BUNDLES","SHOW_MORE_ICON","getIconPath","category","name","colorType","VERSION_FROZEN_OBJECT_ICON","VERSION_OBJECT_ICON","VERSION_ICON","GxIdeRestoreVersion","_GxIdeRestoreVersion_componentLocale","set","this","_GxIdeRestoreVersion_confirmHandler","async","restoreVersionData","toVersionGuid","toVersionInfo","guid","toVersionName","fromVersionGuid","versions","find","version","selectedSourceVersionName","fromVersionName","syncEnvironments","confirmCallback","_GxIdeRestoreVersion_cancelHandler","cancelCallback","_GxIdeRestoreVersion_versionsToComboBoxItemModel","versionsComboBoxModel","map","caption","value","startImgSrc","isFrozen","_GxIdeRestoreVersion_handleComboBoxInput","event","detail","_GxIdeRestoreVersion_selectSourceVersionHandler","selectedSourceVersion","selectSourceVersionCallback","_GxIdeRestoreVersion_renderFooter","disableConfirmButton","some","v","h","class","onClick","__classPrivateFieldGet","footer","cancel","disabled","confirm","versionsChanged","call","componentWillLoad","__classPrivateFieldSet","Locale","getComponentStrings","el","render","Host","model","type","src","descriptions","pill","summary","htmlFor","labels","fromVersion","id","placeholder","placeHolders","suggest","onInput"],"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"],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import { ComboBoxModel } from "@genexus/chameleon-controls-library";
2
+ import { KBVersion } from "../team-dev/version-control/common/types";
3
+ export declare class GxIdeRestoreVersion {
4
+ #private;
5
+ el: HTMLGxIdeRestoreVersionElement;
6
+ /**
7
+ * Indicates if the environments should be synchronized.
8
+ */
9
+ syncEnvironments: boolean;
10
+ /**
11
+ * Input value for the source version selector.
12
+ */
13
+ selectedSourceVersionName: string;
14
+ /**
15
+ * Selected source version from version selector.
16
+ */
17
+ selectedSourceVersion: KBVersion[];
18
+ /**
19
+ * Combo box model for the versions selector.
20
+ */
21
+ versionsComboBoxModel: ComboBoxModel;
22
+ /**
23
+ * Callback invoked by pressing the ellipsis in the version selector.
24
+ */
25
+ readonly selectSourceVersionCallback: () => Promise<KBVersion[]>;
26
+ /**
27
+ * Callback invoked by pressing the Confirm button.
28
+ */
29
+ readonly confirmCallback: (restoreVersionData: RestoreVersionData) => Promise<void>;
30
+ /**
31
+ * Callback invoked by pressing the Cancel button.
32
+ */
33
+ readonly cancelCallback: () => Promise<void>;
34
+ /**
35
+ * The target version to which the restore will be made.
36
+ */
37
+ readonly toVersionInfo: KBVersion;
38
+ /**
39
+ * List of versions to show in the versions combo box.
40
+ */
41
+ readonly versions: KBVersion[];
42
+ versionsChanged(): void;
43
+ componentWillLoad(): Promise<void>;
44
+ render(): any;
45
+ }
46
+ export type RestoreVersionData = {
47
+ fromVersionName: string;
48
+ fromVersionGuid: string;
49
+ toVersionGuid: string;
50
+ toVersionName: string;
51
+ syncEnvironments: boolean;
52
+ };
@@ -84,6 +84,10 @@ export declare class GxIdeSelectKbItems {
84
84
  * This define if the selection is unique or not
85
85
  */
86
86
  readonly multiSelection?: boolean;
87
+ /**
88
+ * This define if the checks are unique or not
89
+ */
90
+ readonly singleChecks?: boolean;
87
91
  /**
88
92
  * Used to define if the component must show the "Active item" link or not
89
93
  */
@@ -1,7 +1,8 @@
1
- import { GXServerConnectionData } from "../connect-gx-server/connect-gx-server";
2
- import { FormSubmitResult } from "../../../common/types";
3
- import { ControlValidation } from "../../../common/form-validation";
4
1
  import { ActionListItemModel } from "@genexus/chameleon-controls-library";
2
+ import { ControlValidation } from "../../../common/form-validation";
3
+ import { FormSubmitResult } from "../../../common/types";
4
+ import { GXServerConnectionData } from "../connect-gx-server/connect-gx-server";
5
+ import { KBVersion } from "../version-control/common/types";
5
6
  export declare class GxIdeCreateKbFromServer {
6
7
  #private;
7
8
  [key: string]: any;
@@ -67,11 +68,6 @@ export type KBData = {
67
68
  id: string;
68
69
  name: string;
69
70
  };
70
- export type KBVersion = {
71
- id: number;
72
- name: string;
73
- type?: VersionType;
74
- };
75
71
  export type ConnectionResultData = {
76
72
  formResult: FormSubmitResult;
77
73
  kbs: KBData[];
@@ -83,4 +79,3 @@ export type KnowledgeBaseInfo = {
83
79
  versionList: KBVersion[];
84
80
  };
85
81
  export type VersionOption = "Trunk" | "All" | "Select";
86
- export type VersionType = "Branch" | "Frozen";
@@ -1,7 +1,8 @@
1
1
  import { EventEmitter } from "../../../stencil-public-runtime";
2
- import { GXServerConnectionData } from "../connect-gx-server/connect-gx-server";
3
- import { FormSubmitResult } from "../../../common/types";
4
2
  import { ControlValidation } from "../../../common/form-validation";
3
+ import { FormSubmitResult } from "../../../common/types";
4
+ import { GXServerConnectionData } from "../connect-gx-server/connect-gx-server";
5
+ import { KBVersion } from "../version-control/common/types";
5
6
  export declare class GxIdeShareKb {
6
7
  #private;
7
8
  [key: string]: any;
@@ -56,11 +57,6 @@ export type KBData = {
56
57
  id: string;
57
58
  name: string;
58
59
  };
59
- export type KBVersion = {
60
- id: number;
61
- name: string;
62
- type?: VersionType;
63
- };
64
60
  export type ConnectionResultData = {
65
61
  formResult: FormSubmitResult;
66
62
  kbs: KBData[];
@@ -72,4 +68,3 @@ export type ShareKBData = {
72
68
  allVersions: boolean;
73
69
  };
74
70
  export type VersionOption = "Trunk" | "All" | "Select";
75
- export type VersionType = "Branch" | "Frozen";
@@ -82,3 +82,9 @@ export interface MessageData {
82
82
  type: "info" | "success" | "warning" | "error";
83
83
  text: string;
84
84
  }
85
+ export type KBVersion = {
86
+ id: number;
87
+ name: string;
88
+ isFrozen?: boolean;
89
+ guid?: string;
90
+ };