@genexus/genexus-ide-ui 0.0.109 → 0.0.111

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 (191) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/{gx-ide-add-module-servers.cjs.entry.js → gx-ide-edit-module-server.cjs.entry.js} +6 -6
  3. package/dist/cjs/{gx-ide-add-module-servers.cjs.entry.js.map → gx-ide-edit-module-server.cjs.entry.js.map} +1 -1
  4. package/dist/cjs/gx-ide-empty-state.cjs.entry.js +70 -0
  5. package/dist/cjs/gx-ide-empty-state.cjs.entry.js.map +1 -0
  6. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +1 -1
  7. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +142 -63
  9. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gx-ide-status-buttons.cjs.entry.js +5 -10
  11. package/dist/cjs/gx-ide-status-buttons.cjs.entry.js.map +1 -1
  12. package/dist/cjs/gxg-buttons-container_2.cjs.entry.js +1 -1
  13. package/dist/cjs/gxg-buttons-container_2.cjs.entry.js.map +1 -1
  14. package/dist/cjs/{gx-ide-empty-state_2.cjs.entry.js → gxg-card_2.cjs.entry.js} +121 -63
  15. package/dist/cjs/gxg-card_2.cjs.entry.js.map +1 -0
  16. package/dist/cjs/gxg-combo-box_2.cjs.entry.js +1 -0
  17. package/dist/cjs/gxg-combo-box_2.cjs.entry.js.map +1 -1
  18. package/dist/cjs/gxg-ide-loader.cjs.entry.js +4 -15
  19. package/dist/cjs/gxg-ide-loader.cjs.entry.js.map +1 -1
  20. package/dist/cjs/gxg-tab_4.cjs.entry.js +1 -1
  21. package/dist/cjs/gxg-tab_4.cjs.entry.js.map +1 -1
  22. package/dist/cjs/loader.cjs.js +1 -1
  23. package/dist/collection/collection-manifest.json +1 -2
  24. package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.css +370 -29
  25. package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.js +4 -99
  26. package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.js.map +1 -1
  27. package/dist/collection/components/kb-manager-import/kb-manager-import.js +1 -1
  28. package/dist/collection/components/kb-manager-import/kb-manager-import.js.map +1 -1
  29. package/dist/collection/components/modules/{edit-module-servers/edit-module-servers.js → edit-module-server/edit-module-server.js} +12 -12
  30. package/dist/collection/components/modules/{add-module-servers/add-module-servers.js.map → edit-module-server/edit-module-server.js.map} +1 -1
  31. package/dist/collection/components/modules/manage-module-references/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.en.json +10 -4
  32. package/dist/collection/components/modules/manage-module-references/manage-module-references.css +43 -22
  33. package/dist/collection/components/modules/manage-module-references/manage-module-references.js +167 -63
  34. package/dist/collection/components/modules/manage-module-references/manage-module-references.js.map +1 -1
  35. package/dist/collection/components/modules/types.js.map +1 -1
  36. package/dist/components/combo-box.js +2 -1
  37. package/dist/components/combo-box.js.map +1 -1
  38. package/dist/components/container.js +2 -2
  39. package/dist/components/form-checkbox.js +1 -1
  40. package/dist/components/form-radio-group.js +1 -1
  41. package/dist/components/form-text.js +1 -1
  42. package/dist/components/form-textarea.js +1 -1
  43. package/dist/components/form.js +1 -1
  44. package/dist/components/gx-ide-ai-assistant.js +1 -1
  45. package/dist/components/gx-ide-bpm-app-declaration.js +2 -2
  46. package/dist/components/gx-ide-create-kb-from-server.js +2 -2
  47. package/dist/components/gx-ide-dashboard-home.js +2 -2
  48. package/dist/components/gx-ide-data-selector.js +2 -2
  49. package/dist/components/gx-ide-edit-module-server.d.ts +11 -0
  50. package/dist/components/{gx-ide-add-module-servers.js → gx-ide-edit-module-server.js} +13 -13
  51. package/dist/components/{gx-ide-add-module-servers.js.map → gx-ide-edit-module-server.js.map} +1 -1
  52. package/dist/components/gx-ide-empty-state2.js +2 -2
  53. package/dist/components/gx-ide-import-from-design.js +2 -2
  54. package/dist/components/gx-ide-kb-manager-export.js +2 -2
  55. package/dist/components/gx-ide-kb-manager-import.js +3 -3
  56. package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
  57. package/dist/components/gx-ide-manage-module-references.js +173 -90
  58. package/dist/components/gx-ide-manage-module-references.js.map +1 -1
  59. package/dist/components/gx-ide-new-environment.js +2 -2
  60. package/dist/components/gx-ide-new-kb.js +2 -2
  61. package/dist/components/gx-ide-new-object.js +2 -2
  62. package/dist/components/gx-ide-object-selector.js +2 -2
  63. package/dist/components/gx-ide-references.js +2 -2
  64. package/dist/components/gx-ide-share-kb.js +2 -2
  65. package/dist/components/gx-ide-start-page.js +2 -2
  66. package/dist/components/gx-ide-status-buttons2.js +6 -16
  67. package/dist/components/gx-ide-status-buttons2.js.map +1 -1
  68. package/dist/components/gx-ide-team-dev-commit.js +2 -2
  69. package/dist/components/gx-ide-team-dev-select-recent-comment.js +2 -2
  70. package/dist/components/gx-ide-team-dev-update-partial-selection.js +2 -2
  71. package/dist/components/gx-ide-team-dev-update-to-revision.js +2 -2
  72. package/dist/components/gx-ide-team-dev-update.js +2 -2
  73. package/dist/components/gx-ide-template.js +2 -2
  74. package/dist/components/gx-ide-title.js +1 -1
  75. package/dist/components/gx-ide-top-bar.js +1 -1
  76. package/dist/components/gx-ide-ww-images.js +2 -2
  77. package/dist/components/gxg-container.js +1 -1
  78. package/dist/components/gxg-form-checkbox-group2.js +1 -1
  79. package/dist/components/gxg-menu-slim-list.js +1 -1
  80. package/dist/components/gxg-title.js +1 -1
  81. package/dist/components/gxg-top-state-bar2.js +1 -1
  82. package/dist/components/gxg-top-state-bar2.js.map +1 -1
  83. package/dist/components/ide-loader.js +7 -16
  84. package/dist/components/ide-loader.js.map +1 -1
  85. package/dist/components/list-box.js +1 -1
  86. package/dist/components/list-selector.js +1 -1
  87. package/dist/components/recent-news.js +2 -2
  88. package/dist/components/suggest.js +1 -1
  89. package/dist/components/tabs.js +1 -1
  90. package/dist/components/tabs.js.map +1 -1
  91. package/dist/components/title-editable.js +1 -1
  92. package/dist/components/title.js +31 -32
  93. package/dist/components/title.js.map +1 -1
  94. package/dist/components/title2.js +32 -31
  95. package/dist/components/title2.js.map +1 -1
  96. package/dist/esm/genexus-ide-ui.js +1 -1
  97. package/dist/esm/{gx-ide-add-module-servers.entry.js → gx-ide-edit-module-server.entry.js} +6 -6
  98. package/dist/esm/{gx-ide-add-module-servers.entry.js.map → gx-ide-edit-module-server.entry.js.map} +1 -1
  99. package/dist/esm/gx-ide-empty-state.entry.js +66 -0
  100. package/dist/esm/gx-ide-empty-state.entry.js.map +1 -0
  101. package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
  102. package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
  103. package/dist/esm/gx-ide-manage-module-references.entry.js +142 -63
  104. package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -1
  105. package/dist/esm/gx-ide-status-buttons.entry.js +5 -10
  106. package/dist/esm/gx-ide-status-buttons.entry.js.map +1 -1
  107. package/dist/esm/gxg-buttons-container_2.entry.js +1 -1
  108. package/dist/esm/gxg-buttons-container_2.entry.js.map +1 -1
  109. package/dist/esm/{gx-ide-empty-state_2.entry.js → gxg-card_2.entry.js} +122 -64
  110. package/dist/{cjs/gx-ide-empty-state_2.cjs.entry.js.map → esm/gxg-card_2.entry.js.map} +1 -1
  111. package/dist/esm/gxg-combo-box_2.entry.js +1 -0
  112. package/dist/esm/gxg-combo-box_2.entry.js.map +1 -1
  113. package/dist/esm/gxg-ide-loader.entry.js +4 -15
  114. package/dist/esm/gxg-ide-loader.entry.js.map +1 -1
  115. package/dist/esm/gxg-tab_4.entry.js +1 -1
  116. package/dist/esm/gxg-tab_4.entry.js.map +1 -1
  117. package/dist/esm/loader.js +1 -1
  118. package/dist/genexus-ide-ui/genexus-ide-ui.css +4 -3
  119. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  120. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  121. package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.en.json +10 -4
  122. package/dist/genexus-ide-ui/{p-b7bc3c0c.entry.js → p-00704c36.entry.js} +6 -6
  123. package/dist/genexus-ide-ui/{p-b7bc3c0c.entry.js.map → p-00704c36.entry.js.map} +1 -1
  124. package/dist/genexus-ide-ui/p-5ca7da19.entry.js +94 -0
  125. package/dist/genexus-ide-ui/p-5ca7da19.entry.js.map +1 -0
  126. package/dist/genexus-ide-ui/{p-41ac8e60.entry.js → p-5fe20f47.entry.js} +2 -2
  127. package/dist/genexus-ide-ui/p-5fe20f47.entry.js.map +1 -0
  128. package/dist/genexus-ide-ui/{p-adaf7aff.entry.js → p-713ad05d.entry.js} +185 -109
  129. package/dist/genexus-ide-ui/p-713ad05d.entry.js.map +1 -0
  130. package/dist/genexus-ide-ui/{p-40121554.entry.js → p-9f9fda93.entry.js} +172 -120
  131. package/dist/genexus-ide-ui/p-9f9fda93.entry.js.map +1 -0
  132. package/dist/genexus-ide-ui/{p-ee9f4e20.entry.js → p-bc04fcaa.entry.js} +7 -15
  133. package/dist/genexus-ide-ui/p-bc04fcaa.entry.js.map +1 -0
  134. package/dist/genexus-ide-ui/{p-5a5d3e19.entry.js → p-c9cceb40.entry.js} +1 -4
  135. package/dist/genexus-ide-ui/p-c9cceb40.entry.js.map +1 -0
  136. package/dist/genexus-ide-ui/{p-e9e4482b.entry.js → p-decf86d4.entry.js} +114 -127
  137. package/dist/genexus-ide-ui/p-decf86d4.entry.js.map +1 -0
  138. package/dist/genexus-ide-ui/{p-045a084f.entry.js → p-f37ec5b8.entry.js} +2 -1
  139. package/dist/genexus-ide-ui/p-f37ec5b8.entry.js.map +1 -0
  140. package/dist/genexus-ide-ui/{p-a46794f4.entry.js → p-f91c432e.entry.js} +3 -3
  141. package/dist/genexus-ide-ui/{p-a46794f4.entry.js.map → p-f91c432e.entry.js.map} +1 -1
  142. package/dist/node_modules/@genexus/gemini/dist/collection/components/ide-loader/ide-loader.css +3 -0
  143. package/dist/node_modules/@genexus/gemini/dist/collection/components/tabs/tabs.css +1 -0
  144. package/dist/node_modules/@genexus/gemini/dist/collection/components/top-state-bar/gxg-top-state-bar.css +32 -34
  145. package/dist/types/components/_helpers/status-buttons/gx-ide-status-buttons.d.ts +0 -20
  146. package/dist/types/components/modules/{add-module-servers/add-module-servers.d.ts → edit-module-server/edit-module-server.d.ts} +2 -2
  147. package/dist/types/components/modules/manage-module-references/manage-module-references.d.ts +20 -8
  148. package/dist/types/components/modules/types.d.ts +5 -4
  149. package/dist/types/components.d.ts +85 -199
  150. package/package.json +3 -3
  151. package/dist/cjs/gx-ide-edit-module-servers.cjs.entry.js +0 -98
  152. package/dist/cjs/gx-ide-edit-module-servers.cjs.entry.js.map +0 -1
  153. package/dist/cjs/gxg-title-editable.cjs.entry.js +0 -128
  154. package/dist/cjs/gxg-title-editable.cjs.entry.js.map +0 -1
  155. package/dist/collection/components/modules/add-module-servers/add-module-servers.js +0 -251
  156. package/dist/collection/components/modules/add-module-servers/gx-ide-assets/add-module-servers/langs/add-module-servers.lang.en.json +0 -11
  157. package/dist/collection/components/modules/add-module-servers/gx-ide-assets/add-module-servers/langs/add-module-servers.lang.ja.json +0 -3
  158. package/dist/collection/components/modules/add-module-servers/gx-ide-assets/add-module-servers/langs/add-module-servers.lang.zh.json +0 -3
  159. package/dist/collection/components/modules/edit-module-servers/edit-module-servers.css +0 -560
  160. package/dist/collection/components/modules/edit-module-servers/edit-module-servers.js.map +0 -1
  161. package/dist/collection/components/modules/edit-module-servers/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.en.json +0 -11
  162. package/dist/collection/components/modules/edit-module-servers/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.ja.json +0 -3
  163. package/dist/collection/components/modules/edit-module-servers/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.zh.json +0 -3
  164. package/dist/components/gx-ide-add-module-servers.d.ts +0 -11
  165. package/dist/components/gx-ide-edit-module-servers.d.ts +0 -11
  166. package/dist/components/gx-ide-edit-module-servers.js +0 -186
  167. package/dist/components/gx-ide-edit-module-servers.js.map +0 -1
  168. package/dist/esm/gx-ide-edit-module-servers.entry.js +0 -94
  169. package/dist/esm/gx-ide-edit-module-servers.entry.js.map +0 -1
  170. package/dist/esm/gx-ide-empty-state_2.entry.js.map +0 -1
  171. package/dist/esm/gxg-title-editable.entry.js +0 -124
  172. package/dist/esm/gxg-title-editable.entry.js.map +0 -1
  173. package/dist/genexus-ide-ui/gx-ide-assets/add-module-servers/langs/add-module-servers.lang.en.json +0 -11
  174. package/dist/genexus-ide-ui/gx-ide-assets/add-module-servers/langs/add-module-servers.lang.ja.json +0 -3
  175. package/dist/genexus-ide-ui/gx-ide-assets/add-module-servers/langs/add-module-servers.lang.zh.json +0 -3
  176. package/dist/genexus-ide-ui/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.en.json +0 -11
  177. package/dist/genexus-ide-ui/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.ja.json +0 -3
  178. package/dist/genexus-ide-ui/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.zh.json +0 -3
  179. package/dist/genexus-ide-ui/p-045a084f.entry.js.map +0 -1
  180. package/dist/genexus-ide-ui/p-36544e00.entry.js +0 -138
  181. package/dist/genexus-ide-ui/p-36544e00.entry.js.map +0 -1
  182. package/dist/genexus-ide-ui/p-40121554.entry.js.map +0 -1
  183. package/dist/genexus-ide-ui/p-41ac8e60.entry.js.map +0 -1
  184. package/dist/genexus-ide-ui/p-5a5d3e19.entry.js.map +0 -1
  185. package/dist/genexus-ide-ui/p-adaf7aff.entry.js.map +0 -1
  186. package/dist/genexus-ide-ui/p-b7d0697f.entry.js +0 -138
  187. package/dist/genexus-ide-ui/p-b7d0697f.entry.js.map +0 -1
  188. package/dist/genexus-ide-ui/p-e9e4482b.entry.js.map +0 -1
  189. package/dist/genexus-ide-ui/p-ee9f4e20.entry.js.map +0 -1
  190. package/dist/types/components/modules/edit-module-servers/edit-module-servers.d.ts +0 -60
  191. /package/dist/collection/components/modules/{add-module-servers/add-module-servers.css → edit-module-server/edit-module-server.css} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"kb-manager-import.js","sourceRoot":"","sources":["../../../src/components/kb-manager-import/kb-manager-import.tsx"],"names":[],"mappings":"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","sourcesContent":["/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Event,\n Element,\n State,\n EventEmitter,\n Watch,\n Method\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { TreeViewItemContextMenu } from \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\";\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/types\";\nimport { TreeViewItemModelExtended } from \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/types\";\n\nimport {\n TextAlign,\n TextPadding,\n TextType\n} from \"@genexus/gemini/dist/types/components/text/text\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { config } from \"../../common/config\";\nimport {\n ImportCategoryData,\n ImportItemResultData,\n ContextMenuInfo\n} from \"../../common/types\";\nimport {\n convertImportCategoryToTreeView,\n addImportItemResultDataItem\n} from \"./helpers\";\n// import { CheckboxInfo } from \"@genexus/gemini/dist/types/components/form-checkbox/form-checkbox\";\nimport { countTreeItems } from \"../../common/helpers\";\nimport { CheckedItemsInfo } from \"../_helpers/list-selector/list-selector\";\n\nimport { KB_OBJECT } from \"./helpers\";\nimport { CheckboxInfo } from \"@genexus/gemini\";\n\n@Component({\n tag: \"gx-ide-kb-manager-import\",\n styleUrl: \"kb-manager-import.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/kb-manager-import\"]\n})\nexport class GxIdeKbManagerImport {\n /*\nINDEX:\n1.OWN PROPERTIES\n2.REFERENCE TO ELEMENTS\n3.STATE() VARIABLES\n4.PUBLIC PROPERTY API | WATCH'S\n5.EVENTS (EMIT)\n6.COMPONENT LIFECYCLE EVENTS\n7.LISTENERS\n8.PUBLIC METHODS API\n9.LOCAL METHODS\n10.RENDER() FUNCTION\n*/\n\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n /* ImportCategoryBasicData Holds the original name of category data, and its id. Used to create parent nodes on the imported tree*/\n private importCategoryData: ImportCategoryData[] = [];\n private objectsInFileTotalNodes = 0;\n private selectedObjectsInFileIds: string[] = [];\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeKbManagerImportElement;\n\n private objectsTreeEl!: HTMLGxgTreeViewElement;\n private fileInputEl!: HTMLGxgFormTextElement;\n private objectsButtonsGroup!: HTMLGxgButtonsContainerElement;\n private toggleObjectsCheckboxEl: HTMLGxgFormCheckboxElement;\n private topStateBarEl!: HTMLGxgTopStateBarElement;\n\n // 3.STATE() VARIABLES //\n\n @State() checkedObjectsIds: string[] = [];\n @State() noObjects: boolean;\n @State() showHiddenImportsMessage = false;\n @State() statusInfo: StatusInfo = {\n error: {\n display: true,\n number: 0\n },\n warning: {\n display: true,\n number: 0\n },\n success: {\n display: true,\n number: 0\n }\n };\n @State() objectsTreeState: TreeViewItemModel[] = [];\n @Watch(\"objectsTreeState\")\n watchObjectsTreeStateHandler(newState: TreeViewItemModel[]) {\n this.noObjects = !!(newState.length === 0 || !newState);\n this.objectsInFileTotalNodes = countTreeItems(newState);\n }\n\n // import status\n @State() importStatusMessage: string;\n @State() someStatusVisible: boolean;\n @State() noImport: boolean;\n @State() importTreeState: TreeViewItemModel[] = [];\n @Watch(\"importTreeState\")\n watchImportTreeStateHandler() {\n this.evaluateImport();\n if (this.noImport) {\n this.importStatusMessage =\n this._componentLocale.main.importStatus.noImportedFiles;\n } else {\n this.importStatusMessage =\n this._componentLocale.main.importStatus.importedButHidden;\n }\n }\n\n @State() importingIsInProcess = false;\n @Watch(\"importingIsInProcess\")\n watchImportingIsInProcessHandler(isImporting: boolean) {\n if (isImporting && this.topStateBar) {\n this.topStateBarEl.active = true;\n } else if (!isImporting && this.topStateBar) {\n this.topStateBarEl.active = false;\n }\n }\n\n // 4.PUBLIC PROPERTY API //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * If true, it will display a loader when needed.\n */\n @Prop() readonly topStateBar = true;\n\n /**\n * The name of the imported xml or xps file\n */\n @Prop({ mutable: true }) selectedFile: File;\n @Watch(\"selectedFile\")\n watchSelectedFileHandler(file: File) {\n if (file && file.name && file.size > 0) {\n this.loadFileHandler();\n }\n }\n\n /**\n * Callback invoked when the user wants to access the export options.\n */\n @Prop() readonly optionsCallback: OptionsCallback;\n\n /**\n *Callback invoked when the user wants to initiate the import process.\n */\n @Prop() readonly importCallback: ImportCallback;\n\n /**\n *Callback invoked when the user wants to load the xpz information\n */\n @Prop() readonly loadCallback: LoadCallback;\n\n /**\n * Callback invoked when the user wants to cancel the export process.\n * @returns It returns a boolean indicating whether the process could be canceled or not.\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * It displays the status buttons (errors, warning, succeeded) with the minimal ui (no captions)\n */\n @Prop() readonly statusMinimal = false;\n\n /**\n * It displays the status buttons (errors, warning, succeeded) with the minimal ui (no captions)\n */\n @Prop() readonly objectContextMenuCallback: ObjectContextMenuCallback;\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() componentDidRenderFirstTime: 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() componentDidLoadEvent: 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 this.evaluateObjects();\n this.evaluateImport();\n this.importStatusMessage =\n this._componentLocale.main.importStatus.noImportedFiles;\n this.evaluateImportStatusMessage();\n }\n\n componentDidLoad() {\n this.fileInputEl.focus();\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 // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n /**\n * Add the result of importing an item\n */\n @Method()\n async addResultItem(item: ImportItemResultData) {\n this.importTreeState = addImportItemResultDataItem(\n item,\n this.importCategoryData,\n this.importTreeState\n );\n this.statusInfo[item.status].number++;\n }\n\n // 9.LOCAL METHODS //\n\n private evaluateImportStatusMessage = () => {\n this.someStatusVisible =\n this.statusInfo.error.display ||\n this.statusInfo.warning.display ||\n this.statusInfo.success.display;\n };\n\n private evaluateObjects = () => {\n this.noObjects = !!(\n this.objectsTreeState?.length === 0 || !this.objectsTreeState\n );\n };\n\n private evaluateImport = () => {\n this.noImport = !!(\n this.importTreeState?.length === 0 || !this.importTreeState\n );\n };\n\n private selectFileAndLoadHandler = () => {\n this.fileInputEl.openFile();\n };\n\n private loadFileHandler = async () => {\n if (this.loadCallback && this.selectedFile) {\n this.importCategoryData = await this.loadCallback(this.selectedFile);\n const importCategoryTreeData = convertImportCategoryToTreeView(\n this.importCategoryData\n );\n this.objectsTreeState = importCategoryTreeData;\n if (this.importCategoryData.length > 0) {\n // clear input\n this.selectedFile = null;\n }\n }\n };\n\n private fileSelectedHandler = (fileEvent: CustomEvent<FileList>) => {\n this.selectedFile = fileEvent.detail[0];\n };\n\n private importObjectsHandler = async () => {\n if (this.importCallback) {\n /* first clear imported objects (this clears errors/warnings/success counts as well)*/\n this.clearStatusHandler();\n /* then do the import*/\n this.importingIsInProcess = true;\n this.objectsButtonsGroup.selectedButtonId = \"cancel-import-btn\";\n this.importCallback(this.checkedObjectsIds).then(() => {\n this.importingIsInProcess = false;\n });\n }\n };\n\n private objectsTreeCheckedItemsChangedHandler = (\n event: CustomEvent<Map<string, TreeViewItemModelExtended>>\n ) => {\n /* 1. Begin of evaluate 'select/unselect checkbox' state*/\n if (event.detail == null) {\n this.toggleObjectsCheckboxEl.checked = false;\n this.toggleObjectsCheckboxEl.indeterminate = false;\n return;\n }\n\n const allItemsWithCheckbox = [...event.detail.values()];\n\n if (allItemsWithCheckbox.length === 0) {\n this.toggleObjectsCheckboxEl.checked = false;\n this.toggleObjectsCheckboxEl.indeterminate = false;\n return;\n }\n\n const firstItemCheckedValue = allItemsWithCheckbox[0].item.checked;\n\n const allItemsHaveTheSameCheckedValue = allItemsWithCheckbox.every(\n treeItem => treeItem.item.checked === firstItemCheckedValue\n );\n\n this.toggleObjectsCheckboxEl.checked = firstItemCheckedValue;\n this.toggleObjectsCheckboxEl.indeterminate =\n !allItemsHaveTheSameCheckedValue;\n /* /End of evaluate 'select/unselect checkbox' state*/\n\n /* 2. Begin of checked items evaluation*/\n const checkedItems = allItemsWithCheckbox.filter(node => node.item.checked);\n // objects checked\n const checkedObjects = checkedItems.filter(\n node => node.item.metadata === KB_OBJECT\n );\n\n const checkedObjectsIds: string[] = [];\n if (checkedObjects.length > 0) {\n checkedObjects.forEach(objectChecked => {\n checkedObjectsIds.push(objectChecked.item.id);\n });\n }\n /* /End of checked items evaluation*/\n\n /* 3. Begin of caption update*/\n /* TO DO (when we can differentiate the caption from the number of children)*/\n // const categoryItems = allItemsWithCheckbox.filter(\n // node => node.item.metadata === KB_CATEGORY\n // );\n // categoryItems.forEach(category => {\n // const itemInfo = category.item;\n // // Update the amount of checked values\n // if (itemInfo.leaf !== true) {\n // const totalItems = itemInfo.items.length;\n\n // const totalItemsChecked = itemInfo.items.filter(\n // itemUIModel => itemUIModel.checked\n // ).length;\n\n // const newItemCaption =\n // totalItems !== totalItemsChecked\n // ? `${itemInfo.caption} (${totalItemsChecked}/${totalItems})`\n // : `${itemInfo.caption} (${totalItems})`;\n\n // // Only update the item caption if needed\n // if (newItemCaption !== itemInfo.caption) {\n // this.objectsTreeEl.updateItemsProperties([itemInfo.id], {\n // id: itemInfo.id,\n // caption: newItemCaption\n // });\n // }\n // }\n // });\n\n /* /End of caption update*/\n this.checkedObjectsIds = checkedObjectsIds;\n };\n\n private objectsTreeSelectedItemsChangedHandler = (\n event: CustomEvent<TreeViewItemModelExtended[]>\n ) => {\n this.selectedObjectsInFileIds = event.detail.map(item => item.item.id);\n };\n\n private objectsTreeContextMenuHandler = (\n event: CustomEvent<TreeViewItemContextMenu>\n ) => {\n if (this.objectContextMenuCallback && event.detail.metadata === KB_OBJECT) {\n this.objectContextMenuCallback(\"imported\", {\n selection: this.selectedObjectsInFileIds,\n clientX: event.detail.contextmenuEvent.screenX,\n clientY: event.detail.contextmenuEvent.screenY\n });\n }\n };\n\n private cancelImportHandler = () => {\n if (this.cancelCallback) {\n this.cancelCallback().then(result => {\n if (result) {\n this.topStateBarEl.active = false;\n }\n });\n // returns boolean\n }\n };\n\n private optionsHandler = () => {\n if (this.optionsCallback) {\n this.optionsCallback();\n // returns boolean\n }\n };\n\n private clearStatusHandler = () => {\n this.importTreeState = [];\n this.statusInfo.error.number = 0;\n this.statusInfo.warning.number = 0;\n this.statusInfo.success.number = 0;\n };\n\n private toggleSelectionClickHandler = (e: CustomEvent<CheckboxInfo>) => {\n const checked = (e.target as HTMLGxgFormCheckboxElement).checked;\n this.toggleObjectsCheckboxEl.indeterminate = false;\n this.objectsTreeEl.updateAllItemsProperties({ checked: checked });\n };\n\n private statusButtonsSelectionChangedHandler = (\n e: CustomEvent<CheckedItemsInfo>\n ) => {\n const activeStates = e.detail;\n const errorIndex = activeStates.findIndex(\n state => state.itemId === \"error\"\n );\n const warningIndex = activeStates.findIndex(\n state => state.itemId === \"warning\"\n );\n const successIndex = activeStates.findIndex(\n state => state.itemId === \"success\"\n );\n this.statusInfo = {\n error: {\n display: errorIndex !== -1,\n number: this.statusInfo.error.number\n },\n warning: {\n display: warningIndex !== -1,\n number: this.statusInfo.warning.number\n },\n success: {\n display: successIndex !== -1,\n number: this.statusInfo.success.number\n }\n };\n this.evaluateImportStatusMessage();\n };\n\n private evaluateCheckAllValue = (): boolean => {\n let checked = true;\n const allAreChecked =\n this.objectsInFileTotalNodes === this.checkedObjectsIds.length;\n const conditionToUncheck =\n this.objectsTreeState.length === 0 || !allAreChecked;\n if (conditionToUncheck) {\n checked = false;\n }\n return checked;\n };\n\n private fileClearedHandler = () => {\n this.selectedFile = null;\n };\n\n // 10.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host class=\"gx-ide-component\">\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n noContentPadding\n noFooterPadding\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n >\n {/* header */}\n <header class=\"header\" slot=\"header\">\n {/* select a file */}\n <gxg-form-text\n type=\"file\"\n class=\"select-file\"\n label={this._componentLocale.header.fileNameLabel}\n placeholder={this._componentLocale.header.fileNamePlaceholder}\n part=\"file-name\"\n acceptFile=\".xpz, .xml\"\n clearButton\n iconPosition=\"start\"\n onFileSelected={this.fileSelectedHandler}\n onClearButtonClicked={this.fileClearedHandler}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.fileInputEl = el as HTMLGxgFormTextElement)\n }\n ></gxg-form-text>\n {/* select file button / load button*/}\n <gxg-button\n type=\"primary-text-icon\"\n icon=\"gemini-tools/file\"\n part=\"select-file-load-button\"\n onClick={this.selectFileAndLoadHandler}\n disabled={this.importingIsInProcess}\n >\n {this._componentLocale.header.selectFileButton}\n </gxg-button>\n </header>\n <main class=\"main\">\n {/* main */}\n {/* objects in file*/}\n <div class=\"container-wrapper\">\n {/* top state bar*/}\n {this.topStateBar ? (\n <gxg-top-state-bar\n class=\"top-state-bar\"\n part=\"top-state-bar\"\n caption={this._componentLocale.loader.title}\n ref={el =>\n (this.topStateBarEl = el as HTMLGxgTopStateBarElement)\n }\n ></gxg-top-state-bar>\n ) : null}\n <gx-ide-container\n containerTitle={\n this._componentLocale.main.objectsInFile.title\n }\n noContentPadding\n noBorderFooter\n class=\"left-container\"\n slimmerFooter\n inactiveTitle={this.noObjects}\n titleType=\"secondary\"\n >\n <div\n class={{\n \"tree-container\": true,\n \"tree-container--objects-in-file\": true,\n \"tree-container--empty\": this.noObjects\n }}\n >\n {!this.noObjects ? (\n <gxg-tree-view\n treeModel={this.objectsTreeState}\n dragDisabled={true}\n dropDisabled={true}\n toggleCheckboxes={true}\n checkbox={true}\n checked={true}\n onCheckedItemsChange={\n this.objectsTreeCheckedItemsChangedHandler\n }\n onSelectedItemsChange={\n this.objectsTreeSelectedItemsChangedHandler\n }\n onItemContextmenu={this.objectsTreeContextMenuHandler}\n ref={el =>\n (this.objectsTreeEl = el as HTMLGxgTreeViewElement)\n }\n ></gxg-tree-view>\n ) : (\n <div class=\"gx-ide-message\">\n <gxg-text\n textAlign={\n config.gxgMessage.common.textAlign as TextAlign\n }\n padding={\n config.gxgMessage.common.textAlign as TextPadding\n }\n type={config.gxgMessage.common.type as TextType}\n maxWidth={config.gxgMessage.common.maxWidth}\n part=\"objects-in-file-empty-status-message\"\n >\n {this._componentLocale.main.objectsInFile.noObjects}\n <gxg-text\n type=\"text-link-no-line\"\n onClick={this.selectFileAndLoadHandler}\n >\n {\n this._componentLocale.main.objectsInFile\n .selectFile\n }\n </gxg-text>\n </gxg-text>\n </div>\n )}\n </div>\n {/* select all / unselect all checkbox*/}\n <gxg-form-checkbox\n label={\n this._componentLocale.main.objectsInFile.selectUnselect\n }\n part=\"select-all-checkbox\"\n slot=\"footer-start\"\n disabled={\n this.importingIsInProcess ||\n this.objectsTreeState.length === 0\n }\n checked={this.evaluateCheckAllValue()}\n onChange={this.toggleSelectionClickHandler}\n ref={(el: HTMLGxgFormCheckboxElement) =>\n (this.toggleObjectsCheckboxEl =\n el as HTMLGxgFormCheckboxElement)\n }\n ></gxg-form-checkbox>\n {/* import button / cancel button*/}\n <gxg-buttons-container\n reduced\n slot=\"footer-end\"\n ref={(el: HTMLGxgButtonsContainerElement) =>\n (this.objectsButtonsGroup =\n el as HTMLGxgButtonsContainerElement)\n }\n >\n {/* import objects button*/}\n <gxg-button\n id=\"import-btn\"\n part=\"import-button\"\n disabled={\n this.objectsTreeState?.length === 0 ||\n this.importingIsInProcess\n }\n onClick={this.importObjectsHandler}\n selected\n >\n {this._componentLocale.main.objectsInFile.importButton}\n </gxg-button>\n\n {/* cancel-import button*/}\n <gxg-button\n id=\"cancel-import-btn\"\n part=\"cancel-import-button\"\n disabled={!this.importingIsInProcess}\n onClick={this.cancelImportHandler}\n >\n {this._componentLocale.main.objectsInFile.cancelButton}\n </gxg-button>\n </gxg-buttons-container>\n {/* settings/options button*/}\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/settings\"\n slot=\"footer-end\"\n part=\"select-kb-btn\"\n onClick={this.optionsHandler}\n >\n {this._componentLocale.header.optionsButton}\n </gxg-button>\n </gx-ide-container>\n {/* import status */}\n <gx-ide-container\n class=\"right-container\"\n containerTitle={this._componentLocale.main.importStatus.title}\n noContentPadding\n noBorderFooter\n slimmerFooter\n inactiveTitle={this.noImport}\n titleType=\"secondary\"\n >\n <div\n class={{\n \"tree-container\": true,\n \"tree-container--import-status\": true,\n \"tree-container--empty\":\n this.noImport || !this.someStatusVisible,\n \"tree-container--no-warnings\":\n !this.statusInfo.warning.display,\n \"tree-container--no-errors\":\n !this.statusInfo.error.display,\n \"tree-container--no-succeeded\":\n !this.statusInfo.success.display\n }}\n >\n {!this.noImport && this.someStatusVisible ? (\n <gxg-tree-view\n treeModel={this.importTreeState}\n toggleCheckboxes={true}\n ></gxg-tree-view>\n ) : (\n <gxg-text\n textAlign={\n config.gxgMessage.common.textAlign as TextAlign\n }\n padding={\n config.gxgMessage.common.textAlign as TextPadding\n }\n type={config.gxgMessage.common.type as TextType}\n maxWidth={config.gxgMessage.common.maxWidth}\n part=\"objects-in-file-empty-status-message\"\n class=\"gx-ide-message\"\n >\n {this.importStatusMessage}\n </gxg-text>\n )}\n </div>\n {/* clear status button */}\n <gxg-button\n type=\"secondary-text-only\"\n slot=\"footer-end\"\n part=\"select-kb-btn\"\n onClick={this.clearStatusHandler}\n disabled={this.noImport || this.importingIsInProcess}\n >\n {this._componentLocale.main.importStatus.clearButton}\n </gxg-button>\n {/* ghost element (used to force the container footer heights the same as the \"objects in file\" container tree)*/}\n <span class=\"ghost-element\" slot=\"footer-start\"></span>\n </gx-ide-container>\n </div>\n </main>\n {/* footer */}\n <footer slot=\"footer-start\">\n <gx-ide-status-buttons\n errors={this.statusInfo.error.number}\n warnings={this.statusInfo.warning.number}\n successes={this.statusInfo.success.number}\n hideMessage\n compact\n noBorderTop\n noBorderBottom\n noBorderStart\n minimal={this.statusMinimal}\n onSelectionChanged={this.statusButtonsSelectionChangedHandler}\n ></gx-ide-status-buttons>\n </footer>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type LoadCallback = (file: File) => Promise<ImportCategoryData[]>;\n\nexport type ImportCallback = (itemIds: string[]) => Promise<boolean>;\n\nexport type CancelCallback = () => Promise<boolean>;\n\nexport type OptionsCallback = () => Promise<void>;\nexport interface SelectedObject {\n itemId: string;\n subItemsIds: string[];\n}\n\nexport type ImportItemData = {\n id: string;\n name: string;\n};\n\ntype StatusInfo = {\n error: {\n display: boolean;\n number: number;\n };\n warning: {\n display: boolean;\n number: number;\n };\n success: {\n display: boolean;\n number: number;\n };\n};\n\nexport type ObjectContextMenuCallback = (\n tree: ObjectsSourceType,\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\n\nexport type ObjectsSourceType = \"in-file\" | \"imported\";\n"]}
1
+ {"version":3,"file":"kb-manager-import.js","sourceRoot":"","sources":["../../../src/components/kb-manager-import/kb-manager-import.tsx"],"names":[],"mappings":"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","sourcesContent":["/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Event,\n Element,\n State,\n EventEmitter,\n Watch,\n Method\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { TreeViewItemContextMenu } from \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\";\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/types\";\nimport { TreeViewItemModelExtended } from \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/types\";\n\nimport {\n TextAlign,\n TextPadding,\n TextType\n} from \"@genexus/gemini/dist/types/components/text/text\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { config } from \"../../common/config\";\nimport {\n ImportCategoryData,\n ImportItemResultData,\n ContextMenuInfo\n} from \"../../common/types\";\nimport {\n convertImportCategoryToTreeView,\n addImportItemResultDataItem\n} from \"./helpers\";\n// import { CheckboxInfo } from \"@genexus/gemini/dist/types/components/form-checkbox/form-checkbox\";\nimport { countTreeItems } from \"../../common/helpers\";\nimport { CheckedItemsInfo } from \"../_helpers/list-selector/list-selector\";\n\nimport { KB_OBJECT } from \"./helpers\";\nimport { CheckboxInfo } from \"@genexus/gemini\";\n\n@Component({\n tag: \"gx-ide-kb-manager-import\",\n styleUrl: \"kb-manager-import.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/kb-manager-import\"]\n})\nexport class GxIdeKbManagerImport {\n /*\nINDEX:\n1.OWN PROPERTIES\n2.REFERENCE TO ELEMENTS\n3.STATE() VARIABLES\n4.PUBLIC PROPERTY API | WATCH'S\n5.EVENTS (EMIT)\n6.COMPONENT LIFECYCLE EVENTS\n7.LISTENERS\n8.PUBLIC METHODS API\n9.LOCAL METHODS\n10.RENDER() FUNCTION\n*/\n\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n /* ImportCategoryBasicData Holds the original name of category data, and its id. Used to create parent nodes on the imported tree*/\n private importCategoryData: ImportCategoryData[] = [];\n private objectsInFileTotalNodes = 0;\n private selectedObjectsInFileIds: string[] = [];\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeKbManagerImportElement;\n\n private objectsTreeEl!: HTMLGxgTreeViewElement;\n private fileInputEl!: HTMLGxgFormTextElement;\n private objectsButtonsGroup!: HTMLGxgButtonsContainerElement;\n private toggleObjectsCheckboxEl: HTMLGxgFormCheckboxElement;\n private topStateBarEl!: HTMLGxgTopStateBarElement;\n\n // 3.STATE() VARIABLES //\n\n @State() checkedObjectsIds: string[] = [];\n @State() noObjects: boolean;\n @State() showHiddenImportsMessage = false;\n @State() statusInfo: StatusInfo = {\n error: {\n display: true,\n number: 0\n },\n warning: {\n display: true,\n number: 0\n },\n success: {\n display: true,\n number: 0\n }\n };\n @State() objectsTreeState: TreeViewItemModel[] = [];\n @Watch(\"objectsTreeState\")\n watchObjectsTreeStateHandler(newState: TreeViewItemModel[]) {\n this.noObjects = !!(newState.length === 0 || !newState);\n this.objectsInFileTotalNodes = countTreeItems(newState);\n }\n\n // import status\n @State() importStatusMessage: string;\n @State() someStatusVisible: boolean;\n @State() noImport: boolean;\n @State() importTreeState: TreeViewItemModel[] = [];\n @Watch(\"importTreeState\")\n watchImportTreeStateHandler() {\n this.evaluateImport();\n if (this.noImport) {\n this.importStatusMessage =\n this._componentLocale.main.importStatus.noImportedFiles;\n } else {\n this.importStatusMessage =\n this._componentLocale.main.importStatus.importedButHidden;\n }\n }\n\n @State() importingIsInProcess = false;\n @Watch(\"importingIsInProcess\")\n watchImportingIsInProcessHandler(isImporting: boolean) {\n if (isImporting && this.topStateBar) {\n this.topStateBarEl.active = true;\n } else if (!isImporting && this.topStateBar) {\n this.topStateBarEl.active = false;\n }\n }\n\n // 4.PUBLIC PROPERTY API //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * If true, it will display a loader when needed.\n */\n @Prop() readonly topStateBar = true;\n\n /**\n * The name of the imported xml or xps file\n */\n @Prop({ mutable: true }) selectedFile: File;\n @Watch(\"selectedFile\")\n watchSelectedFileHandler(file: File) {\n if (file && file.name && file.size > 0) {\n this.loadFileHandler();\n }\n }\n\n /**\n * Callback invoked when the user wants to access the export options.\n */\n @Prop() readonly optionsCallback: OptionsCallback;\n\n /**\n *Callback invoked when the user wants to initiate the import process.\n */\n @Prop() readonly importCallback: ImportCallback;\n\n /**\n *Callback invoked when the user wants to load the xpz information\n */\n @Prop() readonly loadCallback: LoadCallback;\n\n /**\n * Callback invoked when the user wants to cancel the export process.\n * @returns It returns a boolean indicating whether the process could be canceled or not.\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * It displays the status buttons (errors, warning, succeeded) with the minimal ui (no captions)\n */\n @Prop() readonly statusMinimal = false;\n\n /**\n * It displays the status buttons (errors, warning, succeeded) with the minimal ui (no captions)\n */\n @Prop() readonly objectContextMenuCallback: ObjectContextMenuCallback;\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() componentDidRenderFirstTime: 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() componentDidLoadEvent: 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 this.evaluateObjects();\n this.evaluateImport();\n this.importStatusMessage =\n this._componentLocale.main.importStatus.noImportedFiles;\n this.evaluateImportStatusMessage();\n }\n\n componentDidLoad() {\n this.fileInputEl.focus();\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 // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n /**\n * Add the result of importing an item\n */\n @Method()\n async addResultItem(item: ImportItemResultData) {\n this.importTreeState = addImportItemResultDataItem(\n item,\n this.importCategoryData,\n this.importTreeState\n );\n this.statusInfo[item.status].number++;\n }\n\n // 9.LOCAL METHODS //\n\n private evaluateImportStatusMessage = () => {\n this.someStatusVisible =\n this.statusInfo.error.display ||\n this.statusInfo.warning.display ||\n this.statusInfo.success.display;\n };\n\n private evaluateObjects = () => {\n this.noObjects = !!(\n this.objectsTreeState?.length === 0 || !this.objectsTreeState\n );\n };\n\n private evaluateImport = () => {\n this.noImport = !!(\n this.importTreeState?.length === 0 || !this.importTreeState\n );\n };\n\n private selectFileAndLoadHandler = () => {\n this.fileInputEl.openFile();\n };\n\n private loadFileHandler = async () => {\n if (this.loadCallback && this.selectedFile) {\n this.importCategoryData = await this.loadCallback(this.selectedFile);\n const importCategoryTreeData = convertImportCategoryToTreeView(\n this.importCategoryData\n );\n this.objectsTreeState = importCategoryTreeData;\n if (this.importCategoryData.length > 0) {\n // clear input\n this.selectedFile = null;\n }\n }\n };\n\n private fileSelectedHandler = (fileEvent: CustomEvent<FileList>) => {\n this.selectedFile = fileEvent.detail[0];\n };\n\n private importObjectsHandler = async () => {\n if (this.importCallback) {\n /* first clear imported objects (this clears errors/warnings/success counts as well)*/\n this.clearStatusHandler();\n /* then do the import*/\n this.importingIsInProcess = true;\n this.objectsButtonsGroup.selectedButtonId = \"cancel-import-btn\";\n this.importCallback(this.checkedObjectsIds).then(() => {\n this.importingIsInProcess = false;\n });\n }\n };\n\n private objectsTreeCheckedItemsChangedHandler = (\n event: CustomEvent<Map<string, TreeViewItemModelExtended>>\n ) => {\n /* 1. Begin of evaluate 'select/unselect checkbox' state*/\n if (event.detail == null) {\n this.toggleObjectsCheckboxEl.checked = false;\n this.toggleObjectsCheckboxEl.indeterminate = false;\n return;\n }\n\n const allItemsWithCheckbox = [...event.detail.values()];\n\n if (allItemsWithCheckbox.length === 0) {\n this.toggleObjectsCheckboxEl.checked = false;\n this.toggleObjectsCheckboxEl.indeterminate = false;\n return;\n }\n\n const firstItemCheckedValue = allItemsWithCheckbox[0].item.checked;\n\n const allItemsHaveTheSameCheckedValue = allItemsWithCheckbox.every(\n treeItem => treeItem.item.checked === firstItemCheckedValue\n );\n\n this.toggleObjectsCheckboxEl.checked = firstItemCheckedValue;\n this.toggleObjectsCheckboxEl.indeterminate =\n !allItemsHaveTheSameCheckedValue;\n /* /End of evaluate 'select/unselect checkbox' state*/\n\n /* 2. Begin of checked items evaluation*/\n const checkedItems = allItemsWithCheckbox.filter(node => node.item.checked);\n // objects checked\n const checkedObjects = checkedItems.filter(\n node => node.item.metadata === KB_OBJECT\n );\n\n const checkedObjectsIds: string[] = [];\n if (checkedObjects.length > 0) {\n checkedObjects.forEach(objectChecked => {\n checkedObjectsIds.push(objectChecked.item.id);\n });\n }\n /* /End of checked items evaluation*/\n\n /* 3. Begin of caption update*/\n /* TO DO (when we can differentiate the caption from the number of children)*/\n // const categoryItems = allItemsWithCheckbox.filter(\n // node => node.item.metadata === KB_CATEGORY\n // );\n // categoryItems.forEach(category => {\n // const itemInfo = category.item;\n // // Update the amount of checked values\n // if (itemInfo.leaf !== true) {\n // const totalItems = itemInfo.items.length;\n\n // const totalItemsChecked = itemInfo.items.filter(\n // itemUIModel => itemUIModel.checked\n // ).length;\n\n // const newItemCaption =\n // totalItems !== totalItemsChecked\n // ? `${itemInfo.caption} (${totalItemsChecked}/${totalItems})`\n // : `${itemInfo.caption} (${totalItems})`;\n\n // // Only update the item caption if needed\n // if (newItemCaption !== itemInfo.caption) {\n // this.objectsTreeEl.updateItemsProperties([itemInfo.id], {\n // id: itemInfo.id,\n // caption: newItemCaption\n // });\n // }\n // }\n // });\n\n /* /End of caption update*/\n this.checkedObjectsIds = checkedObjectsIds;\n };\n\n private objectsTreeSelectedItemsChangedHandler = (\n event: CustomEvent<TreeViewItemModelExtended[]>\n ) => {\n this.selectedObjectsInFileIds = event.detail.map(item => item.item.id);\n };\n\n private objectsTreeContextMenuHandler = (\n event: CustomEvent<TreeViewItemContextMenu>\n ) => {\n if (this.objectContextMenuCallback && event.detail.metadata === KB_OBJECT) {\n this.objectContextMenuCallback(\"imported\", {\n selection: this.selectedObjectsInFileIds,\n clientX: event.detail.contextmenuEvent.screenX,\n clientY: event.detail.contextmenuEvent.screenY\n });\n }\n };\n\n private cancelImportHandler = () => {\n if (this.cancelCallback) {\n this.cancelCallback().then(result => {\n if (result) {\n this.topStateBarEl.active = false;\n }\n });\n // returns boolean\n }\n };\n\n private optionsHandler = () => {\n if (this.optionsCallback) {\n this.optionsCallback();\n // returns boolean\n }\n };\n\n private clearStatusHandler = () => {\n this.importTreeState = [];\n this.statusInfo.error.number = 0;\n this.statusInfo.warning.number = 0;\n this.statusInfo.success.number = 0;\n };\n\n private toggleSelectionClickHandler = (e: CustomEvent<CheckboxInfo>) => {\n const checked = (e.target as HTMLGxgFormCheckboxElement).checked;\n this.toggleObjectsCheckboxEl.indeterminate = false;\n this.objectsTreeEl.updateAllItemsProperties({ checked: checked });\n };\n\n private statusButtonsSelectionChangedHandler = (\n e: CustomEvent<CheckedItemsInfo>\n ) => {\n const activeStates = e.detail;\n const errorIndex = activeStates.findIndex(\n state => state.itemId === \"error\"\n );\n const warningIndex = activeStates.findIndex(\n state => state.itemId === \"warning\"\n );\n const successIndex = activeStates.findIndex(\n state => state.itemId === \"success\"\n );\n this.statusInfo = {\n error: {\n display: errorIndex !== -1,\n number: this.statusInfo.error.number\n },\n warning: {\n display: warningIndex !== -1,\n number: this.statusInfo.warning.number\n },\n success: {\n display: successIndex !== -1,\n number: this.statusInfo.success.number\n }\n };\n this.evaluateImportStatusMessage();\n };\n\n private evaluateCheckAllValue = (): boolean => {\n let checked = true;\n const allAreChecked =\n this.objectsInFileTotalNodes === this.checkedObjectsIds.length;\n const conditionToUncheck =\n this.objectsTreeState.length === 0 || !allAreChecked;\n if (conditionToUncheck) {\n checked = false;\n }\n return checked;\n };\n\n private fileClearedHandler = () => {\n this.selectedFile = null;\n };\n\n // 10.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host class=\"gx-ide-component\">\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n noContentPadding\n noFooterPadding\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n >\n {/* header */}\n <header class=\"header\" slot=\"header\">\n {/* select a file */}\n <gxg-form-text\n type=\"file\"\n class=\"select-file\"\n label={this._componentLocale.header.fileNameLabel}\n placeholder={this._componentLocale.header.fileNamePlaceholder}\n part=\"file-name\"\n acceptFile=\".xpz, .xml\"\n clearButton\n iconPosition=\"start\"\n onFileSelected={this.fileSelectedHandler}\n onClearButtonClicked={this.fileClearedHandler}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.fileInputEl = el as HTMLGxgFormTextElement)\n }\n ></gxg-form-text>\n {/* select file button / load button*/}\n <gxg-button\n type=\"primary-text-icon\"\n icon=\"gemini-tools/file\"\n part=\"select-file-load-button\"\n onClick={this.selectFileAndLoadHandler}\n disabled={this.importingIsInProcess}\n >\n {this._componentLocale.header.selectFileButton}\n </gxg-button>\n </header>\n <main class=\"main\">\n {/* main */}\n {/* objects in file*/}\n <div class=\"container-wrapper\">\n {/* top state bar*/}\n {this.topStateBar ? (\n <gxg-top-state-bar\n class=\"top-state-bar\"\n part=\"top-state-bar\"\n caption={this._componentLocale.loader.title}\n ref={el =>\n (this.topStateBarEl = el as HTMLGxgTopStateBarElement)\n }\n ></gxg-top-state-bar>\n ) : null}\n <gx-ide-container\n containerTitle={\n this._componentLocale.main.objectsInFile.title\n }\n noContentPadding\n noBorderFooter\n class=\"left-container\"\n slimmerFooter\n inactiveTitle={this.noObjects}\n titleType=\"secondary\"\n >\n <div\n class={{\n \"tree-container\": true,\n \"tree-container--objects-in-file\": true,\n \"tree-container--empty\": this.noObjects\n }}\n >\n {!this.noObjects ? (\n <gxg-tree-view\n treeModel={this.objectsTreeState}\n dragDisabled={true}\n dropDisabled={true}\n toggleCheckboxes={true}\n checkbox={true}\n checked={true}\n onCheckedItemsChange={\n this.objectsTreeCheckedItemsChangedHandler\n }\n onSelectedItemsChange={\n this.objectsTreeSelectedItemsChangedHandler\n }\n onItemContextmenu={this.objectsTreeContextMenuHandler}\n ref={el =>\n (this.objectsTreeEl = el as HTMLGxgTreeViewElement)\n }\n ></gxg-tree-view>\n ) : (\n <div class=\"gx-ide-message\">\n <gxg-text\n textAlign={\n config.gxgMessage.common.textAlign as TextAlign\n }\n padding={\n config.gxgMessage.common.textAlign as TextPadding\n }\n type={config.gxgMessage.common.type as TextType}\n maxWidth={config.gxgMessage.common.maxWidth}\n part=\"objects-in-file-empty-status-message\"\n >\n {this._componentLocale.main.objectsInFile.noObjects}\n <gxg-text\n type=\"text-link-no-line\"\n onClick={this.selectFileAndLoadHandler}\n >\n {\n this._componentLocale.main.objectsInFile\n .selectFile\n }\n </gxg-text>\n </gxg-text>\n </div>\n )}\n </div>\n {/* select all / unselect all checkbox*/}\n <gxg-form-checkbox\n label={\n this._componentLocale.main.objectsInFile.selectUnselect\n }\n part=\"select-all-checkbox\"\n slot=\"footer-start\"\n disabled={\n this.importingIsInProcess ||\n this.objectsTreeState.length === 0\n }\n checked={this.evaluateCheckAllValue()}\n onChange={this.toggleSelectionClickHandler}\n ref={(el: HTMLGxgFormCheckboxElement) =>\n (this.toggleObjectsCheckboxEl =\n el as HTMLGxgFormCheckboxElement)\n }\n ></gxg-form-checkbox>\n {/* import button / cancel button*/}\n <gxg-buttons-container\n reduced\n slot=\"footer-end\"\n ref={(el: HTMLGxgButtonsContainerElement) =>\n (this.objectsButtonsGroup =\n el as HTMLGxgButtonsContainerElement)\n }\n >\n {/* import objects button*/}\n <gxg-button\n id=\"import-btn\"\n part=\"import-button\"\n disabled={\n this.objectsTreeState?.length === 0 ||\n this.importingIsInProcess\n }\n onClick={this.importObjectsHandler}\n selected\n >\n {this._componentLocale.main.objectsInFile.importButton}\n </gxg-button>\n\n {/* cancel-import button*/}\n <gxg-button\n id=\"cancel-import-btn\"\n part=\"cancel-import-button\"\n disabled={!this.importingIsInProcess}\n onClick={this.cancelImportHandler}\n >\n {this._componentLocale.main.objectsInFile.cancelButton}\n </gxg-button>\n </gxg-buttons-container>\n {/* settings/options button*/}\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/settings\"\n slot=\"footer-end\"\n part=\"select-kb-btn\"\n onClick={this.optionsHandler}\n >\n {this._componentLocale.header.optionsButton}\n </gxg-button>\n </gx-ide-container>\n {/* import status */}\n <gx-ide-container\n class=\"right-container\"\n containerTitle={this._componentLocale.main.importStatus.title}\n noContentPadding\n noBorderFooter\n slimmerFooter\n inactiveTitle={this.noImport}\n titleType=\"secondary\"\n >\n <div\n class={{\n \"tree-container\": true,\n \"tree-container--import-status\": true,\n \"tree-container--empty\":\n this.noImport || !this.someStatusVisible,\n \"tree-container--no-warnings\":\n !this.statusInfo.warning.display,\n \"tree-container--no-errors\":\n !this.statusInfo.error.display,\n \"tree-container--no-succeeded\":\n !this.statusInfo.success.display\n }}\n >\n {!this.noImport && this.someStatusVisible ? (\n <gxg-tree-view\n treeModel={this.importTreeState}\n toggleCheckboxes={true}\n ></gxg-tree-view>\n ) : (\n <gxg-text\n textAlign={\n config.gxgMessage.common.textAlign as TextAlign\n }\n padding={\n config.gxgMessage.common.textAlign as TextPadding\n }\n type={config.gxgMessage.common.type as TextType}\n maxWidth={config.gxgMessage.common.maxWidth}\n part=\"objects-in-file-empty-status-message\"\n class=\"gx-ide-message\"\n >\n {this.importStatusMessage}\n </gxg-text>\n )}\n </div>\n {/* clear status button */}\n <gxg-button\n type=\"secondary-text-only\"\n slot=\"footer-end\"\n part=\"select-kb-btn\"\n onClick={this.clearStatusHandler}\n disabled={this.noImport || this.importingIsInProcess}\n >\n {this._componentLocale.main.importStatus.clearButton}\n </gxg-button>\n {/* ghost element (used to force the container footer heights the same as the \"objects in file\" container tree)*/}\n <span class=\"ghost-element\" slot=\"footer-start\"></span>\n </gx-ide-container>\n </div>\n </main>\n {/* footer */}\n <footer slot=\"footer-start\">\n <gx-ide-status-buttons\n errors={this.statusInfo.error.number}\n warnings={this.statusInfo.warning.number}\n successes={this.statusInfo.success.number}\n hideMessage\n compact\n minimal={this.statusMinimal}\n onSelectionChanged={this.statusButtonsSelectionChangedHandler}\n ></gx-ide-status-buttons>\n </footer>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type LoadCallback = (file: File) => Promise<ImportCategoryData[]>;\n\nexport type ImportCallback = (itemIds: string[]) => Promise<boolean>;\n\nexport type CancelCallback = () => Promise<boolean>;\n\nexport type OptionsCallback = () => Promise<void>;\nexport interface SelectedObject {\n itemId: string;\n subItemsIds: string[];\n}\n\nexport type ImportItemData = {\n id: string;\n name: string;\n};\n\ntype StatusInfo = {\n error: {\n display: boolean;\n number: number;\n };\n warning: {\n display: boolean;\n number: number;\n };\n success: {\n display: boolean;\n number: number;\n };\n};\n\nexport type ObjectContextMenuCallback = (\n tree: ObjectsSourceType,\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\n\nexport type ObjectsSourceType = \"in-file\" | \"imported\";\n"]}
@@ -3,7 +3,7 @@ import { Host, h } from "@stencil/core";
3
3
  /* OTHER LIBRARIES IMPORTS */
4
4
  /* CUSTOM IMPORTS */
5
5
  import { Locale } from "../../../common/locale";
6
- export class GxIdeEditModuleServers {
6
+ export class GxIdeEditModuleServer {
7
7
  constructor() {
8
8
  this.renderedFirstTime = false;
9
9
  // 7.LISTENERS //
@@ -88,19 +88,19 @@ export class GxIdeEditModuleServers {
88
88
  ? "grid module-servers-grid-local"
89
89
  : "grid module-servers-grid-server" }, h("div", { class: "module-servers-grid-column-1" }, h("gxg-label", null, " ", this._componentLocale.type), h("gxg-label", null, " ", this._componentLocale.name), h("gxg-label", null, " ", this._componentLocale.source)), h("div", { class: "module-servers-grid-column-2" }, h("gxg-combo-box", { value: this.selectedType, ref: (el) => (this.serverTypeEl = el) }, (_a = this.types) === null || _a === void 0 ? void 0 : _a.map(type => (h("gxg-combo-box-item", { value: type.type, onItemSelected: item => (this.selectedType = item.detail.value) }, type.type)))), h("gxg-form-text", { placeholder: this._componentLocale.name, ref: (el) => (this.nameEl = el), part: "name" }), h("gxg-form-text", { placeholder: this._componentLocale.source, ref: (el) => (this.sourceEl = el), part: "source" })), this.selectedType === "local" && (h("gxg-button", { onClick: this.selectSourceCallbackHandle }, "...")), this.selectedType === "remote" && this.renderServerOptions()), h("gxg-button", { slot: "footer-end", type: "outlined", onClick: this.cancelCallbackHandler }, this._componentLocale.footer.btnCancel), h("gxg-button", { slot: "footer-end", type: "primary-text-only", onClick: this.confirmCallbackHandler }, this._componentLocale.footer.btnConfirm)))));
90
90
  }
91
- static get is() { return "gx-ide-edit-module-servers"; }
91
+ static get is() { return "gx-ide-edit-module-server"; }
92
92
  static get encapsulation() { return "shadow"; }
93
93
  static get originalStyleUrls() {
94
94
  return {
95
- "$": ["edit-module-servers.scss"]
95
+ "$": ["edit-module-server.scss"]
96
96
  };
97
97
  }
98
98
  static get styleUrls() {
99
99
  return {
100
- "$": ["edit-module-servers.css"]
100
+ "$": ["edit-module-server.css"]
101
101
  };
102
102
  }
103
- static get assetsDirs() { return ["gx-ide-assets/edit-module-servers"]; }
103
+ static get assetsDirs() { return ["gx-ide-assets/edit-module-server"]; }
104
104
  static get properties() {
105
105
  return {
106
106
  "types": {
@@ -167,8 +167,8 @@ export class GxIdeEditModuleServers {
167
167
  "references": {
168
168
  "ConfirmCallback": {
169
169
  "location": "local",
170
- "path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/modules/edit-module-servers/edit-module-servers.tsx",
171
- "id": "src/components/modules/edit-module-servers/edit-module-servers.tsx::ConfirmCallback"
170
+ "path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/modules/edit-module-server/edit-module-server.tsx",
171
+ "id": "src/components/modules/edit-module-server/edit-module-server.tsx::ConfirmCallback"
172
172
  }
173
173
  }
174
174
  },
@@ -188,8 +188,8 @@ export class GxIdeEditModuleServers {
188
188
  "references": {
189
189
  "SelectSourceCallback": {
190
190
  "location": "local",
191
- "path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/modules/edit-module-servers/edit-module-servers.tsx",
192
- "id": "src/components/modules/edit-module-servers/edit-module-servers.tsx::SelectSourceCallback"
191
+ "path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/modules/edit-module-server/edit-module-server.tsx",
192
+ "id": "src/components/modules/edit-module-server/edit-module-server.tsx::SelectSourceCallback"
193
193
  }
194
194
  }
195
195
  },
@@ -209,8 +209,8 @@ export class GxIdeEditModuleServers {
209
209
  "references": {
210
210
  "CancelCallback": {
211
211
  "location": "local",
212
- "path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/modules/edit-module-servers/edit-module-servers.tsx",
213
- "id": "src/components/modules/edit-module-servers/edit-module-servers.tsx::CancelCallback"
212
+ "path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/modules/edit-module-server/edit-module-server.tsx",
213
+ "id": "src/components/modules/edit-module-server/edit-module-server.tsx::CancelCallback"
214
214
  }
215
215
  }
216
216
  },
@@ -248,4 +248,4 @@ export class GxIdeEditModuleServers {
248
248
  }
249
249
  static get elementRef() { return "el"; }
250
250
  }
251
- //# sourceMappingURL=edit-module-servers.js.map
251
+ //# sourceMappingURL=edit-module-server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"add-module-servers.js","sourceRoot":"","sources":["../../../../src/components/modules/add-module-servers/add-module-servers.tsx"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,OAAO,EACL,SAAS,EACT,IAAI,EACJ,CAAC,EACD,IAAI,EACJ,OAAO,EACP,KAAK,EACL,KAAK,EAEN,MAAM,eAAe,CAAC;AAEvB,6BAA6B;AAC7B,oBAAoB;AACpB,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAYhD,MAAM,OAAO,qBAAqB;;QAOxB,sBAAiB,GAAG,KAAK,CAAC;QAqElC,iBAAiB;QAEjB,0BAA0B;QAE1B,qBAAqB;QAErB;;WAEG;QAEK,2BAAsB,GAAG,KAAK,IAAI,EAAE;YAC1C,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CACpC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,YAAY,CACzC,CAAC;gBACF,IAAI,IAAI,GAAG,EAA0B,CAAC;gBACtC,IAAI,cAAc,CAAC,IAAI,KAAK,QAAQ,EAAE;oBACpC,IAAI,GAAG;wBACL,EAAE,EAAE,cAAc,CAAC,EAAE;wBACrB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;wBACvB,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK;wBAC7B,aAAa,EAAE,cAAc,CAAC,aAAa;wBAC3C,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;wBAC3B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;wBACvB,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK;qBAChC,CAAC;iBACH;qBAAM;oBACL,IAAI,GAAG;wBACL,EAAE,EAAE,cAAc,CAAC,EAAE;wBACrB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;wBACvB,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK;wBAC7B,aAAa,EAAE,cAAc,CAAC,aAAa;wBAC3C,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;qBAC5B,CAAC;iBACH;gBACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBAChD,IAAI,MAAM,CAAC,OAAO,EAAE;oBAClB,0BAA0B;iBAC3B;qBAAM;oBACL,wBAAwB;iBACzB;aACF;QACH,CAAC,CAAC;QAEF;;WAEG;QACK,0BAAqB,GAAG,KAAK,IAAI,EAAE;YACzC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC9B,CAAC,CAAC;QACM,+BAA0B,GAAG,KAAK,IAAI,EAAE;YAC9C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAE/C,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;aAC5B;QACH,CAAC,CAAC;QAEF,sBAAsB;QAEd,wBAAmB,GAAG,GAAc,EAAE;YAC5C,OAAO;gBACL,WAAK,KAAK,EAAC,2BAA2B;oBACpC,qBAAY,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAa;oBACnD,qBAAY,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAa,CACnD;gBACN,WAAK,KAAK,EAAC,2BAA2B;oBACpC,qBACE,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,EACvC,GAAG,EAAE,CAAC,EAA0B,EAAE,EAAE,CAClC,CAAC,IAAI,CAAC,MAAM,GAAG,EAA4B,CAAC,EAE9C,IAAI,EAAC,MAAM,GACI;oBACjB,qBACE,QAAQ,QACR,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAC3C,GAAG,EAAE,CAAC,EAA0B,EAAE,EAAE,CAClC,CAAC,IAAI,CAAC,UAAU,GAAG,EAA4B,CAAC,EAElD,IAAI,EAAC,UAAU,GACA,CACb;aACP,CAAC;QACJ,CAAC,CAAC;4BA5I0C,OAAO;;;;;;;;IAyCnD,kCAAkC;IAElC,KAAK,CAAC,iBAAiB;QACrB,IAAI,CAAC,gBAAgB,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,IAAI,CAAC,2BAA2B,CAAC,IAAI,CACnC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CACpC,CAAC;YACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;SAC/B;IACH,CAAC;IAwFD,MAAM;;QACJ,OAAO,CACL,EAAC,IAAI,IAAC,KAAK,EAAC,kBAAkB;YAC5B,WAAK,KAAK,EAAC,qCAAqC;gBAC9C,wBAAkB,aAAa;oBAC7B,WACE,KAAK,EACH,IAAI,CAAC,YAAY,KAAK,OAAO;4BAC3B,CAAC,CAAC,gCAAgC;4BAClC,CAAC,CAAC,iCAAiC;wBAGvC,WAAK,KAAK,EAAC,8BAA8B;4BACvC;;gCAAa,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAa;4BACpD;;gCAAa,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAa;4BACpD;;gCAAa,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAa,CAClD;wBACN,WAAK,KAAK,EAAC,8BAA8B;4BACvC,qBACE,KAAK,EAAE,IAAI,CAAC,YAAY,EACxB,GAAG,EAAE,CAAC,EAA0B,EAAE,EAAE,CAClC,CAAC,IAAI,CAAC,YAAY,GAAG,EAA4B,CAAC,IAGnD,MAAA,IAAI,CAAC,KAAK,0CAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACvB,0BACE,KAAK,EAAE,IAAI,CAAC,IAAI,EAChB,cAAc,EAAE,IAAI,CAAC,EAAE,CACrB,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAGxC,IAAI,CAAC,IAAI,CACS,CACtB,CAAC,CACY;4BAChB,qBACE,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,EACvC,GAAG,EAAE,CAAC,EAA0B,EAAE,EAAE,CAClC,CAAC,IAAI,CAAC,MAAM,GAAG,EAA4B,CAAC,EAE9C,IAAI,EAAC,MAAM,GACI;4BACjB,qBACE,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,EACzC,GAAG,EAAE,CAAC,EAA0B,EAAE,EAAE,CAClC,CAAC,IAAI,CAAC,QAAQ,GAAG,EAA4B,CAAC,EAEhD,IAAI,EAAC,QAAQ,GACE,CACb;wBACL,IAAI,CAAC,YAAY,KAAK,OAAO,IAAI,CAChC,kBAAY,OAAO,EAAE,IAAI,CAAC,0BAA0B,UAEvC,CACd;wBACA,IAAI,CAAC,YAAY,KAAK,QAAQ,IAAI,IAAI,CAAC,mBAAmB,EAAE,CACzD;oBAEN,kBACE,IAAI,EAAC,YAAY,EACjB,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,IAAI,CAAC,qBAAqB,IAElC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAC5B;oBACb,kBACE,IAAI,EAAC,YAAY,EACjB,IAAI,EAAC,mBAAmB,EACxB,OAAO,EAAE,IAAI,CAAC,sBAAsB,IAEnC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAC7B,CACI,CACf,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n State,\n EventEmitter\n} from \"@stencil/core\";\n\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../../common/locale\";\nimport {\n ModuleServerType,\n ModuleServerFullData,\n EditServerModuleResult\n} from \"../types\";\n@Component({\n tag: \"gx-ide-add-module-servers\",\n styleUrl: \"add-module-servers.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/add-module-servers\"]\n})\nexport class GxIdeAddModuleServers {\n // 1.OWN PROPERTIES | WATCH'S //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeAddModuleServersElement;\n private serverTypeEl: HTMLGxgComboBoxElement;\n private nameEl: HTMLGxgFormTextElement;\n private sourceEl: HTMLGxgFormTextElement;\n private userEl: HTMLGxgFormTextElement;\n private passwordEl: HTMLGxgFormTextElement;\n\n // 3.STATE() VARIABLES //\n\n @State() selectedType: \"local\" | \"remote\" = \"local\";\n\n // 4.PUBLIC PROPERTY API //\n\n /**\n * The type of the server\n */\n @Prop() readonly types: ModuleServerType[];\n\n /**\n * The name of the server\n */\n @Prop() readonly name: string;\n\n /**\n * Disk path or server url\n */\n @Prop() readonly source: string;\n\n /**\n * Confirm callback\n */\n @Prop() readonly confirmCallback: ConfirmCallback;\n\n /**\n * Callback invoked when wants to select a local folder that have modules inside\n */\n @Prop() readonly selectSourceCallback: SelectSourceCallback;\n\n /**\n * Cancel callback\n */\n @Prop() readonly cancelCallback: CancelCallback;\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() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\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 // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n /**\n * Executed when user click on confirm button\n */\n\n private confirmCallbackHandler = async () => {\n if (this.confirmCallback) {\n const selectedTypeId = this.types.find(\n ({ type }) => type === this.selectedType\n );\n let data = {} as ModuleServerFullData;\n if (selectedTypeId.type === \"remote\") {\n data = {\n id: selectedTypeId.id,\n name: this.nameEl.value,\n type: this.serverTypeEl.value,\n authenticated: selectedTypeId.authenticated,\n source: this.sourceEl.value,\n user: this.userEl.value,\n password: this.passwordEl.value\n };\n } else {\n data = {\n id: selectedTypeId.id,\n name: this.nameEl.value,\n type: this.serverTypeEl.value,\n authenticated: selectedTypeId.authenticated,\n source: this.sourceEl.value\n };\n }\n const result = await this.confirmCallback(data);\n if (result.success) {\n // display success message\n } else {\n // display error message\n }\n }\n };\n\n /**\n * Executed when user click on cancel button\n */\n private cancelCallbackHandler = async () => {\n await this.cancelCallback();\n };\n private selectSourceCallbackHandle = async () => {\n const path = await this.selectSourceCallback();\n\n if (path) {\n this.sourceEl.value = path;\n }\n };\n\n // 10.LOCAL METHODS //\n\n private renderServerOptions = (): Element[] => {\n return [\n <div class=\"grid-server-auth-column-1\">\n <gxg-label>{this._componentLocale.user}</gxg-label>\n <gxg-label>{this._componentLocale.password}</gxg-label>\n </div>,\n <div class=\"grid-server-auth-column-2\">\n <gxg-form-text\n placeholder={this._componentLocale.user}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.userEl = el as HTMLGxgFormTextElement)\n }\n part=\"user\"\n ></gxg-form-text>\n <gxg-form-text\n password\n placeholder={this._componentLocale.password}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.passwordEl = el as HTMLGxgFormTextElement)\n }\n part=\"password\"\n ></gxg-form-text>\n </div>\n ];\n };\n\n render() {\n return (\n <Host class=\"gx-ide-component\">\n <div class=\"gx-ide-main-wrapper gx-ide-overflow\">\n <gx-ide-container slimmerFooter>\n <div\n class={\n this.selectedType === \"local\"\n ? \"grid module-servers-grid-local\"\n : \"grid module-servers-grid-server\"\n }\n >\n <div class=\"module-servers-grid-column-1\">\n <gxg-label> {this._componentLocale.type}</gxg-label>\n <gxg-label> {this._componentLocale.name}</gxg-label>\n <gxg-label> {this._componentLocale.source}</gxg-label>\n </div>\n <div class=\"module-servers-grid-column-2\">\n <gxg-combo-box\n value={this.selectedType}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.serverTypeEl = el as HTMLGxgComboBoxElement)\n }\n >\n {this.types?.map(type => (\n <gxg-combo-box-item\n value={type.type}\n onItemSelected={item =>\n (this.selectedType = item.detail.value)\n }\n >\n {type.type}\n </gxg-combo-box-item>\n ))}\n </gxg-combo-box>\n <gxg-form-text\n placeholder={this._componentLocale.name}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.nameEl = el as HTMLGxgFormTextElement)\n }\n part=\"name\"\n ></gxg-form-text>\n <gxg-form-text\n placeholder={this._componentLocale.source}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.sourceEl = el as HTMLGxgFormTextElement)\n }\n part=\"source\"\n ></gxg-form-text>\n </div>\n {this.selectedType === \"local\" && (\n <gxg-button onClick={this.selectSourceCallbackHandle}>\n ...\n </gxg-button>\n )}\n {this.selectedType === \"remote\" && this.renderServerOptions()}\n </div>\n\n <gxg-button\n slot=\"footer-end\"\n type=\"outlined\"\n onClick={this.cancelCallbackHandler}\n >\n {this._componentLocale.footer.btnCancel}\n </gxg-button>\n <gxg-button\n slot=\"footer-end\"\n type=\"primary-text-only\"\n onClick={this.confirmCallbackHandler}\n >\n {this._componentLocale.footer.btnConfirm}\n </gxg-button>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\nexport type ConfirmCallback = (\n data: ModuleServerFullData\n) => Promise<EditServerModuleResult>;\nexport type CancelCallback = () => Promise<void>;\nexport type SelectSourceCallback = () => Promise<string | undefined>;\n"]}
1
+ {"version":3,"file":"edit-module-server.js","sourceRoot":"","sources":["../../../../src/components/modules/edit-module-server/edit-module-server.tsx"],"names":[],"mappings":"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","sourcesContent":["/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n State,\n EventEmitter\n} from \"@stencil/core\";\n\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../../common/locale\";\nimport {\n ModuleServerType,\n ModuleServerFullData,\n EditServerModuleResult\n} from \"../types\";\n@Component({\n tag: \"gx-ide-edit-module-server\",\n styleUrl: \"edit-module-server.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/edit-module-server\"]\n})\nexport class GxIdeEditModuleServer {\n // 1.OWN PROPERTIES | WATCH'S //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeEditModuleServerElement;\n private serverTypeEl: HTMLGxgComboBoxElement;\n private nameEl: HTMLGxgFormTextElement;\n private sourceEl: HTMLGxgFormTextElement;\n private userEl: HTMLGxgFormTextElement;\n private passwordEl: HTMLGxgFormTextElement;\n\n // 3.STATE() VARIABLES //\n\n @State() selectedType: \"local\" | \"remote\" = \"local\";\n\n // 4.PUBLIC PROPERTY API //\n\n /**\n * The type of the server\n */\n @Prop() readonly types: ModuleServerType[];\n\n /**\n * The name of the server\n */\n @Prop() readonly name: string;\n\n /**\n * Disk path or server url\n */\n @Prop() readonly source: string;\n\n /**\n * Confirm callback\n */\n @Prop() readonly confirmCallback: ConfirmCallback;\n\n /**\n * Callback invoked when wants to select a local folder that have modules inside\n */\n @Prop() readonly selectSourceCallback: SelectSourceCallback;\n\n /**\n * Cancel callback\n */\n @Prop() readonly cancelCallback: CancelCallback;\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() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\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 // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n /**\n * Executed when user click on confirm button\n */\n\n private confirmCallbackHandler = async () => {\n if (this.confirmCallback) {\n const selectedTypeId = this.types.find(\n ({ type }) => type === this.selectedType\n );\n let data = {} as ModuleServerFullData;\n if (selectedTypeId.type === \"remote\") {\n data = {\n id: selectedTypeId.id,\n name: this.nameEl.value,\n type: this.serverTypeEl.value,\n authenticated: selectedTypeId.authenticated,\n source: this.sourceEl.value,\n user: this.userEl.value,\n password: this.passwordEl.value\n };\n } else {\n data = {\n id: selectedTypeId.id,\n name: this.nameEl.value,\n type: this.serverTypeEl.value,\n authenticated: selectedTypeId.authenticated,\n source: this.sourceEl.value\n };\n }\n const result = await this.confirmCallback(data);\n if (result.success) {\n // display success message\n } else {\n // display error message\n }\n }\n };\n\n /**\n * Executed when user click on cancel button\n */\n private cancelCallbackHandler = async () => {\n await this.cancelCallback();\n };\n private selectSourceCallbackHandle = async () => {\n const path = await this.selectSourceCallback();\n\n if (path) {\n this.sourceEl.value = path;\n }\n };\n\n // 10.LOCAL METHODS //\n\n private renderServerOptions = (): Element[] => {\n return [\n <div class=\"grid-server-auth-column-1\">\n <gxg-label>{this._componentLocale.user}</gxg-label>\n <gxg-label>{this._componentLocale.password}</gxg-label>\n </div>,\n <div class=\"grid-server-auth-column-2\">\n <gxg-form-text\n placeholder={this._componentLocale.user}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.userEl = el as HTMLGxgFormTextElement)\n }\n part=\"user\"\n ></gxg-form-text>\n <gxg-form-text\n password\n placeholder={this._componentLocale.password}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.passwordEl = el as HTMLGxgFormTextElement)\n }\n part=\"password\"\n ></gxg-form-text>\n </div>\n ];\n };\n\n render() {\n return (\n <Host class=\"gx-ide-component\">\n <div class=\"gx-ide-main-wrapper gx-ide-overflow\">\n <gx-ide-container slimmerFooter>\n <div\n class={\n this.selectedType === \"local\"\n ? \"grid module-servers-grid-local\"\n : \"grid module-servers-grid-server\"\n }\n >\n <div class=\"module-servers-grid-column-1\">\n <gxg-label> {this._componentLocale.type}</gxg-label>\n <gxg-label> {this._componentLocale.name}</gxg-label>\n <gxg-label> {this._componentLocale.source}</gxg-label>\n </div>\n <div class=\"module-servers-grid-column-2\">\n <gxg-combo-box\n value={this.selectedType}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.serverTypeEl = el as HTMLGxgComboBoxElement)\n }\n >\n {this.types?.map(type => (\n <gxg-combo-box-item\n value={type.type}\n onItemSelected={item =>\n (this.selectedType = item.detail.value)\n }\n >\n {type.type}\n </gxg-combo-box-item>\n ))}\n </gxg-combo-box>\n <gxg-form-text\n placeholder={this._componentLocale.name}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.nameEl = el as HTMLGxgFormTextElement)\n }\n part=\"name\"\n ></gxg-form-text>\n <gxg-form-text\n placeholder={this._componentLocale.source}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.sourceEl = el as HTMLGxgFormTextElement)\n }\n part=\"source\"\n ></gxg-form-text>\n </div>\n {this.selectedType === \"local\" && (\n <gxg-button onClick={this.selectSourceCallbackHandle}>\n ...\n </gxg-button>\n )}\n {this.selectedType === \"remote\" && this.renderServerOptions()}\n </div>\n\n <gxg-button\n slot=\"footer-end\"\n type=\"outlined\"\n onClick={this.cancelCallbackHandler}\n >\n {this._componentLocale.footer.btnCancel}\n </gxg-button>\n <gxg-button\n slot=\"footer-end\"\n type=\"primary-text-only\"\n onClick={this.confirmCallbackHandler}\n >\n {this._componentLocale.footer.btnConfirm}\n </gxg-button>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\nexport type ConfirmCallback = (\n data: ModuleServerFullData\n) => Promise<EditServerModuleResult>;\nexport type CancelCallback = () => Promise<void>;\nexport type SelectSourceCallback = () => Promise<string | undefined>;\n"]}
@@ -5,13 +5,15 @@
5
5
  "completed": "Process completed"
6
6
  },
7
7
  "servers": {
8
+ "loading": "Loading Servers...",
8
9
  "header": "Servers",
9
10
  "addServer": "Add Server"
10
11
  },
11
12
  "modules": {
12
13
  "selectServer": "Select Server :",
13
14
  "searchModules": "Search Modules :",
14
- "tabs": {
15
+ "noModulesFilter": "No modules matched your search",
16
+ "buttonsContainer": {
15
17
  "browse": "Browse",
16
18
  "installed": "Installed",
17
19
  "updates": "Updates"
@@ -20,9 +22,13 @@
20
22
  "modulesInformation": {
21
23
  "header": "Module Information",
22
24
  "moduleProperties": {
23
- "notInstalled": "Module not installed",
24
- "installedVersion": "Installed version",
25
- "availableVersions": "Available versions"
25
+ "notInstalled": "Not Installed",
26
+ "installed": "Installed",
27
+ "availableVersions": "Available Versions"
28
+ },
29
+ "emptyState": {
30
+ "title": "No module selected",
31
+ "description": "To select a module you have to select a server"
26
32
  }
27
33
  },
28
34
  "modalTitle": "Modules Server Definition"
@@ -533,7 +533,7 @@ p {
533
533
 
534
534
  .main {
535
535
  display: grid;
536
- grid-template-columns: 1.5fr 2fr;
536
+ grid-template-columns: 1fr 1fr;
537
537
  grid-template-rows: 1fr;
538
538
  height: 100%;
539
539
  overflow: auto;
@@ -547,13 +547,24 @@ ch-grid-columnset {
547
547
  display: flex;
548
548
  flex-direction: column;
549
549
  align-items: flex-start;
550
- gap: var(--mer-spacing--xxs);
550
+ gap: var(--mer-spacing--xxxs);
551
551
  }
552
552
  .grid-cell-module__name {
553
553
  font-weight: var(--mer-font__weight--bold);
554
554
  }
555
+ .grid-cell-module__name, .grid-cell-module__description {
556
+ line-height: 1.55em;
557
+ }
555
558
 
556
559
  /*--- Servers Container ---*/
560
+ .grid-container {
561
+ height: 100%;
562
+ overflow: auto;
563
+ }
564
+ .grid-container gx-ide-empty-state {
565
+ height: 100%;
566
+ }
567
+
557
568
  .servers-container {
558
569
  display: none;
559
570
  height: 100%;
@@ -569,6 +580,12 @@ ch-grid-columnset {
569
580
  }
570
581
 
571
582
  /*--- Modules (Header) ---*/
583
+ .modules__header {
584
+ padding: var(--gxg-list-box-main__padding);
585
+ display: flex;
586
+ flex-direction: column;
587
+ gap: var(--mer-spacing--xs);
588
+ }
572
589
  .modules__combo-container {
573
590
  display: flex;
574
591
  flex-direction: column;
@@ -582,26 +599,6 @@ ch-grid-columnset {
582
599
  .modules__combo gxg-combo-box {
583
600
  flex: 1;
584
601
  }
585
- .modules__menu-container {
586
- position: relative;
587
- }
588
- .modules__menu {
589
- display: none;
590
- width: 200px;
591
- position: fixed;
592
- z-index: 10;
593
- right: 0;
594
- transform: translateX(-100%);
595
- }
596
- .modules__menu--visible {
597
- display: block;
598
- }
599
- .modules__header {
600
- padding: var(--gxg-list-box-main__padding);
601
- display: flex;
602
- flex-direction: column;
603
- gap: var(--mer-spacing--xs);
604
- }
605
602
  .modules__container {
606
603
  border-inline-end: var(--mer-border__width--sm) solid var(--gx-ide-container-border-color);
607
604
  display: grid;
@@ -609,6 +606,18 @@ ch-grid-columnset {
609
606
  height: 100%;
610
607
  overflow: auto;
611
608
  }
609
+ .modules__main {
610
+ display: grid;
611
+ grid-template-rows: auto 1fr;
612
+ height: 100%;
613
+ overflow: auto;
614
+ }
615
+ .modules__main-header {
616
+ display: flex;
617
+ padding: var(--mer-spacing--xs);
618
+ flex-direction: column;
619
+ gap: var(--mer-spacing--xs);
620
+ }
612
621
 
613
622
  /*--- Module Info ---*/
614
623
  .module-info {
@@ -649,6 +658,14 @@ ch-grid-columnset {
649
658
  .module-info__action-container--installed:before {
650
659
  background-color: var(--mer-icon__primary);
651
660
  }
661
+ .module-info__alert-message {
662
+ margin-block-start: var(--mer-spacing--xxs);
663
+ background-color: var(--mer-color__tinted-yellow--5);
664
+ color: var(--mer-text__on-elevation);
665
+ border: var(--mer-border__width--sm) solid var(--mer-border-color__warning);
666
+ border-radius: var(--mer-border__radius--sm);
667
+ padding: var(--mer-spacing--xs) var(--mer-spacing--md);
668
+ }
652
669
  .module-info__divider {
653
670
  width: calc(100% - var(--gx-ide-container__padding) * 4);
654
671
  padding: 0 var(--gx-ide-container__padding);
@@ -720,4 +737,8 @@ ch-grid-columnset {
720
737
  .md-property__list:last-child {
721
738
  border-block-end: 0;
722
739
  padding-block-end: 0;
740
+ }
741
+
742
+ gxg-ide-loader {
743
+ border-radius: var(--mer-border__radius--md);
723
744
  }