@genexus/genexus-ide-ui 1.1.20 → 1.1.22

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 (153) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-ai-message.cjs.entry.js +1 -1
  3. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +1 -1
  4. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
  5. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
  6. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
  7. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +52 -37
  8. package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
  9. package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js +6 -9
  10. package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js.map +1 -1
  11. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +345 -177
  12. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
  13. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js +13 -36
  14. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js.map +1 -1
  15. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +17 -13
  16. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
  17. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
  18. package/dist/cjs/{helpers-30f109a4.js → helpers-b30b36b4.js} +2 -2
  19. package/dist/cjs/{helpers-30f109a4.js.map → helpers-b30b36b4.js.map} +1 -1
  20. package/dist/cjs/loader.cjs.js +1 -1
  21. package/dist/cjs/utilities-6118dc24.js +78 -0
  22. package/dist/cjs/utilities-6118dc24.js.map +1 -0
  23. package/dist/collection/common/helpers.js +1 -1
  24. package/dist/collection/common/helpers.js.map +1 -1
  25. package/dist/collection/common/types.js.map +1 -1
  26. package/dist/collection/components/team-dev/bring-changes/bring-changes.css +6 -6
  27. package/dist/collection/components/team-dev/bring-changes/bring-changes.js +5 -8
  28. package/dist/collection/components/team-dev/bring-changes/bring-changes.js.map +1 -1
  29. package/dist/collection/components/team-dev/commit/commit.css +48 -665
  30. package/dist/collection/components/team-dev/commit/commit.js +407 -251
  31. package/dist/collection/components/team-dev/commit/commit.js.map +1 -1
  32. package/dist/collection/components/team-dev/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.en.json +20 -3
  33. package/dist/collection/components/team-dev/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.ja.json +20 -3
  34. package/dist/collection/components/team-dev/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.zh.json +20 -3
  35. package/dist/collection/components/team-dev/commit/helpers.js +10 -0
  36. package/dist/collection/components/team-dev/commit/helpers.js.map +1 -0
  37. package/dist/collection/components/team-dev/common/types.js +2 -0
  38. package/dist/collection/components/team-dev/common/types.js.map +1 -0
  39. package/dist/collection/components/team-dev/common/utilities.js +67 -0
  40. package/dist/collection/components/team-dev/common/utilities.js.map +1 -0
  41. package/dist/collection/components/team-dev/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.en.json +1 -1
  42. package/dist/collection/components/team-dev/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.zh.json +1 -1
  43. package/dist/collection/components/team-dev/history/history.css +6 -0
  44. package/dist/collection/components/team-dev/history/history.js +11 -34
  45. package/dist/collection/components/team-dev/history/history.js.map +1 -1
  46. package/dist/collection/components/team-dev/share-kb/gx-ide-assets/share-kb/langs/share-kb.lang.en.json +3 -2
  47. package/dist/collection/components/team-dev/share-kb/gx-ide-assets/share-kb/langs/share-kb.lang.ja.json +3 -2
  48. package/dist/collection/components/team-dev/share-kb/gx-ide-assets/share-kb/langs/share-kb.lang.zh.json +3 -2
  49. package/dist/collection/components/team-dev/share-kb/share-kb.css +10 -0
  50. package/dist/collection/components/team-dev/share-kb/share-kb.js +51 -36
  51. package/dist/collection/components/team-dev/share-kb/share-kb.js.map +1 -1
  52. package/dist/collection/components/team-dev/update/update.js +4 -10
  53. package/dist/collection/components/team-dev/update/update.js.map +1 -1
  54. package/dist/components/gx-ide-share-kb.js +52 -37
  55. package/dist/components/gx-ide-share-kb.js.map +1 -1
  56. package/dist/components/gx-ide-team-dev-bring-changes.js +6 -9
  57. package/dist/components/gx-ide-team-dev-bring-changes.js.map +1 -1
  58. package/dist/components/gx-ide-team-dev-commit.js +369 -191
  59. package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
  60. package/dist/components/gx-ide-team-dev-history.js +12 -35
  61. package/dist/components/gx-ide-team-dev-history.js.map +1 -1
  62. package/dist/components/gx-ide-team-dev-update.js +16 -12
  63. package/dist/components/gx-ide-team-dev-update.js.map +1 -1
  64. package/dist/components/helpers.js +1 -1
  65. package/dist/components/helpers.js.map +1 -1
  66. package/dist/components/utilities.js +75 -0
  67. package/dist/components/utilities.js.map +1 -0
  68. package/dist/esm/genexus-ide-ui.js +1 -1
  69. package/dist/esm/gx-ide-ai-message.entry.js +1 -1
  70. package/dist/esm/gx-ide-dashboard-home.entry.js +1 -1
  71. package/dist/esm/gx-ide-new-environment.entry.js +1 -1
  72. package/dist/esm/gx-ide-new-kb.entry.js +1 -1
  73. package/dist/esm/gx-ide-object-selector.entry.js +1 -1
  74. package/dist/esm/gx-ide-share-kb.entry.js +52 -37
  75. package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
  76. package/dist/esm/gx-ide-team-dev-bring-changes.entry.js +6 -9
  77. package/dist/esm/gx-ide-team-dev-bring-changes.entry.js.map +1 -1
  78. package/dist/esm/gx-ide-team-dev-commit.entry.js +345 -177
  79. package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
  80. package/dist/esm/gx-ide-team-dev-history.entry.js +13 -36
  81. package/dist/esm/gx-ide-team-dev-history.entry.js.map +1 -1
  82. package/dist/esm/gx-ide-team-dev-update.entry.js +17 -13
  83. package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
  84. package/dist/esm/gx-ide-ww-images.entry.js +1 -1
  85. package/dist/esm/{helpers-10479d69.js → helpers-a4f16ffb.js} +2 -2
  86. package/dist/esm/{helpers-10479d69.js.map → helpers-a4f16ffb.js.map} +1 -1
  87. package/dist/esm/loader.js +1 -1
  88. package/dist/esm/utilities-6fdb43e4.js +75 -0
  89. package/dist/esm/utilities-6fdb43e4.js.map +1 -0
  90. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  91. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  92. package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.en.json +1 -1
  93. package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.zh.json +1 -1
  94. package/dist/genexus-ide-ui/gx-ide-assets/share-kb/langs/share-kb.lang.en.json +3 -2
  95. package/dist/genexus-ide-ui/gx-ide-assets/share-kb/langs/share-kb.lang.ja.json +3 -2
  96. package/dist/genexus-ide-ui/gx-ide-assets/share-kb/langs/share-kb.lang.zh.json +3 -2
  97. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.en.json +20 -3
  98. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.ja.json +20 -3
  99. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.zh.json +20 -3
  100. package/dist/genexus-ide-ui/{p-b465f29d.entry.js → p-012cfb1d.entry.js} +2 -2
  101. package/dist/genexus-ide-ui/p-0f8a8202.js +87 -0
  102. package/dist/genexus-ide-ui/p-0f8a8202.js.map +1 -0
  103. package/dist/genexus-ide-ui/{p-3b5a4e2e.entry.js → p-11b8f81d.entry.js} +2 -2
  104. package/dist/genexus-ide-ui/{p-82878950.entry.js → p-19d197c5.entry.js} +8 -8
  105. package/dist/genexus-ide-ui/{p-667965d3.entry.js → p-72b5d3e4.entry.js} +2 -2
  106. package/dist/genexus-ide-ui/{p-74a0cb25.entry.js → p-810ad95f.entry.js} +2 -2
  107. package/dist/genexus-ide-ui/{p-ac131847.entry.js → p-863ef4de.entry.js} +2 -2
  108. package/dist/genexus-ide-ui/{p-3fbc5a02.entry.js → p-884e0ed9.entry.js} +97 -104
  109. package/dist/genexus-ide-ui/p-884e0ed9.entry.js.map +1 -0
  110. package/dist/genexus-ide-ui/{p-9ddea83b.js → p-957046fd.js} +2 -2
  111. package/dist/genexus-ide-ui/p-957046fd.js.map +1 -0
  112. package/dist/genexus-ide-ui/p-ca706700.entry.js +484 -0
  113. package/dist/genexus-ide-ui/p-ca706700.entry.js.map +1 -0
  114. package/dist/genexus-ide-ui/p-d4ef0c35.entry.js +683 -0
  115. package/dist/genexus-ide-ui/p-d4ef0c35.entry.js.map +1 -0
  116. package/dist/genexus-ide-ui/p-ea02e5cf.entry.js +266 -0
  117. package/dist/genexus-ide-ui/p-ea02e5cf.entry.js.map +1 -0
  118. package/dist/genexus-ide-ui/{p-75a5c51f.entry.js → p-fa52a417.entry.js} +153 -149
  119. package/dist/genexus-ide-ui/p-fa52a417.entry.js.map +1 -0
  120. package/dist/types/common/types.d.ts +0 -1
  121. package/dist/types/components/team-dev/bring-changes/bring-changes.d.ts +1 -4
  122. package/dist/types/components/team-dev/commit/commit.d.ts +53 -70
  123. package/dist/types/components/team-dev/commit/helpers.d.ts +4 -0
  124. package/dist/types/components/team-dev/common/types.d.ts +1 -0
  125. package/dist/types/components/team-dev/common/utilities.d.ts +25 -0
  126. package/dist/types/components/team-dev/history/history.d.ts +1 -1
  127. package/dist/types/components/team-dev/share-kb/share-kb.d.ts +3 -1
  128. package/dist/types/components/team-dev/update/update.d.ts +2 -1
  129. package/dist/types/components.d.ts +7 -15
  130. package/package.json +1 -1
  131. package/dist/cjs/render-combo-items-e774f796.js +0 -18
  132. package/dist/cjs/render-combo-items-e774f796.js.map +0 -1
  133. package/dist/components/render-combo-items.js +0 -16
  134. package/dist/components/render-combo-items.js.map +0 -1
  135. package/dist/esm/render-combo-items-e9c8df5e.js +0 -16
  136. package/dist/esm/render-combo-items-e9c8df5e.js.map +0 -1
  137. package/dist/genexus-ide-ui/p-34fd4875.entry.js +0 -573
  138. package/dist/genexus-ide-ui/p-34fd4875.entry.js.map +0 -1
  139. package/dist/genexus-ide-ui/p-3fbc5a02.entry.js.map +0 -1
  140. package/dist/genexus-ide-ui/p-60e39b2f.entry.js +0 -541
  141. package/dist/genexus-ide-ui/p-60e39b2f.entry.js.map +0 -1
  142. package/dist/genexus-ide-ui/p-72e346b9.entry.js +0 -249
  143. package/dist/genexus-ide-ui/p-72e346b9.entry.js.map +0 -1
  144. package/dist/genexus-ide-ui/p-75a5c51f.entry.js.map +0 -1
  145. package/dist/genexus-ide-ui/p-9ddea83b.js.map +0 -1
  146. package/dist/genexus-ide-ui/p-f549f6e1.js +0 -17
  147. package/dist/genexus-ide-ui/p-f549f6e1.js.map +0 -1
  148. /package/dist/genexus-ide-ui/{p-b465f29d.entry.js.map → p-012cfb1d.entry.js.map} +0 -0
  149. /package/dist/genexus-ide-ui/{p-3b5a4e2e.entry.js.map → p-11b8f81d.entry.js.map} +0 -0
  150. /package/dist/genexus-ide-ui/{p-82878950.entry.js.map → p-19d197c5.entry.js.map} +0 -0
  151. /package/dist/genexus-ide-ui/{p-667965d3.entry.js.map → p-72b5d3e4.entry.js.map} +0 -0
  152. /package/dist/genexus-ide-ui/{p-74a0cb25.entry.js.map → p-810ad95f.entry.js.map} +0 -0
  153. /package/dist/genexus-ide-ui/{p-ac131847.entry.js.map → p-863ef4de.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"share-kb.js","sourceRoot":"","sources":["../../../../src/components/team-dev/share-kb/share-kb.tsx"],"names":[],"mappings":"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","sourcesContent":["// 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\" } TODO: display once \"gx-ide-select-kb-versions\" is ready.\n ];\n\n [key: string]: any;\n\n #_componentLocale: any;\n // uncomment #kbVersionsIds when versions selector is available\n // #kbVersionsIds: string[] = [];\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 // uncomment the following lines when versions selector is available\n // if (this.versionSelectedType !== \"Select\") {\n // this.#kbVersionsIds = [];\n // }\n this.shareKBCallback({\n name: this.kbName,\n serverUrl: this.connectionData.serverUrl\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.versionsValueInput = result.length\n // .toString()\n // .concat(this.#_componentLocale.kb.versionSelectedFieldValue);\n // this.#kbVersionsIds = result.map(kbVersion =>\n // kbVersion.id.toString()\n // );\n // }\n // });\n // }\n // };\n\n #versionsChangedHandler = (event: CustomEvent<string>) => {\n this.versionSelectedType = event.detail as VersionOption;\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 =>\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};\n\nexport type VersionOption = \"Trunk\" | \"All\" | \"Select\";\n\nexport type VersionType = \"Branch\" | \"Frozen\";\n"]}
1
+ {"version":3,"file":"share-kb.js","sourceRoot":"","sources":["../../../../src/components/team-dev/share-kb/share-kb.tsx"],"names":[],"mappings":"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","sourcesContent":["// 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 =>\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"]}
@@ -7,12 +7,6 @@ import { renderComboItems } from "../../../common/render-combo-items";
7
7
  import { formatDate } from "../../../common/helpers";
8
8
  const CSS_BUNDLES = [
9
9
  "resets/box-sizing",
10
- // "utils/form",
11
- // "utils/layout",
12
- // "utils/typography",
13
- // "components/button",
14
- // "components/checkbox",
15
- // "components/edit",
16
10
  "components/tabular-grid"
17
11
  ];
18
12
  export class GxIdeTeamDevUpdate {
@@ -103,16 +97,16 @@ export class GxIdeTeamDevUpdate {
103
97
  this.renderIconState = (state) => {
104
98
  let type;
105
99
  switch (state) {
106
- case "modified":
100
+ case "Modified":
107
101
  type = "gx-server/changes-commit-pending";
108
102
  break;
109
- case "inserted":
103
+ case "Inserted":
110
104
  type = "gx-server/new";
111
105
  break;
112
- case "deleted":
106
+ case "Deleted":
113
107
  type = "gx-server/delete";
114
108
  break;
115
- case "conflicted":
109
+ case "Conflicted":
116
110
  type = "gx-server/conflict";
117
111
  break;
118
112
  }
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/components/team-dev/update/update.tsx"],"names":[],"mappings":"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","sourcesContent":["/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { Color as GxgIconColor } from \"@genexus/gemini/dist/types/components/icon/icon\";\nimport {\n TabularGridMarkingChangedEvent,\n TabularGridRowContextMenuEvent,\n TabularGridSelectionChangedEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../../common/locale\";\nimport { config } from \"../../../common/config\";\n\nimport {\n ObjectState,\n ObjectType,\n ContextMenuInfo,\n ItemsCheckedState,\n ItemsCheckedResult,\n ResultState\n} from \"../../../common/types\";\nimport { renderComboItems } from \"../../../common/render-combo-items\";\nimport { formatDate } from \"../../../common/helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n // \"utils/form\",\n // \"utils/layout\",\n // \"utils/typography\",\n // \"components/button\",\n // \"components/checkbox\",\n // \"components/edit\",\n \"components/tabular-grid\"\n];\n\n@Component({\n tag: \"gx-ide-team-dev-update\",\n styleUrl: \"update.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/team-dev-update\"]\n})\nexport class GxIdeTeamDevUpdate {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private loadDataCalledFirstTime = false; // pending for update grid checkboxes, should be checked, after loadData has loaded objects for the first time.\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeTeamDevUpdateElement;\n\n /* References needed to collect data */\n // private optionKbPropertiesEl!: HTMLGxgFormCheckboxElement;\n private filterPatternEl!: HTMLGxgFormTextElement;\n private filterTypeEl!: HTMLGxgComboBoxElement;\n private chGridPendingForUpdateEl!: HTMLChGridElement;\n private chGridIgnoredObjectsEl!: HTMLChGridElement;\n private chGridResultsEl!: HTMLChGridElement;\n private gxgTabButtonResultsEl!: HTMLGxgTabButtonElement;\n\n // 3.STATE() VARIABLES //\n\n /**\n * If the design data is loading or not, for disabled actions\n */\n @State() isLoading = false;\n\n /**\n * For show or hide advanced filters\n */\n @State() objectScopeText = \"all\";\n\n /**\n * The tab that is currently open\n */\n @State() openTab: \"pending\" | \"ignored\" | \"results\" = \"pending\";\n\n /**\n * For show or hide advanced filters\n */\n @State() revisionScopeText: string = undefined;\n\n /**\n * For show or hide advanced filters\n */\n @State() showFilter = false;\n\n /**\n * The data loaded for populate the grids\n */\n @State() updateData: UpdateData = {\n pendingForUpdate: [],\n ignoredObjects: []\n };\n\n /**\n * The data receive after user update\n */\n @State() updateResultData: UpdateResultData[] = [];\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * This is a function provided by the developer that init the process of import a design.\n */\n @Prop() readonly confirmCallback!: ConfirmCallback;\n\n /**\n * This is a function provided by the developer that return the information of an Image System type of data.\n */\n @Prop() readonly gridContextMenuCallback!: GridContextMenuCallback;\n\n /**\n * This is a function provided by the developer that return the list of types of data loaded from file or url.\n */\n @Prop() readonly loadCallback!: LoadCallback;\n\n /**\n * This is a function provided by the developer to call when the user makes a partial selection from button Change of Scope group.\n */\n @Prop() readonly objectsScopeCallback!: () => Promise<\"all\" | \"partial\">;\n\n /**\n * This is a function provided by the developer to call when the user clicked in server url of Update From group.\n */\n @Prop() readonly openServerCallback!: () => Promise<void>;\n\n /**\n * This is a function provided by the developer that return the information of a Font type of data.\n */\n @Prop() readonly pendingItemsCheckedCallback!: PendingItemsCheckedCallback;\n\n /**\n * This is a function provided by the developer to call when the user wants to select the revision to work on.\n */\n @Prop() readonly revisionScopeCallback!: () => Promise<string | undefined>;\n\n /**\n * Callback that should be invoked when the user activates the context menu on any of the grids. It receives the internal IDs of the selected elements and in which grid the event occurred. It should prevent the default browser context menu from appearing\n */\n @Prop() readonly objectsContextMenuCallback!: ObjectsContextMenuCallback;\n\n /**\n * Callback that should be invoked when the user selects rows from the grids\n */\n @Prop() readonly selectCallback: UpdateSelectCallback;\n\n /**\n * Possibly values for the filter type\n */\n @Prop() readonly types: ObjectType[];\n\n /**\n * This is a function provided by the developer that return the information of a Design System type of data.\n */\n @Prop() readonly updateCallback!: UpdateCallback;\n\n /**\n * Information to show in the container of group 'Update From'\n */\n @Prop() readonly updateFrom: UpdateFromData;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.componentDidLoadEvent.emit(true);\n }\n\n async componentDidLoad() {\n await this.loadData();\n this.filterPatternEl.focus();\n }\n\n async componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n\n if (this.loadDataCalledFirstTime) {\n // call this method only once\n await this.markAllPendingToUpdateRows();\n // attach \"rowMarkingChanged\" after rows have been checked for the first time.\n this.chGridPendingForUpdateEl.addEventListener(\n \"rowMarkingChanged\",\n this.pendingForUpdatesRowMarkingChangedHandler\n );\n this.loadDataCalledFirstTime = false;\n }\n }\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n /**\n * The method used by the host to instruct the component to force a data reload in the grids.\n */\n @Method()\n async reload() {\n this.loadData();\n }\n\n // 9.LOCAL METHODS //\n\n private onRowContextMenuHandler =\n (grid: UpdateSourceType) =>\n async (ev: CustomEvent<TabularGridRowContextMenuEvent>) => {\n if (this.objectsContextMenuCallback) {\n ev.preventDefault();\n ev.stopPropagation();\n let selection: string[] = [];\n if (grid === \"pending\") {\n selection = await this.chGridPendingForUpdateEl.getSelectedRows();\n } else if (grid === \"ignored\") {\n selection = await this.chGridIgnoredObjectsEl.getSelectedRows();\n } else if (grid === \"results\") {\n selection = await this.chGridResultsEl.getSelectedRows();\n }\n await this.objectsContextMenuCallback(grid, {\n selection: selection,\n clientX: ev.detail.clientX,\n clientY: ev.detail.clientY\n });\n }\n };\n\n private markAllPendingToUpdateRows = () => {\n this.chGridPendingForUpdateEl.markAllRows();\n };\n\n private gridOnSelectionChangedCallbackHandler =\n (grid: UpdateSourceType) =>\n async (ev: CustomEvent<TabularGridSelectionChangedEvent>) => {\n if (this.selectCallback) {\n await this.selectCallback(grid, ev.detail.rowsId);\n }\n };\n\n private genexusServerUrlHandler = () => {\n if (this.updateFrom?.serverUrl) {\n window.open(this.updateFrom.serverUrl);\n }\n };\n\n private renderOptions = (): Element => {\n return (\n <div class=\"options-wrapper\">\n {/* genexus server*/}\n <gx-ide-container\n part=\"options-update-from\"\n containerTitle={this._componentLocale.options.updateFrom}\n titleType=\"secondary\"\n contentBorderEnd\n noContentPadding\n >\n <gx-ide-list-selector\n type=\"single-selection\"\n listName=\"commit-recent-messages\"\n readonly\n noListBorder\n >\n {/* genexus server*/}\n <gx-ide-list-selector-item\n icon=\"window-tools/genexus-cloud\"\n itemId=\"genexus-server\"\n itemValue={undefined}\n class=\"genexus-server\"\n onClick={this.genexusServerUrlHandler}\n >\n {`${this._componentLocale.options.updateFrom}:`}\n <gxg-text type=\"text-link\">\n {this.updateFrom ? this.updateFrom.serverUrl : \"\"}\n </gxg-text>\n </gx-ide-list-selector-item>\n\n {/* knowledge base*/}\n <gx-ide-list-selector-item\n icon=\"general/knowledge-base\"\n itemId=\"knowledge-base\"\n itemValue={`${this._componentLocale.options.knowledgeBase}: ${\n this.updateFrom ? this.updateFrom.kbName : \"\"\n }`}\n ></gx-ide-list-selector-item>\n\n {/* version */}\n <gx-ide-list-selector-item\n icon=\"general/version\"\n itemId=\"version\"\n itemValue={`${this._componentLocale.options.version}: ${\n this.updateFrom ? this.updateFrom.versionName : \"\"\n }`}\n ></gx-ide-list-selector-item>\n\n {/* last full update */}\n <gx-ide-list-selector-item\n icon=\"window-tools/last-changes-view\"\n itemId=\"last-full-update\"\n itemValue={`${\n this._componentLocale.options.lastFullUpdate\n }: ${formatDate(this.updateFrom.lastFullUpdate)}`}\n ></gx-ide-list-selector-item>\n </gx-ide-list-selector>\n </gx-ide-container>\n\n {/* scope*/}\n <gx-ide-container\n part=\"options-scope\"\n containerTitle={this._componentLocale.options.scope}\n titleType=\"secondary\"\n >\n <div class=\"scope\">\n {/* Objects*/}\n <div class=\"row\">\n <gxg-label labelPosition=\"start\" center noMargin>\n {this._componentLocale.options.objects}:\n </gxg-label>\n <span\n class={{\n bold: this.objectScopeText === \"partial\",\n value: true\n }}\n >\n {\n this._componentLocale.options.scopeData.objects[\n this.objectScopeText.toLocaleLowerCase()\n ]\n }\n </span>\n <gxg-text\n type=\"text-link\"\n onClick={this.objectsScope}\n part=\"gxg-button gxg-button--scope-objects-change\"\n >\n {this._componentLocale.options.changeBtn}\n </gxg-text>\n </div>\n\n {/* Revision */}\n <div class=\"row\">\n <gxg-label labelPosition=\"start\" center noMargin>\n {this._componentLocale.options.revision}:\n </gxg-label>\n <span\n class={{\n bold: this.revisionScopeText !== undefined,\n value: true\n }}\n >\n {this.revisionScopeText === undefined\n ? this._componentLocale.options.scopeData.revision.latest\n : this.revisionScopeText}\n </span>\n <gxg-text\n type=\"text-link\"\n onClick={this.revisionScope}\n part=\"gxg-button gxg-button--scope-revision-change\"\n >\n {this._componentLocale.options.changeBtn}\n </gxg-text>\n </div>\n\n {/* Kb Properties */}\n <div class=\"row\">\n <gxg-form-checkbox\n label={this._componentLocale.options.kbProperties}\n class=\"align-center\"\n part=\"option-kb-properties\"\n ></gxg-form-checkbox>\n </div>\n </div>\n </gx-ide-container>\n </div>\n );\n };\n\n private renderFilter = (): Element => {\n return (\n <div\n class={{\n \"filter-row\": true\n }}\n >\n {/* pattern*/}\n <gxg-form-text\n label-position=\"start\"\n centerLabel\n label={this._componentLocale.filter.pattern}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.filterPatternEl = el as HTMLGxgFormTextElement)\n }\n part=\"filter-pattern\"\n onInput={this.loadData}\n class=\"combo\"\n ></gxg-form-text>\n\n {/* type */}\n <gxg-combo-box\n label-position=\"start\"\n centerLabel\n disable-filter\n label={this._componentLocale.filter.type}\n disabled={!this.types}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterTypeEl = el as HTMLGxgComboBoxElement)\n }\n onValueChanged={this.loadData}\n part=\"filter-type\"\n value={this.types[0].id}\n class=\"combo\"\n >\n {renderComboItems(this.types)}\n </gxg-combo-box>\n\n {/* load data */}\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/reset\"\n onClick={this.loadData}\n part=\"gxg-button gxg-button--reload\"\n class=\"button\"\n ></gxg-button>\n </div>\n );\n };\n\n private renderData = (): Element => {\n return (\n <gx-ide-container\n part=\"data-container\"\n noContentPadding\n class=\"gxi-overflow-auto\"\n displayBorderTop\n >\n <gxg-tabs id=\"dataTabs\" part=\"data-tabs\">\n <gxg-tab-bar slot=\"tab-bar-container\" displayBorder>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabs.pendingForUpdate}\n tab=\"pendingForUpdate\"\n key=\"pendingForUpdate\"\n isSelected={true}\n ></gxg-tab-button>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabs.ignoredObjects}\n tab=\"ignoredObjects\"\n key=\"ignoredObjects\"\n ></gxg-tab-button>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabs.results}\n tab=\"results\"\n key=\"results\"\n ref={(el: HTMLGxgTabButtonElement) =>\n (this.gxgTabButtonResultsEl = el)\n }\n ></gxg-tab-button>\n </gxg-tab-bar>\n <gxg-tab\n tab=\"pendingForUpdate\"\n key=\"pendingForUpdate\"\n noPadding\n isSelected={true}\n >\n {this.renderPendingForUpdate()}\n </gxg-tab>\n <gxg-tab tab=\"ignoredObjects\" key=\"ignoredObjects\" noPadding>\n {this.renderIgnoredObjects()}\n </gxg-tab>\n <gxg-tab tab=\"results\" key=\"results\" noPadding>\n {this.renderResults()}\n </gxg-tab>\n </gxg-tabs>\n </gx-ide-container>\n );\n };\n\n private renderPendingForUpdate = (): HTMLChTabularGridElement => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid tabular-grid-pending-update\"\n row-selection-mode=\"multiple\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.chGridPendingForUpdateEl = el)\n }\n part=\"ch-tabular-grid-pending-for-updates\"\n onRowContextMenu={this.onRowContextMenuHandler(\"pending\")}\n onSelectionChanged={this.gridOnSelectionChangedCallbackHandler(\n \"pending\"\n )}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n column-type=\"rich\"\n richRowSelector\n richRowSelectorMode=\"mark\"\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.name}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.type}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.description}\n settingable={false}\n size={config.tabularGrid.colSize.commonDouble}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.modifiedOn}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.status}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.action}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.updateData.pendingForUpdate.map((obj: ModifiedObject) => (\n <ch-tabular-grid-row rowid={obj.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell\n cell-type=\"rich\"\n row-selector\n class=\"tabular-grid-cell\"\n ></ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.typeIcon} class=\"icon-md\"></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.renderIconState(obj.state)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.type}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.description}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.modifiedOn)}`}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.status}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.action}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private renderIgnoredObjects = (): HTMLChTabularGridElement => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid\"\n row-selection-mode=\"multiple\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.chGridIgnoredObjectsEl = el)\n }\n part=\"ch-grid-ignored-objects\"\n onRowContextMenu={this.onRowContextMenuHandler(\"ignored\")}\n onSelectionChanged={this.gridOnSelectionChangedCallbackHandler(\n \"ignored\"\n )}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n size=\"min-content\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.name}\n settingable={false}\n size=\"1fr\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.type}\n settingable={false}\n size=\"1fr\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.updateData.ignoredObjects.map((obj: ModifiedObject) => (\n <ch-tabular-grid-row rowid={obj.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.typeIcon} class=\"icon-md\"></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.type}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private renderResults = (): HTMLChTabularGridElement => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid tabular-grid-results\"\n row-selection-mode=\"multiple\"\n ref={(el: HTMLChTabularGridElement) => (this.chGridResultsEl = el)}\n part=\"ch-tabular-grid-results\"\n onRowContextMenu={this.onRowContextMenuHandler(\"results\")}\n onSelectionChanged={this.gridOnSelectionChangedCallbackHandler(\n \"results\"\n )}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n column-type=\"tree\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.name}\n settingable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.type}\n settingable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.description}\n settingable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.notes}\n settingable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.updateResultData.map((obj: UpdateResultData) => (\n <ch-tabular-grid-row rowid={obj.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.renderIconResult(obj.result)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.typeIcon} class=\"icon-md\"></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.renderIconState(obj.state)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.type}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.description}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.notes}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-rowset>\n {obj.messages.map(msg => {\n let msgType;\n switch (msg.type) {\n case \"info\":\n msgType = \"text-alert-info\";\n break;\n case \"success\":\n msgType = \"text-alert-success\";\n break;\n case \"warning\":\n msgType = \"text-alert-warning\";\n break;\n case \"error\":\n msgType = \"text-alert-error\";\n break;\n }\n return (\n <ch-tabular-grid-rowset-empty>\n <gxg-text type={msgType as any}>{msg.text}</gxg-text>\n </ch-tabular-grid-rowset-empty>\n );\n })}\n </ch-tabular-grid-rowset>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private renderIconState = (state: ObjectState): Element => {\n let type: string;\n\n switch (state) {\n case \"modified\":\n type = \"gx-server/changes-commit-pending\";\n break;\n case \"inserted\":\n type = \"gx-server/new\";\n break;\n case \"deleted\":\n type = \"gx-server/delete\";\n break;\n case \"conflicted\":\n type = \"gx-server/conflict\";\n break;\n }\n return <ch-image class=\"icon-md\" src={type}></ch-image>;\n };\n\n private renderIconResult = (result: ResultState): Element => {\n let type: string;\n let color: GxgIconColor;\n switch (result) {\n case \"info\":\n type = \"gemini-tools/notice\";\n color = \"primary-active\";\n break;\n case \"success\":\n type = \"gemini-tools/success\";\n color = \"success\";\n break;\n case \"warning\":\n type = \"gemini-tools/warning\";\n color = \"warning\";\n break;\n case \"error\":\n type = \"gemini-tools/error\";\n color = \"error\";\n break;\n }\n return <gxg-icon type={type} color={color}></gxg-icon>;\n };\n\n private loadData = async (): Promise<void> => {\n const filters: FiltersData = {\n pattern: this.showFilter ? this.filterPatternEl.value : null,\n type: this.showFilter ? this.filterTypeEl.value : null\n };\n // this.updateData = null;\n this.isLoading = true;\n this.updateData = await this.loadCallback(filters);\n this.isLoading = false;\n if (!this.loadDataCalledFirstTime) {\n /* this allows checking the pending commits checkboxes on first load*/\n this.loadDataCalledFirstTime = true;\n }\n };\n\n private update = async (): Promise<void> => {\n if (this.updateCallback) {\n const pendingForUpdateMarked =\n await this.chGridPendingForUpdateEl.getMarkedRows();\n this.updateCallback(pendingForUpdateMarked).then(\n (updateResultData: UpdateResultData[]) => {\n this.updateResultData = updateResultData;\n this.gxgTabButtonResultsEl.tabButtonClick();\n }\n );\n }\n };\n\n private objectsScope = (): void => {\n if (this.objectsScopeCallback) {\n this.objectsScopeCallback().then(objectData => {\n if (objectData) {\n this.objectScopeText = objectData;\n }\n });\n }\n };\n\n private revisionScope = (): void => {\n if (this.revisionScopeCallback) {\n this.revisionScopeCallback().then(revisionData => {\n this.revisionScopeText = revisionData;\n });\n }\n };\n\n private pendingForUpdatesRowMarkingChangedHandler = async (\n e: CustomEvent<TabularGridMarkingChangedEvent>\n ): Promise<void> => {\n // remove \"rowMarkingChanged\" until checkboxes have been added/removed on togglePendingCommitsCheckboxes, to prevent loops.\n this.chGridPendingForUpdateEl.removeEventListener(\n \"rowMarkingChanged\",\n this.pendingForUpdatesRowMarkingChangedHandler\n );\n if (this.chGridPendingForUpdateEl) {\n const addedRowsIds = e.detail.addedRowsId;\n const removedRowsId = e.detail.removedRowsId;\n const pendingItemCheckedResult = await this.pendingItemsCheckedCallback({\n itemsChecked: addedRowsIds,\n itemsUnchecked: removedRowsId\n });\n if (pendingItemCheckedResult === undefined) {\n // undo check/uncheck\n await this.revertPendingCommitsCheckboxes(addedRowsIds, removedRowsId);\n } else {\n await this.togglePendingCommitsCheckboxes(pendingItemCheckedResult);\n }\n this.chGridPendingForUpdateEl.addEventListener(\n \"rowMarkingChanged\",\n this.pendingForUpdatesRowMarkingChangedHandler\n );\n }\n this.chGridPendingForUpdateEl.addEventListener(\n \"rowMarkingChanged\",\n this.pendingForUpdatesRowMarkingChangedHandler\n );\n };\n\n private togglePendingCommitsCheckboxes = async (\n itemsToToggle: ItemsCheckedResult\n ) => {\n if (this.chGridPendingForUpdateEl) {\n const itemsToCheck: string[] = itemsToToggle.itemsToCheck;\n const itemsToUncheck: string[] = itemsToToggle.itemsToUncheck;\n // check\n for (const rowId of itemsToCheck) {\n await this.chGridPendingForUpdateEl.markRow(rowId, true);\n }\n // uncheck\n for (const rowId of itemsToUncheck) {\n await this.chGridPendingForUpdateEl.markRow(rowId, false);\n }\n }\n };\n\n private revertPendingCommitsCheckboxes = async (\n addedRowsIds: string[],\n removedRowsId: string[]\n ) => {\n if (this.chGridPendingForUpdateEl) {\n for (const rowId of addedRowsIds) {\n await this.chGridPendingForUpdateEl.markRow(rowId, false);\n }\n for (const rowId of removedRowsId) {\n await this.chGridPendingForUpdateEl.markRow(rowId, true);\n }\n }\n };\n\n // 10.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host class=\"gx-ide-component\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n displayBorderTop\n noContentPadding\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n >\n {this.renderOptions()}\n {this.renderFilter()}\n {this.renderData()}\n\n <gxg-button\n id=\"button-update\"\n type=\"primary-text-only\"\n onClick={this.update}\n part=\"gxg-button gxg-button--update\"\n disabled={this.isLoading}\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnUpdate}\n </gxg-button>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type LoadCallback = (filters: FiltersData) => Promise<UpdateData>;\n\nexport type UpdateCallback = (\n selection: string[]\n) => Promise<UpdateResultData[]>;\n\nexport type PendingItemsCheckedCallback = (\n pendingItemsCheckedState: ItemsCheckedState\n) => Promise<ItemsCheckedResult | undefined>;\n\nexport type UpdateSelectCallback = (\n grid: UpdateSourceType,\n selectionIds: string[]\n) => Promise<void>;\n\nexport type UpdateSourceType = \"pending\" | \"ignored\" | \"results\";\n\nexport type GridContextMenuCallback = (\n selection: string[],\n grid: \"update\" | \"ignored\" | \"results\"\n) => Promise<void>;\n\nexport type ObjectsContextMenuCallback = (\n source: UpdateSourceType,\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\n\nexport type ConfirmCallback = (data: any) => Promise<boolean>;\n\nexport interface UpdateFromData {\n serverUrl: string;\n kbName: string;\n versionName: string;\n lastFullUpdate: Date;\n}\nexport interface FiltersData {\n pattern: string;\n type: string;\n}\nexport interface UpdateData {\n pendingForUpdate: ModifiedObject[];\n ignoredObjects: ModifiedObject[];\n}\nexport interface ModifiedObject {\n id: string;\n typeIcon: string;\n state?: ObjectState;\n name: string;\n type: string;\n description?: string;\n modifiedOn?: Date;\n status?: string;\n action?: string;\n}\nexport interface UpdateResultData {\n id: string;\n result: ResultState;\n typeIcon: string;\n state: ObjectState;\n name: string;\n type: string;\n description: string;\n notes: string;\n messages: MessageData[];\n}\n\nexport interface MessageData {\n type: \"info\" | \"success\" | \"warning\" | \"error\";\n text: string;\n}\n"]}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/components/team-dev/update/update.tsx"],"names":[],"mappings":"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","sourcesContent":["/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { Color as GxgIconColor } from \"@genexus/gemini/dist/types/components/icon/icon\";\nimport {\n TabularGridMarkingChangedEvent,\n TabularGridRowContextMenuEvent,\n TabularGridSelectionChangedEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../../common/locale\";\nimport { config } from \"../../../common/config\";\n\nimport { ObjectState } from \"../common/types\";\n\nimport {\n ObjectType,\n ContextMenuInfo,\n ItemsCheckedState,\n ItemsCheckedResult,\n ResultState\n} from \"../../../common/types\";\nimport { renderComboItems } from \"../../../common/render-combo-items\";\nimport { formatDate } from \"../../../common/helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/tabular-grid\"\n];\n\n@Component({\n tag: \"gx-ide-team-dev-update\",\n styleUrl: \"update.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/team-dev-update\"]\n})\nexport class GxIdeTeamDevUpdate {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private loadDataCalledFirstTime = false; // pending for update grid checkboxes, should be checked, after loadData has loaded objects for the first time.\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeTeamDevUpdateElement;\n\n /* References needed to collect data */\n // private optionKbPropertiesEl!: HTMLGxgFormCheckboxElement;\n private filterPatternEl!: HTMLGxgFormTextElement;\n private filterTypeEl!: HTMLGxgComboBoxElement;\n private chGridPendingForUpdateEl!: HTMLChGridElement;\n private chGridIgnoredObjectsEl!: HTMLChGridElement;\n private chGridResultsEl!: HTMLChGridElement;\n private gxgTabButtonResultsEl!: HTMLGxgTabButtonElement;\n\n // 3.STATE() VARIABLES //\n\n /**\n * If the design data is loading or not, for disabled actions\n */\n @State() isLoading = false;\n\n /**\n * For show or hide advanced filters\n */\n @State() objectScopeText = \"all\";\n\n /**\n * The tab that is currently open\n */\n @State() openTab: \"pending\" | \"ignored\" | \"results\" = \"pending\";\n\n /**\n * For show or hide advanced filters\n */\n @State() revisionScopeText: string = undefined;\n\n /**\n * For show or hide advanced filters\n */\n @State() showFilter = false;\n\n /**\n * The data loaded for populate the grids\n */\n @State() updateData: UpdateData = {\n pendingForUpdate: [],\n ignoredObjects: []\n };\n\n /**\n * The data receive after user update\n */\n @State() updateResultData: UpdateResultData[] = [];\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * This is a function provided by the developer that init the process of import a design.\n */\n @Prop() readonly confirmCallback!: ConfirmCallback;\n\n /**\n * This is a function provided by the developer that return the information of an Image System type of data.\n */\n @Prop() readonly gridContextMenuCallback!: GridContextMenuCallback;\n\n /**\n * This is a function provided by the developer that return the list of types of data loaded from file or url.\n */\n @Prop() readonly loadCallback!: LoadCallback;\n\n /**\n * This is a function provided by the developer to call when the user makes a partial selection from button Change of Scope group.\n */\n @Prop() readonly objectsScopeCallback!: () => Promise<\"all\" | \"partial\">;\n\n /**\n * This is a function provided by the developer to call when the user clicked in server url of Update From group.\n */\n @Prop() readonly openServerCallback!: () => Promise<void>;\n\n /**\n * This is a function provided by the developer that return the information of a Font type of data.\n */\n @Prop() readonly pendingItemsCheckedCallback!: PendingItemsCheckedCallback;\n\n /**\n * This is a function provided by the developer to call when the user wants to select the revision to work on.\n */\n @Prop() readonly revisionScopeCallback!: () => Promise<string | undefined>;\n\n /**\n * Callback that should be invoked when the user activates the context menu on any of the grids. It receives the internal IDs of the selected elements and in which grid the event occurred. It should prevent the default browser context menu from appearing\n */\n @Prop() readonly objectsContextMenuCallback!: ObjectsContextMenuCallback;\n\n /**\n * Callback that should be invoked when the user selects rows from the grids\n */\n @Prop() readonly selectCallback: UpdateSelectCallback;\n\n /**\n * Possibly values for the filter type\n */\n @Prop() readonly types: ObjectType[];\n\n /**\n * This is a function provided by the developer that return the information of a Design System type of data.\n */\n @Prop() readonly updateCallback!: UpdateCallback;\n\n /**\n * Information to show in the container of group 'Update From'\n */\n @Prop() readonly updateFrom: UpdateFromData;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.componentDidLoadEvent.emit(true);\n }\n\n async componentDidLoad() {\n await this.loadData();\n this.filterPatternEl.focus();\n }\n\n async componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n\n if (this.loadDataCalledFirstTime) {\n // call this method only once\n await this.markAllPendingToUpdateRows();\n // attach \"rowMarkingChanged\" after rows have been checked for the first time.\n this.chGridPendingForUpdateEl.addEventListener(\n \"rowMarkingChanged\",\n this.pendingForUpdatesRowMarkingChangedHandler\n );\n this.loadDataCalledFirstTime = false;\n }\n }\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n /**\n * The method used by the host to instruct the component to force a data reload in the grids.\n */\n @Method()\n async reload() {\n this.loadData();\n }\n\n // 9.LOCAL METHODS //\n\n private onRowContextMenuHandler =\n (grid: UpdateSourceType) =>\n async (ev: CustomEvent<TabularGridRowContextMenuEvent>) => {\n if (this.objectsContextMenuCallback) {\n ev.preventDefault();\n ev.stopPropagation();\n let selection: string[] = [];\n if (grid === \"pending\") {\n selection = await this.chGridPendingForUpdateEl.getSelectedRows();\n } else if (grid === \"ignored\") {\n selection = await this.chGridIgnoredObjectsEl.getSelectedRows();\n } else if (grid === \"results\") {\n selection = await this.chGridResultsEl.getSelectedRows();\n }\n await this.objectsContextMenuCallback(grid, {\n selection: selection,\n clientX: ev.detail.clientX,\n clientY: ev.detail.clientY\n });\n }\n };\n\n private markAllPendingToUpdateRows = () => {\n this.chGridPendingForUpdateEl.markAllRows();\n };\n\n private gridOnSelectionChangedCallbackHandler =\n (grid: UpdateSourceType) =>\n async (ev: CustomEvent<TabularGridSelectionChangedEvent>) => {\n if (this.selectCallback) {\n await this.selectCallback(grid, ev.detail.rowsId);\n }\n };\n\n private genexusServerUrlHandler = () => {\n if (this.updateFrom?.serverUrl) {\n window.open(this.updateFrom.serverUrl);\n }\n };\n\n private renderOptions = (): Element => {\n return (\n <div class=\"options-wrapper\">\n {/* genexus server*/}\n <gx-ide-container\n part=\"options-update-from\"\n containerTitle={this._componentLocale.options.updateFrom}\n titleType=\"secondary\"\n contentBorderEnd\n noContentPadding\n >\n <gx-ide-list-selector\n type=\"single-selection\"\n listName=\"commit-recent-messages\"\n readonly\n noListBorder\n >\n {/* genexus server*/}\n <gx-ide-list-selector-item\n icon=\"window-tools/genexus-cloud\"\n itemId=\"genexus-server\"\n itemValue={undefined}\n class=\"genexus-server\"\n onClick={this.genexusServerUrlHandler}\n >\n {`${this._componentLocale.options.updateFrom}:`}\n <gxg-text type=\"text-link\">\n {this.updateFrom ? this.updateFrom.serverUrl : \"\"}\n </gxg-text>\n </gx-ide-list-selector-item>\n\n {/* knowledge base*/}\n <gx-ide-list-selector-item\n icon=\"general/knowledge-base\"\n itemId=\"knowledge-base\"\n itemValue={`${this._componentLocale.options.knowledgeBase}: ${\n this.updateFrom ? this.updateFrom.kbName : \"\"\n }`}\n ></gx-ide-list-selector-item>\n\n {/* version */}\n <gx-ide-list-selector-item\n icon=\"general/version\"\n itemId=\"version\"\n itemValue={`${this._componentLocale.options.version}: ${\n this.updateFrom ? this.updateFrom.versionName : \"\"\n }`}\n ></gx-ide-list-selector-item>\n\n {/* last full update */}\n <gx-ide-list-selector-item\n icon=\"window-tools/last-changes-view\"\n itemId=\"last-full-update\"\n itemValue={`${\n this._componentLocale.options.lastFullUpdate\n }: ${formatDate(this.updateFrom.lastFullUpdate)}`}\n ></gx-ide-list-selector-item>\n </gx-ide-list-selector>\n </gx-ide-container>\n\n {/* scope*/}\n <gx-ide-container\n part=\"options-scope\"\n containerTitle={this._componentLocale.options.scope}\n titleType=\"secondary\"\n >\n <div class=\"scope\">\n {/* Objects*/}\n <div class=\"row\">\n <gxg-label labelPosition=\"start\" center noMargin>\n {this._componentLocale.options.objects}:\n </gxg-label>\n <span\n class={{\n bold: this.objectScopeText === \"partial\",\n value: true\n }}\n >\n {\n this._componentLocale.options.scopeData.objects[\n this.objectScopeText.toLocaleLowerCase()\n ]\n }\n </span>\n <gxg-text\n type=\"text-link\"\n onClick={this.objectsScope}\n part=\"gxg-button gxg-button--scope-objects-change\"\n >\n {this._componentLocale.options.changeBtn}\n </gxg-text>\n </div>\n\n {/* Revision */}\n <div class=\"row\">\n <gxg-label labelPosition=\"start\" center noMargin>\n {this._componentLocale.options.revision}:\n </gxg-label>\n <span\n class={{\n bold: this.revisionScopeText !== undefined,\n value: true\n }}\n >\n {this.revisionScopeText === undefined\n ? this._componentLocale.options.scopeData.revision.latest\n : this.revisionScopeText}\n </span>\n <gxg-text\n type=\"text-link\"\n onClick={this.revisionScope}\n part=\"gxg-button gxg-button--scope-revision-change\"\n >\n {this._componentLocale.options.changeBtn}\n </gxg-text>\n </div>\n\n {/* Kb Properties */}\n <div class=\"row\">\n <gxg-form-checkbox\n label={this._componentLocale.options.kbProperties}\n class=\"align-center\"\n part=\"option-kb-properties\"\n ></gxg-form-checkbox>\n </div>\n </div>\n </gx-ide-container>\n </div>\n );\n };\n\n private renderFilter = (): Element => {\n return (\n <div\n class={{\n \"filter-row\": true\n }}\n >\n {/* pattern*/}\n <gxg-form-text\n label-position=\"start\"\n centerLabel\n label={this._componentLocale.filter.pattern}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.filterPatternEl = el as HTMLGxgFormTextElement)\n }\n part=\"filter-pattern\"\n onInput={this.loadData}\n class=\"combo\"\n ></gxg-form-text>\n\n {/* type */}\n <gxg-combo-box\n label-position=\"start\"\n centerLabel\n disable-filter\n label={this._componentLocale.filter.type}\n disabled={!this.types}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterTypeEl = el as HTMLGxgComboBoxElement)\n }\n onValueChanged={this.loadData}\n part=\"filter-type\"\n value={this.types[0].id}\n class=\"combo\"\n >\n {renderComboItems(this.types)}\n </gxg-combo-box>\n\n {/* load data */}\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/reset\"\n onClick={this.loadData}\n part=\"gxg-button gxg-button--reload\"\n class=\"button\"\n ></gxg-button>\n </div>\n );\n };\n\n private renderData = (): Element => {\n return (\n <gx-ide-container\n part=\"data-container\"\n noContentPadding\n class=\"gxi-overflow-auto\"\n displayBorderTop\n >\n <gxg-tabs id=\"dataTabs\" part=\"data-tabs\">\n <gxg-tab-bar slot=\"tab-bar-container\" displayBorder>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabs.pendingForUpdate}\n tab=\"pendingForUpdate\"\n key=\"pendingForUpdate\"\n isSelected={true}\n ></gxg-tab-button>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabs.ignoredObjects}\n tab=\"ignoredObjects\"\n key=\"ignoredObjects\"\n ></gxg-tab-button>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabs.results}\n tab=\"results\"\n key=\"results\"\n ref={(el: HTMLGxgTabButtonElement) =>\n (this.gxgTabButtonResultsEl = el)\n }\n ></gxg-tab-button>\n </gxg-tab-bar>\n <gxg-tab\n tab=\"pendingForUpdate\"\n key=\"pendingForUpdate\"\n noPadding\n isSelected={true}\n >\n {this.renderPendingForUpdate()}\n </gxg-tab>\n <gxg-tab tab=\"ignoredObjects\" key=\"ignoredObjects\" noPadding>\n {this.renderIgnoredObjects()}\n </gxg-tab>\n <gxg-tab tab=\"results\" key=\"results\" noPadding>\n {this.renderResults()}\n </gxg-tab>\n </gxg-tabs>\n </gx-ide-container>\n );\n };\n\n private renderPendingForUpdate = (): HTMLChTabularGridElement => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid tabular-grid-pending-update\"\n row-selection-mode=\"multiple\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.chGridPendingForUpdateEl = el)\n }\n part=\"ch-tabular-grid-pending-for-updates\"\n onRowContextMenu={this.onRowContextMenuHandler(\"pending\")}\n onSelectionChanged={this.gridOnSelectionChangedCallbackHandler(\n \"pending\"\n )}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n column-type=\"rich\"\n richRowSelector\n richRowSelectorMode=\"mark\"\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.name}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.type}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.description}\n settingable={false}\n size={config.tabularGrid.colSize.commonDouble}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.modifiedOn}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.status}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.action}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.updateData.pendingForUpdate.map((obj: ModifiedObject) => (\n <ch-tabular-grid-row rowid={obj.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell\n cell-type=\"rich\"\n row-selector\n class=\"tabular-grid-cell\"\n ></ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.typeIcon} class=\"icon-md\"></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.renderIconState(obj.state)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.type}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.description}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.modifiedOn)}`}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.status}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.action}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private renderIgnoredObjects = (): HTMLChTabularGridElement => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid\"\n row-selection-mode=\"multiple\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.chGridIgnoredObjectsEl = el)\n }\n part=\"ch-grid-ignored-objects\"\n onRowContextMenu={this.onRowContextMenuHandler(\"ignored\")}\n onSelectionChanged={this.gridOnSelectionChangedCallbackHandler(\n \"ignored\"\n )}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n size=\"min-content\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.name}\n settingable={false}\n size=\"1fr\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.type}\n settingable={false}\n size=\"1fr\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.updateData.ignoredObjects.map((obj: ModifiedObject) => (\n <ch-tabular-grid-row rowid={obj.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.typeIcon} class=\"icon-md\"></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.type}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private renderResults = (): HTMLChTabularGridElement => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid tabular-grid-results\"\n row-selection-mode=\"multiple\"\n ref={(el: HTMLChTabularGridElement) => (this.chGridResultsEl = el)}\n part=\"ch-tabular-grid-results\"\n onRowContextMenu={this.onRowContextMenuHandler(\"results\")}\n onSelectionChanged={this.gridOnSelectionChangedCallbackHandler(\n \"results\"\n )}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n column-type=\"tree\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.name}\n settingable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.type}\n settingable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.description}\n settingable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.notes}\n settingable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.updateResultData.map((obj: UpdateResultData) => (\n <ch-tabular-grid-row rowid={obj.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.renderIconResult(obj.result)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.typeIcon} class=\"icon-md\"></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.renderIconState(obj.state)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.type}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.description}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.notes}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-rowset>\n {obj.messages.map(msg => {\n let msgType;\n switch (msg.type) {\n case \"info\":\n msgType = \"text-alert-info\";\n break;\n case \"success\":\n msgType = \"text-alert-success\";\n break;\n case \"warning\":\n msgType = \"text-alert-warning\";\n break;\n case \"error\":\n msgType = \"text-alert-error\";\n break;\n }\n return (\n <ch-tabular-grid-rowset-empty>\n <gxg-text type={msgType as any}>{msg.text}</gxg-text>\n </ch-tabular-grid-rowset-empty>\n );\n })}\n </ch-tabular-grid-rowset>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private renderIconState = (state: ObjectState): Element => {\n let type: string;\n\n switch (state) {\n case \"Modified\":\n type = \"gx-server/changes-commit-pending\";\n break;\n case \"Inserted\":\n type = \"gx-server/new\";\n break;\n case \"Deleted\":\n type = \"gx-server/delete\";\n break;\n case \"Conflicted\":\n type = \"gx-server/conflict\";\n break;\n }\n return <ch-image class=\"icon-md\" src={type}></ch-image>;\n };\n\n private renderIconResult = (result: ResultState): Element => {\n let type: string;\n let color: GxgIconColor;\n switch (result) {\n case \"info\":\n type = \"gemini-tools/notice\";\n color = \"primary-active\";\n break;\n case \"success\":\n type = \"gemini-tools/success\";\n color = \"success\";\n break;\n case \"warning\":\n type = \"gemini-tools/warning\";\n color = \"warning\";\n break;\n case \"error\":\n type = \"gemini-tools/error\";\n color = \"error\";\n break;\n }\n return <gxg-icon type={type} color={color}></gxg-icon>;\n };\n\n private loadData = async (): Promise<void> => {\n const filters: FiltersData = {\n pattern: this.showFilter ? this.filterPatternEl.value : null,\n type: this.showFilter ? this.filterTypeEl.value : null\n };\n // this.updateData = null;\n this.isLoading = true;\n this.updateData = await this.loadCallback(filters);\n this.isLoading = false;\n if (!this.loadDataCalledFirstTime) {\n /* this allows checking the pending commits checkboxes on first load*/\n this.loadDataCalledFirstTime = true;\n }\n };\n\n private update = async (): Promise<void> => {\n if (this.updateCallback) {\n const pendingForUpdateMarked =\n await this.chGridPendingForUpdateEl.getMarkedRows();\n this.updateCallback(pendingForUpdateMarked).then(\n (updateResultData: UpdateResultData[]) => {\n this.updateResultData = updateResultData;\n this.gxgTabButtonResultsEl.tabButtonClick();\n }\n );\n }\n };\n\n private objectsScope = (): void => {\n if (this.objectsScopeCallback) {\n this.objectsScopeCallback().then(objectData => {\n if (objectData) {\n this.objectScopeText = objectData;\n }\n });\n }\n };\n\n private revisionScope = (): void => {\n if (this.revisionScopeCallback) {\n this.revisionScopeCallback().then(revisionData => {\n this.revisionScopeText = revisionData;\n });\n }\n };\n\n private pendingForUpdatesRowMarkingChangedHandler = async (\n e: CustomEvent<TabularGridMarkingChangedEvent>\n ): Promise<void> => {\n // remove \"rowMarkingChanged\" until checkboxes have been added/removed on togglePendingCommitsCheckboxes, to prevent loops.\n this.chGridPendingForUpdateEl.removeEventListener(\n \"rowMarkingChanged\",\n this.pendingForUpdatesRowMarkingChangedHandler\n );\n if (this.chGridPendingForUpdateEl) {\n const addedRowsIds = e.detail.addedRowsId;\n const removedRowsId = e.detail.removedRowsId;\n const pendingItemCheckedResult = await this.pendingItemsCheckedCallback({\n itemsChecked: addedRowsIds,\n itemsUnchecked: removedRowsId\n });\n if (pendingItemCheckedResult === undefined) {\n // undo check/uncheck\n await this.revertPendingCommitsCheckboxes(addedRowsIds, removedRowsId);\n } else {\n await this.togglePendingCommitsCheckboxes(pendingItemCheckedResult);\n }\n this.chGridPendingForUpdateEl.addEventListener(\n \"rowMarkingChanged\",\n this.pendingForUpdatesRowMarkingChangedHandler\n );\n }\n this.chGridPendingForUpdateEl.addEventListener(\n \"rowMarkingChanged\",\n this.pendingForUpdatesRowMarkingChangedHandler\n );\n };\n\n private togglePendingCommitsCheckboxes = async (\n itemsToToggle: ItemsCheckedResult\n ) => {\n if (this.chGridPendingForUpdateEl) {\n const itemsToCheck: string[] = itemsToToggle.itemsToCheck;\n const itemsToUncheck: string[] = itemsToToggle.itemsToUncheck;\n // check\n for (const rowId of itemsToCheck) {\n await this.chGridPendingForUpdateEl.markRow(rowId, true);\n }\n // uncheck\n for (const rowId of itemsToUncheck) {\n await this.chGridPendingForUpdateEl.markRow(rowId, false);\n }\n }\n };\n\n private revertPendingCommitsCheckboxes = async (\n addedRowsIds: string[],\n removedRowsId: string[]\n ) => {\n if (this.chGridPendingForUpdateEl) {\n for (const rowId of addedRowsIds) {\n await this.chGridPendingForUpdateEl.markRow(rowId, false);\n }\n for (const rowId of removedRowsId) {\n await this.chGridPendingForUpdateEl.markRow(rowId, true);\n }\n }\n };\n\n // 10.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host class=\"gx-ide-component\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n displayBorderTop\n noContentPadding\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n >\n {this.renderOptions()}\n {this.renderFilter()}\n {this.renderData()}\n\n <gxg-button\n id=\"button-update\"\n type=\"primary-text-only\"\n onClick={this.update}\n part=\"gxg-button gxg-button--update\"\n disabled={this.isLoading}\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnUpdate}\n </gxg-button>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type LoadCallback = (filters: FiltersData) => Promise<UpdateData>;\n\nexport type UpdateCallback = (\n selection: string[]\n) => Promise<UpdateResultData[]>;\n\nexport type PendingItemsCheckedCallback = (\n pendingItemsCheckedState: ItemsCheckedState\n) => Promise<ItemsCheckedResult | undefined>;\n\nexport type UpdateSelectCallback = (\n grid: UpdateSourceType,\n selectionIds: string[]\n) => Promise<void>;\n\nexport type UpdateSourceType = \"pending\" | \"ignored\" | \"results\";\n\nexport type GridContextMenuCallback = (\n selection: string[],\n grid: \"update\" | \"ignored\" | \"results\"\n) => Promise<void>;\n\nexport type ObjectsContextMenuCallback = (\n source: UpdateSourceType,\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\n\nexport type ConfirmCallback = (data: any) => Promise<boolean>;\n\nexport interface UpdateFromData {\n serverUrl: string;\n kbName: string;\n versionName: string;\n lastFullUpdate: Date;\n}\nexport interface FiltersData {\n pattern: string;\n type: string;\n}\nexport interface UpdateData {\n pendingForUpdate: ModifiedObject[];\n ignoredObjects: ModifiedObject[];\n}\nexport interface ModifiedObject {\n id: string;\n typeIcon: string;\n state?: ObjectState;\n name: string;\n type: string;\n description?: string;\n modifiedOn?: Date;\n status?: string;\n action?: string;\n}\nexport interface UpdateResultData {\n id: string;\n result: ResultState;\n typeIcon: string;\n state: ObjectState;\n name: string;\n type: string;\n description: string;\n notes: string;\n messages: MessageData[];\n}\n\nexport interface MessageData {\n type: \"info\" | \"success\" | \"warning\" | \"error\";\n text: string;\n}\n"]}
@@ -4,15 +4,8 @@ import { c as config } from './config.js';
4
4
  import { v as validateControls } from './form-validation.js';
5
5
  import { L as Locale } from './locale.js';
6
6
 
7
- const shareKbCss = ":host{display:grid;block-size:100%;grid-template-rows:max-content 1fr max-content}.section{display:contents}header{display:grid;grid-template-rows:max-content;grid-template-columns:1fr 1fr max-content}.button-change{align-self:center;justify-self:end}.main{display:grid;grid-template-columns:1fr;grid-template-rows:max-content 1fr max-content max-content}.search-kbs{inline-size:50%}.versions-container{grid-auto-rows:max-content}.versions-container__input{display:grid;grid-template-columns:1fr max-content;gap:var(--mer-spacing--xs)}";
7
+ const shareKbCss = ":host{display:grid;block-size:100%;grid-template-rows:max-content 1fr max-content}.section{display:contents}header{display:grid;grid-template-rows:max-content;grid-template-columns:1fr 1fr max-content}.button-change{align-self:center;justify-self:end}.main{display:grid;grid-template-columns:1fr;grid-template-rows:max-content 1fr max-content max-content}.search-kbs{inline-size:50%}.versions-container{grid-auto-rows:max-content}.versions-container__input{display:grid;grid-template-columns:1fr max-content;gap:var(--mer-spacing--xs)}.button-icon-only.button-tertiary{border-color:var(--mer-color__neutral-gray--500);border-width:var(--mer-border__width--sm);border-radius:var(--mer-border__radius--sm)}.button-icon-only:hover{border-color:var(--mer-color__neutral-gray--100)}";
8
8
 
9
- var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
10
- if (kind === "a" && !f)
11
- throw new TypeError("Private accessor was defined without a getter");
12
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
13
- throw new TypeError("Cannot read private member from an object whose class did not declare it");
14
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
15
- };
16
9
  var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
17
10
  if (kind === "m")
18
11
  throw new TypeError("Private method is not writable");
@@ -22,7 +15,14 @@ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) ||
22
15
  throw new TypeError("Cannot write private member to an object whose class did not declare it");
23
16
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
24
17
  };
25
- var _GxIdeShareKb_showMoreIcon, _GxIdeShareKb_versionsSelect, _GxIdeShareKb__componentLocale, _GxIdeShareKb_renderedFirstTime, _GxIdeShareKb_shortcutsSrc, _GxIdeShareKb_versionSelectedTypeEl, _GxIdeShareKb_KBNameEl, _GxIdeShareKb_cancelHandler, _GxIdeShareKb_changeConnectionHandler, _GxIdeShareKb_shareKBHandler, _GxIdeShareKb_evaluateTooltipRender, _GxIdeShareKb_initializeValidatableControls, _GxIdeShareKb_kbNameInputHandler, _GxIdeShareKb_versionsChangedHandler, _GxIdeShareKb_renderFooter;
18
+ var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
19
+ if (kind === "a" && !f)
20
+ throw new TypeError("Private accessor was defined without a getter");
21
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
22
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
23
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
24
+ };
25
+ var _GxIdeShareKb_showMoreIcon, _GxIdeShareKb_versionsSelect, _GxIdeShareKb__componentLocale, _GxIdeShareKb_kbVersions, _GxIdeShareKb_renderedFirstTime, _GxIdeShareKb_shortcutsSrc, _GxIdeShareKb_selectedKbId, _GxIdeShareKb_versionSelectedTypeEl, _GxIdeShareKb_KBNameEl, _GxIdeShareKb_cancelHandler, _GxIdeShareKb_changeConnectionHandler, _GxIdeShareKb_shareKBHandler, _GxIdeShareKb_evaluateTooltipRender, _GxIdeShareKb_initializeValidatableControls, _GxIdeShareKb_kbNameInputHandler, _GxIdeShareKb_selectedVersionHandler, _GxIdeShareKb_versionsChangedHandler, _GxIdeShareKb_renderFooter;
26
26
  const CSS_BUNDLES = [
27
27
  "resets/box-sizing",
28
28
  "utils/form--full",
@@ -46,15 +46,14 @@ const GxIdeShareKb$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeShareKb exten
46
46
  }));
47
47
  _GxIdeShareKb_versionsSelect.set(this, [
48
48
  { value: "Trunk", caption: "Trunk Version" },
49
- { value: "All", caption: "All Versions" }
50
- // { value: "Select", caption: "Select Version" } TODO: display once "gx-ide-select-kb-versions" is ready.
49
+ { value: "All", caption: "All Versions" },
50
+ { value: "Select", caption: "Select Version" }
51
51
  ]);
52
52
  _GxIdeShareKb__componentLocale.set(this, void 0);
53
- // uncomment #kbVersionsIds when versions selector is available
54
- // #kbVersionsIds: string[] = [];
53
+ _GxIdeShareKb_kbVersions.set(this, []);
55
54
  _GxIdeShareKb_renderedFirstTime.set(this, false);
56
55
  _GxIdeShareKb_shortcutsSrc.set(this, getAssetPath(`./gx-ide-assets/create-kb-from-server/shortcuts.json`));
57
- // #selectedKbId: string;
56
+ _GxIdeShareKb_selectedKbId.set(this, void 0);
58
57
  _GxIdeShareKb_versionSelectedTypeEl.set(this, void 0);
59
58
  _GxIdeShareKb_KBNameEl.set(this, void 0);
60
59
  _GxIdeShareKb_cancelHandler.set(this, () => {
@@ -69,13 +68,14 @@ const GxIdeShareKb$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeShareKb exten
69
68
  });
70
69
  });
71
70
  _GxIdeShareKb_shareKBHandler.set(this, async () => {
72
- // uncomment the following lines when versions selector is available
73
- // if (this.versionSelectedType !== "Select") {
74
- // this.#kbVersionsIds = [];
75
- // }
71
+ if (this.versionSelectedType !== "Select") {
72
+ __classPrivateFieldSet(this, _GxIdeShareKb_kbVersions, [], "f");
73
+ }
76
74
  this.shareKBCallback({
77
75
  name: this.kbName,
78
- serverUrl: this.connectionData.serverUrl
76
+ serverUrl: this.connectionData.serverUrl,
77
+ versionList: __classPrivateFieldGet(this, _GxIdeShareKb_kbVersions, "f"),
78
+ allVersions: this.versionSelectedType === "All"
79
79
  }).then((formSubmitResult) => {
80
80
  this.validatableControls = validateControls(formSubmitResult, this.validatableControls);
81
81
  });
@@ -103,22 +103,39 @@ const GxIdeShareKb$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeShareKb exten
103
103
  _GxIdeShareKb_kbNameInputHandler.set(this, (event) => {
104
104
  this.kbName = event.detail;
105
105
  });
106
- // #selectedVersionHandler = async () => {
107
- // if (this.selectKBVersionsCallback) {
108
- // await this.selectKBVersionsCallback(this.#selectedKbId).then(result => {
109
- // if (result?.length) {
110
- // this.versionsValueInput = result.length
111
- // .toString()
112
- // .concat(this.#_componentLocale.kb.versionSelectedFieldValue);
113
- // this.#kbVersionsIds = result.map(kbVersion =>
114
- // kbVersion.id.toString()
115
- // );
116
- // }
117
- // });
118
- // }
119
- // };
106
+ _GxIdeShareKb_selectedVersionHandler.set(this, async () => {
107
+ if (this.selectKBVersionsCallback) {
108
+ await this.selectKBVersionsCallback(__classPrivateFieldGet(this, _GxIdeShareKb_selectedKbId, "f")).then(result => {
109
+ if (result === null || result === void 0 ? void 0 : result.length) {
110
+ __classPrivateFieldSet(this, _GxIdeShareKb_kbVersions, result.map(kbVersion => ({
111
+ id: kbVersion.id,
112
+ name: kbVersion.name
113
+ })), "f");
114
+ if (result.length === 1 && __classPrivateFieldGet(this, _GxIdeShareKb_kbVersions, "f")[0].id === 0) {
115
+ this.localKbNameInputValue = __classPrivateFieldGet(this, _GxIdeShareKb_selectedKbId, "f");
116
+ this.versionsValueInput =
117
+ __classPrivateFieldGet(this, _GxIdeShareKb__componentLocale, "f").kb.versionsPlaceholder;
118
+ }
119
+ else if (result.length > 1) {
120
+ this.localKbNameInputValue = __classPrivateFieldGet(this, _GxIdeShareKb_selectedKbId, "f");
121
+ this.versionsValueInput = `${result.length.toString()} ${__classPrivateFieldGet(this, _GxIdeShareKb__componentLocale, "f").kb.versionSelectedFieldValue}`;
122
+ }
123
+ else {
124
+ this.localKbNameInputValue = `${__classPrivateFieldGet(this, _GxIdeShareKb_selectedKbId, "f")}_${__classPrivateFieldGet(this, _GxIdeShareKb_kbVersions, "f")[0].name}`;
125
+ this.versionsValueInput = `${result[0].name} ${__classPrivateFieldGet(this, _GxIdeShareKb__componentLocale, "f").kb.oneVersionSelectedFieldValue}`;
126
+ }
127
+ }
128
+ });
129
+ }
130
+ });
120
131
  _GxIdeShareKb_versionsChangedHandler.set(this, (event) => {
121
132
  this.versionSelectedType = event.detail;
133
+ if (this.versionSelectedType === "Select") {
134
+ this.enableSelectVersionsButton = true;
135
+ }
136
+ else {
137
+ this.enableSelectVersionsButton = false;
138
+ }
122
139
  });
123
140
  _GxIdeShareKb_renderFooter.set(this, () => {
124
141
  const disableShareKbButton = !this.kbName.length;
@@ -162,9 +179,7 @@ const GxIdeShareKb$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeShareKb exten
162
179
  }), __classPrivateFieldGet(this, _GxIdeShareKb_evaluateTooltipRender, "f").call(this, __classPrivateFieldGet(this, _GxIdeShareKb_KBNameEl, "f"))), h("div", { class: "versions-container field-group" }, h("ch-radio-group-render", { class: "radio-group", model: __classPrivateFieldGet(this, _GxIdeShareKb_versionsSelect, "f"), onChange: __classPrivateFieldGet(this, _GxIdeShareKb_versionsChangedHandler, "f"), value: __classPrivateFieldGet(this, _GxIdeShareKb_versionsSelect, "f")[0].value, ref: el => (__classPrivateFieldSet(this, _GxIdeShareKb_versionSelectedTypeEl, el, "f")) }), 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, _GxIdeShareKb__componentLocale, "f").kb.versionsLabel), h("div", { class: "versions-container__input" }, h("ch-edit", { class: "input", readonly: true, placeholder: this.enableSelectVersionsButton
163
180
  ? __classPrivateFieldGet(this, _GxIdeShareKb__componentLocale, "f").kb.versionsPlaceholder
164
181
  : __classPrivateFieldGet(this, _GxIdeShareKb__componentLocale, "f").kb
165
- .versionsPlaceholderDisabled, value: this.versionsValueInput }), h("button", { class: "button-tertiary button-icon-only",
166
- // onClick={this.#selectedVersionHandler}
167
- disabled: !this.enableSelectVersionsButton }, h("ch-image", { src: __classPrivateFieldGet(this, _GxIdeShareKb_showMoreIcon, "f"), class: "icon-sm" })))))))), __classPrivateFieldGet(this, _GxIdeShareKb_renderFooter, "f").call(this))));
182
+ .versionsPlaceholderDisabled, value: this.versionsValueInput }), h("button", { class: "button-tertiary button-icon-only", onClick: __classPrivateFieldGet(this, _GxIdeShareKb_selectedVersionHandler, "f"), disabled: !this.enableSelectVersionsButton }, h("ch-image", { src: __classPrivateFieldGet(this, _GxIdeShareKb_showMoreIcon, "f"), class: "icon-sm" })))))))), __classPrivateFieldGet(this, _GxIdeShareKb_renderFooter, "f").call(this))));
168
183
  }
169
184
  static get assetsDirs() { return ["gx-ide-assets/share-kb"]; }
170
185
  get el() { return this; }
@@ -181,7 +196,7 @@ const GxIdeShareKb$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeShareKb exten
181
196
  "versionSelectedType": [32],
182
197
  "versionsValueInput": [32]
183
198
  }]);
184
- _GxIdeShareKb_showMoreIcon = new WeakMap(), _GxIdeShareKb_versionsSelect = new WeakMap(), _GxIdeShareKb__componentLocale = new WeakMap(), _GxIdeShareKb_renderedFirstTime = new WeakMap(), _GxIdeShareKb_shortcutsSrc = new WeakMap(), _GxIdeShareKb_versionSelectedTypeEl = new WeakMap(), _GxIdeShareKb_KBNameEl = new WeakMap(), _GxIdeShareKb_cancelHandler = new WeakMap(), _GxIdeShareKb_changeConnectionHandler = new WeakMap(), _GxIdeShareKb_shareKBHandler = new WeakMap(), _GxIdeShareKb_evaluateTooltipRender = new WeakMap(), _GxIdeShareKb_initializeValidatableControls = new WeakMap(), _GxIdeShareKb_kbNameInputHandler = new WeakMap(), _GxIdeShareKb_versionsChangedHandler = new WeakMap(), _GxIdeShareKb_renderFooter = new WeakMap();
199
+ _GxIdeShareKb_showMoreIcon = new WeakMap(), _GxIdeShareKb_versionsSelect = new WeakMap(), _GxIdeShareKb__componentLocale = new WeakMap(), _GxIdeShareKb_kbVersions = new WeakMap(), _GxIdeShareKb_renderedFirstTime = new WeakMap(), _GxIdeShareKb_shortcutsSrc = new WeakMap(), _GxIdeShareKb_selectedKbId = new WeakMap(), _GxIdeShareKb_versionSelectedTypeEl = new WeakMap(), _GxIdeShareKb_KBNameEl = new WeakMap(), _GxIdeShareKb_cancelHandler = new WeakMap(), _GxIdeShareKb_changeConnectionHandler = new WeakMap(), _GxIdeShareKb_shareKBHandler = new WeakMap(), _GxIdeShareKb_evaluateTooltipRender = new WeakMap(), _GxIdeShareKb_initializeValidatableControls = new WeakMap(), _GxIdeShareKb_kbNameInputHandler = new WeakMap(), _GxIdeShareKb_selectedVersionHandler = new WeakMap(), _GxIdeShareKb_versionsChangedHandler = new WeakMap(), _GxIdeShareKb_renderFooter = new WeakMap();
185
200
  function defineCustomElement$1() {
186
201
  if (typeof customElements === "undefined") {
187
202
  return;