@genexus/genexus-ide-ui 1.1.61 → 1.1.63

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 (127) hide show
  1. package/dist/cjs/{common-f2540d3e.js → common-51d68918.js} +1 -31
  2. package/dist/cjs/common-51d68918.js.map +1 -0
  3. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  4. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js +111 -49
  5. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js.map +1 -1
  6. package/dist/cjs/gx-ide-empty-state.cjs.entry.js +1 -1
  7. package/dist/cjs/gx-ide-empty-state.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +358 -266
  9. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
  11. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
  12. package/dist/cjs/gx-ide-progress-bar.cjs.entry.js +141 -0
  13. package/dist/cjs/gx-ide-progress-bar.cjs.entry.js.map +1 -0
  14. package/dist/cjs/gx-ide-splash.cjs.entry.js +1 -1
  15. package/dist/cjs/gx-ide-team-dev-preview.cjs.entry.js +2 -2
  16. package/dist/cjs/gx-ide-team-dev-preview.cjs.entry.js.map +1 -1
  17. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
  18. package/dist/cjs/loader.cjs.js +1 -1
  19. package/dist/collection/collection-manifest.json +1 -0
  20. package/dist/collection/common/common.js +0 -21
  21. package/dist/collection/common/common.js.map +1 -1
  22. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.css +1 -1
  23. package/dist/collection/components/_helpers/progress-bar/gx-ide-assets/progress-bar/langs/progress-bar.lang.en.json +5 -0
  24. package/dist/collection/components/_helpers/progress-bar/gx-ide-assets/progress-bar/langs/progress-bar.lang.ja.json +5 -0
  25. package/dist/collection/components/_helpers/progress-bar/gx-ide-assets/progress-bar/langs/progress-bar.lang.zh.json +5 -0
  26. package/dist/collection/components/_helpers/progress-bar/progress-bar.css +210 -0
  27. package/dist/collection/components/_helpers/progress-bar/progress-bar.js +320 -0
  28. package/dist/collection/components/_helpers/progress-bar/progress-bar.js.map +1 -0
  29. package/dist/collection/components/modules/edit-module-server/edit-module-server.css +30 -639
  30. package/dist/collection/components/modules/edit-module-server/edit-module-server.js +179 -110
  31. package/dist/collection/components/modules/edit-module-server/edit-module-server.js.map +1 -1
  32. package/dist/collection/components/modules/edit-module-server/gx-ide-assets/edit-module-server/shortcuts.json +15 -0
  33. package/dist/collection/components/modules/edit-module-server/helpers.js +12 -0
  34. package/dist/collection/components/modules/edit-module-server/helpers.js.map +1 -0
  35. package/dist/collection/components/modules/manage-module-references/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.en.json +6 -2
  36. package/dist/collection/components/modules/manage-module-references/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.ja.json +6 -2
  37. package/dist/collection/components/modules/manage-module-references/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.zh.json +6 -2
  38. package/dist/collection/components/modules/manage-module-references/helpers.js +32 -0
  39. package/dist/collection/components/modules/manage-module-references/helpers.js.map +1 -0
  40. package/dist/collection/components/modules/manage-module-references/manage-module-references.css +116 -789
  41. package/dist/collection/components/modules/manage-module-references/manage-module-references.js +378 -373
  42. package/dist/collection/components/modules/manage-module-references/manage-module-references.js.map +1 -1
  43. package/dist/collection/components/team-dev/preview/team-dev-preview.css +1 -1
  44. package/dist/collection/components/team-dev/preview/team-dev-preview.js +1 -1
  45. package/dist/collection/components/team-dev/preview/team-dev-preview.js.map +1 -1
  46. package/dist/collection/testing/locale.e2e.js +1 -0
  47. package/dist/collection/testing/locale.e2e.js.map +1 -1
  48. package/dist/components/common.js +1 -30
  49. package/dist/components/common.js.map +1 -1
  50. package/dist/components/gx-ide-edit-module-server.js +118 -68
  51. package/dist/components/gx-ide-edit-module-server.js.map +1 -1
  52. package/dist/components/gx-ide-empty-state2.js +1 -1
  53. package/dist/components/gx-ide-empty-state2.js.map +1 -1
  54. package/dist/components/gx-ide-manage-module-references.js +384 -291
  55. package/dist/components/gx-ide-manage-module-references.js.map +1 -1
  56. package/dist/components/gx-ide-progress-bar.d.ts +11 -0
  57. package/dist/components/gx-ide-progress-bar.js +8 -0
  58. package/dist/components/gx-ide-progress-bar.js.map +1 -0
  59. package/dist/components/gx-ide-team-dev-preview.js +2 -2
  60. package/dist/components/gx-ide-team-dev-preview.js.map +1 -1
  61. package/dist/components/gx-ide-ww-images.js +1 -1
  62. package/dist/components/progress-bar.js +166 -0
  63. package/dist/components/progress-bar.js.map +1 -0
  64. package/dist/esm/{common-b811a822.js → common-dc966e64.js} +2 -31
  65. package/dist/esm/common-dc966e64.js.map +1 -0
  66. package/dist/esm/genexus-ide-ui.js +1 -1
  67. package/dist/esm/gx-ide-edit-module-server.entry.js +112 -50
  68. package/dist/esm/gx-ide-edit-module-server.entry.js.map +1 -1
  69. package/dist/esm/gx-ide-empty-state.entry.js +1 -1
  70. package/dist/esm/gx-ide-empty-state.entry.js.map +1 -1
  71. package/dist/esm/gx-ide-manage-module-references.entry.js +359 -267
  72. package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -1
  73. package/dist/esm/gx-ide-new-environment.entry.js +1 -1
  74. package/dist/esm/gx-ide-new-kb.entry.js +1 -1
  75. package/dist/esm/gx-ide-progress-bar.entry.js +137 -0
  76. package/dist/esm/gx-ide-progress-bar.entry.js.map +1 -0
  77. package/dist/esm/gx-ide-splash.entry.js +1 -1
  78. package/dist/esm/gx-ide-team-dev-preview.entry.js +2 -2
  79. package/dist/esm/gx-ide-team-dev-preview.entry.js.map +1 -1
  80. package/dist/esm/gx-ide-ww-images.entry.js +1 -1
  81. package/dist/esm/loader.js +1 -1
  82. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  83. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  84. package/dist/genexus-ide-ui/gx-ide-assets/edit-module-server/shortcuts.json +15 -0
  85. package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.en.json +6 -2
  86. package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.ja.json +6 -2
  87. package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.zh.json +6 -2
  88. package/dist/genexus-ide-ui/gx-ide-assets/progress-bar/langs/progress-bar.lang.en.json +5 -0
  89. package/dist/genexus-ide-ui/gx-ide-assets/progress-bar/langs/progress-bar.lang.ja.json +5 -0
  90. package/dist/genexus-ide-ui/gx-ide-assets/progress-bar/langs/progress-bar.lang.zh.json +5 -0
  91. package/dist/genexus-ide-ui/p-29ac6b13.entry.js +582 -0
  92. package/dist/genexus-ide-ui/p-29ac6b13.entry.js.map +1 -0
  93. package/dist/genexus-ide-ui/p-3a22af5d.entry.js +249 -0
  94. package/dist/genexus-ide-ui/p-3a22af5d.entry.js.map +1 -0
  95. package/dist/genexus-ide-ui/p-45d9dcbc.entry.js +166 -0
  96. package/dist/genexus-ide-ui/p-45d9dcbc.entry.js.map +1 -0
  97. package/dist/genexus-ide-ui/{p-84d39fc6.entry.js → p-5f7de718.entry.js} +2 -2
  98. package/dist/genexus-ide-ui/{p-84d39fc6.entry.js.map → p-5f7de718.entry.js.map} +1 -1
  99. package/dist/genexus-ide-ui/{p-f5734cc7.entry.js → p-630581df.entry.js} +2 -2
  100. package/dist/genexus-ide-ui/{p-d41d52f6.entry.js → p-70038e09.entry.js} +2 -2
  101. package/dist/genexus-ide-ui/{p-b5aadc8d.entry.js → p-8f2f8995.entry.js} +2 -2
  102. package/dist/genexus-ide-ui/{p-ae33da9a.entry.js → p-9606ebed.entry.js} +19 -19
  103. package/dist/genexus-ide-ui/{p-ef6a6401.entry.js → p-966f80c1.entry.js} +15 -14
  104. package/dist/genexus-ide-ui/p-966f80c1.entry.js.map +1 -0
  105. package/dist/genexus-ide-ui/p-97bbd54c.js +132 -0
  106. package/dist/genexus-ide-ui/p-97bbd54c.js.map +1 -0
  107. package/dist/types/common/common.d.ts +0 -2
  108. package/dist/types/components/_helpers/progress-bar/progress-bar.d.ts +61 -0
  109. package/dist/types/components/modules/edit-module-server/edit-module-server.d.ts +15 -30
  110. package/dist/types/components/modules/edit-module-server/helpers.d.ts +3 -0
  111. package/dist/types/components/modules/manage-module-references/helpers.d.ts +5 -0
  112. package/dist/types/components/modules/manage-module-references/manage-module-references.d.ts +43 -88
  113. package/dist/types/components.d.ts +109 -42
  114. package/package.json +1 -1
  115. package/dist/cjs/common-f2540d3e.js.map +0 -1
  116. package/dist/esm/common-b811a822.js.map +0 -1
  117. package/dist/genexus-ide-ui/p-67e3486a.entry.js +0 -498
  118. package/dist/genexus-ide-ui/p-67e3486a.entry.js.map +0 -1
  119. package/dist/genexus-ide-ui/p-714b37c0.js +0 -159
  120. package/dist/genexus-ide-ui/p-714b37c0.js.map +0 -1
  121. package/dist/genexus-ide-ui/p-e13998a5.entry.js +0 -141
  122. package/dist/genexus-ide-ui/p-e13998a5.entry.js.map +0 -1
  123. package/dist/genexus-ide-ui/p-ef6a6401.entry.js.map +0 -1
  124. /package/dist/genexus-ide-ui/{p-f5734cc7.entry.js.map → p-630581df.entry.js.map} +0 -0
  125. /package/dist/genexus-ide-ui/{p-d41d52f6.entry.js.map → p-70038e09.entry.js.map} +0 -0
  126. /package/dist/genexus-ide-ui/{p-b5aadc8d.entry.js.map → p-8f2f8995.entry.js.map} +0 -0
  127. /package/dist/genexus-ide-ui/{p-ae33da9a.entry.js.map → p-9606ebed.entry.js.map} +0 -0
@@ -8,10 +8,50 @@ require('./mer-animated-dots-001c7465.js');
8
8
  require('lit');
9
9
  require('lit/directives/when.js');
10
10
  require('lit/directives/if-defined.js');
11
- const common = require('./common-f2540d3e.js');
11
+ const config = require('./config-3bb95f39.js');
12
12
  const locale = require('./locale-ff30a5f3.js');
13
+ const helpers = require('./helpers-b1b58657.js');
13
14
 
14
- const manageModuleReferencesCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.pill-tag{padding:1px 4px;border-radius:2px;min-inline-size:40px;text-align:center;margin-inline-end:10px;font-size:11px}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}.giu-static-pill-icon-and-text,.giu-static-pill{background-color:var(--elevation-background-color, var(--mer-surface__elevation--01));padding-inline:var(--mer-spacing--xs);color:var(--mer-text__on-elevation);font-size:var(--font-size-body-s);line-height:1.4;font-weight:var(--font-weight-regular);border-radius:var(--mer-border__width--lg);min-block-size:25px;display:inline-grid;align-items:center;pointer-events:none}.giu-static-pill-icon-and-text{display:inline-grid;grid-auto-flow:column;grid-auto-columns:max-content;gap:var(--mer-spacing--xs)}.tab-full-width-buttons::part(tab-list block-start),.tab-full-width-buttons::part(tab-list block-end){grid-auto-columns:1fr}.tab-full-width-buttons::part(tab block-start){justify-content:center}p,ul{font-size:var(--font-size-lg);margin:0}p{line-height:1.6em}.header{align-items:center;grid-template-columns:1fr auto;grid-template-rows:1fr}.main{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr;height:100%;overflow:auto}ch-grid-columnset{display:none}ch-grid-row[selected] gxg-icon[data-action=install]{filter:brightness(2)}.grid-cell-module__info{display:flex;flex-direction:column;align-items:flex-start;gap:var(--mer-spacing--3xs)}.grid-cell-module__name{font-weight:var(--mer-font__weight--bold)}.grid-cell-module__name,.grid-cell-module__description{line-height:1.55em}.grid-container{height:100%;overflow:auto}.grid-container gx-ide-empty-state{height:100%}.servers-container{display:none;height:100%}.servers-container__header{display:flex;align-items:center;justify-content:space-between;padding:var(--gxg-list-box-main__padding) var(--gxg-list-box-main__padding) 0 var(--gxg-list-box-main__padding)}.servers-container__header gxg-button{width:100%}.modules__header{padding:var(--gxg-list-box-main__padding);display:flex;flex-direction:column;gap:var(--mer-spacing--xs)}.modules__combo-container{display:flex;flex-direction:column;gap:var(--mer-spacing--xs)}.modules__server-commands{display:flex;gap:var(--mer-spacing--xs)}.modules__combo{display:flex;flex-direction:row;gap:var(--mer-spacing--xs)}.modules__combo gxg-combo-box{flex:1}.modules__container{border-inline-end:var(--mer-border__width--sm) solid var(--gx-ide-container-border-color);display:grid;grid-template-rows:auto 1fr;height:100%;overflow:auto}.modules__main{display:grid;grid-template-rows:auto 1fr;height:100%;overflow:auto}.modules__main-header{display:flex;padding:var(--mer-spacing--xs);flex-direction:column;gap:var(--mer-spacing--xs)}.module-info{display:grid;grid-template-rows:auto 1fr;height:100%;overflow:auto}.module-info__title{display:flex;align-items:center;gap:var(--mer-spacing--xs)}.module-info__name{display:flex;align-items:center;gap:var(--mer-spacing--sm);--ds-icon-size-box--regular:24px;--ds-icon-size--regular:24px;font-weight:var(--mer-font__weight--bold)}.module-info__header{padding:var(--gx-ide-container__padding);display:flex;flex-direction:column;gap:var(--mer-spacing--xs);border-block-end:var(--mer-border__width--sm) solid var(--gx-ide-container-border-color)}.module-info__action-container{display:flex;flex-direction:row;align-items:center;gap:var(--mer-spacing--xs)}.module-info__action-container:before{content:\"\";width:var(--mer-spacing--xs);height:var(--mer-spacing--xs);border-radius:50%;display:block;background-color:var(--mer-icon__primary--disabled)}.module-info__action-container--installed:before{background-color:var(--mer-icon__primary)}.module-info__action-container--uninstallable:before{background-color:var(--mer-icon__warning)}.module-info__warning-message{margin-block-start:var(--mer-spacing--2xs);background-color:var(--mer-color__tinted-yellow--5);color:var(--mer-text__on-elevation);border:var(--mer-border__width--sm) solid var(--mer-border-color__warning);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--xs) var(--mer-spacing--md)}.module-info__divider{width:calc(100% - var(--gx-ide-container__padding) * 4);padding:0 var(--gx-ide-container__padding);margin:0 auto;border:0;border-block-end:var(--mer-border__width--sm) solid var(--gx-ide-container-border-color)}.module-info__properties{display:flex;flex-direction:column;padding:var(--gx-ide-container__padding);gap:var(--mer-spacing--xs);overflow:auto}.md-property{display:grid;gap:var(--mer-spacing--xs)}.md-property--inline{grid-template-columns:auto 1fr}.md-property__key{font-weight:var(--font-weight-bold);max-width:150px}.md-property__value{font-size:var(--mer-font__size--2xs)}.md-property__key>*,.md-property__value>*{display:inline-block}.md-property__list{display:flex;flex-direction:column;gap:var(--mer-spacing--xs)}.md-property__list>ul{margin:0;padding:0;list-style-type:none;display:flex;flex-direction:column;gap:var(--mer-spacing--2xs);margin-inline-start:var(--mer-spacing--xs)}.md-property__list>ul li{position:relative;padding-inline-start:12px;line-height:var(--ds-base-font-line-height--comfortable)}.md-property__list>ul li::before{content:\"\";position:absolute;left:0;top:7px;display:inline-block;width:var(--mer-spacing--2xs);height:var(--mer-spacing--2xs);background-color:var(--mer-text__on-surface)}.md-property,.md-property__list{border-block-end:var(--mer-border__width--sm) solid var(--gx-ide-container-border-color);padding-block-end:var(--mer-spacing--xs)}.md-property:last-child,.md-property__list:last-child{border-block-end:0;padding-block-end:0}gxg-ide-loader{border-radius:var(--mer-border__radius--md)}.button-wrapper{display:grid;align-items:center;justify-content:center}";
15
+ const mapModuleServerDataToComboBoxModel = (servers) => servers.map(server => ({
16
+ value: server.id,
17
+ caption: server.name
18
+ }));
19
+ const mapModuleVersionDataToComboBoxModel = (moduleVersions) => moduleVersions.map(moduleVersion => ({
20
+ value: moduleVersion.id,
21
+ caption: moduleVersion.name
22
+ }));
23
+ const renderModuleDataProperties = (options) => {
24
+ if (options.length) {
25
+ const items = [];
26
+ options.forEach(option => {
27
+ const isArray = Array.isArray(option.value);
28
+ if (isArray && option.value.length) {
29
+ const item = (index.h("div", { class: "md-property__list-container" },
30
+ index.h("p", { class: "md-property__key subtitle-semi-bold-xs" },
31
+ option.name,
32
+ " :"),
33
+ index.h("ul", { class: "md-property__list" }, option.value.map(subItem => {
34
+ return (index.h("li", { class: "md-property__list-item body-regular-s" }, subItem));
35
+ }))));
36
+ items.push(item);
37
+ }
38
+ else if (!isArray) {
39
+ const item = (index.h("div", { class: option.inline
40
+ ? "md-property md-property--inline"
41
+ : "md-property md-property--block" },
42
+ index.h("p", { class: "md-property__key subtitle-semi-bold-xs" },
43
+ option.name,
44
+ " :"),
45
+ index.h("p", { class: "md-property__value body-regular-s" }, option.value)));
46
+ items.push(item);
47
+ }
48
+ });
49
+ return items;
50
+ }
51
+ return null;
52
+ };
53
+
54
+ const manageModuleReferencesCss = ".hiChar{color:var(--mer-color__primary--200);filter:brightness(1.3)}:host{display:grid;block-size:100%;overflow:auto;grid-template-areas:\"modules-container module-info\" \"footer footer\";grid-template-columns:1fr 1fr;grid-template-rows:1fr max-content}.main{display:contents}.modules__container{padding-inline-end:var(--mer-spacing--sm);grid-area:modules-container;grid-template-rows:max-content 1fr;overflow:auto}.combo-box-servers{flex-shrink:0;flex-grow:1}.modules__main{display:grid;grid-template-rows:max-content 1fr;overflow:auto}.modules__main-header{display:grid;gap:var(--mer-spacing--xs)}.browse-modules button{flex-grow:1}.module-icon{margin-block-start:var(--mer-spacing--xs);transform:scale(1) translateX(var(--mer-spacing--2xs))}.module-grid-item-info{grid-template-columns:max-content 1fr}.grid-or-loader-container{display:grid;position:relative;overflow:hidden;margin-block-start:var(--mer-spacing--sm)}.tabular-grid{overflow:hidden}.tabular-grid-column-set{display:none}.tabular-grid-cell-icon{pointer-events:none}gx-ide-empty-state{position:absolute}.module-info{padding-inline-start:var(--mer-spacing--sm);grid-area:module-info;position:relative}.modules-container,.module-info{overflow:auto}.module-info{display:grid;grid-template-rows:max-content 1fr;overflow:auto}.module-info__action-container{display:flex;flex-direction:row;align-items:center;gap:var(--mer-spacing--xs)}.module-info__action-container:before{content:\"\";inline-size:var(--mer-spacing--xs);block-size:var(--mer-spacing--xs);border-radius:50%;display:block;background-color:var(--mer-icon__primary--disabled)}.module-info__action-container--installed{color:var(--mer-text__success)}.module-info__action-container--installed:before{background-color:var(--mer-text__success)}.module-info__action-container--uninstallable:before{background-color:var(--mer-icon__warning)}.module-info__header{display:grid;gap:var(--mer-spacing--xs)}.module-info__title{display:grid;grid-template-columns:max-content 1fr;align-items:center;gap:var(--mer-spacing--md)}.module-info__icon{transform:scale(1) translateX(var(--mer-spacing--2xs))}.module-info__alert-message{padding:var(--mer-spacing--xs) var(--mer-spacing--sm);border-radius:var(--mer-border__radius--sm);background-color:var(--mer-color__tinted-yellow--5);color:var(--mer-text__bright);border:var(--mer-border__width--sm) solid var(--mer-border-color__warning);text-align:center;line-height:var(--mer-line-height--spaced)}.module-info__properties{display:grid;overflow:auto;grid-auto-rows:max-content}.md-property,.md-property__list-container{padding-block:var(--mer-spacing--xs);display:grid;gap:var(--mer-spacing--2xs);border-block-end:var(--mer-border__width--sm) solid var(--elevation-border-color, var(--mer-border-color__on-surface))}.md-property:last-child,.md-property__list-container:last-child{border-block-end:0}.md-property__list{margin:0;list-style-type:none;display:inline-flex;padding:0;gap:var(--mer-spacing--2xs);flex-wrap:wrap}.md-property__list-item{background-color:var(--mer-surface__elevation--02);padding:var(--mer-spacing--3xs) var(--mer-spacing--xs);border-radius:var(--mer-border__radius--sm);text-transform:lowercase}.md-property--inline{grid-template-columns:max-content 1fr;align-items:start;gap:var(--mer-spacing--xs)}.available-versions .versions{flex:1}.available-versions .button-status{min-inline-size:var(--mer-spacing--3xl);inline-size:max-content;box-sizing:border-box}.footer{grid-area:footer}p.body-regular-s,li.body-regular-s{line-height:var(--mer-line-height--regular)}";
15
55
 
16
56
  var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
17
57
  if (kind === "a" && !f)
@@ -20,138 +60,237 @@ var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) ||
20
60
  throw new TypeError("Cannot read private member from an object whose class did not declare it");
21
61
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
22
62
  };
23
- var _GxManageModuleReferences_filterIcon, _GxManageModuleReferences_moduleIcon;
63
+ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
64
+ if (kind === "m")
65
+ throw new TypeError("Private method is not writable");
66
+ if (kind === "a" && !f)
67
+ throw new TypeError("Private accessor was defined without a setter");
68
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
69
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
70
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
71
+ };
72
+ var _GxManageModuleReferences_componentLocale, _GxManageModuleReferences_moduleVersionsMap, _GxManageModuleReferences_modulesMap, _GxManageModuleReferences_modulesJustFetched, _GxManageModuleReferences_searchModulesFilterValue, _GxManageModuleReferences_modulesGrid, _GxManageModuleReferences_progressBarEl, _GxManageModuleReferences_segmentedControlModel, _GxManageModuleReferences_clearAll, _GxManageModuleReferences_filterModules, _GxManageModuleReferences_getActionFromCurrentModuleVersion, _GxManageModuleReferences_handleFilterChangeHandler, _GxManageModuleReferences_handleModuleChange, _GxManageModuleReferences_moduleActionHandler, _GxManageModuleReferences_moduleTypeButtonClicked, _GxManageModuleReferences_moduleVersionsValueChangedHandler, _GxManageModuleReferences_onProgress, _GxManageModuleReferences_progressBarCloseHandler, _GxManageModuleReferences_reloadServer, _GxManageModuleReferences_renderEmptyStateModules, _GxManageModuleReferences_renderInstalledVersion, _GxManageModuleReferences_renderModuleVersions, _GxManageModuleReferences_renderModulesGrid, _GxManageModuleReferences_renderVersionName, _GxManageModuleReferences_renderVersionWarningMessage, _GxManageModuleReferences_serverSelectedCallbackHandler, _GxManageModuleReferences_serverValueChangedHandler, _GxManageModuleReferences_showModuleMenu;
24
73
  const CSS_BUNDLES = [
25
74
  "resets/box-sizing",
26
- // "utils/form",
27
- // "utils/layout",
28
- // "utils/typography",
29
- // "components/button",
30
- // "components/checkbox",
31
- // "components/edit",
32
- "components/tabular-grid"
75
+ "utils/form",
76
+ "utils/layout",
77
+ "utils/typography",
78
+ "components/button",
79
+ "components/icon",
80
+ "components/combo-box",
81
+ "components/edit",
82
+ "components/tabular-grid",
83
+ "components/segmented-control",
84
+ "chameleon/scrollbar",
85
+ "utils/spacing"
33
86
  ];
87
+ // icons
88
+ const SHOW_MORE_ICON = assetsManager.getIconPath({
89
+ category: "gemini-tools",
90
+ name: "show-more-horizontal",
91
+ colorType: "primary"
92
+ });
93
+ const RESET_ICON = assetsManager.getIconPath({
94
+ category: "gemini-tools",
95
+ name: "reset",
96
+ colorType: "primary"
97
+ });
98
+ const MODULE_ICON = assetsManager.getIconPath({
99
+ category: "objects",
100
+ name: "module"
101
+ });
102
+ const FILTER_ICON = assetsManager.getIconPath({
103
+ category: "system",
104
+ name: "filters",
105
+ colorType: "on-elevation"
106
+ });
107
+ const MVS = "__"; // The separator between module-id, and module-version-id
34
108
  const GxManageModuleReferences = class {
35
109
  constructor(hostRef) {
36
110
  index.registerInstance(this, hostRef);
37
- this.componentDidRenderFirstTime = index.createEvent(this, "componentDidRenderFirstTime", 7);
38
- this.renderedFirstTime = false;
39
- _GxManageModuleReferences_filterIcon.set(this, assetsManager.getIconPath({
40
- category: "system",
41
- name: "filters",
42
- colorType: "on-elevation"
43
- }));
44
- _GxManageModuleReferences_moduleIcon.set(this, assetsManager.getIconPath({
45
- category: "objects",
46
- name: "module"
47
- }));
48
- // 9.LOCAL METHODS //
49
- this.updateModulesSelectedVersion = (modulesAll) => {
50
- if (this.selectedServerId !== this.selectedServerIdOnModulesAllUpdate) {
51
- // the server has changed. clear the updateModulesSelectedVersion
52
- this.modulesSelectedVersion.clear();
53
- modulesAll.forEach(module => {
54
- // this.modulesSelectedVersion.set(module.id, module.versions[0].id);
55
- this.modulesSelectedVersion.set(module.id, module.versions[module.versions.length - 1].id);
111
+ _GxManageModuleReferences_componentLocale.set(this, void 0);
112
+ /**
113
+ * #moduleVersionsMap maps a module version (identified as module-id + version-id), with the ModuleVersionData
114
+ */
115
+ // eslint-disable-next-line @stencil-community/own-props-must-be-private
116
+ _GxManageModuleReferences_moduleVersionsMap.set(this, new Map());
117
+ /**
118
+ * maps a module-id, with the module current installed version, and the list of versions as a ComboBoxModel representation.
119
+ */
120
+ // eslint-disable-next-line @stencil-community/own-props-must-be-private
121
+ _GxManageModuleReferences_modulesMap.set(this, new Map());
122
+ // #modulesJustFetched is used to select the current module on componentDidRender
123
+ _GxManageModuleReferences_modulesJustFetched.set(this, false);
124
+ _GxManageModuleReferences_searchModulesFilterValue.set(this, void 0);
125
+ _GxManageModuleReferences_modulesGrid.set(this, void 0);
126
+ _GxManageModuleReferences_progressBarEl.set(this, void 0);
127
+ _GxManageModuleReferences_segmentedControlModel.set(this, []);
128
+ _GxManageModuleReferences_clearAll.set(this, () => {
129
+ __classPrivateFieldGet(this, _GxManageModuleReferences_modulesMap, "f").clear();
130
+ __classPrivateFieldGet(this, _GxManageModuleReferences_moduleVersionsMap, "f").clear();
131
+ });
132
+ _GxManageModuleReferences_filterModules.set(this, () => {
133
+ let filteredModules;
134
+ // 1. Filter by type first
135
+ // browse
136
+ if (this.selectedModuleType === "browse") {
137
+ filteredModules = this.modulesAll;
138
+ }
139
+ // installed
140
+ else if (this.selectedModuleType === "installed") {
141
+ filteredModules = this.modulesAll.filter((module) => {
142
+ // if the module has a currentVersion (not undefined) it means it is installed
143
+ return module.currentVersion;
56
144
  });
57
145
  }
58
- else {
59
- // the server has't changed. only add the module to the map, if it is a new module.
60
- modulesAll.forEach(module => {
61
- const newModule = this.modulesSelectedVersion.get(module.id) === undefined;
62
- if (newModule) {
63
- this.modulesSelectedVersion.set(module.id, module.versions[0].id);
64
- }
146
+ else if (this.selectedModuleType === "updates") {
147
+ filteredModules = this.modulesAll.filter((module) => {
148
+ return module.versions.find(version => version.action === "update");
65
149
  });
66
150
  }
67
- this.selectedServerIdOnModulesAllUpdate = this.selectedServerId;
68
- };
69
- this.getActionFromCurrentModuleVersion = () => {
70
- const action = this.getModuleData(this.selectedModule, "action");
151
+ // 2. Then filter by user input
152
+ if (__classPrivateFieldGet(this, _GxManageModuleReferences_searchModulesFilterValue, "f")) {
153
+ filteredModules = filteredModules.filter(module => {
154
+ const moduleSelectedVersion = __classPrivateFieldGet(this, _GxManageModuleReferences_moduleVersionsMap, "f").get(`${module.id}${MVS}${__classPrivateFieldGet(this, _GxManageModuleReferences_modulesMap, "f").get(module.id).currentSelectedVersion}`);
155
+ const moduleSelectedVersionName = moduleSelectedVersion.name.toLowerCase();
156
+ const moduleSelectedVersionDescription = moduleSelectedVersion.description.toLowerCase();
157
+ return ((moduleSelectedVersionName === null || moduleSelectedVersionName === void 0 ? void 0 : moduleSelectedVersionName.includes(__classPrivateFieldGet(this, _GxManageModuleReferences_searchModulesFilterValue, "f"))) ||
158
+ (moduleSelectedVersionDescription === null || moduleSelectedVersionDescription === void 0 ? void 0 : moduleSelectedVersionDescription.includes(__classPrivateFieldGet(this, _GxManageModuleReferences_searchModulesFilterValue, "f"))));
159
+ });
160
+ }
161
+ this.filteredModules = filteredModules;
162
+ });
163
+ _GxManageModuleReferences_getActionFromCurrentModuleVersion.set(this, () => {
164
+ const action = __classPrivateFieldGet(this, _GxManageModuleReferences_moduleVersionsMap, "f").get(`${this.selectedModuleId}${MVS}${__classPrivateFieldGet(this, _GxManageModuleReferences_modulesMap, "f").get(this.selectedModuleId).currentSelectedVersion}`).action;
71
165
  return action || "install";
72
- };
166
+ });
167
+ _GxManageModuleReferences_handleFilterChangeHandler.set(this, (event) => {
168
+ const searchValue = event.detail.trim().toLowerCase();
169
+ __classPrivateFieldSet(this, _GxManageModuleReferences_searchModulesFilterValue, searchValue, "f");
170
+ __classPrivateFieldGet(this, _GxManageModuleReferences_filterModules, "f").call(this);
171
+ });
172
+ _GxManageModuleReferences_handleModuleChange.set(this, (event) => {
173
+ this.selectedModuleId = event.detail.rowsId[0];
174
+ // update selected versions comboBox model
175
+ const selectedModuleVersionsInfoArray = __classPrivateFieldGet(this, _GxManageModuleReferences_modulesMap, "f").get(this.selectedModuleId).comboBoxVersionsModel;
176
+ this.selectedModuleVersions = selectedModuleVersionsInfoArray.map(versionInfo => {
177
+ return {
178
+ caption: versionInfo.value,
179
+ value: versionInfo.value
180
+ };
181
+ });
182
+ });
183
+ /**
184
+ * Perform an action relative to a module using callbackExecuteAction callback and receive the state of that action with onProgress callback
185
+ */
186
+ // eslint-disable-next-line @stencil-community/own-props-must-be-private
187
+ _GxManageModuleReferences_moduleActionHandler.set(this, (module) => async () => {
188
+ await __classPrivateFieldGet(this, _GxManageModuleReferences_progressBarEl, "f").reset(); // sets the progress bar to 0
189
+ this.executeActionCallbackInProgress = true;
190
+ this.actionInProgress = true;
191
+ const moduleSelectedVersionId = __classPrivateFieldGet(this, _GxManageModuleReferences_modulesMap, "f").get(this.selectedModuleId).currentSelectedVersion;
192
+ const actionSuccessful = await this.executeActionCallback(this.selectedServerId, module.id, moduleSelectedVersionId, __classPrivateFieldGet(this, _GxManageModuleReferences_getActionFromCurrentModuleVersion, "f").call(this), __classPrivateFieldGet(this, _GxManageModuleReferences_onProgress, "f"));
193
+ this.executeActionCallbackInProgress = false;
194
+ if (actionSuccessful) {
195
+ __classPrivateFieldGet(this, _GxManageModuleReferences_serverSelectedCallbackHandler, "f").call(this, this.selectedServerId, false);
196
+ }
197
+ });
198
+ _GxManageModuleReferences_moduleTypeButtonClicked.set(this, (event) => {
199
+ this.selectedModuleType = event.detail;
200
+ __classPrivateFieldGet(this, _GxManageModuleReferences_filterModules, "f").call(this);
201
+ });
202
+ _GxManageModuleReferences_moduleVersionsValueChangedHandler.set(this, (event) => {
203
+ const versionId = event.detail;
204
+ const currentModuleMapValue = __classPrivateFieldGet(this, _GxManageModuleReferences_modulesMap, "f").get(this.selectedModuleId);
205
+ currentModuleMapValue.currentSelectedVersion = versionId.toString();
206
+ __classPrivateFieldGet(this, _GxManageModuleReferences_modulesMap, "f").set(this.selectedModuleId, currentModuleMapValue);
207
+ this.reRenderCounter++;
208
+ });
73
209
  /**
74
210
  * Callback invoked to get the progress when module is performing an action
75
211
  */
76
- this.onProgress = (message, progress, state) => {
212
+ // eslint-disable-next-line @stencil-community/own-props-must-be-private
213
+ _GxManageModuleReferences_onProgress.set(this, (message, progress, state) => {
77
214
  const data = { message, progress, state };
78
215
  this.selectedModuleAction = Object.assign({}, data);
79
216
  this.progressValue = this.selectedModuleAction.progress;
80
217
  this.progressState = this.selectedModuleAction.state;
81
- };
82
- // 10.LOCAL METHODS //
83
- /**
84
- * Used for changing the selected module
85
- */
86
- this.handleModuleChange = (event) => {
87
- const selectedModuleId = event.detail.rowsId[0];
88
- const foundModule = this.modulesAll.find(item => item.id === selectedModuleId);
89
- if (foundModule) {
90
- this.selectedModule = foundModule;
218
+ });
219
+ _GxManageModuleReferences_progressBarCloseHandler.set(this, () => { });
220
+ _GxManageModuleReferences_reloadServer.set(this, () => {
221
+ __classPrivateFieldGet(this, _GxManageModuleReferences_serverSelectedCallbackHandler, "f").call(this, this.selectedServerId, true);
222
+ });
223
+ _GxManageModuleReferences_renderEmptyStateModules.set(this, () => {
224
+ return (index.h("gx-ide-empty-state", { isAnimated: true, stateIconSrc: FILTER_ICON, stateTitle: __classPrivateFieldGet(this, _GxManageModuleReferences_componentLocale, "f").modules.noModulesFilter }));
225
+ });
226
+ _GxManageModuleReferences_renderInstalledVersion.set(this, () => {
227
+ const currentInstalledVersion = __classPrivateFieldGet(this, _GxManageModuleReferences_modulesMap, "f").get(this.selectedModuleId).currentInstalledVersion;
228
+ let caption;
229
+ let cssClass = "module-info__action-container";
230
+ if (currentInstalledVersion) {
231
+ caption = `${__classPrivateFieldGet(this, _GxManageModuleReferences_componentLocale, "f").modulesInformation.moduleProperties.installed}: ${currentInstalledVersion}`;
232
+ cssClass += ` module-info__action-container--installed`;
91
233
  }
92
- };
93
- /**
94
- * Change the server selected value in response to callbackServerSelected callback
95
- */
96
- this.serverSelectedCallbackHandler = async (id, reload) => {
234
+ else {
235
+ caption =
236
+ __classPrivateFieldGet(this, _GxManageModuleReferences_componentLocale, "f").modulesInformation.moduleProperties.notInstalled;
237
+ }
238
+ return (index.h("div", { class: cssClass }, index.h("p", { class: "body-regular-m" }, caption)));
239
+ });
240
+ _GxManageModuleReferences_renderModuleVersions.set(this, () => {
241
+ const currentSelectedModule = __classPrivateFieldGet(this, _GxManageModuleReferences_modulesMap, "f").get(this.selectedModuleId);
242
+ const selectedVersionValue = currentSelectedModule.currentSelectedVersion;
243
+ const moduleSelectedVersion = __classPrivateFieldGet(this, _GxManageModuleReferences_moduleVersionsMap, "f").get(`${this.selectedModuleId}${MVS}${__classPrivateFieldGet(this, _GxManageModuleReferences_modulesMap, "f").get(this.selectedModuleId).currentSelectedVersion}`);
244
+ const moduleSelectedVersionAction = moduleSelectedVersion.action;
245
+ return (index.h("div", { class: "field field-block available-versions" }, index.h("label", { class: "label", htmlFor: "available-versions" }, __classPrivateFieldGet(this, _GxManageModuleReferences_componentLocale, "f").availableVersions), index.h("div", { class: "buttons-spacer combo-and-button" }, index.h("ch-combo-box-render", { id: "available-versions", class: "combo-box versions", value: selectedVersionValue, onInput: __classPrivateFieldGet(this, _GxManageModuleReferences_moduleVersionsValueChangedHandler, "f"), disabled: this.loadingServer, model: this.selectedModuleVersions }), index.h("button", { class: "button-primary button-status", disabled: this.executeActionCallbackInProgress ||
246
+ moduleSelectedVersionAction === "incompatible" ||
247
+ moduleSelectedVersionAction === "not-installable", onClick: __classPrivateFieldGet(this, _GxManageModuleReferences_moduleActionHandler, "f").call(this, currentSelectedModule.moduleData) }, __classPrivateFieldGet(this, _GxManageModuleReferences_getActionFromCurrentModuleVersion, "f").call(this)))));
248
+ });
249
+ _GxManageModuleReferences_renderModulesGrid.set(this, () => {
250
+ return (index.h("ch-tabular-grid", {
251
+ // TODO: Evaluate if the tabular-grid is the right tool for this job.
252
+ rowSelectionMode: "single", part: "ch-grid-pending-commits", class: "tabular-grid scrollable", onSelectionChanged: __classPrivateFieldGet(this, _GxManageModuleReferences_handleModuleChange, "f"), ref: el => (__classPrivateFieldSet(this, _GxManageModuleReferences_modulesGrid, el, "f"))
253
+ }, index.h("ch-tabular-grid-columnset", { class: "tabular-grid-column-set" }, index.h("ch-tabular-grid-column", { class: "tabular-grid-column", settingable: false, size: config.config.tabularGrid.colSize.common })), this.filteredModules.length ? (index.h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, this.filteredModules.map((module) => {
254
+ const moduleIsInstalled = module.currentVersion;
255
+ const moduleSelectedVersion = __classPrivateFieldGet(this, _GxManageModuleReferences_moduleVersionsMap, "f").get(`${module.id}${MVS}${__classPrivateFieldGet(this, _GxManageModuleReferences_modulesMap, "f").get(module.id).currentSelectedVersion}`);
256
+ const moduleSelectedVersionName = moduleSelectedVersion.name;
257
+ const moduleSelectedVersionDescription = moduleSelectedVersion.description;
258
+ return (index.h("ch-tabular-grid-row", {
259
+ // TODO: Replace tabular grid with other control, since it does not makes sense to use a grid with only one column.
260
+ class: "tabular-grid-row", rowid: module.id, key: module.id
261
+ }, index.h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, index.h("div", { class: "module-grid-item-info field-group" }, index.h("ch-image", { class: "icon-md module-icon", src: MODULE_ICON, disabled: !moduleIsInstalled }), index.h("div", { class: "field field-block" }, index.h("h6", { class: "subtitle-semi-bold-xs" }, helpers.hiChar(moduleSelectedVersionName, __classPrivateFieldGet(this, _GxManageModuleReferences_searchModulesFilterValue, "f"))), index.h("p", { class: "body-regular-s" }, helpers.hiChar(moduleSelectedVersionDescription, __classPrivateFieldGet(this, _GxManageModuleReferences_searchModulesFilterValue, "f"))))))));
262
+ }))) : (index.h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, index.h("ch-tabular-grid-rowset-empty", null, __classPrivateFieldGet(this, _GxManageModuleReferences_renderEmptyStateModules, "f").call(this))))));
263
+ });
264
+ /* module details/information renders*/
265
+ _GxManageModuleReferences_renderVersionName.set(this, () => {
266
+ const moduleSelectedVersion = __classPrivateFieldGet(this, _GxManageModuleReferences_moduleVersionsMap, "f").get(`${this.selectedModuleId}${MVS}${__classPrivateFieldGet(this, _GxManageModuleReferences_modulesMap, "f").get(this.selectedModuleId).currentSelectedVersion}`);
267
+ const selectedModule = __classPrivateFieldGet(this, _GxManageModuleReferences_modulesMap, "f").get(this.selectedModuleId);
268
+ const moduleIsInstalled = selectedModule.currentInstalledVersion;
269
+ return (index.h("div", { class: "module-info__title" }, index.h("ch-image", { class: "icon-md module-info__icon", src: MODULE_ICON, disabled: !moduleIsInstalled }), index.h("h6", { class: "subtitle-semi-bold-xs" }, moduleSelectedVersion.name)));
270
+ });
271
+ _GxManageModuleReferences_renderVersionWarningMessage.set(this, () => {
272
+ const moduleVersionWarningMessage = __classPrivateFieldGet(this, _GxManageModuleReferences_moduleVersionsMap, "f").get(`${this.selectedModuleId}${MVS}${__classPrivateFieldGet(this, _GxManageModuleReferences_modulesMap, "f").get(this.selectedModuleId).currentSelectedVersion}`).warningMessage;
273
+ if (moduleVersionWarningMessage) {
274
+ return (index.h("p", { class: "module-info__alert-message" }, moduleVersionWarningMessage));
275
+ }
276
+ });
277
+ _GxManageModuleReferences_serverSelectedCallbackHandler.set(this, async (id, reload) => {
97
278
  if (this.serverSelectedCallback) {
279
+ this.selectedServerId = id;
98
280
  this.loadingServer = true;
99
281
  const resolvedObjects = await this.serverSelectedCallback(id, reload);
100
- this.selectedServerId = id;
101
282
  this.modulesAll = [...resolvedObjects];
102
- this.filterModulesByType("browse");
103
- this.selectedModule = this.filteredModules[0];
104
283
  this.loadingServer = false;
105
284
  }
106
- };
107
- this.handleFilterChange = (value) => {
108
- value = value.trim().toLowerCase();
109
- if (value) {
110
- this.filteredModules = this.modulesAll.filter(module => {
111
- const selectedVersionName = this.getModuleData(module, "name");
112
- return selectedVersionName === null || selectedVersionName === void 0 ? void 0 : selectedVersionName.toLowerCase().includes(value);
113
- });
114
- }
115
- else {
116
- this.filteredModules = this.modulesAll;
117
- }
118
- };
119
- this.handleFilterChangeHandler = (e) => {
120
- const value = e.detail;
121
- return this.handleFilterChange(value);
122
- };
123
- /**
124
- * Perform an action relative to a module using callbackExecuteAction callback and receive the state of that action with onProgress callback
125
- */
126
- this.executeActionCallbackHandler = async (module) => {
127
- if (this.executeActionCallback) {
128
- const moduleSelectedVersionId = this.modulesSelectedVersion.get(module.id);
129
- const actionCompleted = await this.executeActionCallback(this.selectedServerId, module.id, moduleSelectedVersionId, this.getActionFromCurrentModuleVersion(), this.onProgress);
130
- if (actionCompleted) {
131
- this.serverSelectedCallbackHandler(this.selectedServerId, false);
132
- }
133
- this.actionCompleted = actionCompleted;
134
- }
135
- };
136
- this.filterModulesByType = (type) => {
137
- // browse
138
- if (type === "browse") {
139
- this.filteredModules = this.modulesAll;
140
- }
141
- // installed
142
- else if (type === "installed") {
143
- this.filteredModules = this.modulesAll.filter((module) => {
144
- // if the module has a currentVersion (not undefined) it means it is installed
145
- return module.currentVersion;
146
- });
147
- }
148
- else if (type === "updates") {
149
- this.filteredModules = this.modulesAll.filter((module) => {
150
- return module.versions.find(version => version.action === "update");
151
- });
152
- }
153
- };
154
- this.showModuleMenu = async (e) => {
285
+ });
286
+ _GxManageModuleReferences_serverValueChangedHandler.set(this, (event) => {
287
+ this.selectedModuleId = undefined; // clear selected module
288
+ __classPrivateFieldSet(this, _GxManageModuleReferences_searchModulesFilterValue, "", "f"); // clear filter
289
+ this.selectedModuleType = "browse"; // set "browse" as the default selected type
290
+ const serverId = event.detail;
291
+ __classPrivateFieldGet(this, _GxManageModuleReferences_serverSelectedCallbackHandler, "f").call(this, serverId, false);
292
+ });
293
+ _GxManageModuleReferences_showModuleMenu.set(this, async (e) => {
155
294
  if (this.serverContextMenuCallback) {
156
295
  const buttonBoundingClientRect = e.target.getBoundingClientRect();
157
296
  await this.serverContextMenuCallback({
@@ -160,190 +299,143 @@ const GxManageModuleReferences = class {
160
299
  clientY: buttonBoundingClientRect.y
161
300
  });
162
301
  }
163
- };
164
- this.getModuleData = (module, dataType) => {
165
- const selectedVersionId = this.modulesSelectedVersion.get(module.id);
166
- let selectedVersion;
167
- let selectedVersionData;
168
- if (selectedVersionId) {
169
- selectedVersion = module.versions.find(version => version.id === selectedVersionId);
170
- }
171
- if (selectedVersion) {
172
- selectedVersionData = selectedVersion[dataType];
173
- }
174
- return selectedVersionData;
175
- };
176
- this.moduleActionHandler = (module) => () => {
177
- this.actionCompleted = false;
178
- this.closeProgressBar = false;
179
- this.executeActionCallbackHandler(module);
180
- };
181
- this.renderModulesGrid = () => {
182
- return (index.h("ch-tabular-grid", { rowSelectionMode: "single", part: "ch-grid-pending-commits", class: "tabular-grid servers-detail no-border", onSelectionChanged: this.handleModuleChange }, index.h("ch-tabular-grid-columnset", { class: "tabular-grid-column-set" }, index.h("ch-tabular-grid-column", { class: "tabular-grid-column", settingable: false, size: "min-content" }), index.h("ch-tabular-grid-column", { class: "tabular-grid-column", settingable: false }), index.h("ch-tabular-grid-column", { class: "tabular-grid-column", settingable: false, size: "min-content" })), this.filteredModules.map((module) => (index.h("ch-tabular-grid-row", { class: "tabular-grid-row", rowid: module.id, key: module.id, selected: this.selectedModule && this.selectedModule.id === module.id }, index.h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, index.h("gxg-icon", { type: "objects/module", "data-action": this.moduleVersionIconColor(module), color: this.moduleVersionIconColor(module), size: "small" })), index.h("ch-tabular-grid-cell", { class: "tabular-grid-cell grid-cell-module__info" }, index.h("span", { class: "grid-cell-module__name" }, this.getModuleData(module, "name")), index.h("span", { class: "grid-cell-module__description" }, this.getModuleData(module, "description"))), index.h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, this.selectedModule && this.selectedModule.id === module.id ? (index.h("div", { class: "button-wrapper" }, index.h("gxg-button", { disabled: !this.actionCompleted ||
183
- this.getModuleData(module, "action") === "incompatible" ||
184
- this.getModuleData(module, "action") === "not-installable", fit: true, part: "module-action", onClick: this.moduleActionHandler(module) }, this.getActionFromCurrentModuleVersion()))) : null))))));
185
- };
186
- this.renderEmptyStateModules = () => {
187
- return (index.h("gx-ide-empty-state", { stateIconSrc: __classPrivateFieldGet(this, _GxManageModuleReferences_filterIcon, "f"), stateTitle: this._componentLocale.modules.noModulesFilter }));
188
- };
189
- this.moduleVersionIconColor = (module) => {
190
- const moduleAction = this.getModuleData(module, "action");
191
- const moduleCurrentVersion = module.currentVersion;
192
- if (moduleAction === "not-installable" || moduleAction === "incompatible") {
193
- return "warning";
194
- }
195
- else if (!moduleCurrentVersion) {
196
- return "mercury-primary-disabled";
197
- }
198
- else {
199
- return "mercury-primary";
200
- }
201
- };
202
- /* module details/information renders*/
203
- this.renderVersionName = () => {
204
- return (index.h("gxg-title", { part: "module-info__name", type: "title-05" }, index.h("div", { class: "module-info__name" }, this.getModuleData(this.selectedModule, "name"))));
205
- };
206
- this.renderVersionWarningMessage = () => {
207
- const warningMessage = this.getModuleData(this.selectedModule, "warningMessage");
208
- if (warningMessage) {
209
- return index.h("p", { class: "module-info__alert-message" }, warningMessage);
210
- }
211
- };
212
- this.renderInstalledVersion = () => {
213
- const currentVersion = this.selectedModule.currentVersion;
214
- let caption;
215
- let cssClass = "module-info__action-container";
216
- if (currentVersion) {
217
- caption = `${this._componentLocale.modulesInformation.moduleProperties.installed}: ${currentVersion}`;
218
- cssClass += ` module-info__action-container--installed`;
219
- }
220
- else {
221
- caption =
222
- this._componentLocale.modulesInformation.moduleProperties.notInstalled;
223
- }
224
- return (index.h("div", { class: cssClass }, index.h("gxg-text", { part: "module-info__action" }, caption)));
225
- };
226
- this.moduleVersionsValueChangedHandler = (e) => {
227
- const versionId = e.detail;
228
- this.updateSelectedModuleVersion(versionId);
229
- };
230
- this.moduleVersionsItemChangedHandler = (e) => {
231
- const versionId = e.detail.value;
232
- this.updateSelectedModuleVersion(versionId);
233
- };
234
- this.updateSelectedModuleVersion = (versionId) => {
235
- if (versionId) {
236
- this.modulesSelectedVersion.set(this.selectedModule.id, versionId);
237
- this.reRenderCounter++;
238
- }
239
- };
240
- this.renderModuleVersions = () => {
241
- return (index.h("div", { part: "available-versions" }, index.h("gxg-combo-box", { id: "versions-combo-box", "disable-filter": true, value: this.getModuleData(this.selectedModule, "id"), part: "module-versions", "display-validation-styles": true, "display-validation-message": true, label: this._componentLocale.modulesInformation.moduleProperties
242
- .availableVersions, labelPosition: "start", centerLabel: true, onValueChanged: this.moduleVersionsValueChangedHandler, disabled: this.loadingServer }, this.selectedModule.versions.map(item => (index.h("gxg-combo-box-item", { value: item.id, onItemSelected: this.moduleVersionsItemChangedHandler }, item.id))))));
243
- };
244
- this.selectedButtonChangedHandler = (e) => {
245
- const type = e.detail.replace("btn-", "");
246
- this.filterModulesByType(type);
247
- };
248
- this.serverItemSelectedHandler = (e) => {
249
- const serverId = e.detail.value;
250
- this.serverSelectedCallbackHandler(serverId, false);
251
- };
252
- this.serverValueChangedHandler = (e) => {
253
- const serverId = e.detail;
254
- this.serverSelectedCallbackHandler(serverId, false);
255
- };
256
- this.progressBarCloseHandler = () => {
257
- setTimeout(() => {
258
- this.actionCompleted = true;
259
- this.closeProgressBar = true;
260
- // reset
261
- this.progressValue = 0;
262
- this.progressState = "in-progress";
263
- }, 400);
264
- // delay to force the footer line disappear after the top-state-bar has been closed.
265
- };
266
- this.reloadServer = () => {
267
- this.serverSelectedCallbackHandler(this.selectedServerId, true);
268
- };
269
- this.modulesAll = [];
302
+ });
303
+ this.actionInProgress = false;
304
+ this.executeActionCallbackInProgress = false;
270
305
  this.filteredModules = [];
271
- this.selectedModule = undefined;
272
- this.selectedServerId = undefined;
306
+ this.loadingServer = false;
307
+ this.modulesAll = [];
308
+ this.progressState = "in-progress";
309
+ this.progressValue = 0;
310
+ this.reRenderCounter = 0;
273
311
  this.selectedModuleAction = {
274
312
  message: "",
275
313
  progress: 0,
276
314
  state: "in-progress"
277
315
  };
278
- this.modulesSelectedVersion = new Map();
279
- this.actionCompleted = true;
280
- this.closeProgressBar = true;
281
- this.progressValue = 0;
282
- this.progressState = "in-progress";
283
- this.loadingServer = false;
284
- this.reRenderCounter = 0;
285
- this.displayTitle = false;
286
- this.servers = [];
287
- this.serverSelectedCallback = undefined;
316
+ this.selectedModuleId = undefined;
317
+ this.selectedModuleType = "browse";
318
+ this.selectedServerId = undefined;
319
+ this.selectedServerValue = undefined;
320
+ this.serversComboBoxModel = [];
321
+ this.selectedModuleVersions = [];
322
+ this.autoCloseProgressBar = false;
288
323
  this.executeActionCallback = undefined;
289
- this.addServerCallback = undefined;
290
324
  this.serverContextMenuCallback = undefined;
325
+ this.serverSelectedCallback = undefined;
326
+ this.servers = [];
291
327
  this.showServerCommands = false;
292
328
  }
293
- modulesAllWatcher(modulesAll) {
294
- this.updateModulesSelectedVersion(modulesAll);
295
- }
296
- loadingServerHandler(loading) {
297
- if (loading) {
298
- this.loaderEl.show = true;
299
- }
300
- else {
301
- this.loaderEl.show = false;
329
+ modulesAllChanged(newModules) {
330
+ let currentSelectedVersion;
331
+ if (this.selectedModuleId) {
332
+ // If this.selectedModuleId has a value, serverSelectedCallback was called
333
+ // but the server is the same. This occurs when a user action (e.g., install
334
+ // or restore) requires modules to update. The selected module and version
335
+ // remain unchanged. We must save the current version before #clearAll().
336
+ currentSelectedVersion = __classPrivateFieldGet(this, _GxManageModuleReferences_modulesMap, "f").get(this.selectedModuleId).currentSelectedVersion;
302
337
  }
338
+ __classPrivateFieldGet(this, _GxManageModuleReferences_clearAll, "f").call(this);
339
+ newModules.forEach(module => {
340
+ let currentSelectedVersionValue = module.versions[0].id;
341
+ if (currentSelectedVersion && this.selectedModuleId === module.id) {
342
+ currentSelectedVersionValue = currentSelectedVersion;
343
+ }
344
+ // fulfill #modulesMap
345
+ const moduleVersionsComboBoxModel = mapModuleVersionDataToComboBoxModel(module.versions);
346
+ __classPrivateFieldGet(this, _GxManageModuleReferences_modulesMap, "f").set(module.id, {
347
+ moduleData: module,
348
+ currentInstalledVersion: module.currentVersion,
349
+ currentSelectedVersion: currentSelectedVersionValue,
350
+ comboBoxVersionsModel: moduleVersionsComboBoxModel
351
+ });
352
+ // fulfill #moduleVersionsMap.
353
+ module.versions.forEach(version => {
354
+ const moduleVersionCombinedId = `${module.id}${MVS}${version.id}`;
355
+ __classPrivateFieldGet(this, _GxManageModuleReferences_moduleVersionsMap, "f").set(moduleVersionCombinedId, {
356
+ id: version.id,
357
+ action: version.action,
358
+ description: version.description,
359
+ properties: version.properties,
360
+ name: version.name,
361
+ warningMessage: version.warningMessage
362
+ });
363
+ });
364
+ });
365
+ __classPrivateFieldSet(this, _GxManageModuleReferences_modulesJustFetched, true, "f");
366
+ __classPrivateFieldGet(this, _GxManageModuleReferences_filterModules, "f").call(this);
303
367
  }
304
- // 6.COMPONENT LIFECYCLE EVENTS //
305
- componentDidRender() {
306
- if (!this.renderedFirstTime) {
307
- this.componentDidRenderFirstTime.emit(this._componentLocale.componentName);
308
- this.renderedFirstTime = true;
368
+ serversChanged(newServers) {
369
+ if (newServers.length) {
370
+ this.serversComboBoxModel =
371
+ mapModuleServerDataToComboBoxModel(newServers);
372
+ this.selectedServerValue = this.serversComboBoxModel[0].value;
309
373
  }
310
374
  }
311
375
  async componentWillLoad() {
312
- this._componentLocale = await locale.Locale.getComponentStrings(this.el);
376
+ __classPrivateFieldSet(this, _GxManageModuleReferences_componentLocale, await locale.Locale.getComponentStrings(this.el), "f");
377
+ this.serversChanged(this.servers); // map ModuleServerData to ComboBoxModel
378
+ __classPrivateFieldSet(this, _GxManageModuleReferences_segmentedControlModel, [
379
+ {
380
+ id: "browse",
381
+ caption: __classPrivateFieldGet(this, _GxManageModuleReferences_componentLocale, "f").modules.buttonsContainer.browse
382
+ },
383
+ {
384
+ id: "installed",
385
+ caption: __classPrivateFieldGet(this, _GxManageModuleReferences_componentLocale, "f").modules.buttonsContainer.installed
386
+ },
387
+ {
388
+ id: "updates",
389
+ caption: __classPrivateFieldGet(this, _GxManageModuleReferences_componentLocale, "f").modules.buttonsContainer.updates
390
+ }
391
+ ], "f");
313
392
  }
314
393
  async componentDidLoad() {
315
- await this.serverSelectedCallbackHandler(this.servers[0].id, false);
394
+ await __classPrivateFieldGet(this, _GxManageModuleReferences_serverSelectedCallbackHandler, "f").call(this, this.servers[0].id, false);
316
395
  }
317
- // 7.LISTENERS //
318
- onPropValueChange(newModulesData) {
319
- this.filteredModules = [...newModulesData];
396
+ componentDidRender() {
397
+ if (__classPrivateFieldGet(this, _GxManageModuleReferences_modulesJustFetched, "f") && this.selectedModuleId) {
398
+ // set selected module as selected on the grid after server reload.
399
+ __classPrivateFieldGet(this, _GxManageModuleReferences_modulesGrid, "f").selectRow(this.selectedModuleId, true);
400
+ __classPrivateFieldSet(this, _GxManageModuleReferences_modulesJustFetched, false, "f");
401
+ }
320
402
  }
321
- // 8.PUBLIC METHODS API //
322
- /**
323
- * validate
324
- */
325
- async validate() {
326
- return true;
403
+ progressBarClosedHandler() {
404
+ // set it to false, to fire a re-render the next time the progress-bar is active.
405
+ this.actionInProgress = false;
327
406
  }
328
- // 11.RENDER() FUNCTION //
329
407
  render() {
330
- return (index.h(index.Host, { class: {
331
- "gx-ide-component": true
332
- } }, index.h("ch-theme", { model: CSS_BUNDLES }), index.h("div", { class: "gx-ide-main-wrapper" }, index.h("gx-ide-container", { noContentPadding: true, noAboveFooterPadding: true, noBorderAboveFooter: this.closeProgressBar, part: "servers", containerTitle: this.displayTitle ? this._componentLocale.componentName : null }, index.h("main", { class: "main" }, index.h("div", { class: "modules__container" }, index.h("header", { class: "modules__header" }, index.h("div", { class: "modules__combo-container" }, index.h("gxg-label", null, this._componentLocale.modules.selectServer), index.h("div", { class: "modules__combo" }, index.h("gxg-combo-box", { disableFilter: true, onValueChanged: this.serverValueChangedHandler }, this.servers.map(item => (index.h("gxg-combo-box-item", { value: item.id, onItemSelected: this.serverItemSelectedHandler }, item.name)))), this.showServerCommands ? (index.h("span", { class: "modules__server-commands" }, index.h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/show-more-horizontal", onClick: this.showModuleMenu }))) : null, index.h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/reset", onClick: this.reloadServer })))), index.h("div", { class: "modules__main" }, index.h("div", { class: "modules__main-header" }, index.h("gxg-form-text", { label: this._componentLocale.modules.searchModules, labelPosition: "above", centerLabel: false, onValueChanged: this.handleFilterChangeHandler, disabled: this.loadingServer }), index.h("gxg-buttons-container", { reduced: true, fullWidth: true, class: "modules__browser", onSelectedButtonChanged: this.selectedButtonChangedHandler }, index.h("gxg-button", { id: "btn-browse", selected: true, disabled: this.loadingServer }, this._componentLocale.modules.buttonsContainer.browse), index.h("gxg-button", { id: "btn-installed", disabled: this.loadingServer }, this._componentLocale.modules.buttonsContainer
333
- .installed), index.h("gxg-button", { id: "btn-updates", disabled: this.loadingServer }, this._componentLocale.modules.buttonsContainer.updates))), index.h("div", { class: "grid-container", ref: el => (this.serversDetail = el) }, this.filteredModules.length > 0
334
- ? this.renderModulesGrid()
335
- : this.renderEmptyStateModules()))), this.selectedModule ? (index.h("div", { class: "module-info" }, index.h("header", { class: "module-info__header" }, this.renderVersionName(), this.renderInstalledVersion(), this.renderModuleVersions(), this.renderVersionWarningMessage()), index.h("div", { class: "module-info__properties gxg-scrollbar" }, common.renderModuleDataProperties(this.getModuleData(this.selectedModule, "properties"))))) : (index.h("gx-ide-empty-state", { class: "recent-objects__empty-state", stateIconSrc: __classPrivateFieldGet(this, _GxManageModuleReferences_moduleIcon, "f"), stateTitle: this._componentLocale.modulesInformation.emptyState.title, stateDescription: this._componentLocale.modulesInformation.emptyState
336
- .description }))), index.h("gxg-top-state-bar", { slot: "footer-above", part: "progress-bar", stateType: this.progressState, noBorder: true, caption: this.selectedModuleAction.message ||
337
- this._componentLocale.progressBar.defaultCaption, progress: this.progressValue, active: !this.actionCompleted || !this.closeProgressBar, closeType: "not-progress", closedCallback: this.progressBarCloseHandler }))), index.h("gxg-ide-loader", { loaderTitle: this._componentLocale.servers.loading, ref: el => (this.loaderEl = el), container: this.serversDetail, borderRadius: "0 0 0 8px" })));
408
+ return (index.h(index.Host, { class: "widget" }, index.h("ch-theme", { model: CSS_BUNDLES }), index.h("section", { class: "main" }, index.h("div", { class: "modules__container field-group" }, index.h("header", { class: "modules__header field-group" }, index.h("div", { class: "field field-block" }, index.h("label", { class: "label", htmlFor: "servers-list" }, __classPrivateFieldGet(this, _GxManageModuleReferences_componentLocale, "f").modules.selectServer), index.h("div", { class: "modules__header-controls buttons-spacer" }, index.h("ch-combo-box-render", {
409
+ // select server
410
+ id: "servers-list", class: "combo-box combo-box-servers", model: this.serversComboBoxModel, value: this.selectedServerValue, disabled: this.loadingServer, onInput: __classPrivateFieldGet(this, _GxManageModuleReferences_serverValueChangedHandler, "f")
411
+ }), index.h("div", null, this.showServerCommands && (index.h("button", {
412
+ // server context menu button
413
+ class: "button-tertiary button-icon-only", onClick: __classPrivateFieldGet(this, _GxManageModuleReferences_showModuleMenu, "f"), "aria-label": __classPrivateFieldGet(this, _GxManageModuleReferences_componentLocale, "f").showServerMenu, title: __classPrivateFieldGet(this, _GxManageModuleReferences_componentLocale, "f").showServerMenu
414
+ }, index.h("ch-image", { src: SHOW_MORE_ICON, class: "icon-md" }))), index.h("button", {
415
+ // reload server selected button
416
+ class: "button-tertiary button-icon-only", onClick: __classPrivateFieldGet(this, _GxManageModuleReferences_reloadServer, "f"), "aria-label": __classPrivateFieldGet(this, _GxManageModuleReferences_componentLocale, "f").reloadModules, title: __classPrivateFieldGet(this, _GxManageModuleReferences_componentLocale, "f").reloadModules
417
+ }, index.h("ch-image", { src: RESET_ICON, class: "icon-md" })))))), index.h("div", {
418
+ // Modules main
419
+ class: "modules__main"
420
+ }, index.h("div", { class: "modules__main-header" }, index.h("div", {
421
+ // search modules
422
+ class: "field field-block"
423
+ }, index.h("label", { class: "label", htmlFor: "search-modules" }, __classPrivateFieldGet(this, _GxManageModuleReferences_componentLocale, "f").modules.searchModules), index.h("ch-edit", { class: "input", value: __classPrivateFieldGet(this, _GxManageModuleReferences_searchModulesFilterValue, "f"), onInput: __classPrivateFieldGet(this, _GxManageModuleReferences_handleFilterChangeHandler, "f"), disabled: this.loadingServer })), index.h("div", { class: "browse-modules" }, index.h("ch-segmented-control-render", { class: "segmented-control-filled", model: __classPrivateFieldGet(this, _GxManageModuleReferences_segmentedControlModel, "f"), selectedId: this.selectedModuleType, onSelectedItemChange: __classPrivateFieldGet(this, _GxManageModuleReferences_moduleTypeButtonClicked, "f") }))), index.h("div", { class: "grid-or-loader-container" }, this.loadingServer ? (index.h("gx-ide-loader", { loaderTitle: __classPrivateFieldGet(this, _GxManageModuleReferences_componentLocale, "f").servers.loading, show: true })) : (__classPrivateFieldGet(this, _GxManageModuleReferences_renderModulesGrid, "f").call(this))))), index.h("div", { class: "module-info field-group" }, this.selectedModuleId ? ([
424
+ index.h("header", { class: "module-info__header" }, __classPrivateFieldGet(this, _GxManageModuleReferences_renderVersionName, "f").call(this), __classPrivateFieldGet(this, _GxManageModuleReferences_renderInstalledVersion, "f").call(this), __classPrivateFieldGet(this, _GxManageModuleReferences_renderModuleVersions, "f").call(this), __classPrivateFieldGet(this, _GxManageModuleReferences_renderVersionWarningMessage, "f").call(this)),
425
+ index.h("div", { class: "module-info__properties scrollable" }, index.h("div", { class: "module-info__properties-inner-wrapper" }, renderModuleDataProperties(__classPrivateFieldGet(this, _GxManageModuleReferences_moduleVersionsMap, "f").get(`${this.selectedModuleId}__${__classPrivateFieldGet(this, _GxManageModuleReferences_modulesMap, "f").get(this.selectedModuleId)
426
+ .currentSelectedVersion}`).properties)))
427
+ ]) : (index.h("gx-ide-empty-state", { class: "recent-objects__empty-state", stateIconSrc: MODULE_ICON, stateTitle: __classPrivateFieldGet(this, _GxManageModuleReferences_componentLocale, "f").modulesInformation.emptyState.title, stateDescription: __classPrivateFieldGet(this, _GxManageModuleReferences_componentLocale, "f").modulesInformation.emptyState
428
+ .description }))), index.h("footer", { class: "footer" }, index.h("gx-ide-progress-bar", { class: "border-block-start", slot: "footer-above", part: "progress-bar", stateType: this.progressState, caption: this.selectedModuleAction.message ||
429
+ __classPrivateFieldGet(this, _GxManageModuleReferences_componentLocale, "f").progressBar.defaultCaption, progress: this.progressValue, active: this.actionInProgress, closeType: this.autoCloseProgressBar ? "auto-close" : "button", closedCallback: __classPrivateFieldGet(this, _GxManageModuleReferences_progressBarCloseHandler, "f"), ref: el => (__classPrivateFieldSet(this, _GxManageModuleReferences_progressBarEl, el, "f")) })))));
338
430
  }
339
431
  static get assetsDirs() { return ["gx-ide-assets/manage-module-references"]; }
340
432
  get el() { return index.getElement(this); }
341
433
  static get watchers() { return {
342
- "modulesAll": ["modulesAllWatcher", "onPropValueChange"],
343
- "loadingServer": ["loadingServerHandler"]
434
+ "modulesAll": ["modulesAllChanged"],
435
+ "servers": ["serversChanged"]
344
436
  }; }
345
437
  };
346
- _GxManageModuleReferences_filterIcon = new WeakMap(), _GxManageModuleReferences_moduleIcon = new WeakMap();
438
+ _GxManageModuleReferences_componentLocale = new WeakMap(), _GxManageModuleReferences_moduleVersionsMap = new WeakMap(), _GxManageModuleReferences_modulesMap = new WeakMap(), _GxManageModuleReferences_modulesJustFetched = new WeakMap(), _GxManageModuleReferences_searchModulesFilterValue = new WeakMap(), _GxManageModuleReferences_modulesGrid = new WeakMap(), _GxManageModuleReferences_progressBarEl = new WeakMap(), _GxManageModuleReferences_segmentedControlModel = new WeakMap(), _GxManageModuleReferences_clearAll = new WeakMap(), _GxManageModuleReferences_filterModules = new WeakMap(), _GxManageModuleReferences_getActionFromCurrentModuleVersion = new WeakMap(), _GxManageModuleReferences_handleFilterChangeHandler = new WeakMap(), _GxManageModuleReferences_handleModuleChange = new WeakMap(), _GxManageModuleReferences_moduleActionHandler = new WeakMap(), _GxManageModuleReferences_moduleTypeButtonClicked = new WeakMap(), _GxManageModuleReferences_moduleVersionsValueChangedHandler = new WeakMap(), _GxManageModuleReferences_onProgress = new WeakMap(), _GxManageModuleReferences_progressBarCloseHandler = new WeakMap(), _GxManageModuleReferences_reloadServer = new WeakMap(), _GxManageModuleReferences_renderEmptyStateModules = new WeakMap(), _GxManageModuleReferences_renderInstalledVersion = new WeakMap(), _GxManageModuleReferences_renderModuleVersions = new WeakMap(), _GxManageModuleReferences_renderModulesGrid = new WeakMap(), _GxManageModuleReferences_renderVersionName = new WeakMap(), _GxManageModuleReferences_renderVersionWarningMessage = new WeakMap(), _GxManageModuleReferences_serverSelectedCallbackHandler = new WeakMap(), _GxManageModuleReferences_serverValueChangedHandler = new WeakMap(), _GxManageModuleReferences_showModuleMenu = new WeakMap();
347
439
  GxManageModuleReferences.style = manageModuleReferencesCss;
348
440
 
349
441
  exports.gx_ide_manage_module_references = GxManageModuleReferences;